diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1a2dbacd..1ed1a658 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -158,7 +158,6 @@ jobs: stm32-gen-check: name: Check that stm32 generated code is up to date - continue-on-error: true runs-on: ubuntu-latest steps: - name: Checkout code @@ -168,11 +167,11 @@ jobs: with: version: ${{ env.ZIG_VERSION }} - name: Generate Code - run: zig build update + run: zig build -Dgenerate working-directory: port/stmicro/stm32 - name: Check for code diffs run: | - if [[ $(git status --porcelain) ]]; then + if [[ $(git status --porcelain | grep -v '^??') ]]; then echo "Code differences detected:" git diff echo "Please commit or fix these changes to proceed." diff --git a/port/stmicro/stm32/build.zig b/port/stmicro/stm32/build.zig index 8ae26c13..a468de61 100644 --- a/port/stmicro/stm32/build.zig +++ b/port/stmicro/stm32/build.zig @@ -48,28 +48,30 @@ pub fn init(dep: *std.Build.Dependency) Self { } pub fn build(b: *std.Build) !void { - const update = b.step("update", "Update chip definitions from embassy-rs/stm32-data-generated"); + const generate = b.option(bool, "generate", "Generate chip definitions from embassy-rs/stm32-data-generated") orelse false; - const stm32_data_generated = b.lazyDependency("stm32-data-generated", .{}) orelse return; + if (generate) { + const stm32_data_generated = b.lazyDependency("stm32-data-generated", .{}) orelse return; - const generate_optimize = .ReleaseSafe; - const regz_dep = b.dependency("microzig/tools/regz", .{ - .optimize = generate_optimize, - }); - const regz = regz_dep.module("regz"); + const generate_optimize = .ReleaseSafe; + const regz_dep = b.dependency("microzig/tools/regz", .{ + .optimize = generate_optimize, + }); + const regz = regz_dep.module("regz"); - const generate = b.addExecutable(.{ - .name = "generate", - .root_source_file = b.path("src/generate.zig"), - .target = b.host, - .optimize = generate_optimize, - }); - generate.root_module.addImport("regz", regz); + const generate_exe = b.addExecutable(.{ + .name = "generate", + .root_source_file = b.path("src/generate.zig"), + .target = b.host, + .optimize = generate_optimize, + }); + generate_exe.root_module.addImport("regz", regz); - const generate_run = b.addRunArtifact(generate); - generate_run.max_stdio_size = std.math.maxInt(usize); - generate_run.addFileArg(stm32_data_generated.path(".")); - update.dependOn(&generate_run.step); - - _ = b.step("test", "Run platform agnostic unit tests"); + const generate_run = b.addRunArtifact(generate_exe); + generate_run.max_stdio_size = std.math.maxInt(usize); + generate_run.addFileArg(stm32_data_generated.path(".")); + b.getInstallStep().dependOn(&generate_run.step); + } else { + _ = b.step("test", "Run platform agnostic unit tests"); + } } diff --git a/port/stmicro/stm32/src/chips/all.zig b/port/stmicro/stm32/src/chips/all.zig index d5219cd8..5858aca2 100644 --- a/port/stmicro/stm32/src/chips/all.zig +++ b/port/stmicro/stm32/src/chips/all.zig @@ -47,55 +47,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7550); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// PWR address block description + /// PWR address block description pub const PWR: *volatile types.peripherals.pwr_c0.PWR = @ptrFromInt(0x40007000); - /// register block + /// register block pub const SYSCFG: *volatile types.peripherals.syscfg_c0.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_c0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description + /// RCC address block description pub const RCC: *volatile types.peripherals.rcc_c0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_c0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_c0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -144,55 +144,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7550); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// PWR address block description + /// PWR address block description pub const PWR: *volatile types.peripherals.pwr_c0.PWR = @ptrFromInt(0x40007000); - /// register block + /// register block pub const SYSCFG: *volatile types.peripherals.syscfg_c0.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_c0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description + /// RCC address block description pub const RCC: *volatile types.peripherals.rcc_c0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_c0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_c0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -241,55 +241,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7550); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// PWR address block description + /// PWR address block description pub const PWR: *volatile types.peripherals.pwr_c0.PWR = @ptrFromInt(0x40007000); - /// register block + /// register block pub const SYSCFG: *volatile types.peripherals.syscfg_c0.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_c0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description + /// RCC address block description pub const RCC: *volatile types.peripherals.rcc_c0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_c0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_c0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -338,55 +338,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7550); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// PWR address block description + /// PWR address block description pub const PWR: *volatile types.peripherals.pwr_c0.PWR = @ptrFromInt(0x40007000); - /// register block + /// register block pub const SYSCFG: *volatile types.peripherals.syscfg_c0.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_c0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description + /// RCC address block description pub const RCC: *volatile types.peripherals.rcc_c0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_c0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_c0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -435,55 +435,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7550); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// PWR address block description + /// PWR address block description pub const PWR: *volatile types.peripherals.pwr_c0.PWR = @ptrFromInt(0x40007000); - /// register block + /// register block pub const SYSCFG: *volatile types.peripherals.syscfg_c0.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_c0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description + /// RCC address block description pub const RCC: *volatile types.peripherals.rcc_c0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_c0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_c0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -532,57 +532,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7550); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// PWR address block description + /// PWR address block description pub const PWR: *volatile types.peripherals.pwr_c0.PWR = @ptrFromInt(0x40007000); - /// register block + /// register block pub const SYSCFG: *volatile types.peripherals.syscfg_c0.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_c0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description + /// RCC address block description pub const RCC: *volatile types.peripherals.rcc_c0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_c0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_c0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -631,57 +631,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7550); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// PWR address block description + /// PWR address block description pub const PWR: *volatile types.peripherals.pwr_c0.PWR = @ptrFromInt(0x40007000); - /// register block + /// register block pub const SYSCFG: *volatile types.peripherals.syscfg_c0.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_c0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description + /// RCC address block description pub const RCC: *volatile types.peripherals.rcc_c0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_c0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_c0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -730,57 +730,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7550); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// PWR address block description + /// PWR address block description pub const PWR: *volatile types.peripherals.pwr_c0.PWR = @ptrFromInt(0x40007000); - /// register block + /// register block pub const SYSCFG: *volatile types.peripherals.syscfg_c0.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_c0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description + /// RCC address block description pub const RCC: *volatile types.peripherals.rcc_c0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_c0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_c0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -829,57 +829,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7550); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// PWR address block description + /// PWR address block description pub const PWR: *volatile types.peripherals.pwr_c0.PWR = @ptrFromInt(0x40007000); - /// register block + /// register block pub const SYSCFG: *volatile types.peripherals.syscfg_c0.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_c0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description + /// RCC address block description pub const RCC: *volatile types.peripherals.rcc_c0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_c0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_c0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -928,57 +928,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7550); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// PWR address block description + /// PWR address block description pub const PWR: *volatile types.peripherals.pwr_c0.PWR = @ptrFromInt(0x40007000); - /// register block + /// register block pub const SYSCFG: *volatile types.peripherals.syscfg_c0.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_c0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description + /// RCC address block description pub const RCC: *volatile types.peripherals.rcc_c0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_c0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_c0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -1027,57 +1027,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7550); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// PWR address block description + /// PWR address block description pub const PWR: *volatile types.peripherals.pwr_c0.PWR = @ptrFromInt(0x40007000); - /// register block + /// register block pub const SYSCFG: *volatile types.peripherals.syscfg_c0.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_c0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description + /// RCC address block description pub const RCC: *volatile types.peripherals.rcc_c0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_c0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_c0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -1126,57 +1126,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7550); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// PWR address block description + /// PWR address block description pub const PWR: *volatile types.peripherals.pwr_c0.PWR = @ptrFromInt(0x40007000); - /// register block + /// register block pub const SYSCFG: *volatile types.peripherals.syscfg_c0.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_c0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description + /// RCC address block description pub const RCC: *volatile types.peripherals.rcc_c0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_c0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_c0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -1225,57 +1225,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7550); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// PWR address block description + /// PWR address block description pub const PWR: *volatile types.peripherals.pwr_c0.PWR = @ptrFromInt(0x40007000); - /// register block + /// register block pub const SYSCFG: *volatile types.peripherals.syscfg_c0.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_c0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description + /// RCC address block description pub const RCC: *volatile types.peripherals.rcc_c0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_c0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_c0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -1323,57 +1323,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0x0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -1423,67 +1423,67 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0x0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -1534,77 +1534,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0x0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -1652,57 +1652,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0x0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -1750,57 +1750,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0x0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -1850,67 +1850,67 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0x0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -1961,77 +1961,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0x0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -2079,57 +2079,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -2177,57 +2177,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -2275,57 +2275,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -2373,57 +2373,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -2471,57 +2471,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -2569,57 +2569,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -2667,57 +2667,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -2765,57 +2765,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -2863,57 +2863,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -2961,57 +2961,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -3059,57 +3059,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -3157,57 +3157,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -3255,57 +3255,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -3353,57 +3353,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -3455,73 +3455,73 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -3573,73 +3573,73 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -3691,71 +3691,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -3807,71 +3807,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -3923,71 +3923,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -4039,71 +4039,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -4155,71 +4155,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -4271,71 +4271,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -4387,71 +4387,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -4503,71 +4503,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -4619,69 +4619,69 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -4733,69 +4733,69 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -4847,69 +4847,69 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -4961,71 +4961,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -5077,75 +5077,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -5197,69 +5197,69 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -5311,71 +5311,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -5427,71 +5427,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -5543,71 +5543,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -5659,73 +5659,73 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -5777,75 +5777,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -5897,71 +5897,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -6013,75 +6013,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -6133,75 +6133,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -6253,71 +6253,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -6368,63 +6368,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0x0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -6477,77 +6477,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0x0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -6598,63 +6598,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0x0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -6707,77 +6707,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0x0.PWR = @ptrFromInt(0x40007000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -6829,85 +6829,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -6959,85 +6959,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -7089,85 +7089,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -7219,85 +7219,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -7349,85 +7349,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -7480,91 +7480,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -7617,91 +7617,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -7754,91 +7754,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -7891,91 +7891,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -8028,91 +8028,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -8165,91 +8165,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -8302,89 +8302,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -8437,89 +8437,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -8572,89 +8572,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -8706,93 +8706,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -8844,93 +8844,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -8982,97 +8982,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -9124,97 +9124,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -9266,97 +9266,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -9408,97 +9408,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -9550,93 +9550,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -9688,97 +9688,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -9830,97 +9830,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f0v4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v2.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); }; }; @@ -9987,71 +9987,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -10118,71 +10118,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -10249,79 +10249,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -10388,79 +10388,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -10527,71 +10527,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -10658,71 +10658,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -10789,79 +10789,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -10928,79 +10928,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -11079,95 +11079,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -11246,95 +11246,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -11413,95 +11413,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -11568,79 +11568,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -11707,79 +11707,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -11858,97 +11858,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -12027,97 +12027,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -12196,97 +12196,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -12365,97 +12365,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -12534,97 +12534,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -12703,97 +12703,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC: *volatile types.peripherals.cec_v1.CEC = @ptrFromInt(0x40007800); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f100.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -12852,53 +12852,53 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -12957,53 +12957,53 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -13063,63 +13063,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -13179,63 +13179,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -13294,53 +13294,53 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -13399,53 +13399,53 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -13505,63 +13505,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -13621,63 +13621,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -13750,83 +13750,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -13899,83 +13899,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -14048,83 +14048,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -14204,95 +14204,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014c00); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -14372,95 +14372,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014c00); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -14519,53 +14519,53 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -14624,53 +14624,53 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -14730,57 +14730,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -14840,57 +14840,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -14950,63 +14950,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -15066,63 +15066,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -15195,85 +15195,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -15346,85 +15346,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -15497,85 +15497,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -15655,97 +15655,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014c00); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -15825,97 +15825,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014c00); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -15988,85 +15988,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -16139,85 +16139,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -16290,85 +16290,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -16448,97 +16448,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014c00); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -16618,97 +16618,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014c00); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -16770,57 +16770,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -16882,57 +16882,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -16995,65 +16995,65 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -17116,65 +17116,65 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -17236,57 +17236,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -17348,57 +17348,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -17461,65 +17461,65 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -17582,65 +17582,65 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -17706,63 +17706,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -17828,63 +17828,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -17951,73 +17951,73 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -18084,73 +18084,73 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -18216,63 +18216,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -18338,63 +18338,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -18461,73 +18461,73 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -18594,73 +18594,73 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -18744,99 +18744,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40013c00); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40018000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -18920,99 +18920,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40013c00); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40018000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -19096,99 +19096,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40013c00); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40018000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -19272,111 +19272,111 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014c00); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40018000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -19460,111 +19460,111 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014c00); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40018000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -19630,63 +19630,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -19752,63 +19752,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -19875,67 +19875,67 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -20002,67 +20002,67 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -20129,73 +20129,73 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -20262,73 +20262,73 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -20412,101 +20412,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40013c00); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40018000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -20590,101 +20590,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40013c00); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40018000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -20768,101 +20768,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40013c00); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40018000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -20946,113 +20946,113 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014c00); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40018000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -21136,113 +21136,113 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014c00); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40018000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -21326,101 +21326,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40013c00); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40018000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -21504,101 +21504,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40013c00); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40018000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -21682,101 +21682,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40013c00); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40018000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -21860,113 +21860,113 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014c00); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40018000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -22050,113 +22050,113 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// General purpose I/O + /// General purpose I/O pub const GPIOF: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOG: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014c00); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40015400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40018000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -22241,89 +22241,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1cl.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -22408,89 +22408,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1cl.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -22575,89 +22575,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1cl.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -22742,89 +22742,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1cl.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -22909,89 +22909,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1cl.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -23076,89 +23076,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1cl.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -23244,89 +23244,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1cl.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1a.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -23412,89 +23412,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1cl.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1a.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -23580,89 +23580,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1cl.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1a.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -23748,89 +23748,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7e8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Backup registers + /// Backup registers pub const BKP: *volatile types.peripherals.bkp_v1.BKP = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v1.DAC = @ptrFromInt(0x40007400); - /// Alternate function I/O + /// Alternate function I/O pub const AFIO: *volatile types.peripherals.afio_f1.AFIO = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// General purpose I/O + /// General purpose I/O pub const GPIOA: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010800); - /// General purpose I/O + /// General purpose I/O pub const GPIOB: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40010c00); - /// General purpose I/O + /// General purpose I/O pub const GPIOC: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011000); - /// General purpose I/O + /// General purpose I/O pub const GPIOD: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011400); - /// General purpose I/O + /// General purpose I/O pub const GPIOE: *volatile types.peripherals.gpio_v1.GPIO = @ptrFromInt(0x40011800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_f1.ADC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_f1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v1.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f1cl.RCC = @ptrFromInt(0x40021000); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f1.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1a.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -23933,119 +23933,119 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -24148,119 +24148,119 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -24363,119 +24363,119 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -24578,119 +24578,119 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -24793,119 +24793,119 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -25008,121 +25008,121 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -25225,121 +25225,121 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -25442,121 +25442,121 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -25659,121 +25659,121 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -25876,121 +25876,121 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -26093,121 +26093,121 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -26310,121 +26310,121 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -26527,121 +26527,121 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -26744,121 +26744,121 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -26963,125 +26963,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -27186,125 +27186,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -27409,125 +27409,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -27632,125 +27632,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -27855,125 +27855,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -28078,125 +28078,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -28301,125 +28301,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -28524,125 +28524,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -28747,125 +28747,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -28970,125 +28970,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -29193,125 +29193,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -29416,125 +29416,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -29638,123 +29638,123 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -29858,123 +29858,123 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -30078,125 +30078,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -30300,125 +30300,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -30522,125 +30522,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -30744,125 +30744,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -30967,129 +30967,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -31194,129 +31194,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -31421,129 +31421,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -31648,129 +31648,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -31875,129 +31875,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -32102,129 +32102,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f2.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f2.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f2.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f2.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f2.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f2.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -32298,79 +32298,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -32444,79 +32444,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -32590,77 +32590,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -32734,77 +32734,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -32878,79 +32878,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -33024,79 +33024,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -33177,85 +33177,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -33336,85 +33336,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -33501,97 +33501,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -33678,97 +33678,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -33849,83 +33849,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -34006,83 +34006,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -34163,85 +34163,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -34322,85 +34322,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -34487,101 +34487,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -34668,101 +34668,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -34855,107 +34855,107 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -35048,107 +35048,107 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -35235,101 +35235,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -35416,101 +35416,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -35603,109 +35603,109 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -35798,109 +35798,109 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -35993,109 +35993,109 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -36188,109 +36188,109 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -36363,83 +36363,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -36512,83 +36512,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -36682,111 +36682,111 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -36880,111 +36880,111 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -37057,81 +37057,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -37204,81 +37204,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -37351,83 +37351,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -37500,83 +37500,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -37670,115 +37670,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -37872,115 +37872,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -38082,121 +38082,121 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -38298,121 +38298,121 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -38506,115 +38506,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -38708,115 +38708,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -38918,125 +38918,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40015000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -39138,125 +39138,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40015000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -39358,125 +39358,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40015000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -39578,125 +39578,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v2.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40015000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -39770,77 +39770,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -39914,75 +39914,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -40055,81 +40055,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -40210,83 +40210,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -40367,83 +40367,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -40524,83 +40524,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -40681,81 +40681,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -40836,81 +40836,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -40991,81 +40991,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -41146,83 +41146,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -41303,83 +41303,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -41469,105 +41469,105 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -41657,109 +41657,109 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -41849,109 +41849,109 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v1.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -42044,117 +42044,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// Basic timers + /// Basic timers pub const TIM18: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40009c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// General purpose comparators. + /// General purpose comparators. pub const COMP1: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001c); - /// General purpose comparators. + /// General purpose comparators. pub const COMP2: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001e); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3_v2.ADC = @ptrFromInt(0x40012400); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM19: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40015c00); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC1: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016000); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC2: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016400); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC3: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f37.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -42247,117 +42247,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// Basic timers + /// Basic timers pub const TIM18: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40009c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// General purpose comparators. + /// General purpose comparators. pub const COMP1: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001c); - /// General purpose comparators. + /// General purpose comparators. pub const COMP2: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001e); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3_v2.ADC = @ptrFromInt(0x40012400); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM19: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40015c00); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC1: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016000); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC2: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016400); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC3: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f37.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -42450,117 +42450,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// Basic timers + /// Basic timers pub const TIM18: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40009c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// General purpose comparators. + /// General purpose comparators. pub const COMP1: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001c); - /// General purpose comparators. + /// General purpose comparators. pub const COMP2: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001e); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3_v2.ADC = @ptrFromInt(0x40012400); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM19: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40015c00); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC1: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016000); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC2: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016400); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC3: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f37.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -42653,117 +42653,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// Basic timers + /// Basic timers pub const TIM18: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40009c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// General purpose comparators. + /// General purpose comparators. pub const COMP1: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001c); - /// General purpose comparators. + /// General purpose comparators. pub const COMP2: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001e); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3_v2.ADC = @ptrFromInt(0x40012400); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM19: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40015c00); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC1: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016000); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC2: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016400); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC3: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f37.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -42856,117 +42856,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// Basic timers + /// Basic timers pub const TIM18: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40009c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// General purpose comparators. + /// General purpose comparators. pub const COMP1: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001c); - /// General purpose comparators. + /// General purpose comparators. pub const COMP2: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001e); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3_v2.ADC = @ptrFromInt(0x40012400); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM19: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40015c00); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC1: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016000); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC2: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016400); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC3: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f37.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -43059,117 +43059,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// Basic timers + /// Basic timers pub const TIM18: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40009c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// General purpose comparators. + /// General purpose comparators. pub const COMP1: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001c); - /// General purpose comparators. + /// General purpose comparators. pub const COMP2: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001e); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3_v2.ADC = @ptrFromInt(0x40012400); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM19: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40015c00); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC1: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016000); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC2: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016400); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC3: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f37.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -43262,117 +43262,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// Basic timers + /// Basic timers pub const TIM18: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40009c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// General purpose comparators. + /// General purpose comparators. pub const COMP1: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001c); - /// General purpose comparators. + /// General purpose comparators. pub const COMP2: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001e); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3_v2.ADC = @ptrFromInt(0x40012400); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM19: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40015c00); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC1: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016000); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC2: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016400); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC3: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f37.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -43465,117 +43465,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// Basic timers + /// Basic timers pub const TIM18: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40009c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// General purpose comparators. + /// General purpose comparators. pub const COMP1: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001c); - /// General purpose comparators. + /// General purpose comparators. pub const COMP2: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001e); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3_v2.ADC = @ptrFromInt(0x40012400); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM19: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40015c00); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC1: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016000); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC2: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016400); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC3: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f37.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -43668,117 +43668,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_512.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// Basic timers + /// Basic timers pub const TIM18: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40009c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// General purpose comparators. + /// General purpose comparators. pub const COMP1: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001c); - /// General purpose comparators. + /// General purpose comparators. pub const COMP2: *volatile types.peripherals.comp_f3_v1.COMP = @ptrFromInt(0x4001001e); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3_v2.ADC = @ptrFromInt(0x40012400); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM19: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40015c00); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC1: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016000); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC2: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016400); - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC3: *volatile types.peripherals.sdadc_v1.SDADC = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f37.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -43867,101 +43867,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// Basic timers + /// Basic timers pub const TIM18: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40009c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3_v2.ADC = @ptrFromInt(0x40012400); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM19: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f37.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -44050,101 +44050,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// Basic timers + /// Basic timers pub const TIM18: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40009c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3_v2.ADC = @ptrFromInt(0x40012400); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM19: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f37.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -44233,101 +44233,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40009800); - /// Basic timers + /// Basic timers pub const TIM18: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40009c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3_v2.ADC = @ptrFromInt(0x40012400); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM19: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f37.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -44427,119 +44427,119 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ffff7ac); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ffff7ba); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Controller area network + /// Controller area network pub const CAN: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f3.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f3.SYSCFG = @ptrFromInt(0x40010000); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010038); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x4001003c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010040); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_f3.OPAMP = @ptrFromInt(0x40010044); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40015000); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f3v3.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_f3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4: *volatile types.peripherals.adc_f3.ADC = @ptrFromInt(0x50000500); - /// ADC common registers + /// ADC common registers pub const ADC34_COMMON: *volatile types.peripherals.adccommon_f3.ADC_COMMON = @ptrFromInt(0x50000700); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f3.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -44627,83 +44627,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -44791,83 +44791,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -44955,83 +44955,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -45119,83 +45119,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -45283,85 +45283,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -45449,85 +45449,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -45615,85 +45615,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -45781,85 +45781,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -45947,87 +45947,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -46115,87 +46115,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -46283,87 +46283,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -46451,87 +46451,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -46635,125 +46635,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -46857,125 +46857,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -47079,123 +47079,123 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -47299,125 +47299,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -47521,125 +47521,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -47745,129 +47745,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -47973,129 +47973,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -48201,129 +48201,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -48429,129 +48429,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -48657,129 +48657,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -48885,129 +48885,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -49094,75 +49094,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f410.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40080000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -49249,75 +49249,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f410.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40080000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -49404,75 +49404,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f410.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40080000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -49559,75 +49559,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f410.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40080000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -49711,69 +49711,69 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f410.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40080000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -49857,69 +49857,69 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f410.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40080000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -50008,89 +50008,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -50179,89 +50179,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -50350,89 +50350,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -50521,89 +50521,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -50692,89 +50692,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -50863,89 +50863,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -51051,105 +51051,105 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -51255,105 +51255,105 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -51461,111 +51461,111 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -51673,111 +51673,111 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -51885,113 +51885,113 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -52099,113 +52099,113 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -52313,117 +52313,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -52531,117 +52531,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -52764,125 +52764,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -53005,125 +53005,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -53246,131 +53246,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -53493,131 +53493,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -53740,131 +53740,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -53987,131 +53987,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -54234,137 +54234,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART10: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -54487,137 +54487,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART10: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -54740,137 +54740,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART10: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -54993,137 +54993,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART10: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -55228,129 +55228,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -55455,127 +55455,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -55680,129 +55680,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -55907,129 +55907,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -56135,133 +56135,133 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -56367,133 +56367,133 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -56599,133 +56599,133 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -56831,133 +56831,133 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -57063,133 +57063,133 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -57295,133 +57295,133 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v1.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v1.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x3.FSMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -57545,127 +57545,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -57789,133 +57789,133 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -58039,133 +58039,133 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -58289,139 +58289,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART10: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -58545,139 +58545,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART10: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// ADC common registers + /// ADC common registers pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -58791,145 +58791,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -59043,145 +59043,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -59295,147 +59295,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -59549,147 +59549,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -59803,143 +59803,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -60053,143 +60053,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -60303,147 +60303,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -60557,147 +60557,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -60812,147 +60812,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -61067,147 +61067,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -61322,149 +61322,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -61579,149 +61579,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -61836,149 +61836,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -62093,149 +62093,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -62350,149 +62350,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -62607,149 +62607,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -62864,149 +62864,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -63121,149 +63121,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -63378,149 +63378,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -63635,145 +63635,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -63888,145 +63888,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -64141,145 +64141,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -64394,149 +64394,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -64651,149 +64651,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -64908,149 +64908,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -65164,149 +65164,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -65420,151 +65420,151 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -65678,151 +65678,151 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -65936,147 +65936,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -66190,147 +66190,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -66444,151 +66444,151 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -66702,151 +66702,151 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -66961,151 +66961,151 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -67220,153 +67220,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -67481,153 +67481,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -67742,153 +67742,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -68003,153 +68003,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -68264,153 +68264,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -68525,153 +68525,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -68786,149 +68786,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -69043,149 +69043,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -69300,153 +69300,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -69561,153 +69561,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v1x3.FMC = @ptrFromInt(0xa0000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -69822,133 +69822,133 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -70063,133 +70063,133 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -70304,129 +70304,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -70541,129 +70541,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -70778,135 +70778,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -71021,135 +71021,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -71264,135 +71264,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -71507,135 +71507,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -71752,149 +71752,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -72011,149 +72011,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -72270,149 +72270,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -72529,153 +72529,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -72792,153 +72792,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -73055,153 +73055,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -73318,153 +73318,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -73581,153 +73581,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -73844,153 +73844,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -74107,153 +74107,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -74370,153 +74370,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -74633,153 +74633,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -74896,145 +74896,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -75151,145 +75151,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -75406,145 +75406,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -75661,147 +75661,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -75918,147 +75918,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -76175,147 +76175,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -76432,151 +76432,151 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -76693,151 +76693,151 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -76954,155 +76954,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -77219,155 +77219,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -77484,155 +77484,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -77749,155 +77749,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -78014,155 +78014,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -78279,155 +78279,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1b.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -78544,147 +78544,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -78801,147 +78801,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -79058,149 +79058,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -79317,149 +79317,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7a10); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f4.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f4.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f4.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -79573,143 +79573,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -79823,143 +79823,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -80073,129 +80073,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -80309,129 +80309,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -80545,141 +80545,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -80793,141 +80793,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -81041,143 +81041,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -81291,143 +81291,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -81541,143 +81541,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -81791,143 +81791,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -82041,137 +82041,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -82285,137 +82285,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -82529,141 +82529,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -82777,141 +82777,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -83026,145 +83026,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_f7.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -83279,131 +83279,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_f7.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -83518,143 +83518,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_f7.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -83769,143 +83769,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_f7.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -84020,145 +84020,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_f7.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -84273,131 +84273,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_f7.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -84512,143 +84512,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_f7.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -84763,145 +84763,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_f7.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -85016,145 +85016,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_f7.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -85269,139 +85269,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_f7.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -85516,143 +85516,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff07a10); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff07a2a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_f7.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -85773,161 +85773,161 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -86048,161 +86048,161 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -86323,157 +86323,157 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -86594,157 +86594,157 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -86865,161 +86865,161 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -87140,161 +87140,161 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -87416,163 +87416,163 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -87694,163 +87694,163 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -87972,163 +87972,163 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -88250,163 +88250,163 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -88528,163 +88528,163 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -88806,163 +88806,163 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -89084,159 +89084,159 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -89358,159 +89358,159 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -89632,163 +89632,163 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -89910,163 +89910,163 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -90188,167 +90188,167 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -90470,163 +90470,163 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -90748,167 +90748,167 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -91030,167 +91030,167 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -91312,167 +91312,167 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -91594,167 +91594,167 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -91876,163 +91876,163 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -92154,167 +92154,167 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -92443,167 +92443,167 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -92732,167 +92732,167 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -93021,167 +93021,167 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -93310,167 +93310,167 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -93599,167 +93599,167 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -93888,167 +93888,167 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -94177,165 +94177,165 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -94464,165 +94464,165 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -94751,167 +94751,167 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -95040,167 +95040,167 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -95330,171 +95330,171 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -95624,171 +95624,171 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -95918,171 +95918,171 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -96212,171 +96212,171 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -96506,171 +96506,171 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -96800,171 +96800,171 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -97094,169 +97094,169 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -97386,169 +97386,169 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -97678,171 +97678,171 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -97972,171 +97972,171 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -98267,169 +98267,169 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -98560,169 +98560,169 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -98853,169 +98853,169 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -99146,173 +99146,173 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -99443,173 +99443,173 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -99740,173 +99740,173 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -100037,173 +100037,173 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -100334,173 +100334,173 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -100631,173 +100631,173 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -100927,175 +100927,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -101225,175 +101225,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -101523,175 +101523,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -101821,173 +101821,173 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -102117,175 +102117,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -102416,173 +102416,173 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -102713,173 +102713,173 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -103010,177 +103010,177 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -103311,177 +103311,177 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -103612,177 +103612,177 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff0f420); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff0f44a); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2f7.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Controller area network + /// Controller area network pub const CAN3: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_v1.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_f7.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40007c00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40011400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC2: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40011c00); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC2: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012100); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC3: *volatile types.peripherals.adc_v2.ADC = @ptrFromInt(0x40012200); - /// ADC common registers + /// ADC common registers pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v2.ADC_COMMON = @ptrFromInt(0x40012300); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_f7.SYSCFG = @ptrFromInt(0x40013800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40013c00); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40014000); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014400); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40017800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40022800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_f7.RCC = @ptrFromInt(0x40023800); - /// FLASH + /// FLASH pub const FLASH: *volatile types.peripherals.flash_f7.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v2.DMA = @ptrFromInt(0x40026400); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v1c.ETH = @ptrFromInt(0x40028000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x50051000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v2.CRYP = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v2x1.FMC = @ptrFromInt(0xa0000000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_f7.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -103831,69 +103831,69 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -103942,69 +103942,69 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -104053,69 +104053,69 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -104164,69 +104164,69 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -104275,69 +104275,69 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -104386,69 +104386,69 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -104499,77 +104499,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -104620,77 +104620,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -104741,77 +104741,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -104862,77 +104862,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -104983,77 +104983,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -105104,77 +105104,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -105225,77 +105225,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -105346,77 +105346,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -105467,77 +105467,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -105588,77 +105588,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -105709,77 +105709,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -105830,77 +105830,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -105951,77 +105951,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -106072,77 +106072,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -106193,77 +106193,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -106316,81 +106316,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -106443,81 +106443,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -106570,81 +106570,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -106697,81 +106697,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -106824,81 +106824,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -106951,81 +106951,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -107078,81 +107078,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -107205,81 +107205,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -107332,81 +107332,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -107459,81 +107459,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -107583,75 +107583,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -107701,75 +107701,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -107819,75 +107819,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -107937,75 +107937,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -108055,75 +108055,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -108174,89 +108174,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -108307,89 +108307,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -108440,89 +108440,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -108573,89 +108573,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -108706,89 +108706,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -108839,89 +108839,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -108972,89 +108972,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -109105,89 +109105,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -109240,93 +109240,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -109379,93 +109379,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -109518,93 +109518,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -109657,93 +109657,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -109796,93 +109796,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -109935,93 +109935,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -110074,93 +110074,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -110213,93 +110213,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -110350,79 +110350,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -110473,79 +110473,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -110596,79 +110596,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -110720,99 +110720,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -110864,99 +110864,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -111008,99 +111008,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -111152,97 +111152,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -111294,99 +111294,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -111438,99 +111438,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -111582,99 +111582,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -111726,99 +111726,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -111870,99 +111870,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -112014,99 +112014,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -112158,99 +112158,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -112302,99 +112302,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -112446,99 +112446,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -112591,103 +112591,103 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -112740,101 +112740,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -112887,103 +112887,103 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -113036,103 +113036,103 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -113185,103 +113185,103 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -113332,97 +113332,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -113473,95 +113473,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -113612,97 +113612,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -113753,97 +113753,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -113895,131 +113895,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -114071,131 +114071,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -114247,131 +114247,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -114423,131 +114423,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -114599,131 +114599,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -114775,131 +114775,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -114951,131 +114951,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -115127,131 +115127,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -115303,131 +115303,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -115479,131 +115479,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -115655,131 +115655,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -115831,131 +115831,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -116007,131 +116007,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -116183,131 +116183,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -116359,131 +116359,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -116535,131 +116535,131 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -116712,135 +116712,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -116893,135 +116893,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -117074,135 +117074,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -117255,135 +117255,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -117436,135 +117436,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -117617,135 +117617,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -117798,135 +117798,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -117979,135 +117979,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -118160,135 +118160,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -118341,135 +118341,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -118522,135 +118522,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40009800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD2: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a400); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g0.TAMP = @ptrFromInt(0x4000b000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000b750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP1: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010200); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP2: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010204); - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP3: *volatile types.peripherals.comp_v1.COMP = @ptrFromInt(0x40010208); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_g0.EXTI = @ptrFromInt(0x40021800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -118754,137 +118754,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -118988,137 +118988,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -119222,137 +119222,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -119456,133 +119456,133 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -119686,133 +119686,133 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -119916,133 +119916,133 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -120146,137 +120146,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -120380,137 +120380,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -120614,137 +120614,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -120848,137 +120848,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -121082,137 +121082,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -121316,137 +121316,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -121550,137 +121550,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -121784,137 +121784,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -122018,137 +122018,137 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -122254,139 +122254,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -122492,135 +122492,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -122726,139 +122726,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -122964,139 +122964,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -123202,139 +123202,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c2.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -123450,151 +123450,151 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -123710,151 +123710,151 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -123970,155 +123970,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -124234,155 +124234,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -124498,155 +124498,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -124762,155 +124762,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -125026,153 +125026,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -125288,153 +125288,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -125550,155 +125550,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -125814,155 +125814,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -126081,177 +126081,177 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -126370,177 +126370,177 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -126659,177 +126659,177 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -126948,181 +126948,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -127241,181 +127241,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -127534,181 +127534,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -127827,181 +127827,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -128120,181 +128120,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -128413,181 +128413,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -128706,181 +128706,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -128999,181 +128999,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -129292,181 +129292,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -129585,179 +129585,179 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -129876,179 +129876,179 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -130167,179 +130167,179 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -130458,181 +130458,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -130751,181 +130751,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -131044,181 +131044,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -131344,179 +131344,179 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -131642,179 +131642,179 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -131940,179 +131940,179 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -132238,183 +132238,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -132540,183 +132540,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -132842,183 +132842,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -133144,183 +133144,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -133446,183 +133446,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -133748,183 +133748,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -134050,183 +134050,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -134352,183 +134352,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -134654,183 +134654,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -134956,181 +134956,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -135256,181 +135256,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -135556,181 +135556,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -135856,183 +135856,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -136158,183 +136158,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -136460,183 +136460,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -136755,179 +136755,179 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -137046,183 +137046,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -137341,183 +137341,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -137636,183 +137636,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -137931,181 +137931,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -138224,183 +138224,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -138526,181 +138526,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -138826,185 +138826,185 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -139130,185 +139130,185 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -139434,185 +139434,185 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -139738,183 +139738,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -140040,185 +140040,185 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM3: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000aaa0); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP5: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010210); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP6: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010214); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP7: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010218); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP4: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x4001030c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP5: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010310); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013c00); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v2.HRTIM = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c3.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC4: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000500); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC5: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000600); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC4: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -140331,149 +140331,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -140586,149 +140586,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -140841,147 +140841,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -141094,147 +141094,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -141347,153 +141347,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -141606,153 +141606,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -141865,153 +141865,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -142124,153 +142124,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -142383,153 +142383,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -142642,153 +142642,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -142902,151 +142902,151 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -143160,149 +143160,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -143416,155 +143416,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -143678,155 +143678,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -143940,155 +143940,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40002000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_g4.TAMP = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_g4.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_g4.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000a000); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000a750); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_g4.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP1: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010200); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP2: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010204); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP3: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x40010208); - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP4: *volatile types.peripherals.comp_v2.COMP = @ptrFromInt(0x4001020c); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP1: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010300); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP2: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010304); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP3: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010308); - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP6: *volatile types.peripherals.opamp_g4.OPAMP = @ptrFromInt(0x40010314); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM20: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40020c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_g4.RCC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_g4c4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000300); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_g4.ADC = @ptrFromInt(0x50000400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC345_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x50000700); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50000800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC3: *volatile types.peripherals.dac_v7.DAC = @ptrFromInt(0x50001000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI1: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_g4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -144205,107 +144205,107 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v2.OPAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_h5.COMP = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h50.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_0crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h50.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// System configuration, boot and security + /// System configuration, boot and security pub const SYSCFG: *volatile types.peripherals.syscfg_h50.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h50.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h50.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h50.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); }; }; @@ -144422,107 +144422,107 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v2.OPAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_h5.COMP = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h50.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_0crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h50.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// System configuration, boot and security + /// System configuration, boot and security pub const SYSCFG: *volatile types.peripherals.syscfg_h50.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h50.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h50.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h50.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); }; }; @@ -144639,107 +144639,107 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v2.OPAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_h5.COMP = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h50.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_0crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h50.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// System configuration, boot and security + /// System configuration, boot and security pub const SYSCFG: *volatile types.peripherals.syscfg_h50.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h50.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h50.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h50.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); }; }; @@ -144856,107 +144856,107 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v2.OPAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_h5.COMP = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h50.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_0crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h50.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// System configuration, boot and security + /// System configuration, boot and security pub const SYSCFG: *volatile types.peripherals.syscfg_h50.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h50.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h50.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h50.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); }; }; @@ -145097,141 +145097,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); }; }; @@ -145372,141 +145372,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); }; }; @@ -145647,139 +145647,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); }; }; @@ -145920,147 +145920,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); }; }; @@ -146201,147 +146201,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); }; }; @@ -146482,149 +146482,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -146765,149 +146765,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -147048,149 +147048,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -147331,149 +147331,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -147615,147 +147615,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x46005000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); }; }; @@ -147897,145 +147897,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x46005000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); }; }; @@ -148177,153 +148177,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x46005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); }; }; @@ -148465,155 +148465,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x46005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -148755,155 +148755,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C2: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x44003000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x46005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -149057,193 +149057,193 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x44002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -149397,193 +149397,193 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x44002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -149737,193 +149737,193 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x44002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -150077,193 +150077,193 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x44002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -150417,179 +150417,179 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); }; }; @@ -150743,179 +150743,179 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); }; }; @@ -151069,191 +151069,191 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -151407,191 +151407,191 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -151745,193 +151745,193 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x44002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -152085,193 +152085,193 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x44002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -152427,201 +152427,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x44002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -152777,201 +152777,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x44002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -153127,201 +153127,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x44002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -153477,201 +153477,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x44002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -153827,191 +153827,191 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -154167,185 +154167,185 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); }; }; @@ -154501,185 +154501,185 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); }; }; @@ -154835,197 +154835,197 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -155181,197 +155181,197 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -155527,201 +155527,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x44002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -155877,201 +155877,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x44002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -156228,207 +156228,207 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x44002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x46005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -156585,207 +156585,207 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x44002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x46005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -156942,197 +156942,197 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x46005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -157289,191 +157289,191 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x46005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); }; }; @@ -157630,203 +157630,203 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x46005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -157983,207 +157983,207 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v2.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v2.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C1: *volatile types.peripherals.i3c_v1.I3C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART11: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40007000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART12: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40008400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a800); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM2: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000af50); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40014c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// GPDMA + /// GPDMA pub const GPDMA2: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// FLASH address block description + /// FLASH address block description pub const FLASH: *volatile types.peripherals.flash_h5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40023800); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40023c00); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC1: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028000); - /// Analog to digital converter + /// Analog to digital converter pub const ADC2: *volatile types.peripherals.adc_h5.ADC = @ptrFromInt(0x42028100); - /// ADC common registers + /// ADC common registers pub const ADC12_COMMON: *volatile types.peripherals.adccommon_h5.ADC_COMMON = @ptrFromInt(0x42028300); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x42028400); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// SBS register block + /// SBS register block pub const SYSCFG: *volatile types.peripherals.syscfg_h5.SYSCFG = @ptrFromInt(0x44000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x44002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x44002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x44002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x44004c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM6: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x44005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a2.VREFBUF = @ptrFromInt(0x44007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x44007800); - /// Tamper and backup. + /// Tamper and backup. pub const TAMP: *volatile types.peripherals.tamp_h5.TAMP = @ptrFromInt(0x44007c00); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h5.PWR = @ptrFromInt(0x44020800); - /// Reset and clock controller + /// Reset and clock controller pub const RCC: *volatile types.peripherals.rcc_h5.RCC = @ptrFromInt(0x44020c00); - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI: *volatile types.peripherals.exti_h5.EXTI = @ptrFromInt(0x44022000); - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU: *volatile types.peripherals.dbgmcu_h5.DBGMCU = @ptrFromInt(0x44024000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x46005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x46008c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x47001400); - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC: *volatile types.peripherals.fmc_v4.FMC = @ptrFromInt(0x60000000); }; }; @@ -158357,211 +158357,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -158735,211 +158735,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -159113,213 +159113,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -159493,213 +159493,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -159873,213 +159873,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -160253,213 +160253,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -160633,213 +160633,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -161013,213 +161013,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -161393,189 +161393,189 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -161749,189 +161749,189 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -162105,211 +162105,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -162483,211 +162483,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -162861,213 +162861,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -163241,213 +163241,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -163622,221 +163622,221 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -164011,221 +164011,221 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -164400,219 +164400,219 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -164787,221 +164787,221 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -165176,219 +165176,219 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -165563,221 +165563,221 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -165952,223 +165952,223 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -166343,223 +166343,223 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -166734,197 +166734,197 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -167099,221 +167099,221 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -167488,223 +167488,223 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40006400); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN3: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000d400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM23: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM24: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x4000e400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x48024000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48024400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x58005400); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0468.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -167873,201 +167873,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -168236,201 +168236,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -168599,201 +168599,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -168962,201 +168962,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -169325,201 +169325,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -169688,201 +169688,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -170051,199 +170051,199 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -170412,199 +170412,199 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -170773,201 +170773,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -171136,201 +171136,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -171499,201 +171499,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -171862,201 +171862,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -172226,207 +172226,207 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -172596,207 +172596,207 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -172966,207 +172966,207 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -173336,207 +173336,207 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -173706,207 +173706,207 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -174076,207 +174076,207 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -174446,205 +174446,205 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -174814,205 +174814,205 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -175182,207 +175182,207 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -175552,207 +175552,207 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -175922,207 +175922,207 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -176292,207 +176292,207 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -176665,211 +176665,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -177042,211 +177042,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -177419,211 +177419,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -177796,211 +177796,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -178173,211 +178173,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -178550,211 +178550,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -178927,211 +178927,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -179304,211 +179304,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -179681,213 +179681,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x50000000); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -180060,213 +180060,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x50000000); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -180439,213 +180439,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x50000000); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -180818,213 +180818,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x50000000); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -181197,213 +181197,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x50000000); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -181576,213 +181576,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x50000000); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -181955,213 +181955,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x50000000); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -182334,213 +182334,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x50000000); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -182713,211 +182713,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x50000000); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -183087,209 +183087,209 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -183459,207 +183459,207 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -183829,209 +183829,209 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -184201,209 +184201,209 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -184573,211 +184573,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -184947,211 +184947,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -185321,211 +185321,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -185695,209 +185695,209 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -186067,211 +186067,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -186441,211 +186441,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7rm0433.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0433.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -186818,215 +186818,215 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -187199,215 +187199,215 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -187580,215 +187580,215 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -187961,215 +187961,215 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -188342,217 +188342,217 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x50000000); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -188725,217 +188725,217 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x50000000); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -189108,217 +189108,217 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x50000000); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -189491,217 +189491,217 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x50000000); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -189874,215 +189874,215 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff1e800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG2: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40015c00); - /// Serial audio interface + /// Serial audio interface pub const SAI3: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x40016000); - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM1: *volatile types.peripherals.hrtim_v1.HRTIM = @ptrFromInt(0x40017400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x50000000); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7od.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_b.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Independent watchdog + /// Independent watchdog pub const IWDG2: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004c00); - /// Serial audio interface + /// Serial audio interface pub const SAI4: *volatile types.peripherals.sai_v3_4pdm.SAI = @ptrFromInt(0x58005400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0399.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// DMA controller + /// DMA controller pub const BDMA: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC3: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x58026000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x58026300); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58026400); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -190250,203 +190250,203 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -190614,203 +190614,203 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -190978,203 +190978,203 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -191342,203 +191342,203 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -191706,203 +191706,203 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -192070,203 +192070,203 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -192434,203 +192434,203 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -192798,203 +192798,203 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -193162,201 +193162,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -193524,183 +193524,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -193868,183 +193868,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -194212,201 +194212,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -194574,201 +194574,201 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -194936,203 +194936,203 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -195300,203 +195300,203 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -195665,211 +195665,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -196038,211 +196038,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -196411,189 +196411,189 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -196762,207 +196762,207 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -197131,211 +197131,211 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -197504,213 +197504,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x48020800); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -197879,213 +197879,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x48020800); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -198254,213 +198254,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x48020800); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -198629,213 +198629,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x48020800); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -199004,209 +199004,209 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x48020800); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -199375,191 +199375,191 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x48020800); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -199728,209 +199728,209 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x48020800); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -200099,213 +200099,213 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP1: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009000); - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP2: *volatile types.peripherals.opamp_h_v1.OPAMP = @ptrFromInt(0x40009010); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40010400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART9: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART10: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40011c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40013400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x40015000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x40015c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.dma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022000); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC2: *volatile types.peripherals.adc_v4.ADC = @ptrFromInt(0x40022100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x48020000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48020400); - /// HSEM. + /// HSEM. pub const HSEM: *volatile types.peripherals.hsem_v2.HSEM = @ptrFromInt(0x48020800); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v3.CRYP = @ptrFromInt(0x48021000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x48021400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48021800); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48022400); - /// DMA controller + /// DMA controller pub const BDMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x48022c00); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// Window watchdog + /// Window watchdog pub const WWDG1: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x50003000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_h7ab.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x52005000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x5200a000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x5200b400); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200b800); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x5200bc00); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_h7.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v3.SPI = @ptrFromInt(0x58001400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x58001c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC2: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x58003400); - /// COMP1. + /// COMP1. pub const COMP1: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x5800380c); - /// COMP1. + /// COMP1. pub const COMP2: *volatile types.peripherals.comp_h7_a.COMP = @ptrFromInt(0x58003810); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG1: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOK: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58022800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_h7ab.RCC = @ptrFromInt(0x58024400); - /// PWR + /// PWR pub const PWR: *volatile types.peripherals.pwr_h7rm0455.PWR = @ptrFromInt(0x58024800); - /// DMA controller + /// DMA controller pub const BDMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x58025400); - /// DMAMUX + /// DMAMUX pub const DMAMUX2: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x58025800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -200475,175 +200475,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000ec00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -200813,175 +200813,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000ec00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -201151,175 +201151,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000ec00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -201489,143 +201489,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -201795,157 +201795,157 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000ec00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -202115,175 +202115,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000ec00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -202456,171 +202456,171 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -202793,171 +202793,171 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -203130,177 +203130,177 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000ec00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -203473,165 +203473,165 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -203804,177 +203804,177 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000ec00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v4.CRYP = @ptrFromInt(0x48020800); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -204147,177 +204147,177 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000ec00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v4.CRYP = @ptrFromInt(0x48020800); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -204490,177 +204490,177 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000ec00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v4.CRYP = @ptrFromInt(0x48020800); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -204833,145 +204833,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v4.CRYP = @ptrFromInt(0x48020800); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -205144,159 +205144,159 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000ec00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v4.CRYP = @ptrFromInt(0x48020800); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -205469,177 +205469,177 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000ec00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v4.CRYP = @ptrFromInt(0x48020800); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -205815,173 +205815,173 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v4.CRYP = @ptrFromInt(0x48020800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -206157,173 +206157,173 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v4.CRYP = @ptrFromInt(0x48020800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -206499,179 +206499,179 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x40002400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART8: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000ec00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40040000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v4.CRYP = @ptrFromInt(0x48020800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x52007000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -206847,167 +206847,167 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x8fff800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// 2-channel timers + /// 2-channel timers pub const TIM12: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40001800); - /// 1-channel timers + /// 1-channel timers pub const TIM13: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40001c00); - /// 1-channel timers + /// 1-channel timers pub const TIM14: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40002000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x40003c00); - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX1: *volatile types.peripherals.spdifrx_h7.SPDIFRX = @ptrFromInt(0x40004000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v3.I2C = @ptrFromInt(0x40005c00); - /// CEC. + /// CEC. pub const CEC: *volatile types.peripherals.cec_v2.CEC = @ptrFromInt(0x40006c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART7: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40007800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40008400); - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS: *volatile types.peripherals.mdios_v1.MDIOS = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a000); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN2: *volatile types.peripherals.can_fdcan_h7.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM: *volatile types.peripherals.fdcanram_h7.FDCANRAM = @ptrFromInt(0x4000ac00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40021000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v4.ADC_COMMON = @ptrFromInt(0x40022300); - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH: *volatile types.peripherals.eth_v2.ETH = @ptrFromInt(0x40028000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x40080000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x42000000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x42001000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI4: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42003400); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x42004000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x42004800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI5: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x42005000); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005800); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_4pdm.SAI = @ptrFromInt(0x42005c00); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x48000400); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x48002400); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x48004400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x48020000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v3.HASH = @ptrFromInt(0x48020400); - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP: *volatile types.peripherals.cryp_v4.CRYP = @ptrFromInt(0x48020800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x50001000); - /// GPDMA + /// GPDMA pub const HPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x52000000); - /// DMA2D + /// DMA2D pub const DMA2D: *volatile types.peripherals.dma2d_v2.DMA2D = @ptrFromInt(0x52001000); - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH: *volatile types.peripherals.flash_h7rs.FLASH = @ptrFromInt(0x52002000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x52003000); - /// Flexible memory controller + /// Flexible memory controller pub const FMC: *volatile types.peripherals.fmc_v3x1.FMC = @ptrFromInt(0x52004000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_h7.EXTI = @ptrFromInt(0x58000000); - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG: *volatile types.peripherals.syscfg_h7rs.SYSCFG = @ptrFromInt(0x58000400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x58000c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI6: *volatile types.peripherals.spi_v4.SPI = @ptrFromInt(0x58001400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58002c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM5: *volatile types.peripherals.lptim_v1b_h7.LPTIM = @ptrFromInt(0x58003000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x58003c00); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2h7.RTC = @ptrFromInt(0x58004000); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x58004800); - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS: *volatile types.peripherals.dts_v1.DTS = @ptrFromInt(0x58006800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOM: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPION: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOO: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOP: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x58023c00); - /// Reset and clock control. + /// Reset and clock control. pub const RCC: *volatile types.peripherals.rcc_h7rs.RCC = @ptrFromInt(0x58024400); - /// Power control. + /// Power control. pub const PWR: *volatile types.peripherals.pwr_h7rs.PWR = @ptrFromInt(0x58024800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x58024c00); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_h7.DBGMCU = @ptrFromInt(0x5c001000); }; }; @@ -207053,53 +207053,53 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -207145,51 +207145,51 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -207235,51 +207235,51 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -207325,53 +207325,53 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -207417,55 +207417,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -207512,59 +207512,59 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -207610,51 +207610,51 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -207700,51 +207700,51 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -207790,51 +207790,51 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -207880,51 +207880,51 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -207970,51 +207970,51 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -208060,51 +208060,51 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -208150,51 +208150,51 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -208240,51 +208240,51 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -208330,51 +208330,51 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -208420,51 +208420,51 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -208510,53 +208510,53 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -208602,53 +208602,53 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -208694,53 +208694,53 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -208786,53 +208786,53 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); }; }; @@ -208879,55 +208879,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -208974,55 +208974,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -209069,55 +209069,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -209164,55 +209164,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -209259,55 +209259,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -209354,55 +209354,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -209449,55 +209449,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -209544,55 +209544,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -209639,55 +209639,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -209734,55 +209734,55 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -209829,57 +209829,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -209926,57 +209926,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -210023,57 +210023,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -210120,57 +210120,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -210217,57 +210217,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -210314,57 +210314,57 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -210414,65 +210414,65 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -210522,65 +210522,65 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -210630,59 +210630,59 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -210732,59 +210732,59 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -210834,65 +210834,65 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -210942,65 +210942,65 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -211050,63 +211050,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -211156,63 +211156,63 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -211264,77 +211264,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -211386,77 +211386,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -211508,71 +211508,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -211624,71 +211624,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -211740,77 +211740,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -211862,77 +211862,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -211984,75 +211984,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -212104,75 +212104,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -212224,79 +212224,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -212348,79 +212348,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -212472,79 +212472,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -212596,79 +212596,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -212720,79 +212720,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -212844,73 +212844,73 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -212962,81 +212962,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -213088,81 +213088,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -213213,77 +213213,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -213334,77 +213334,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -213455,77 +213455,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -213576,71 +213576,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -213691,73 +213691,73 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -213808,73 +213808,73 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -213925,77 +213925,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -214046,77 +214046,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -214167,77 +214167,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -214288,77 +214288,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -214409,77 +214409,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -214532,89 +214532,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -214667,89 +214667,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -214802,85 +214802,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -214933,85 +214933,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -215064,89 +215064,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -215199,89 +215199,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -215334,89 +215334,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -215469,89 +215469,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -215604,89 +215604,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -215739,91 +215739,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -215876,91 +215876,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -216013,91 +216013,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -216150,91 +216150,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -216287,91 +216287,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -216424,91 +216424,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -216561,91 +216561,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -216696,79 +216696,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -216819,79 +216819,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -216942,75 +216942,75 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -217063,91 +217063,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -217200,87 +217200,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -217333,87 +217333,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -217466,93 +217466,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -217605,93 +217605,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -217744,93 +217744,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -217883,93 +217883,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -218022,93 +218022,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -218161,93 +218161,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -218300,93 +218300,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_l0.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_l0.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l0.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006000); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1.LPTIM = @ptrFromInt(0x40007c00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l0.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM21: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40010800); - /// 2-channel timers + /// 2-channel timers pub const TIM22: *volatile types.peripherals.timer_l0.TIM_2CH = @ptrFromInt(0x40011400); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_l0.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l0.DBGMCU = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l0_v2.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001c00); }; }; @@ -218455,77 +218455,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -218594,81 +218594,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -218737,77 +218737,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -218876,81 +218876,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -219019,77 +219019,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -219158,81 +219158,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -219311,85 +219311,85 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -219458,77 +219458,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -219597,81 +219597,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -219740,77 +219740,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -219879,81 +219879,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -220022,77 +220022,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -220161,81 +220161,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -220315,87 +220315,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -220475,91 +220475,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -220640,95 +220640,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -220809,91 +220809,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -220962,77 +220962,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -221101,81 +221101,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -221244,77 +221244,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -221383,81 +221383,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -221526,77 +221526,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -221665,81 +221665,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -221819,87 +221819,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -221979,91 +221979,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -222144,93 +222144,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -222311,91 +222311,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -222475,87 +222475,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -222624,77 +222624,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -222763,81 +222763,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -222906,77 +222906,77 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -223045,81 +223045,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -223199,87 +223199,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -223359,91 +223359,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -223524,95 +223524,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -223693,91 +223693,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -223858,91 +223858,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -224022,91 +224022,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -224187,95 +224187,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -224356,91 +224356,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -224509,79 +224509,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -224650,83 +224650,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -224795,79 +224795,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -224936,83 +224936,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -225081,79 +225081,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -225222,83 +225222,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -225378,89 +225378,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -225540,93 +225540,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -225707,97 +225707,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -225878,93 +225878,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -226033,79 +226033,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -226174,83 +226174,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -226319,79 +226319,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -226460,83 +226460,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -226605,79 +226605,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -226746,83 +226746,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -226902,89 +226902,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -227064,93 +227064,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -227231,95 +227231,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -227400,93 +227400,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -227566,89 +227566,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -227717,79 +227717,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -227858,83 +227858,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -228003,79 +228003,79 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -228144,83 +228144,83 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff80050); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff80078); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -228300,89 +228300,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -228462,93 +228462,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -228629,97 +228629,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -228800,93 +228800,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -228967,93 +228967,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -229133,93 +229133,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -229300,97 +229300,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -229471,93 +229471,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -229637,95 +229637,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -229806,99 +229806,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -229978,91 +229978,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -230142,95 +230142,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -230311,97 +230311,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -230482,95 +230482,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -230650,91 +230650,91 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -230814,95 +230814,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -230983,99 +230983,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -231156,95 +231156,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -231325,95 +231325,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -231493,95 +231493,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -231662,99 +231662,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDIO: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC: *volatile types.peripherals.fsmc_v1x0.FSMC = @ptrFromInt(0xa0000000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -231835,95 +231835,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1ff800d0); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1ff800f8); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v1.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l1.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v1.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v1.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v1.USB = @ptrFromInt(0x40005c00); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x1_512.USBRAM = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l1.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v2.DAC = @ptrFromInt(0x40007400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l1.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// 2-channel timers + /// 2-channel timers pub const TIM9: *volatile types.peripherals.timer_v1.TIM_2CH = @ptrFromInt(0x40010800); - /// 1-channel timers + /// 1-channel timers pub const TIM10: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40010c00); - /// 1-channel timers + /// 1-channel timers pub const TIM11: *volatile types.peripherals.timer_v1.TIM_1CH = @ptrFromInt(0x40011000); - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC1: *volatile types.peripherals.adc_f3_v1_1.ADC = @ptrFromInt(0x40012400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v1.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v2.USART = @ptrFromInt(0x40013800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x40021c00); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v1.CRC = @ptrFromInt(0x40023000); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l1.RCC = @ptrFromInt(0x40023800); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l1.FLASH = @ptrFromInt(0x40023c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40026400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// debug support + /// debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_l1.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -232010,93 +232010,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -232183,93 +232183,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -232356,87 +232356,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -232523,87 +232523,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -232690,93 +232690,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -232863,93 +232863,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -233036,87 +233036,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -233203,87 +233203,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -233371,95 +233371,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -233547,89 +233547,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -233717,95 +233717,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -233893,89 +233893,89 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -234071,99 +234071,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -234259,99 +234259,99 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -234447,93 +234447,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -234629,93 +234629,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -234811,101 +234811,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -235001,101 +235001,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -235191,101 +235191,101 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -235378,93 +235378,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -235557,93 +235557,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -235740,105 +235740,105 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -235935,105 +235935,105 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -236130,107 +236130,107 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -236327,107 +236327,107 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -236524,107 +236524,107 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -236718,95 +236718,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -236903,107 +236903,107 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -237100,109 +237100,109 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -237299,109 +237299,109 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -237502,103 +237502,103 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -237699,103 +237699,103 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -237896,105 +237896,105 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -238095,105 +238095,105 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -238294,105 +238294,105 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -238493,105 +238493,105 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -238692,107 +238692,107 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -238893,107 +238893,107 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -239094,109 +239094,109 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -239297,109 +239297,109 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -239500,109 +239500,109 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -239703,109 +239703,109 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -239907,109 +239907,109 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -240111,111 +240111,111 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -240317,111 +240317,111 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -240526,123 +240526,123 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -240747,123 +240747,123 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -240968,123 +240968,123 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -241189,123 +241189,123 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -241410,123 +241410,123 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -241631,123 +241631,123 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -241852,123 +241852,123 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -242073,123 +242073,123 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -242294,125 +242294,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -242517,125 +242517,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -242740,125 +242740,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -242963,125 +242963,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -243186,125 +243186,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -243409,125 +243409,125 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -243633,127 +243633,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -243859,127 +243859,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -244085,127 +244085,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -244311,127 +244311,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -244537,127 +244537,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -244763,127 +244763,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -244989,127 +244989,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -245215,127 +245215,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -245441,127 +245441,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -245667,127 +245667,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -245893,127 +245893,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -246119,127 +246119,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -246345,127 +246345,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -246571,127 +246571,127 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -246797,129 +246797,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -247025,129 +247025,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -247253,129 +247253,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -247481,129 +247481,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -247709,129 +247709,129 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -247946,139 +247946,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -248193,139 +248193,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -248440,139 +248440,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -248687,139 +248687,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -248934,139 +248934,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -249181,139 +249181,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -249428,139 +249428,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -249675,139 +249675,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -249922,139 +249922,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -250169,139 +250169,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -250416,139 +250416,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -250663,143 +250663,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -250914,143 +250914,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -251165,143 +251165,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -251416,143 +251416,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -251667,143 +251667,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Controller area network + /// Controller area network pub const CAN2: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v3.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v3.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1a.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC1: *volatile types.peripherals.sdmmc_v1.SDMMC = @ptrFromInt(0x40012800); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v3.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v2.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v2.DMA = @ptrFromInt(0x40020400); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC3: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040200); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC123_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0xa0001000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -251918,141 +251918,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x50050400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -252167,141 +252167,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x50050400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -252416,135 +252416,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -252659,135 +252659,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -252902,141 +252902,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x50050400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -253151,141 +253151,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x50050400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -253400,139 +253400,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x50050400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -253647,139 +253647,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x50050400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -253894,141 +253894,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x50050400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -254143,141 +254143,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x50050400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -254392,141 +254392,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x50050400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -254641,141 +254641,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x50050400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -254892,145 +254892,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x50050400); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x5005e000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -255147,139 +255147,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x5005e000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -255396,145 +255396,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x50050400); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x5005e000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -255651,143 +255651,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x50050400); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x5005e000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -255904,145 +255904,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x50050400); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x5005e000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -256159,145 +256159,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x50050400); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x5005e000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -256410,135 +256410,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -256651,135 +256651,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -256892,135 +256892,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -257133,135 +257133,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -257374,135 +257374,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -257615,135 +257615,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -257856,135 +257856,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -258097,135 +258097,135 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -258340,139 +258340,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v1.GFXMMU = @ptrFromInt(0x4002c000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -258587,139 +258587,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v1.GFXMMU = @ptrFromInt(0x4002c000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -258834,139 +258834,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v1.GFXMMU = @ptrFromInt(0x4002c000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -259082,141 +259082,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v1.GFXMMU = @ptrFromInt(0x4002c000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -259332,141 +259332,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v1.GFXMMU = @ptrFromInt(0x4002c000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -259582,141 +259582,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v1.GFXMMU = @ptrFromInt(0x4002c000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -259832,141 +259832,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v1.GFXMMU = @ptrFromInt(0x4002c000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -260082,141 +260082,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v1.GFXMMU = @ptrFromInt(0x4002c000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -260332,141 +260332,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v1.GFXMMU = @ptrFromInt(0x4002c000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -260580,139 +260580,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -260826,139 +260826,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -261072,139 +261072,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -261318,139 +261318,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -261566,143 +261566,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v1.GFXMMU = @ptrFromInt(0x4002c000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -261818,143 +261818,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v1.GFXMMU = @ptrFromInt(0x4002c000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -262070,143 +262070,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v1.GFXMMU = @ptrFromInt(0x4002c000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -262322,145 +262322,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v1.GFXMMU = @ptrFromInt(0x4002c000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -262576,145 +262576,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v1.GFXMMU = @ptrFromInt(0x4002c000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -262830,145 +262830,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2l4.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v1.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Controller area network + /// Controller area network pub const CAN1: *volatile types.peripherals.can_bxcan.CAN = @ptrFromInt(0x40006400); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l4.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l4.SYSCFG = @ptrFromInt(0x40010000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_v1.EXTI = @ptrFromInt(0x40010400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_v1.DSIHOST = @ptrFromInt(0x40016c00); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l4plus.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l4.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v1.GFXMMU = @ptrFromInt(0x4002c000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48002000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x50000000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x50050000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v1.AES = @ptrFromInt(0x50060000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x50060400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x50060800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x50061c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0xa0001400); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l4.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -263102,139 +263102,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -263368,139 +263368,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -263634,143 +263634,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -263904,143 +263904,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -264174,143 +264174,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -264444,143 +264444,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -264714,143 +264714,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -264984,143 +264984,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -265254,143 +265254,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -265524,143 +265524,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -265794,143 +265794,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -266065,145 +266065,145 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x420c2000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -266338,149 +266338,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x420c2000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -266615,149 +266615,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x420c2000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -266892,149 +266892,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x420c2000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -267169,149 +267169,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x420c2000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -267446,149 +267446,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000400); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM4: *volatile types.peripherals.timer_v1.TIM_GP16 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v1.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3l5.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_l5.TAMP = @ptrFromInt(0x40003400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_l5.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v5.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x4000d400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x4000d800); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_l5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010100); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v1.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v3_2pdm.SAI = @ptrFromInt(0x40015800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_l5.RCC = @ptrFromInt(0x40021000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_l5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x4002f400); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC2: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x42028100); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC12_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x42028300); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v2.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x420c2000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v2.OCTOSPI = @ptrFromInt(0x44021000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_l5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -267641,93 +267641,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff3e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -267780,93 +267780,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff3e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -267919,93 +267919,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff3e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -268058,93 +268058,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff3e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -268197,93 +268197,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff3e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -268336,93 +268336,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff3e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -268475,93 +268475,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff3e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -268614,93 +268614,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff3e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -268753,93 +268753,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff3e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -268892,93 +268892,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff3e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -269031,93 +269031,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff3e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -269170,93 +269170,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff3e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -269309,115 +269309,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -269470,115 +269470,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -269631,115 +269631,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -269792,115 +269792,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -269953,115 +269953,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -270114,115 +270114,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -270275,115 +270275,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -270436,115 +270436,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -270597,115 +270597,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -270758,115 +270758,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -270919,115 +270919,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -271080,115 +271080,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -271241,115 +271241,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -271402,115 +271402,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -271563,115 +271563,115 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -271724,117 +271724,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -271887,117 +271887,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -272050,117 +272050,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -272213,117 +272213,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -272376,117 +272376,117 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff6e50); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006c00); - /// PWR register block + /// PWR register block pub const PWR: *volatile types.peripherals.pwr_u0.PWR = @ptrFromInt(0x40007000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP1: *volatile types.peripherals.opamp_u0.OPAMP = @ptrFromInt(0x40007800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART2: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008800); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART3: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2b.LPTIM = @ptrFromInt(0x40009400); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_1024.USBRAM = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x4000a000); - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG: *volatile types.peripherals.syscfg_u0.SYSCFG = @ptrFromInt(0x40010000); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u0.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_u0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// RCC address block description. + /// RCC address block description. pub const RCC: *volatile types.peripherals.rcc_u0.RCC = @ptrFromInt(0x40021000); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u0.EXTI = @ptrFromInt(0x40021800); - /// Mamba FLASH register block + /// Mamba FLASH register block pub const FLASH: *volatile types.peripherals.flash_u0.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x40025000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x40026000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x50001400); }; }; @@ -272633,139 +272633,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -272912,139 +272912,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -273191,139 +273191,139 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -273470,141 +273470,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -273751,141 +273751,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -274032,141 +274032,141 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -274313,143 +274313,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -274596,143 +274596,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -274879,143 +274879,143 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -275162,147 +275162,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -275449,147 +275449,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -275737,147 +275737,147 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -276025,149 +276025,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -276315,149 +276315,149 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -276605,151 +276605,151 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -276897,155 +276897,155 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB: *volatile types.peripherals.usb_v4.USB = @ptrFromInt(0x40016000); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_32_2048.USBRAM = @ptrFromInt(0x40016400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -277196,165 +277196,165 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -277505,165 +277505,165 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -277814,153 +277814,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -278111,153 +278111,153 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -278408,163 +278408,163 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -278715,163 +278715,163 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -279022,165 +279022,165 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -279331,165 +279331,165 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -279640,163 +279640,163 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -279947,163 +279947,163 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -280254,165 +280254,165 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -280563,165 +280563,165 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -280872,165 +280872,165 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -281181,165 +281181,165 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -281491,175 +281491,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -281811,163 +281811,163 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -282119,173 +282119,173 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -282437,175 +282437,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -282757,173 +282757,173 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -283075,175 +283075,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -283395,175 +283395,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_FS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -283720,175 +283720,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -284045,175 +284045,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -284370,175 +284370,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -284695,175 +284695,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -285020,169 +285020,169 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -285339,169 +285339,169 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -285658,175 +285658,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -285983,175 +285983,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -286308,175 +286308,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -286633,175 +286633,175 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -286965,183 +286965,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -287305,183 +287305,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -287645,183 +287645,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -287985,181 +287985,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -288323,181 +288323,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -288661,183 +288661,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -289001,183 +289001,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -289335,185 +289335,185 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -289671,185 +289671,185 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -290007,185 +290007,185 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -290343,179 +290343,179 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -290673,185 +290673,185 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -291009,185 +291009,185 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -291352,193 +291352,193 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -291703,193 +291703,193 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -292054,191 +292054,191 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -292403,193 +292403,193 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -292755,181 +292755,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x4002a000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -293095,181 +293095,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x4002a000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -293435,181 +293435,181 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x4002a000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -293775,185 +293775,185 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x4002a000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -294119,183 +294119,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x4002a000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -294461,183 +294461,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x4002a000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -294803,183 +294803,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x4002a000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -295145,183 +295145,183 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x4002a000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -295488,189 +295488,189 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x4002a000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -295837,191 +295837,191 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x4002a000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -296188,195 +296188,195 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x4002a000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC2: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5400); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// OctoSPI + /// OctoSPI pub const OCTOSPI2: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d2400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -296543,191 +296543,191 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x4002a000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -296894,191 +296894,191 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbfa0700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000400); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM4: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000800); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM5: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000c00); - /// Basic timers + /// Basic timers pub const TIM6: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001000); - /// Basic timers + /// Basic timers pub const TIM7: *volatile types.peripherals.timer_v2.TIM_BASIC = @ptrFromInt(0x40001400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART3: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART4: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const UART5: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40005000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART6: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40006400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C4: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40008400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C5: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C6: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40009c00); - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN1: *volatile types.peripherals.can_fdcan_v1.FDCAN = @ptrFromInt(0x4000a400); - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM1: *volatile types.peripherals.fdcanram_v1.FDCANRAM = @ptrFromInt(0x4000ac00); - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD1: *volatile types.peripherals.ucpd_v1.UCPD = @ptrFromInt(0x4000dc00); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM8: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40013400); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM15: *volatile types.peripherals.timer_v2.TIM_2CH_CMP = @ptrFromInt(0x40014000); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015400); - /// Serial audio interface + /// Serial audio interface pub const SAI2: *volatile types.peripherals.sai_v4_2pdm.SAI = @ptrFromInt(0x40015800); - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC: *volatile types.peripherals.ltdc_v1.LTDC = @ptrFromInt(0x40016800); - /// DSI Host. + /// DSI Host. pub const DSIHOST: *volatile types.peripherals.dsihost_u5.DSIHOST = @ptrFromInt(0x40016c00); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC: *volatile types.peripherals.cordic_v1.CORDIC = @ptrFromInt(0x40021000); - /// Filter math accelerator + /// Filter math accelerator pub const FMAC: *volatile types.peripherals.fmac_v1.FMAC = @ptrFromInt(0x40021400); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_u5.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v3.TSC = @ptrFromInt(0x40024000); - /// JPEG codec + /// JPEG codec pub const JPEG: *volatile types.peripherals.jpeg_v1.JPEG = @ptrFromInt(0x4002a000); - /// DMA2D controller + /// DMA2D controller pub const DMA2D: *volatile types.peripherals.dma2d_v1.DMA2D = @ptrFromInt(0x4002b000); - /// GFXMMU. + /// GFXMMU. pub const GFXMMU: *volatile types.peripherals.gfxmmu_v2.GFXMMU = @ptrFromInt(0x4002c000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_3crr.ICACHE = @ptrFromInt(0x40030400); - /// Data cache. + /// Data cache. pub const DCACHE1: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031400); - /// Data cache. + /// Data cache. pub const DCACHE2: *volatile types.peripherals.dcache_v1.DCACHE = @ptrFromInt(0x40031800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOF: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOG: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOI: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOJ: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42022400); - /// ADC. + /// ADC. pub const ADC1: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028000); - /// ADC. + /// ADC. pub const ADC2: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x42028100); - /// Digital camera interface + /// Digital camera interface pub const DCMI: *volatile types.peripherals.dcmi_v1.DCMI = @ptrFromInt(0x4202c000); - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI: *volatile types.peripherals.pssi_v1.PSSI = @ptrFromInt(0x4202c400); - /// USB on the go + /// USB on the go pub const USB_OTG_HS: *volatile types.peripherals.otg_v1.OTG = @ptrFromInt(0x42040000); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3a.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v3.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1b.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1b.PKA = @ptrFromInt(0x420c2000); - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM: *volatile types.peripherals.octospim_v1.OCTOSPIM = @ptrFromInt(0x420c4000); - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC1: *volatile types.peripherals.otfdec_v1.OTFDEC = @ptrFromInt(0x420c5000); - /// SDMMC + /// SDMMC pub const SDMMC1: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8000); - /// SDMMC + /// SDMMC pub const SDMMC2: *volatile types.peripherals.sdmmc_v2.SDMMC = @ptrFromInt(0x420c8c00); - /// OctoSPI + /// OctoSPI pub const OCTOSPI1: *volatile types.peripherals.octospi_v1.OCTOSPI = @ptrFromInt(0x420d1400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_u5.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM4: *volatile types.peripherals.lptim_v2a.LPTIM_BASIC = @ptrFromInt(0x46004c00); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005400); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_u5.COMP = @ptrFromInt(0x46005404); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v2a1.VREFBUF = @ptrFromInt(0x46007400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_u5.TAMP = @ptrFromInt(0x46007c00); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_u5.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_u5.RCC = @ptrFromInt(0x46020c00); - /// ADC. + /// ADC. pub const ADC4: *volatile types.peripherals.adc_u5.ADC = @ptrFromInt(0x46021000); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v6.DAC = @ptrFromInt(0x46021800); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_u5.EXTI = @ptrFromInt(0x46022000); - /// ADF. + /// ADF. pub const ADF1: *volatile types.peripherals.adf_v1.ADF = @ptrFromInt(0x46024000); - /// LPDMA + /// LPDMA pub const LPDMA1: *volatile types.peripherals.lpdma_v1.LPDMA = @ptrFromInt(0x46025000); - /// MCU debug component + /// MCU debug component pub const DBGMCU: *volatile types.peripherals.dbgmcu_u5.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -297154,65 +297154,65 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012700); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -297289,67 +297289,67 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012700); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -297424,71 +297424,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -297575,87 +297575,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb55.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x90000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -297742,87 +297742,87 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb55.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x90000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -297898,71 +297898,71 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -298049,93 +298049,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb55.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58001400); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x90000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -298222,93 +298222,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb55.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58001400); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x90000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -298395,93 +298395,93 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb55.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58001400); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x90000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -298568,97 +298568,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb55.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58001400); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x90000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -298745,97 +298745,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb55.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58001400); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x90000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -298922,97 +298922,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb55.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58001400); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x90000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -299099,97 +299099,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb55.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58001400); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x90000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -299276,97 +299276,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb55.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58001400); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x90000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -299453,97 +299453,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb55.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58001400); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x90000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -299630,97 +299630,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL: *volatile types.peripherals.vrefintcal_v1.VREFINTCAL = @ptrFromInt(0x1fff75aa); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD: *volatile types.peripherals.lcd_v2.LCD = @ptrFromInt(0x40002400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v2wb.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Clock recovery system + /// Clock recovery system pub const CRS: *volatile types.peripherals.crs_v1.CRS = @ptrFromInt(0x40006000); - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB: *volatile types.peripherals.usb_v3.USB = @ptrFromInt(0x40006800); - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM: *volatile types.peripherals.usbram_16x2_1024.USBRAM = @ptrFromInt(0x40006c00); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1b.LPTIM = @ptrFromInt(0x40009400); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wb.SYSCFG = @ptrFromInt(0x40010000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// Serial audio interface + /// Serial audio interface pub const SAI1: *volatile types.peripherals.sai_v1.SAI = @ptrFromInt(0x40015400); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v2.TSC = @ptrFromInt(0x40024000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOD: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000c00); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOE: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1: *volatile types.peripherals.adc_v3.ADC = @ptrFromInt(0x50040000); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x50040300); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wb.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wb55.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM: *volatile types.peripherals.hsem_v1.HSEM = @ptrFromInt(0x58001400); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wb.FLASH = @ptrFromInt(0x58004000); - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI: *volatile types.peripherals.quadspi_v1.QUADSPI = @ptrFromInt(0x90000000); - /// Debug support + /// Debug support pub const DBGMCU: *volatile types.peripherals.dbgmcu_wb.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -299810,67 +299810,67 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -299960,67 +299960,67 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -300117,81 +300117,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -300288,81 +300288,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -300459,81 +300459,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -300630,81 +300630,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -300802,81 +300802,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -300974,81 +300974,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -301146,81 +301146,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -301318,81 +301318,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -301490,81 +301490,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -301662,81 +301662,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -301834,81 +301834,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -302006,81 +302006,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -302178,81 +302178,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -302350,81 +302350,81 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0xbf90700); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v2.TIM_GP32 = @ptrFromInt(0x40000000); - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM3: *volatile types.peripherals.timer_v2.TIM_GP16 = @ptrFromInt(0x40000400); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v3.IWDG = @ptrFromInt(0x40003000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x40009400); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v2.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v2.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// GPDMA + /// GPDMA pub const GPDMA1: *volatile types.peripherals.gpdma_v1.GPDMA = @ptrFromInt(0x40020000); - /// Embedded memory + /// Embedded memory pub const FLASH: *volatile types.peripherals.flash_wba.FLASH = @ptrFromInt(0x40022000); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC: *volatile types.peripherals.tsc_v1.TSC = @ptrFromInt(0x40024000); - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE: *volatile types.peripherals.icache_v1_4crr.ICACHE = @ptrFromInt(0x40030400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42020800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x42021c00); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v3b.AES = @ptrFromInt(0x420c0000); - /// Hash processor. + /// Hash processor. pub const HASH: *volatile types.peripherals.hash_v4.HASH = @ptrFromInt(0x420c0400); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v1.RNG = @ptrFromInt(0x420c0800); - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES: *volatile types.peripherals.saes_v1a.SAES = @ptrFromInt(0x420c0c00); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1a.PKA = @ptrFromInt(0x420c2000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wba.SYSCFG = @ptrFromInt(0x46000400); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI3: *volatile types.peripherals.spi_v5.SPI = @ptrFromInt(0x46002000); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x46002400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x46002800); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v2a.LPTIM = @ptrFromInt(0x46004400); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3u5.RTC = @ptrFromInt(0x46007800); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wba.PWR = @ptrFromInt(0x46020800); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wba.RCC = @ptrFromInt(0x46020c00); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC4_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x46021308); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_l5.EXTI = @ptrFromInt(0x46022000); - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wba.DBGMCU = @ptrFromInt(0xe0044000); }; }; @@ -302510,97 +302510,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wl5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wl5.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v3.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -302686,97 +302686,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wl5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wl5.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v3.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -302862,97 +302862,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wl5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wl5.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v3.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -303038,97 +303038,97 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wl5.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wl5.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_w.EXTI = @ptrFromInt(0x58000800); - /// IPCC + /// IPCC pub const IPCC: *volatile types.peripherals.ipcc_v1.IPCC = @ptrFromInt(0x58000c00); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v3.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -303213,95 +303213,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wle.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wle.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_wle.EXTI = @ptrFromInt(0x58000800); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v4.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -303386,95 +303386,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wle.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wle.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_wle.EXTI = @ptrFromInt(0x58000800); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v4.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -303559,95 +303559,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wle.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wle.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_wle.EXTI = @ptrFromInt(0x58000800); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v4.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -303732,95 +303732,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wle.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wle.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_wle.EXTI = @ptrFromInt(0x58000800); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v4.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -303905,95 +303905,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wle.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wle.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_wle.EXTI = @ptrFromInt(0x58000800); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v4.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -304078,95 +304078,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wle.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wle.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_wle.EXTI = @ptrFromInt(0x58000800); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v4.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -304251,95 +304251,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wle.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wle.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_wle.EXTI = @ptrFromInt(0x58000800); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v4.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -304424,95 +304424,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wle.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wle.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_wle.EXTI = @ptrFromInt(0x58000800); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v4.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -304597,95 +304597,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wle.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wle.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_wle.EXTI = @ptrFromInt(0x58000800); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v4.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -304770,95 +304770,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wle.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wle.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_wle.EXTI = @ptrFromInt(0x58000800); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v4.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -304943,95 +304943,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wle.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wle.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_wle.EXTI = @ptrFromInt(0x58000800); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v4.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -305116,95 +305116,95 @@ pub const devices = struct { }; pub const peripherals = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID: *volatile types.peripherals.uid_v1.UID = @ptrFromInt(0x1fff7590); - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM2: *volatile types.peripherals.timer_v1.TIM_GP32 = @ptrFromInt(0x40000000); - /// Real-time clock + /// Real-time clock pub const RTC: *volatile types.peripherals.rtc_v3.RTC = @ptrFromInt(0x40002800); - /// Window watchdog + /// Window watchdog pub const WWDG: *volatile types.peripherals.wwdg_v2.WWDG = @ptrFromInt(0x40002c00); - /// Independent watchdog + /// Independent watchdog pub const IWDG: *volatile types.peripherals.iwdg_v2.IWDG = @ptrFromInt(0x40003000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI2: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40003800); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART2: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40004400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C1: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005400); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C2: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005800); - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C3: *volatile types.peripherals.i2c_v2.I2C = @ptrFromInt(0x40005c00); - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC1: *volatile types.peripherals.dac_v4.DAC = @ptrFromInt(0x40007400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM1: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40007c00); - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART1: *volatile types.peripherals.usart_v4.LPUART = @ptrFromInt(0x40008000); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM2: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009400); - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM3: *volatile types.peripherals.lptim_v1c.LPTIM = @ptrFromInt(0x40009800); - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP: *volatile types.peripherals.tamp_wl.TAMP = @ptrFromInt(0x4000b000); - /// System configuration controller + /// System configuration controller pub const SYSCFG: *volatile types.peripherals.syscfg_wle.SYSCFG = @ptrFromInt(0x40010000); - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF: *volatile types.peripherals.vrefbuf_v1.VREFBUF = @ptrFromInt(0x40010030); - /// Comparator. + /// Comparator. pub const COMP1: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010200); - /// Comparator. + /// Comparator. pub const COMP2: *volatile types.peripherals.comp_v3.COMP = @ptrFromInt(0x40010204); - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC1: *volatile types.peripherals.adc_g0.ADC = @ptrFromInt(0x40012400); - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC1_COMMON: *volatile types.peripherals.adccommon_v3.ADC_COMMON = @ptrFromInt(0x40012708); - /// Advanced Control timers + /// Advanced Control timers pub const TIM1: *volatile types.peripherals.timer_v1.TIM_ADV = @ptrFromInt(0x40012c00); - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI1: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x40013000); - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART1: *volatile types.peripherals.usart_v4.USART = @ptrFromInt(0x40013800); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM16: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014400); - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM17: *volatile types.peripherals.timer_v1.TIM_1CH_CMP = @ptrFromInt(0x40014800); - /// DMA controller + /// DMA controller pub const DMA1: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020000); - /// DMA controller + /// DMA controller pub const DMA2: *volatile types.peripherals.bdma_v1.DMA = @ptrFromInt(0x40020400); - /// DMAMUX + /// DMAMUX pub const DMAMUX1: *volatile types.peripherals.dmamux_v1.DMAMUX = @ptrFromInt(0x40020800); - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC: *volatile types.peripherals.crc_v3.CRC = @ptrFromInt(0x40023000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOA: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000000); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOB: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000400); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOC: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48000800); - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIOH: *volatile types.peripherals.gpio_v2.GPIO = @ptrFromInt(0x48001c00); - /// Reset and clock control + /// Reset and clock control pub const RCC: *volatile types.peripherals.rcc_wle.RCC = @ptrFromInt(0x58000000); - /// Power control + /// Power control pub const PWR: *volatile types.peripherals.pwr_wl5.PWR = @ptrFromInt(0x58000400); - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI: *volatile types.peripherals.exti_wle.EXTI = @ptrFromInt(0x58000800); - /// Random number generator + /// Random number generator pub const RNG: *volatile types.peripherals.rng_v2.RNG = @ptrFromInt(0x58001000); - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM: *volatile types.peripherals.hsem_v4.HSEM = @ptrFromInt(0x58001400); - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES: *volatile types.peripherals.aes_v2.AES = @ptrFromInt(0x58001800); - /// Public key accelerator. + /// Public key accelerator. pub const PKA: *volatile types.peripherals.pka_v1c.PKA = @ptrFromInt(0x58002000); - /// Flash + /// Flash pub const FLASH: *volatile types.peripherals.flash_wl.FLASH = @ptrFromInt(0x58004000); - /// Serial peripheral interface + /// Serial peripheral interface pub const SUBGHZSPI: *volatile types.peripherals.spi_v2.SPI = @ptrFromInt(0x58010000); - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU: *volatile types.peripherals.dbgmcu_wl.DBGMCU = @ptrFromInt(0xe0042000); }; }; @@ -305214,208 +305214,199 @@ pub const types = struct { pub const peripherals = struct { pub const adc_f1 = struct { pub const DUALMOD = enum(u4) { - /// Independent mode. + /// Independent mode. Independent = 0x0, - /// Combined regular simultaneous + injected simultaneous mode + /// Combined regular simultaneous + injected simultaneous mode RegularInjected = 0x1, - /// Combined regular simultaneous + alternate trigger mode + /// Combined regular simultaneous + alternate trigger mode RegularAlternateTrigger = 0x2, - /// Combined injected simultaneous + fast interleaved mode + /// Combined injected simultaneous + fast interleaved mode InjectedFastInterleaved = 0x3, - /// Combined injected simultaneous + slow Interleaved mode + /// Combined injected simultaneous + slow Interleaved mode InjectedSlowInterleaved = 0x4, - /// Injected simultaneous mode only + /// Injected simultaneous mode only Injected = 0x5, - /// Regular simultaneous mode only + /// Regular simultaneous mode only Regular = 0x6, - /// Fast interleaved mode only + /// Fast interleaved mode only FastInterleaved = 0x7, - /// Slow interleaved mode only + /// Slow interleaved mode only SlowInterleaved = 0x8, - /// Alternate trigger mode only + /// Alternate trigger mode only AlternateTrigger = 0x9, _, }; pub const SAMPLE_TIME = enum(u3) { - /// 1.5 cycles + /// 1.5 cycles Cycles1_5 = 0x0, - /// 7.5 cycles + /// 7.5 cycles Cycles7_5 = 0x1, - /// 13.5 cycles + /// 13.5 cycles Cycles13_5 = 0x2, - /// 28.5 cycles + /// 28.5 cycles Cycles28_5 = 0x3, - /// 41.5 cycles + /// 41.5 cycles Cycles41_5 = 0x4, - /// 55.5 cycles + /// 55.5 cycles Cycles55_5 = 0x5, - /// 71.5 cycles + /// 71.5 cycles Cycles71_5 = 0x6, - /// 239.5 cycles + /// 239.5 cycles Cycles239_5 = 0x7, }; - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC = extern struct { - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog flag + /// Analog watchdog flag AWD: u1, - /// Regular channel end of conversion + /// Regular channel end of conversion EOC: u1, - /// Injected channel end of conversion + /// Injected channel end of conversion JEOC: u1, - /// Injected channel start flag + /// Injected channel start flag JSTRT: u1, - /// Regular channel start flag + /// Regular channel start flag STRT: u1, padding: u27, }), - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Analog watchdog channel select bits + /// Analog watchdog channel select bits AWDCH: u5, - /// Interrupt enable for EOC + /// Interrupt enable for EOC EOCIE: u1, - /// Analog watchdog interrupt enable + /// Analog watchdog interrupt enable AWDIE: u1, - /// Interrupt enable for injected channels + /// Interrupt enable for injected channels JEOCIE: u1, - /// Scan mode + /// Scan mode SCAN: u1, - /// Enable the watchdog on a single channel in scan mode + /// Enable the watchdog on a single channel in scan mode AWDSGL: u1, - /// Automatic injected group conversion + /// Automatic injected group conversion JAUTO: u1, - /// Discontinuous mode on regular channels + /// Discontinuous mode on regular channels DISCEN: u1, - /// Discontinuous mode on injected channels + /// Discontinuous mode on injected channels JDISCEN: u1, - /// Discontinuous mode channel count + /// Discontinuous mode channel count DISCNUM: u3, - /// Dual mode selection - DUALMOD: packed union { - raw: u4, - value: DUALMOD, - }, + /// Dual mode selection + DUALMOD: DUALMOD, reserved22: u2, - /// Analog watchdog enable on injected channels + /// Analog watchdog enable on injected channels JAWDEN: u1, - /// Analog watchdog enable on regular channels + /// Analog watchdog enable on regular channels AWDEN: u1, padding: u8, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// A/D Converter ON / OFF + /// A/D Converter ON / OFF ADON: u1, - /// Continuous conversion + /// Continuous conversion CONT: u1, - /// A/D Calibration + /// A/D Calibration CAL: u1, - /// Reset calibration + /// Reset calibration RSTCAL: u1, reserved8: u4, - /// Direct memory access mode (for single ADC mode) + /// Direct memory access mode (for single ADC mode) DMA: u1, reserved11: u2, - /// Data alignment + /// Data alignment ALIGN: u1, - /// External event select for injected group + /// External event select for injected group JEXTSEL: u3, - /// External trigger conversion mode for injected channels + /// External trigger conversion mode for injected channels JEXTTRIG: u1, reserved17: u1, - /// External event select for regular group + /// External event select for regular group EXTSEL: u3, - /// External trigger conversion mode for regular channels + /// External trigger conversion mode for regular channels EXTTRIG: u1, - /// Start conversion of injected channels + /// Start conversion of injected channels JSWSTART: u1, - /// Start conversion of regular channels + /// Start conversion of regular channels SWSTART: u1, - /// Temperature sensor and VREFINT enable + /// Temperature sensor and VREFINT enable TSVREFE: u1, padding: u8, }), - /// sample time register 1 + /// sample time register 1 SMPR1: mmio.Mmio(packed struct(u32) { - /// Channel x sample time selection - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// Channel x sample time selection + SMP: SAMPLE_TIME, padding: u29, }), - /// sample time register 2 + /// sample time register 2 SMPR2: mmio.Mmio(packed struct(u32) { - /// Channel 0 sampling time selection - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// Channel 0 sampling time selection + SMP: SAMPLE_TIME, padding: u29, }), - /// injected channel data offset register x + /// injected channel data offset register x JOFR: [4]mmio.Mmio(packed struct(u32) { - /// Data offset for injected channel x + /// Data offset for injected channel x JOFFSET: u12, padding: u20, }), - /// watchdog higher threshold register + /// watchdog higher threshold register HTR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog higher threshold + /// Analog watchdog higher threshold HT: u12, padding: u20, }), - /// watchdog lower threshold register + /// watchdog lower threshold register LTR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog lower threshold + /// Analog watchdog lower threshold LT: u12, padding: u20, }), - /// regular sequence register 1 + /// regular sequence register 1 SQR1: mmio.Mmio(packed struct(u32) { - /// 13th to 16th conversion in regular sequence + /// 13th to 16th conversion in regular sequence SQ: u5, reserved20: u15, - /// Regular channel sequence length + /// Regular channel sequence length L: u4, padding: u8, }), - /// regular sequence register 2 + /// regular sequence register 2 SQR2: mmio.Mmio(packed struct(u32) { - /// 7th to 12th conversion in regular sequence + /// 7th to 12th conversion in regular sequence SQ: u5, padding: u27, }), - /// regular sequence register 3 + /// regular sequence register 3 SQR3: mmio.Mmio(packed struct(u32) { - /// 1st to 6th conversion in regular sequence + /// 1st to 6th conversion in regular sequence SQ: u5, padding: u27, }), - /// injected sequence register + /// injected sequence register JSQR: mmio.Mmio(packed struct(u32) { - /// 1st conversion in injected sequence + /// 1st conversion in injected sequence JSQ: u5, reserved20: u15, - /// Injected sequence length + /// Injected sequence length JL: u2, padding: u10, }), - /// injected data register x + /// injected data register x JDR: [4]mmio.Mmio(packed struct(u32) { - /// Injected data + /// Injected data JDATA: u16, padding: u16, }), - /// regular data register + /// regular data register DR: mmio.Mmio(packed struct(u32) { - /// Regular data + /// Regular data DATA: u16, - /// ADC2 data + /// ADC2 data ADC2DATA: u16, }), }; @@ -305423,461 +305414,377 @@ pub const types = struct { pub const adc_f3 = struct { pub const ADVREGEN = enum(u2) { - /// Intermediate state required when moving the ADC voltage regulator between states + /// Intermediate state required when moving the ADC voltage regulator between states Intermediate = 0x0, - /// ADC voltage regulator enabled + /// ADC voltage regulator enabled Enabled = 0x1, - /// ADC voltage regulator disabled + /// ADC voltage regulator disabled Disabled = 0x2, _, }; pub const ALIGN = enum(u1) { - /// Right alignment + /// Right alignment Right = 0x0, - /// Left alignment + /// Left alignment Left = 0x1, }; pub const AWD1SGL = enum(u1) { - /// Analog watchdog 1 enabled on all channels + /// Analog watchdog 1 enabled on all channels All = 0x0, - /// Analog watchdog 1 enabled on single channel selected in AWD1CH + /// Analog watchdog 1 enabled on single channel selected in AWD1CH Single = 0x1, }; pub const DIFSEL_10 = enum(u1) { - /// Input channel is configured in single-ended mode + /// Input channel is configured in single-ended mode SingleEnded = 0x0, - /// Input channel is configured in differential mode + /// Input channel is configured in differential mode Differential = 0x1, }; pub const DMACFG = enum(u1) { - /// DMA One Shot mode selected + /// DMA One Shot mode selected OneShot = 0x0, - /// DMA Circular mode selected + /// DMA Circular mode selected Circular = 0x1, }; pub const EXTEN = enum(u2) { - /// Trigger detection disabled + /// Trigger detection disabled Disabled = 0x0, - /// Trigger detection on the rising edge + /// Trigger detection on the rising edge RisingEdge = 0x1, - /// Trigger detection on the falling edge + /// Trigger detection on the falling edge FallingEdge = 0x2, - /// Trigger detection on both the rising and falling edges + /// Trigger detection on both the rising and falling edges BothEdges = 0x3, }; pub const JEXTEN = enum(u2) { - /// Trigger detection disabled + /// Trigger detection disabled Disabled = 0x0, - /// Trigger detection on the rising edge + /// Trigger detection on the rising edge RisingEdge = 0x1, - /// Trigger detection on the falling edge + /// Trigger detection on the falling edge FallingEdge = 0x2, - /// Trigger detection on both the rising and falling edges + /// Trigger detection on both the rising and falling edges BothEdges = 0x3, }; pub const JQM = enum(u1) { - /// JSQR Mode 0: Queue maintains the last written configuration into JSQR + /// JSQR Mode 0: Queue maintains the last written configuration into JSQR Mode0 = 0x0, - /// JSQR Mode 1: An empty queue disables software and hardware triggers of the injected sequence + /// JSQR Mode 1: An empty queue disables software and hardware triggers of the injected sequence Mode1 = 0x1, }; pub const RES = enum(u2) { - /// 12-bit resolution + /// 12-bit resolution Bits12 = 0x0, - /// 10-bit resolution + /// 10-bit resolution Bits10 = 0x1, - /// 8-bit resolution + /// 8-bit resolution Bits8 = 0x2, - /// 6-bit resolution + /// 6-bit resolution Bits6 = 0x3, }; pub const SAMPLE_TIME = enum(u3) { - /// 1.5 ADC clock cycles + /// 1.5 ADC clock cycles Cycles1_5 = 0x0, - /// 2.5 ADC clock cycles + /// 2.5 ADC clock cycles Cycles2_5 = 0x1, - /// 4.5 ADC clock cycles + /// 4.5 ADC clock cycles Cycles4_5 = 0x2, - /// 7.5 ADC clock cycles + /// 7.5 ADC clock cycles Cycles7_5 = 0x3, - /// 19.5 ADC clock cycles + /// 19.5 ADC clock cycles Cycles19_5 = 0x4, - /// 61.5 ADC clock cycles + /// 61.5 ADC clock cycles Cycles61_5 = 0x5, - /// 181.5 ADC clock cycles + /// 181.5 ADC clock cycles Cycles181_5 = 0x6, - /// 601.5 ADC clock cycles + /// 601.5 ADC clock cycles Cycles601_5 = 0x7, }; - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC = extern struct { - /// interrupt and status register + /// interrupt and status register ISR: mmio.Mmio(packed struct(u32) { - /// ADC Ready + /// ADC Ready ADRDY: u1, - /// End of sampling flag + /// End of sampling flag EOSMP: u1, - /// End of conversion flag + /// End of conversion flag EOC: u1, - /// End of regular sequence flag + /// End of regular sequence flag EOS: u1, - /// ADC overrun + /// ADC overrun OVR: u1, - /// Injected channel end of conversion flag + /// Injected channel end of conversion flag JEOC: u1, - /// Injected channel end of sequence flag + /// Injected channel end of sequence flag JEOS: u1, - /// Analog watchdog flag + /// Analog watchdog flag AWD: u1, reserved10: u2, - /// Injected context queue overflow + /// Injected context queue overflow JQOVF: u1, padding: u21, }), - /// interrupt enable register + /// interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// ADC ready interrupt enable + /// ADC ready interrupt enable ADRDYIE: u1, - /// End of sampling flag interrupt enable for regular conversions + /// End of sampling flag interrupt enable for regular conversions EOSMPIE: u1, - /// End of regular conversion interrupt enable + /// End of regular conversion interrupt enable EOCIE: u1, - /// End of regular sequence of conversions interrupt enable + /// End of regular sequence of conversions interrupt enable EOSIE: u1, - /// Overrun interrupt enable + /// Overrun interrupt enable OVRIE: u1, - /// End of injected conversion interrupt enable + /// End of injected conversion interrupt enable JEOCIE: u1, - /// End of injected sequence of conversions interrupt enable + /// End of injected sequence of conversions interrupt enable JEOSIE: u1, - /// Analog watchdog X interrupt enable + /// Analog watchdog X interrupt enable AWDIE: u1, reserved10: u2, - /// Injected context queue overflow interrupt enable + /// Injected context queue overflow interrupt enable JQOVFIE: u1, padding: u21, }), - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// ADC enable control + /// ADC enable control ADEN: u1, - /// ADC disable command + /// ADC disable command ADDIS: u1, - /// ADC start of regular conversion + /// ADC start of regular conversion ADSTART: u1, - /// ADC start of injected conversion + /// ADC start of injected conversion JADSTART: u1, - /// ADC stop of regular conversion command + /// ADC stop of regular conversion command ADSTP: u1, - /// ADC stop of injected conversion command + /// ADC stop of injected conversion command JADSTP: u1, reserved28: u22, - /// ADC voltage regulator enable - ADVREGEN: packed union { - raw: u2, - value: ADVREGEN, - }, - /// Differential mode for calibration + /// ADC voltage regulator enable + ADVREGEN: ADVREGEN, + /// Differential mode for calibration ADCALDIF: u1, - /// ADC calibration + /// ADC calibration ADCAL: u1, }), - /// configuration register + /// configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// Direct memory access enable + /// Direct memory access enable DMAEN: u1, - /// Direct memory access configuration - DMACFG: packed union { - raw: u1, - value: DMACFG, - }, + /// Direct memory access configuration + DMACFG: DMACFG, reserved3: u1, - /// Data resolution - RES: packed union { - raw: u2, - value: RES, - }, - /// Data alignment - ALIGN: packed union { - raw: u1, - value: ALIGN, - }, - /// External trigger selection for regular group + /// Data resolution + RES: RES, + /// Data alignment + ALIGN: ALIGN, + /// External trigger selection for regular group EXTSEL: u4, - /// External trigger enable and polarity selection for regular channels - EXTEN: packed union { - raw: u2, - value: EXTEN, - }, - /// Overrun Mode + /// External trigger enable and polarity selection for regular channels + EXTEN: EXTEN, + /// Overrun Mode OVRMOD: u1, - /// Continuous conversion + /// Continuous conversion CONT: u1, - /// Delayed conversion mode + /// Delayed conversion mode AUTDLY: u1, reserved16: u1, - /// Discontinuous mode for regular channels + /// Discontinuous mode for regular channels DISCEN: u1, - /// Discontinuous mode channel count + /// Discontinuous mode channel count DISCNUM: u3, - /// Discontinuous mode on injected channels + /// Discontinuous mode on injected channels JDISCEN: u1, - /// JSQR queue mode - JQM: packed union { - raw: u1, - value: JQM, - }, - /// Enable the watchdog 1 on a single channel or on all channels - AWD1SGL: packed union { - raw: u1, - value: AWD1SGL, - }, - /// Analog watchdog 1 enable on regular channels + /// JSQR queue mode + JQM: JQM, + /// Enable the watchdog 1 on a single channel or on all channels + AWD1SGL: AWD1SGL, + /// Analog watchdog 1 enable on regular channels AWD1EN: u1, - /// Analog watchdog 1 enable on injected channels + /// Analog watchdog 1 enable on injected channels JAWD1EN: u1, - /// Automatic injected group conversion + /// Automatic injected group conversion JAUTO: u1, - /// Analog watchdog 1 channel selection + /// Analog watchdog 1 channel selection AWD1CH: u5, padding: u1, }), reserved20: [4]u8, - /// sample time register 1 + /// sample time register 1 SMPR1: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Channel x sampling time selection - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// Channel x sampling time selection + SMP: SAMPLE_TIME, padding: u26, }), - /// sample time register 2 + /// sample time register 2 SMPR2: mmio.Mmio(packed struct(u32) { - /// Channel x sampling time selection - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// Channel x sampling time selection + SMP: SAMPLE_TIME, padding: u29, }), reserved32: [4]u8, - /// watchdog threshold register 1 + /// watchdog threshold register 1 TR1: mmio.Mmio(packed struct(u32) { - /// LT1 + /// LT1 LT1: u12, reserved16: u4, - /// HT1 + /// HT1 HT1: u12, padding: u4, }), - /// watchdog threshold register + /// watchdog threshold register TR2: mmio.Mmio(packed struct(u32) { - /// LT2 + /// LT2 LT2: u8, reserved16: u8, - /// HT2 + /// HT2 HT2: u8, padding: u8, }), - /// watchdog threshold register 3 + /// watchdog threshold register 3 TR3: mmio.Mmio(packed struct(u32) { - /// LT3 + /// LT3 LT3: u8, reserved16: u8, - /// HT3 + /// HT3 HT3: u8, padding: u8, }), reserved48: [4]u8, - /// regular sequence register 1 + /// regular sequence register 1 SQR1: mmio.Mmio(packed struct(u32) { - /// Regular channel sequence length + /// Regular channel sequence length L: u4, reserved6: u2, - /// X conversion in regular sequence + /// X conversion in regular sequence SQ: u5, padding: u21, }), - /// regular sequence register 2 + /// regular sequence register 2 SQR2: mmio.Mmio(packed struct(u32) { - /// X conversion in regular sequence + /// X conversion in regular sequence SQ: u5, padding: u27, }), - /// regular sequence register 3 + /// regular sequence register 3 SQR3: mmio.Mmio(packed struct(u32) { - /// X conversion in regular sequence + /// X conversion in regular sequence SQ: u5, padding: u27, }), - /// regular sequence register 4 + /// regular sequence register 4 SQR4: mmio.Mmio(packed struct(u32) { - /// X conversion in regular sequence + /// X conversion in regular sequence SQ: u5, padding: u27, }), - /// regular Data Register + /// regular Data Register DR: mmio.Mmio(packed struct(u32) { - /// Regular data + /// Regular data RDATA: u16, padding: u16, }), reserved76: [8]u8, - /// injected sequence register + /// injected sequence register JSQR: mmio.Mmio(packed struct(u32) { - /// Injected channel sequence length + /// Injected channel sequence length JL: u2, - /// External Trigger Selection for injected group + /// External Trigger Selection for injected group JEXTSEL: u4, - /// External Trigger Enable and Polarity Selection for injected channels - JEXTEN: packed union { - raw: u2, - value: JEXTEN, - }, - /// X conversion in the injected sequence + /// External Trigger Enable and Polarity Selection for injected channels + JEXTEN: JEXTEN, + /// X conversion in the injected sequence JSQ: u5, padding: u19, }), reserved96: [16]u8, - /// offset register X + /// offset register X OFR: [4]mmio.Mmio(packed struct(u32) { - /// Data offset y for the channel programmed into bits OFFSETy_CH + /// Data offset y for the channel programmed into bits OFFSETy_CH OFFSET: u12, reserved26: u14, - /// Data offset y for the channel programmed into bits OFFSETy_CH + /// Data offset y for the channel programmed into bits OFFSETy_CH CH: u5, - /// Offset y Enable + /// Offset y Enable EN: u1, }), reserved128: [16]u8, - /// injected data register X + /// injected data register X JDR: [4]mmio.Mmio(packed struct(u32) { - /// Injected data + /// Injected data JDATA: u16, padding: u16, }), reserved160: [16]u8, - /// Analog Watchdog X Configuration Register + /// Analog Watchdog X Configuration Register AWDCR: [2]mmio.Mmio(packed struct(u32) { reserved1: u1, - /// AWD2CH + /// AWD2CH AWD2CH0: u1, padding: u30, }), reserved176: [8]u8, - /// Differential Mode Selection Register 2 + /// Differential Mode Selection Register 2 DIFSEL: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Differential mode for channels 15 to 1 - DIFSEL_10: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_11: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_12: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_13: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_14: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_15: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_16: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_17: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_18: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_19: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_110: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_111: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_112: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_113: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_114: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_115: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_116: packed union { - raw: u1, - value: DIFSEL_10, - }, - /// Differential mode for channels 15 to 1 - DIFSEL_117: packed union { - raw: u1, - value: DIFSEL_10, - }, + /// Differential mode for channels 15 to 1 + DIFSEL_10: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_11: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_12: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_13: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_14: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_15: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_16: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_17: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_18: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_19: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_110: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_111: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_112: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_113: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_114: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_115: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_116: DIFSEL_10, + /// Differential mode for channels 15 to 1 + DIFSEL_117: DIFSEL_10, padding: u13, }), - /// Calibration Factors + /// Calibration Factors CALFACT: mmio.Mmio(packed struct(u32) { - /// CALFACT_S + /// CALFACT_S CALFACT_S: u7, reserved16: u9, - /// CALFACT_D + /// CALFACT_D CALFACT_D: u7, padding: u9, }), @@ -305886,444 +305793,408 @@ pub const types = struct { pub const adc_f3_v1_1 = struct { pub const ADC_CFG = enum(u1) { - /// Bank A selected for channels ADC_IN0..31 + /// Bank A selected for channels ADC_IN0..31 BANK_A = 0x0, - /// Bank B selected for channels ADC_IN0..31b + /// Bank B selected for channels ADC_IN0..31b BANK_B = 0x1, }; pub const DELS = enum(u3) { - /// No Delay + /// No Delay NO_DELAY = 0x0, - /// Until the converted data have been read + /// Until the converted data have been read AFTER_READ = 0x1, - /// Delay 7 APB clock cycles after the conversion + /// Delay 7 APB clock cycles after the conversion DELAY_7_CLK = 0x2, - /// Delay 16 APB clock cycles after the conversion + /// Delay 16 APB clock cycles after the conversion DELAY_15_CLK = 0x3, - /// Delay 31 APB clock cycles after the conversion + /// Delay 31 APB clock cycles after the conversion DELAY_31_CLK = 0x4, - /// Delay 63 APB clock cycles after the conversion + /// Delay 63 APB clock cycles after the conversion DELAY_63_CLK = 0x5, - /// Delay 127 APB clock cycles after the conversion + /// Delay 127 APB clock cycles after the conversion DELAY_127_CLK = 0x6, - /// Delay 255 APB clock cycles after the conversion + /// Delay 255 APB clock cycles after the conversion DELAY_255_CLK = 0x7, }; pub const DISCNUM = enum(u3) { - /// 1 conversions are discontinued and the conversion is carried out on one channel + /// 1 conversions are discontinued and the conversion is carried out on one channel DISCNUM_1 = 0x0, - /// 2 conversion is discontinued and the conversions are carried out on 2 channels + /// 2 conversion is discontinued and the conversions are carried out on 2 channels DISCNUM_2 = 0x1, - /// 3 conversions are discontinued and the conversions are carried out on 3 channels + /// 3 conversions are discontinued and the conversions are carried out on 3 channels DISCNUM_3 = 0x2, - /// 4 conversions are discontinued and the conversions are carried out on 4 channels + /// 4 conversions are discontinued and the conversions are carried out on 4 channels DISCNUM_4 = 0x3, - /// 5 conversions are discontinued and the conversions are carried out on 5 channels + /// 5 conversions are discontinued and the conversions are carried out on 5 channels DISCNUM_5 = 0x4, - /// 6 conversions are discontinued and the conversions are carried out on 6 channels + /// 6 conversions are discontinued and the conversions are carried out on 6 channels DISCNUM_6 = 0x5, - /// 7 conversions are discontinued and the conversions are carried out on 7 channels + /// 7 conversions are discontinued and the conversions are carried out on 7 channels DISCNUM_7 = 0x6, - /// 8 conversions are discontinued and the conversions are carried out on 8 channels + /// 8 conversions are discontinued and the conversions are carried out on 8 channels DISCNUM_8 = 0x7, }; pub const EXTEN = enum(u2) { - /// Trigger detection disabled + /// Trigger detection disabled DISABLED = 0x0, - /// Trigger detection on the rising edge + /// Trigger detection on the rising edge RISING = 0x1, - /// Trigger detection on the falling edge + /// Trigger detection on the falling edge FALLING = 0x2, - /// Trigger detection on both edges + /// Trigger detection on both edges BOTH = 0x3, }; pub const EXTSEL = enum(u4) { - /// Timer 9 CC2 event + /// Timer 9 CC2 event TIM9_CC2 = 0x0, - /// Timer 9 TRGO event + /// Timer 9 TRGO event TIM9_TRGO = 0x1, - /// Timer 2 CC3 event + /// Timer 2 CC3 event TIM2_CC3 = 0x2, - /// Timer 2 CC2 event + /// Timer 2 CC2 event TIM2_CC2 = 0x3, - /// Timer 3 TRGO event + /// Timer 3 TRGO event TIM3_TRGO = 0x4, - /// Timer 4 CC4 event + /// Timer 4 CC4 event TIM4_CC4 = 0x5, - /// Timer 2 TRGO event + /// Timer 2 TRGO event TIM2_TRGO = 0x6, - /// Timer 3 CC1 event + /// Timer 3 CC1 event TIM3_CC1 = 0x7, - /// Timer 3 CC3 event + /// Timer 3 CC3 event TIM3_CC3 = 0x8, - /// Timer 4 TRGO event + /// Timer 4 TRGO event TIM4_TRGO = 0x9, - /// Timer 6 TRGO event + /// Timer 6 TRGO event TIM6_TRGO = 0xa, - /// External interrupt line 11 + /// External interrupt line 11 EXTI_LINE11 = 0xf, _, }; pub const JEXTSEL = enum(u4) { - /// Timer 9 CC1 event + /// Timer 9 CC1 event TIM9_CC1 = 0x0, - /// Timer 9 TRGO event + /// Timer 9 TRGO event TIM9_TRGO = 0x1, - /// Timer 2 TRGO event + /// Timer 2 TRGO event TIM2_TRGO = 0x2, - /// Timer 2 CC1 event + /// Timer 2 CC1 event TIM2_CC1 = 0x3, - /// Timer 3 CC4 event + /// Timer 3 CC4 event TIM3_CC4 = 0x4, - /// Timer 4 TRGO event + /// Timer 4 TRGO event TIM4_TRGO = 0x5, - /// Timer 4 CC1 event + /// Timer 4 CC1 event TIM4_CC1 = 0x6, - /// Timer 4 CC2 event + /// Timer 4 CC2 event TIM4_CC2 = 0x7, - /// Timer 4 CC3 event + /// Timer 4 CC3 event TIM4_CC3 = 0x8, - /// Timer 4 CC3 event + /// Timer 4 CC3 event TIM10_CC1 = 0x9, - /// Timer 7 TRGO event + /// Timer 7 TRGO event TIM7_TRGO = 0xa, - /// External interrupt line 15 + /// External interrupt line 15 EXTI_LINE15 = 0xf, _, }; pub const RES = enum(u2) { - /// 12-bit resolution + /// 12-bit resolution Bits12 = 0x0, - /// 10-bit resolution + /// 10-bit resolution Bits10 = 0x1, - /// 8-bit resolution + /// 8-bit resolution Bits8 = 0x2, - /// 6-bit resolution + /// 6-bit resolution Bits6 = 0x3, }; pub const SAMPLE_TIME = enum(u3) { - /// 4 ADC clock cycles + /// 4 ADC clock cycles Cycles4 = 0x0, - /// 9 ADC clock cycles + /// 9 ADC clock cycles Cycles9 = 0x1, - /// 16 ADC clock cycles + /// 16 ADC clock cycles Cycles16 = 0x2, - /// 24 ADC clock cycles + /// 24 ADC clock cycles Cycles24 = 0x3, - /// 48 ADC clock cycles + /// 48 ADC clock cycles Cycles48 = 0x4, - /// 96 ADC clock cycles + /// 96 ADC clock cycles Cycles96 = 0x5, - /// 192 ADC clock cycles + /// 192 ADC clock cycles Cycles192 = 0x6, - /// 384 ADC clock cycles + /// 384 ADC clock cycles Cycles384 = 0x7, }; - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC = extern struct { - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog flag + /// Analog watchdog flag AWD: u1, - /// Regular channel end of conversion + /// Regular channel end of conversion EOC: u1, - /// Injected channel end of conversion + /// Injected channel end of conversion JEOC: u1, - /// Injected channel start flag + /// Injected channel start flag JSTRT: u1, - /// Regular channel start flag + /// Regular channel start flag STRT: u1, - /// Overrun + /// Overrun OVR: u1, - /// ADC ON status + /// ADC ON status ADONS: u1, reserved8: u1, - /// Regular channel not ready + /// Regular channel not ready RCNR: u1, - /// Injected channel not ready + /// Injected channel not ready JCNR: u1, padding: u22, }), - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Analog watchdog channel select bits + /// Analog watchdog channel select bits AWDCH: u5, - /// Interrupt enable for EOC + /// Interrupt enable for EOC EOCIE: u1, - /// Analog watchdog interrupt enable + /// Analog watchdog interrupt enable AWDIE: u1, - /// Interrupt enable for injected channels + /// Interrupt enable for injected channels JEOCIE: u1, - /// Scan mode + /// Scan mode SCAN: u1, - /// Enable the watchdog on a single channel in scan mode + /// Enable the watchdog on a single channel in scan mode AWDSGL: u1, - /// Automatic injected group conversion + /// Automatic injected group conversion JAUTO: u1, - /// Discontinuous mode on regular channels + /// Discontinuous mode on regular channels DISCEN: u1, - /// Discontinuous mode on injected channels + /// Discontinuous mode on injected channels JDISCEN: u1, - /// Discontinuous mode channel count - DISCNUM: packed union { - raw: u3, - value: DISCNUM, - }, - /// Power down during the delay phase + /// Discontinuous mode channel count + DISCNUM: DISCNUM, + /// Power down during the delay phase PDD: u1, - /// Power down during the idle phase + /// Power down during the idle phase PDI: u1, reserved22: u4, - /// Analog watchdog enable on injected channels + /// Analog watchdog enable on injected channels JAWDEN: u1, - /// Analog watchdog enable on regular channels + /// Analog watchdog enable on regular channels AWDEN: u1, - /// Resolution - RES: packed union { - raw: u2, - value: RES, - }, - /// Overrun interrupt enable + /// Resolution + RES: RES, + /// Overrun interrupt enable OVRIE: u1, padding: u5, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// A/D Converter ON / OFF + /// A/D Converter ON / OFF ADON: u1, - /// Continuous conversion + /// Continuous conversion CONT: u1, - /// ADC configuration - ADC_CFG: packed union { - raw: u1, - value: ADC_CFG, - }, + /// ADC configuration + ADC_CFG: ADC_CFG, reserved4: u1, - /// Delay selection - DELS: packed union { - raw: u3, - value: DELS, - }, + /// Delay selection + DELS: DELS, reserved8: u1, - /// Direct memory access mode + /// Direct memory access mode DMA: u1, - /// DMA disable selection + /// DMA disable selection DDS: u1, - /// End of conversion selection + /// End of conversion selection EOCS: u1, - /// Data alignment + /// Data alignment ALIGN: u1, reserved16: u4, - /// External event select for injected group - JEXTSEL: packed union { - raw: u4, - value: JEXTSEL, - }, - /// External trigger enable for injected channels - JEXTEN: packed union { - raw: u2, - value: EXTEN, - }, - /// Start conversion of injected channels + /// External event select for injected group + JEXTSEL: JEXTSEL, + /// External trigger enable for injected channels + JEXTEN: EXTEN, + /// Start conversion of injected channels JSWSTART: u1, reserved24: u1, - /// External event select for regular group - EXTSEL: packed union { - raw: u4, - value: EXTSEL, - }, - /// External trigger enable for regular channels - EXTEN: packed union { - raw: u2, - value: EXTEN, - }, - /// Start conversion of regular channels + /// External event select for regular group + EXTSEL: EXTSEL, + /// External trigger enable for regular channels + EXTEN: EXTEN, + /// Start conversion of regular channels SWSTART: u1, padding: u1, }), - /// sample time register 1 + /// sample time register 1 SMPR1: mmio.Mmio(packed struct(u32) { - /// channel 20-29 sampling time selection - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// channel 20-29 sampling time selection + SMP: SAMPLE_TIME, padding: u29, }), - /// sample time register 2 + /// sample time register 2 SMPR2: mmio.Mmio(packed struct(u32) { - /// channel 10-19 sampling time selection - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// channel 10-19 sampling time selection + SMP: SAMPLE_TIME, padding: u29, }), - /// sample time register 3 + /// sample time register 3 SMPR3: mmio.Mmio(packed struct(u32) { - /// channel 0-9 sampling time selection - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// channel 0-9 sampling time selection + SMP: SAMPLE_TIME, padding: u29, }), - /// injected channel data offset register 1 + /// injected channel data offset register 1 JOFR1: mmio.Mmio(packed struct(u32) { - /// Data offset for injected channel x + /// Data offset for injected channel x JOFFSET1: u12, padding: u20, }), - /// injected channel data offset register 2 + /// injected channel data offset register 2 JOFR2: mmio.Mmio(packed struct(u32) { - /// Data offset for injected channel x + /// Data offset for injected channel x JOFFSET2: u12, padding: u20, }), - /// injected channel data offset register 3 + /// injected channel data offset register 3 JOFR3: mmio.Mmio(packed struct(u32) { - /// Data offset for injected channel x + /// Data offset for injected channel x JOFFSET3: u12, padding: u20, }), - /// injected channel data offset register 4 + /// injected channel data offset register 4 JOFR4: mmio.Mmio(packed struct(u32) { - /// Data offset for injected channel x + /// Data offset for injected channel x JOFFSET4: u12, padding: u20, }), - /// watchdog higher threshold register + /// watchdog higher threshold register HTR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog higher threshold + /// Analog watchdog higher threshold HT: u12, padding: u20, }), - /// watchdog lower threshold register + /// watchdog lower threshold register LTR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog lower threshold + /// Analog watchdog lower threshold LT: u12, padding: u20, }), - /// regular sequence register 1 + /// regular sequence register 1 SQR1: mmio.Mmio(packed struct(u32) { - /// 25th-29th conversion in regular sequence + /// 25th-29th conversion in regular sequence SQ: u5, reserved20: u15, - /// Regular channel sequence length + /// Regular channel sequence length L: u4, padding: u8, }), - /// regular sequence register 2 + /// regular sequence register 2 SQR2: mmio.Mmio(packed struct(u32) { - /// 19th-24th conversion in regular sequence + /// 19th-24th conversion in regular sequence SQ: u5, padding: u27, }), - /// regular sequence register 3 + /// regular sequence register 3 SQR3: mmio.Mmio(packed struct(u32) { - /// 13th-18th conversion in regular sequence + /// 13th-18th conversion in regular sequence SQ: u5, padding: u27, }), - /// regular sequence register 4 + /// regular sequence register 4 SQR4: mmio.Mmio(packed struct(u32) { - /// 7th-12th conversion in regular sequence + /// 7th-12th conversion in regular sequence SQ: u5, padding: u27, }), - /// regular sequence register 5 + /// regular sequence register 5 SQR5: mmio.Mmio(packed struct(u32) { - /// 1st-6th conversion in regular sequence + /// 1st-6th conversion in regular sequence SQ: u5, padding: u27, }), - /// injected sequence register + /// injected sequence register JSQR: mmio.Mmio(packed struct(u32) { - /// 1st conversion in injected sequence + /// 1st conversion in injected sequence JSQ1: u5, - /// 2nd conversion in injected sequence + /// 2nd conversion in injected sequence JSQ2: u5, - /// 3rd conversion in injected sequence + /// 3rd conversion in injected sequence JSQ3: u5, - /// 4th conversion in injected sequence + /// 4th conversion in injected sequence JSQ4: u5, - /// Injected sequence length + /// Injected sequence length JL: u2, padding: u10, }), - /// injected data register x1 + /// injected data register x1 JDR1: mmio.Mmio(packed struct(u32) { - /// Injected data + /// Injected data JDATA: u16, padding: u16, }), - /// injected data register 2 + /// injected data register 2 JDR2: mmio.Mmio(packed struct(u32) { - /// Injected data + /// Injected data JDATA: u16, padding: u16, }), - /// injected data register 3 + /// injected data register 3 JDR3: mmio.Mmio(packed struct(u32) { - /// Injected data + /// Injected data JDATA: u16, padding: u16, }), - /// injected data register 4 + /// injected data register 4 JDR4: mmio.Mmio(packed struct(u32) { - /// Injected data + /// Injected data JDATA: u16, padding: u16, }), - /// regular data register + /// regular data register DR: mmio.Mmio(packed struct(u32) { - /// Regular data + /// Regular data rdata: u16, padding: u16, }), - /// sample time register 0 + /// sample time register 0 SMPR0: mmio.Mmio(packed struct(u32) { - /// channel 30-31 sampling time selection - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// channel 30-31 sampling time selection + SMP: SAMPLE_TIME, padding: u29, }), reserved768: [672]u8, - /// ADC common status register + /// ADC common status register CSR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog flag of the ADC + /// Analog watchdog flag of the ADC AWD1: u1, - /// End of conversion of the ADC + /// End of conversion of the ADC EOC1: u1, - /// Injected channel end of conversion of the ADC + /// Injected channel end of conversion of the ADC JEOC1: u1, - /// Injected channel Start flag of the ADC + /// Injected channel Start flag of the ADC JSTRT1: u1, - /// Regular channel Start flag of the ADC + /// Regular channel Start flag of the ADC STRT1: u1, - /// Overrun flag of the ADC + /// Overrun flag of the ADC OVR1: u1, - /// ADON Status of ADC1 + /// ADON Status of ADC1 ADONS1: u1, padding: u25, }), - /// ADC common control register + /// ADC common control register CCR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// ADC prescaler + /// ADC prescaler ADCPRE: u2, reserved23: u5, - /// Temperature sensor and VREFINT enable + /// Temperature sensor and VREFINT enable TSVREFE: u1, padding: u8, }), @@ -306332,352 +306203,292 @@ pub const types = struct { pub const adc_f3_v2 = struct { pub const DISCNUM = enum(u3) { - /// 1 conversions are discontinued and the conversion is carried out on one channel + /// 1 conversions are discontinued and the conversion is carried out on one channel DISCNUM_1 = 0x0, - /// 2 conversion is discontinued and the conversions are carried out on 2 channels + /// 2 conversion is discontinued and the conversions are carried out on 2 channels DISCNUM_2 = 0x1, - /// 3 conversions are discontinued and the conversions are carried out on 3 channels + /// 3 conversions are discontinued and the conversions are carried out on 3 channels DISCNUM_3 = 0x2, - /// 4 conversions are discontinued and the conversions are carried out on 4 channels + /// 4 conversions are discontinued and the conversions are carried out on 4 channels DISCNUM_4 = 0x3, - /// 5 conversions are discontinued and the conversions are carried out on 5 channels + /// 5 conversions are discontinued and the conversions are carried out on 5 channels DISCNUM_5 = 0x4, - /// 6 conversions are discontinued and the conversions are carried out on 6 channels + /// 6 conversions are discontinued and the conversions are carried out on 6 channels DISCNUM_6 = 0x5, - /// 7 conversions are discontinued and the conversions are carried out on 7 channels + /// 7 conversions are discontinued and the conversions are carried out on 7 channels DISCNUM_7 = 0x6, - /// 8 conversions are discontinued and the conversions are carried out on 8 channels + /// 8 conversions are discontinued and the conversions are carried out on 8 channels DISCNUM_8 = 0x7, }; pub const SAMPLE_TIME = enum(u3) { - /// 1.5 ADC clock cycles + /// 1.5 ADC clock cycles Cycles1_5 = 0x0, - /// 7.5 ADC clock cycles + /// 7.5 ADC clock cycles Cycles7_5 = 0x1, - /// 13.5 ADC clock cycles + /// 13.5 ADC clock cycles Cycles13_5 = 0x2, - /// 28.5 ADC clock cycles + /// 28.5 ADC clock cycles Cycles28_5 = 0x3, - /// 41.5 ADC clock cycles + /// 41.5 ADC clock cycles Cycles41_5 = 0x4, - /// 55.5 ADC clock cycles + /// 55.5 ADC clock cycles Cycles55_5 = 0x5, - /// 71.5 ADC clock cycles + /// 71.5 ADC clock cycles Cycles71_5 = 0x6, - /// 239.5 ADC clock cycles + /// 239.5 ADC clock cycles Cycles239_5 = 0x7, }; - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC = extern struct { - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// analog watchdog flag + /// analog watchdog flag AWD: u1, - /// end of conversion + /// end of conversion EOC: u1, - /// injected channel end of conversion + /// injected channel end of conversion JEOC: u1, - /// injected channel start flag + /// injected channel start flag JSTRT: u1, - /// regular channel start flag + /// regular channel start flag STRT: u1, - /// overrun + /// overrun OVR: u1, padding: u26, }), - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// analog watchdog channel select bits + /// analog watchdog channel select bits AWDCH: u5, - /// interrupt enable for EOC + /// interrupt enable for EOC EOCIE: u1, - /// analog watchdog interrupt enable + /// analog watchdog interrupt enable AWDIE: u1, - /// interrupt enable for injected channels + /// interrupt enable for injected channels JEOCIE: u1, - /// scan mode + /// scan mode SCAN: u1, - /// enable the watchdog on a single channel in scan mode + /// enable the watchdog on a single channel in scan mode AWDSGL: u1, - /// automatic injected group conversion + /// automatic injected group conversion JAUTO: u1, - /// discontinuous mode on regular channels + /// discontinuous mode on regular channels DISCEN: u1, - /// discontinuous mode on injected channels + /// discontinuous mode on injected channels JDISCEN: u1, - /// discontinuous mode channel count - DISCNUM: packed union { - raw: u3, - value: DISCNUM, - }, + /// discontinuous mode channel count + DISCNUM: DISCNUM, reserved22: u6, - /// analog watchdog enable on injected channels + /// analog watchdog enable on injected channels JAWDEN: u1, - /// analog watchdog enable on regular channels + /// analog watchdog enable on regular channels AWDEN: u1, padding: u8, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// A/D converter ON / OFF + /// A/D converter ON / OFF ADON: u1, - /// Continuous conversion + /// Continuous conversion CONT: u1, - /// A/D calibration + /// A/D calibration CAL: u1, - /// reset calibration + /// reset calibration RSTCAL: u1, reserved8: u4, - /// DMA disable selection (for single ADC mode) + /// DMA disable selection (for single ADC mode) DMA: u1, reserved11: u2, - /// data alignment + /// data alignment ALIGN: u1, - /// external event select for injected group + /// external event select for injected group JEXTSEL: u3, - /// external trigger conversion mode for injected channels + /// external trigger conversion mode for injected channels JEXTTRIG: u1, reserved17: u1, - /// external event select for regular group + /// external event select for regular group EXTSEL: u3, - /// external trigger conversion mode for regular channels + /// external trigger conversion mode for regular channels EXTTRIG: u1, - /// start conversion of injected channels + /// start conversion of injected channels JSWSTART: u1, - /// start conversion of regular channels + /// start conversion of regular channels SWSTART: u1, - /// temperature sensor and VREFINT enable + /// temperature sensor and VREFINT enable TSVREFE: u1, padding: u8, }), - /// sample time register 1 + /// sample time register 1 SMPR1: mmio.Mmio(packed struct(u32) { - /// channel 10 sampling time selection - SMP10: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 11 sampling time selection - SMP11: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 12 sampling time selection - SMP12: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 13 sampling time selection - SMP13: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 14 sampling time selection - SMP14: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 15 sampling time selection - SMP15: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 16 sampling time selection - SMP16: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 17 sampling time selection - SMP17: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 18 sampling time selection - SMP18: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// channel 10 sampling time selection + SMP10: SAMPLE_TIME, + /// channel 11 sampling time selection + SMP11: SAMPLE_TIME, + /// channel 12 sampling time selection + SMP12: SAMPLE_TIME, + /// channel 13 sampling time selection + SMP13: SAMPLE_TIME, + /// channel 14 sampling time selection + SMP14: SAMPLE_TIME, + /// channel 15 sampling time selection + SMP15: SAMPLE_TIME, + /// channel 16 sampling time selection + SMP16: SAMPLE_TIME, + /// channel 17 sampling time selection + SMP17: SAMPLE_TIME, + /// channel 18 sampling time selection + SMP18: SAMPLE_TIME, padding: u5, }), - /// sample time register 2 + /// sample time register 2 SMPR2: mmio.Mmio(packed struct(u32) { - /// channel 0 sampling time selection - SMP0: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 1 sampling time selection - SMP1: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 2 sampling time selection - SMP2: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 3 sampling time selection - SMP3: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 4 sampling time selection - SMP4: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 5 sampling time selection - SMP5: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 6 sampling time selection - SMP6: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 7 sampling time selection - SMP7: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 8 sampling time selection - SMP8: packed union { - raw: u3, - value: SAMPLE_TIME, - }, - /// channel 9 sampling time selection - SMP9: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// channel 0 sampling time selection + SMP0: SAMPLE_TIME, + /// channel 1 sampling time selection + SMP1: SAMPLE_TIME, + /// channel 2 sampling time selection + SMP2: SAMPLE_TIME, + /// channel 3 sampling time selection + SMP3: SAMPLE_TIME, + /// channel 4 sampling time selection + SMP4: SAMPLE_TIME, + /// channel 5 sampling time selection + SMP5: SAMPLE_TIME, + /// channel 6 sampling time selection + SMP6: SAMPLE_TIME, + /// channel 7 sampling time selection + SMP7: SAMPLE_TIME, + /// channel 8 sampling time selection + SMP8: SAMPLE_TIME, + /// channel 9 sampling time selection + SMP9: SAMPLE_TIME, padding: u2, }), - /// injected channel data offset register 1 + /// injected channel data offset register 1 JOFR1: mmio.Mmio(packed struct(u32) { - /// data offset for injected channel 1 + /// data offset for injected channel 1 JOFFSET1: u12, padding: u20, }), - /// injected channel data offset register 2 + /// injected channel data offset register 2 JOFR2: mmio.Mmio(packed struct(u32) { - /// data offset for injected channel 2 + /// data offset for injected channel 2 JOFFSET2: u12, padding: u20, }), - /// injected channel data offset register 3 + /// injected channel data offset register 3 JOFR3: mmio.Mmio(packed struct(u32) { - /// data offset for injected channel 3 + /// data offset for injected channel 3 JOFFSET3: u12, padding: u20, }), - /// injected channel data offset register 4 + /// injected channel data offset register 4 JOFR4: mmio.Mmio(packed struct(u32) { - /// data offset for injected channel 4 + /// data offset for injected channel 4 JOFFSET4: u12, padding: u20, }), - /// watchdog higher threshold register + /// watchdog higher threshold register HTR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog high threshold + /// Analog watchdog high threshold HT: u12, padding: u20, }), - /// watchdog lower threshold register + /// watchdog lower threshold register LTR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog low threshold + /// Analog watchdog low threshold LT: u12, padding: u20, }), - /// regular sequence register 1 + /// regular sequence register 1 SQR1: mmio.Mmio(packed struct(u32) { - /// 13th conversion in regular sequence + /// 13th conversion in regular sequence SQ13: u5, - /// 14th conversion in regular sequence + /// 14th conversion in regular sequence SQ14: u5, - /// 15th conversion in regular sequence + /// 15th conversion in regular sequence SQ15: u5, - /// 16th conversion in regular sequence + /// 16th conversion in regular sequence SQ16: u5, - /// regular channel sequence length + /// regular channel sequence length L: u4, padding: u8, }), - /// regular sequence register 2 + /// regular sequence register 2 SQR2: mmio.Mmio(packed struct(u32) { - /// 7th conversion in regular sequence + /// 7th conversion in regular sequence SQ7: u5, - /// 8th conversion in regular sequence + /// 8th conversion in regular sequence SQ8: u5, - /// 9th conversion in regular sequence + /// 9th conversion in regular sequence SQ9: u5, - /// 10th conversion in regular sequence + /// 10th conversion in regular sequence SQ10: u5, - /// 11th conversion in regular sequence + /// 11th conversion in regular sequence SQ11: u5, - /// 12th conversion in regular sequence + /// 12th conversion in regular sequence SQ12: u5, padding: u2, }), - /// regular sequence register 3 + /// regular sequence register 3 SQR3: mmio.Mmio(packed struct(u32) { - /// 1st conversion in regular sequence + /// 1st conversion in regular sequence SQ1: u5, - /// 2nd conversion in regular sequence + /// 2nd conversion in regular sequence SQ2: u5, - /// 3rd conversion in regular sequence + /// 3rd conversion in regular sequence SQ3: u5, - /// 4th conversion in regular sequence + /// 4th conversion in regular sequence SQ4: u5, - /// 5th conversion in regular sequence + /// 5th conversion in regular sequence SQ5: u5, - /// 6th conversion in regular sequence + /// 6th conversion in regular sequence SQ6: u5, padding: u2, }), - /// injected sequence register + /// injected sequence register JSQR: mmio.Mmio(packed struct(u32) { - /// 1st conversion in injected sequence + /// 1st conversion in injected sequence JSQ1: u5, - /// 2nd conversion in injected sequence + /// 2nd conversion in injected sequence JSQ2: u5, - /// 3rd conversion in injected sequence + /// 3rd conversion in injected sequence JSQ3: u5, - /// 4th conversion in injected sequence + /// 4th conversion in injected sequence JSQ4: u5, - /// injected sequence length + /// injected sequence length JL: u2, padding: u10, }), - /// injected data register 1 + /// injected data register 1 JDR1: mmio.Mmio(packed struct(u32) { - /// Injected data + /// Injected data JDATA1: u16, padding: u16, }), - /// injected data register 2 + /// injected data register 2 JDR2: mmio.Mmio(packed struct(u32) { - /// Injected data + /// Injected data JDATA2: u16, padding: u16, }), - /// injected data register 3 + /// injected data register 3 JDR3: mmio.Mmio(packed struct(u32) { - /// Injected data + /// Injected data JDATA3: u16, padding: u16, }), - /// injected data register 4 + /// injected data register 4 JDR4: mmio.Mmio(packed struct(u32) { - /// Injected data + /// Injected data JDATA4: u16, padding: u16, }), - /// regular data register + /// regular data register DR: mmio.Mmio(packed struct(u32) { - /// Regular data + /// Regular data DATA: u16, padding: u16, }), @@ -306686,388 +306497,376 @@ pub const types = struct { pub const adc_g0 = struct { pub const DMACFG = enum(u1) { - /// DMA One Shot mode selected + /// DMA One Shot mode selected OneShot = 0x0, - /// DMA Circular mode selected + /// DMA Circular mode selected Circular = 0x1, }; pub const RES = enum(u2) { - /// 12-bit resolution + /// 12-bit resolution Bits12 = 0x0, - /// 10-bit resolution + /// 10-bit resolution Bits10 = 0x1, - /// 8-bit resolution + /// 8-bit resolution Bits8 = 0x2, - /// 6-bit resolution + /// 6-bit resolution Bits6 = 0x3, }; pub const SAMPLE_TIME = enum(u3) { - /// 1.5 ADC cycles + /// 1.5 ADC cycles Cycles1_5 = 0x0, - /// 3.5 ADC cycles + /// 3.5 ADC cycles Cycles3_5 = 0x1, - /// 7.5 ADC cycles + /// 7.5 ADC cycles Cycles7_5 = 0x2, - /// 12.5 ADC cycles + /// 12.5 ADC cycles Cycles12_5 = 0x3, - /// 19.5 ADC cycles + /// 19.5 ADC cycles Cycles19_5 = 0x4, - /// 39.5 ADC cycles + /// 39.5 ADC cycles Cycles39_5 = 0x5, - /// 79.5 ADC cycles + /// 79.5 ADC cycles Cycles79_5 = 0x6, - /// 160.5 ADC cycles + /// 160.5 ADC cycles Cycles160_5 = 0x7, }; - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC = extern struct { - /// ADC interrupt and status register + /// ADC interrupt and status register ISR: mmio.Mmio(packed struct(u32) { - /// ADC ready flag + /// ADC ready flag ADRDY: u1, - /// ADC group regular end of sampling flag + /// ADC group regular end of sampling flag EOSMP: u1, - /// ADC group regular end of unitary conversion flag + /// ADC group regular end of unitary conversion flag EOC: u1, - /// ADC group regular end of sequence conversions flag + /// ADC group regular end of sequence conversions flag EOS: u1, - /// ADC group regular overrun flag + /// ADC group regular overrun flag OVR: u1, reserved7: u2, - /// ADC analog watchdog 1 flag + /// ADC analog watchdog 1 flag AWD1: u1, - /// ADC analog watchdog 2 flag + /// ADC analog watchdog 2 flag AWD2: u1, - /// ADC analog watchdog 3 flag + /// ADC analog watchdog 3 flag AWD3: u1, reserved11: u1, - /// End Of Calibration flag + /// End Of Calibration flag EOCAL: u1, reserved13: u1, - /// Channel Configuration Ready flag + /// Channel Configuration Ready flag CCRDY: u1, padding: u18, }), - /// ADC interrupt enable register + /// ADC interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// ADC ready interrupt + /// ADC ready interrupt ADRDYIE: u1, - /// ADC group regular end of sampling interrupt + /// ADC group regular end of sampling interrupt EOSMPIE: u1, - /// ADC group regular end of unitary conversion interrupt + /// ADC group regular end of unitary conversion interrupt EOCIE: u1, - /// ADC group regular end of sequence conversions interrupt + /// ADC group regular end of sequence conversions interrupt EOSIE: u1, - /// ADC group regular overrun interrupt + /// ADC group regular overrun interrupt OVRIE: u1, reserved7: u2, - /// ADC analog watchdog 1 interrupt + /// ADC analog watchdog 1 interrupt AWD1IE: u1, - /// ADC analog watchdog 2 interrupt + /// ADC analog watchdog 2 interrupt AWD2IE: u1, - /// ADC analog watchdog 3 interrupt + /// ADC analog watchdog 3 interrupt AWD3IE: u1, reserved11: u1, - /// End of calibration interrupt enable + /// End of calibration interrupt enable EOCALIE: u1, reserved13: u1, - /// Channel Configuration Ready Interrupt enable + /// Channel Configuration Ready Interrupt enable CCRDYIE: u1, padding: u18, }), - /// ADC control register + /// ADC control register CR: mmio.Mmio(packed struct(u32) { - /// ADC enable + /// ADC enable ADEN: u1, - /// ADC disable + /// ADC disable ADDIS: u1, - /// ADC group regular conversion start + /// ADC group regular conversion start ADSTART: u1, reserved4: u1, - /// ADC group regular conversion stop + /// ADC group regular conversion stop ADSTP: u1, reserved28: u23, - /// ADC voltage regulator enable + /// ADC voltage regulator enable ADVREGEN: u1, reserved31: u2, - /// ADC calibration + /// ADC calibration ADCAL: u1, }), - /// ADC configuration register 1 + /// ADC configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { - /// ADC DMA transfer enable + /// ADC DMA transfer enable DMAEN: u1, - /// Direct memory access configuration - DMACFG: packed union { - raw: u1, - value: DMACFG, - }, - /// Scan sequence direction + /// Direct memory access configuration + DMACFG: DMACFG, + /// Scan sequence direction SCANDIR: u1, - /// ADC data resolution - RES: packed union { - raw: u2, - value: RES, - }, - /// ADC data alignement + /// ADC data resolution + RES: RES, + /// ADC data alignement ALIGN: u1, - /// ADC group regular external trigger source + /// ADC group regular external trigger source EXTSEL: u3, reserved10: u1, - /// ADC group regular external trigger polarity + /// ADC group regular external trigger polarity EXTEN: u2, - /// ADC group regular overrun configuration + /// ADC group regular overrun configuration OVRMOD: u1, - /// Continuous conversion + /// Continuous conversion CONT: u1, - /// Wait conversion mode + /// Wait conversion mode WAIT: u1, - /// Auto-off mode + /// Auto-off mode AUTOFF: u1, - /// ADC group regular sequencer discontinuous mode + /// ADC group regular sequencer discontinuous mode DISCEN: u1, reserved21: u4, - /// Mode selection of the ADC_CHSELR register + /// Mode selection of the ADC_CHSELR register CHSELRMOD: u1, - /// ADC analog watchdog 1 monitoring a single channel or all channels + /// ADC analog watchdog 1 monitoring a single channel or all channels AWD1SGL: u1, - /// ADC analog watchdog 1 enable on scope ADC group regular + /// ADC analog watchdog 1 enable on scope ADC group regular AWD1EN: u1, reserved26: u2, - /// ADC analog watchdog 1 monitored channel selection + /// ADC analog watchdog 1 monitored channel selection AWDCH1CH: u5, padding: u1, }), - /// ADC configuration register 2 + /// ADC configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// ADC oversampler enable on scope ADC group regular + /// ADC oversampler enable on scope ADC group regular OVSE: u1, reserved2: u1, - /// ADC oversampling ratio + /// ADC oversampling ratio OVSR: u3, - /// ADC oversampling shift + /// ADC oversampling shift OVSS: u4, - /// ADC oversampling discontinuous mode (triggered mode) for ADC group regular + /// ADC oversampling discontinuous mode (triggered mode) for ADC group regular TOVS: u1, reserved29: u19, - /// Low frequency trigger mode enable + /// Low frequency trigger mode enable LFTRIG: u1, - /// ADC clock mode + /// ADC clock mode CKMODE: u2, }), - /// ADC sampling time register + /// ADC sampling time register SMPR: mmio.Mmio(packed struct(u32) { - /// Sampling time selection - SMP1: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// Sampling time selection + SMP1: SAMPLE_TIME, reserved4: u1, - /// Sampling time selection - SMP2: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// Sampling time selection + SMP2: SAMPLE_TIME, reserved8: u1, - /// Channel sampling time selection + /// Channel sampling time selection SMPSEL: u1, padding: u23, }), reserved32: [8]u8, - /// watchdog threshold register + /// watchdog threshold register AWD1TR: mmio.Mmio(packed struct(u32) { - /// ADC analog watchdog 1 threshold low + /// ADC analog watchdog 1 threshold low LT1: u12, reserved16: u4, - /// ADC analog watchdog 1 threshold high + /// ADC analog watchdog 1 threshold high HT1: u12, padding: u4, }), - /// watchdog threshold register + /// watchdog threshold register AWD2TR: mmio.Mmio(packed struct(u32) { - /// ADC analog watchdog 2 threshold low + /// ADC analog watchdog 2 threshold low LT2: u12, reserved16: u4, - /// ADC analog watchdog 2 threshold high + /// ADC analog watchdog 2 threshold high HT2: u12, padding: u4, }), - /// channel selection register + /// channel selection register CHSELR: mmio.Mmio(packed struct(u32) { - /// Channel-x selection + /// Channel-x selection CHSEL: u19, padding: u13, }), - /// watchdog threshold register + /// watchdog threshold register AWD3TR: mmio.Mmio(packed struct(u32) { - /// ADC analog watchdog 3 threshold high + /// ADC analog watchdog 3 threshold high LT3: u12, reserved16: u4, - /// ADC analog watchdog 3 threshold high + /// ADC analog watchdog 3 threshold high HT3: u12, padding: u4, }), reserved64: [16]u8, - /// ADC group regular conversion data register + /// ADC group regular conversion data register DR: mmio.Mmio(packed struct(u32) { - /// ADC group regular conversion data + /// ADC group regular conversion data regularDATA: u16, padding: u16, }), reserved160: [92]u8, - /// ADC analog watchdog 2 configuration register + /// ADC analog watchdog 2 configuration register AWD2CR: mmio.Mmio(packed struct(u32) { - /// ADC analog watchdog 2 monitored channel selection + /// ADC analog watchdog 2 monitored channel selection AWD2CH: u19, padding: u13, }), - /// ADC analog watchdog 3 configuration register + /// ADC analog watchdog 3 configuration register AWD3CR: mmio.Mmio(packed struct(u32) { - /// ADC analog watchdog 3 monitored channel selection + /// ADC analog watchdog 3 monitored channel selection AWD3CH: u19, padding: u13, }), reserved180: [12]u8, - /// ADC calibration factors register + /// ADC calibration factors register CALFACT: mmio.Mmio(packed struct(u32) { - /// ADC calibration factor in single-ended mode + /// ADC calibration factor in single-ended mode CALFACT: u7, padding: u25, }), reserved776: [592]u8, - /// ADC common control register + /// ADC common control register CCR: mmio.Mmio(packed struct(u32) { reserved18: u18, - /// ADC prescaler + /// ADC prescaler PRESC: u4, - /// VREFINT enable + /// VREFINT enable VREFEN: u1, - /// Temperature sensor enable + /// Temperature sensor enable TSEN: u1, - /// VBAT enable + /// VBAT enable VBATEN: u1, padding: u7, }), reserved984: [204]u8, - /// Hardware Configuration Register + /// Hardware Configuration Register HWCFGR6: mmio.Mmio(packed struct(u32) { - /// Input channel mapping + /// Input channel mapping CHMAP20: u5, reserved8: u3, - /// Input channel mapping + /// Input channel mapping CHMAP21: u5, reserved16: u3, - /// Input channel mapping + /// Input channel mapping CHMAP22: u5, reserved24: u3, - /// Input channel mapping + /// Input channel mapping CHMAP23: u5, padding: u3, }), - /// Hardware Configuration Register + /// Hardware Configuration Register HWCFGR5: mmio.Mmio(packed struct(u32) { - /// Input channel mapping + /// Input channel mapping CHMAP19: u5, reserved8: u3, - /// Input channel mapping + /// Input channel mapping CHMAP18: u5, reserved16: u3, - /// Input channel mapping + /// Input channel mapping CHMAP17: u5, reserved24: u3, - /// Input channel mapping + /// Input channel mapping CHMAP16: u5, padding: u3, }), - /// Hardware Configuration Register + /// Hardware Configuration Register HWCFGR4: mmio.Mmio(packed struct(u32) { - /// Input channel mapping + /// Input channel mapping CHMAP15: u5, reserved8: u3, - /// Input channel mapping + /// Input channel mapping CHMAP14: u5, reserved16: u3, - /// Input channel mapping + /// Input channel mapping CHMAP13: u5, reserved24: u3, - /// Input channel mapping + /// Input channel mapping CHMAP12: u5, padding: u3, }), - /// Hardware Configuration Register + /// Hardware Configuration Register HWCFGR3: mmio.Mmio(packed struct(u32) { - /// Input channel mapping + /// Input channel mapping CHMAP11: u5, reserved8: u3, - /// Input channel mapping + /// Input channel mapping CHMAP10: u5, reserved16: u3, - /// Input channel mapping + /// Input channel mapping CHMAP9: u5, reserved24: u3, - /// Input channel mapping + /// Input channel mapping CHMAP8: u5, padding: u3, }), - /// Hardware Configuration Register + /// Hardware Configuration Register HWCFGR2: mmio.Mmio(packed struct(u32) { - /// Input channel mapping + /// Input channel mapping CHMAP7: u5, reserved8: u3, - /// Input channel mapping + /// Input channel mapping CHMAP6: u5, reserved16: u3, - /// Input channel mapping + /// Input channel mapping CHMAP5: u5, reserved24: u3, - /// Input channel mapping + /// Input channel mapping CHMAP4: u5, padding: u3, }), - /// Hardware Configuration Register + /// Hardware Configuration Register HWCFGR1: mmio.Mmio(packed struct(u32) { - /// Input channel mapping + /// Input channel mapping CHMAP3: u5, reserved8: u3, - /// Input channel mapping + /// Input channel mapping CHMAP2: u5, reserved16: u3, - /// Input channel mapping + /// Input channel mapping CHMAP1: u5, reserved24: u3, - /// Input channel mapping + /// Input channel mapping CHMAP0: u5, padding: u3, }), - /// Hardware Configuration Register + /// Hardware Configuration Register HWCFGR0: mmio.Mmio(packed struct(u32) { - /// NUM_CHAN_24 + /// NUM_CHAN_24 NUM_CHAN_24: u4, - /// Extra analog watchdog + /// Extra analog watchdog EXTRA_AWDS: u4, - /// Oversampling + /// Oversampling OVS: u4, padding: u20, }), - /// EXTI IP Version register + /// EXTI IP Version register VERR: mmio.Mmio(packed struct(u32) { - /// Minor Revision number + /// Minor Revision number MINREV: u4, - /// Major Revision number + /// Major Revision number MAJREV: u4, padding: u24, }), - /// EXTI Identification register + /// EXTI Identification register IPIDR: mmio.Mmio(packed struct(u32) { - /// IP Identification + /// IP Identification IPID: u32, }), - /// EXTI Size ID register + /// EXTI Size ID register SIDR: mmio.Mmio(packed struct(u32) { - /// Size Identification + /// Size Identification SID: u32, }), }; @@ -307075,461 +306874,416 @@ pub const types = struct { pub const adc_g4 = struct { pub const ADCALDIF = enum(u1) { - /// Calibration for single-ended mode + /// Calibration for single-ended mode SingleEnded = 0x0, - /// Calibration for differential mode + /// Calibration for differential mode Differential = 0x1, }; pub const ADSTP = enum(u1) { - /// Stop conversion of channel + /// Stop conversion of channel Stop = 0x1, _, }; pub const AWD1SGL = enum(u1) { - /// Analog watchdog 1 enabled on all channels + /// Analog watchdog 1 enabled on all channels All = 0x0, - /// Analog watchdog 1 enabled on single channel selected in AWD1CH + /// Analog watchdog 1 enabled on single channel selected in AWD1CH Single = 0x1, }; pub const DIFSEL = enum(u1) { - /// Input channel is configured in single-ended mode + /// Input channel is configured in single-ended mode SingleEnded = 0x0, - /// Input channel is configured in differential mode + /// Input channel is configured in differential mode Differential = 0x1, }; pub const DMACFG = enum(u1) { - /// DMA One Shot mode selected + /// DMA One Shot mode selected OneShot = 0x0, - /// DMA Circular mode selected + /// DMA Circular mode selected Circular = 0x1, }; pub const DMAEN = enum(u1) { - /// DMA disable + /// DMA disable Disable = 0x0, - /// DMA enable + /// DMA enable Enable = 0x1, }; pub const EXTEN = enum(u2) { - /// Trigger detection disabled + /// Trigger detection disabled Disabled = 0x0, - /// Trigger detection on the rising edge + /// Trigger detection on the rising edge RisingEdge = 0x1, - /// Trigger detection on the falling edge + /// Trigger detection on the falling edge FallingEdge = 0x2, - /// Trigger detection on both the rising and falling edges + /// Trigger detection on both the rising and falling edges BothEdges = 0x3, }; pub const JEXTEN = enum(u2) { - /// Trigger detection disabled + /// Trigger detection disabled Disabled = 0x0, - /// Trigger detection on the rising edge + /// Trigger detection on the rising edge RisingEdge = 0x1, - /// Trigger detection on the falling edge + /// Trigger detection on the falling edge FallingEdge = 0x2, - /// Trigger detection on both the rising and falling edges + /// Trigger detection on both the rising and falling edges BothEdges = 0x3, }; pub const JQM = enum(u1) { - /// JSQR Mode 0: Queue maintains the last written configuration into JSQR + /// JSQR Mode 0: Queue maintains the last written configuration into JSQR Mode0 = 0x0, - /// JSQR Mode 1: An empty queue disables software and hardware triggers of the injected sequence + /// JSQR Mode 1: An empty queue disables software and hardware triggers of the injected sequence Mode1 = 0x1, }; pub const OVRMOD = enum(u1) { - /// Preserve DR register when an overrun is detected + /// Preserve DR register when an overrun is detected Preserve = 0x0, - /// Overwrite DR register when an overrun is detected + /// Overwrite DR register when an overrun is detected Overwrite = 0x1, }; pub const RES = enum(u2) { - /// 12-bit resolution + /// 12-bit resolution Bits12 = 0x0, - /// 10-bit resolution + /// 10-bit resolution Bits10 = 0x1, - /// 8-bit resolution + /// 8-bit resolution Bits8 = 0x2, - /// 6-bit resolution + /// 6-bit resolution Bits6 = 0x3, }; pub const ROVSM = enum(u1) { - /// Oversampling is temporary stopped and continued after injection sequence + /// Oversampling is temporary stopped and continued after injection sequence Continued = 0x0, - /// Oversampling is aborted and resumed from start after injection sequence + /// Oversampling is aborted and resumed from start after injection sequence Resumed = 0x1, }; pub const SAMPLE_TIME = enum(u3) { - /// 2.5 clock cycles + /// 2.5 clock cycles Cycles2_5 = 0x0, - /// 6.5 clock cycles + /// 6.5 clock cycles Cycles6_5 = 0x1, - /// 12.5 clock cycles + /// 12.5 clock cycles Cycles12_5 = 0x2, - /// 24.5 clock cycles + /// 24.5 clock cycles Cycles24_5 = 0x3, - /// 47.5 clock cycles + /// 47.5 clock cycles Cycles47_5 = 0x4, - /// 92.5 clock cycles + /// 92.5 clock cycles Cycles92_5 = 0x5, - /// 247.5 clock cycles + /// 247.5 clock cycles Cycles247_5 = 0x6, - /// 640.5 clock cycles + /// 640.5 clock cycles Cycles640_5 = 0x7, }; pub const TROVS = enum(u1) { - /// All oversampled conversions for a channel are done consecutively following a trigger + /// All oversampled conversions for a channel are done consecutively following a trigger Automatic = 0x0, - /// Each oversampled conversion for a channel needs a new trigger + /// Each oversampled conversion for a channel needs a new trigger Triggered = 0x1, }; - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC = extern struct { - /// interrupt and status register + /// interrupt and status register ISR: mmio.Mmio(packed struct(u32) { - /// ready flag + /// ready flag ADRDY: u1, - /// group regular end of sampling flag + /// group regular end of sampling flag EOSMP: u1, - /// group regular end of unitary conversion flag + /// group regular end of unitary conversion flag EOC: u1, - /// group regular end of sequence conversions flag + /// group regular end of sequence conversions flag EOS: u1, - /// group regular overrun flag + /// group regular overrun flag OVR: u1, - /// group injected end of unitary conversion flag + /// group injected end of unitary conversion flag JEOC: u1, - /// group injected end of sequence conversions flag + /// group injected end of sequence conversions flag JEOS: u1, - /// analog watchdog 1 flag + /// analog watchdog 1 flag AWD1: u1, - /// analog watchdog 2 flag + /// analog watchdog 2 flag AWD2: u1, - /// analog watchdog 3 flag + /// analog watchdog 3 flag AWD3: u1, - /// group injected contexts queue overflow flag + /// group injected contexts queue overflow flag JQOVF: u1, padding: u21, }), - /// interrupt enable register + /// interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// ready interrupt + /// ready interrupt ADRDYIE: u1, - /// group regular end of sampling interrupt + /// group regular end of sampling interrupt EOSMPIE: u1, - /// group regular end of unitary conversion interrupt + /// group regular end of unitary conversion interrupt EOCIE: u1, - /// group regular end of sequence conversions interrupt + /// group regular end of sequence conversions interrupt EOSIE: u1, - /// group regular overrun interrupt + /// group regular overrun interrupt OVRIE: u1, - /// group injected end of unitary conversion interrupt + /// group injected end of unitary conversion interrupt JEOCIE: u1, - /// group injected end of sequence conversions interrupt + /// group injected end of sequence conversions interrupt JEOSIE: u1, - /// analog watchdog 1 interrupt + /// analog watchdog 1 interrupt AWD1IE: u1, - /// analog watchdog 2 interrupt + /// analog watchdog 2 interrupt AWD2IE: u1, - /// analog watchdog 3 interrupt + /// analog watchdog 3 interrupt AWD3IE: u1, - /// group injected contexts queue overflow interrupt + /// group injected contexts queue overflow interrupt JQOVFIE: u1, padding: u21, }), - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// enable + /// enable ADEN: u1, - /// disable + /// disable ADDIS: u1, - /// group regular conversion start + /// group regular conversion start ADSTART: u1, - /// group injected conversion start + /// group injected conversion start JADSTART: u1, - /// group regular conversion stop - ADSTP: packed union { - raw: u1, - value: ADSTP, - }, - /// group injected conversion stop - JADSTP: packed union { - raw: u1, - value: ADSTP, - }, + /// group regular conversion stop + ADSTP: ADSTP, + /// group injected conversion stop + JADSTP: ADSTP, reserved28: u22, - /// voltage regulator enable + /// voltage regulator enable ADVREGEN: u1, - /// deep power down enable + /// deep power down enable DEEPPWD: u1, - /// differential mode for calibration - ADCALDIF: packed union { - raw: u1, - value: ADCALDIF, - }, - /// calibration + /// differential mode for calibration + ADCALDIF: ADCALDIF, + /// calibration ADCAL: u1, }), - /// configuration register 1 + /// configuration register 1 CFGR: mmio.Mmio(packed struct(u32) { - /// Direct memory access configuration - DMACFG: packed union { - raw: u1, - value: DMACFG, - }, + /// Direct memory access configuration + DMACFG: DMACFG, reserved3: u2, - /// data resolution - RES: packed union { - raw: u2, - value: RES, - }, - /// external trigger selection for regular group + /// data resolution + RES: RES, + /// external trigger selection for regular group EXTSEL: u5, - /// external trigger enable and polarity selection for regular channels - EXTEN: packed union { - raw: u2, - value: EXTEN, - }, - /// overrun mode - OVRMOD: packed union { - raw: u1, - value: OVRMOD, - }, - /// Continuous conversion + /// external trigger enable and polarity selection for regular channels + EXTEN: EXTEN, + /// overrun mode + OVRMOD: OVRMOD, + /// Continuous conversion CONT: u1, - /// delayed conversion mode + /// delayed conversion mode AUTDLY: u1, - /// data alignment + /// data alignment ALIGN: u1, - /// discontinuous mode for regular channels + /// discontinuous mode for regular channels DISCEN: u1, - /// discontinuous mode channel count + /// discontinuous mode channel count DISCNUM: u3, - /// discontinuous mode on injected channels + /// discontinuous mode on injected channels JDISCEN: u1, - /// JSQR queue mode - JQM: packed union { - raw: u1, - value: JQM, - }, - /// enable the watchdog 1 on a single channel or on all channels - AWD1SGL: packed union { - raw: u1, - value: AWD1SGL, - }, - /// analog watchdog 1 enable on regular channels + /// JSQR queue mode + JQM: JQM, + /// enable the watchdog 1 on a single channel or on all channels + AWD1SGL: AWD1SGL, + /// analog watchdog 1 enable on regular channels AWD1EN: u1, - /// analog watchdog 1 enable on injected channels + /// analog watchdog 1 enable on injected channels JAWD1EN: u1, - /// automatic injected group conversion + /// automatic injected group conversion JAUTO: u1, - /// analog watchdog 1 channel selection + /// analog watchdog 1 channel selection AWD1CH: u5, - /// injected queue disable + /// injected queue disable JQDIS: u1, }), - /// configuration register 2 + /// configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// Regular Oversampling Enable + /// Regular Oversampling Enable ROVSE: u1, - /// Injected Oversampling Enable + /// Injected Oversampling Enable JOVSE: u1, - /// Oversampling ratio + /// Oversampling ratio OVSR: u3, - /// Oversampling shift + /// Oversampling shift OVSS: u4, - /// Triggered Regular Oversampling - TROVS: packed union { - raw: u1, - value: TROVS, - }, - /// Regular Oversampling mode - ROVSM: packed union { - raw: u1, - value: ROVSM, - }, + /// Triggered Regular Oversampling + TROVS: TROVS, + /// Regular Oversampling mode + ROVSM: ROVSM, reserved16: u5, - /// Gain compensation mode + /// Gain compensation mode GCOMP: u1, reserved25: u8, - /// Software trigger bit for sampling time control trigger mode + /// Software trigger bit for sampling time control trigger mode SWTRIG: u1, - /// Bulb sampling mode + /// Bulb sampling mode BULB: u1, - /// Sampling time control trigger mode + /// Sampling time control trigger mode SMPTRIG: u1, padding: u4, }), - /// sampling time register 1 + /// sampling time register 1 SMPR: mmio.Mmio(packed struct(u32) { - /// channel n * 10 + x sampling time - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// channel n * 10 + x sampling time + SMP: SAMPLE_TIME, reserved31: u28, - /// Addition of one clock cycle to the sampling time + /// Addition of one clock cycle to the sampling time SMPPLUS: u1, }), - /// sampling time register 2 + /// sampling time register 2 SMPR2: mmio.Mmio(packed struct(u32) { - /// channel n * 10 + x sampling time - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// channel n * 10 + x sampling time + SMP: SAMPLE_TIME, padding: u29, }), reserved32: [4]u8, - /// analog watchdog threshold register 1 + /// analog watchdog threshold register 1 TR1: mmio.Mmio(packed struct(u32) { - /// analog watchdog 1 lower threshold + /// analog watchdog 1 lower threshold LT1: u12, - /// analog watchdog filtering parameter + /// analog watchdog filtering parameter AWDFILT: u3, reserved16: u1, - /// analog watchdog 1 higher threshold + /// analog watchdog 1 higher threshold HT1: u12, padding: u4, }), - /// analog watchdog threshold register 2 + /// analog watchdog threshold register 2 TR2: mmio.Mmio(packed struct(u32) { - /// analog watchdog 2 lower threshold + /// analog watchdog 2 lower threshold LT2: u8, reserved16: u8, - /// analog watchdog 2 higher threshold + /// analog watchdog 2 higher threshold HT2: u8, padding: u8, }), - /// analog watchdog threshold register 3 + /// analog watchdog threshold register 3 TR3: mmio.Mmio(packed struct(u32) { - /// analog watchdog 3 lower threshold + /// analog watchdog 3 lower threshold LT3: u8, reserved16: u8, - /// analog watchdog 3 higher threshold + /// analog watchdog 3 higher threshold HT3: u8, padding: u8, }), reserved48: [4]u8, - /// group regular sequencer ranks register 1 + /// group regular sequencer ranks register 1 SQR1: mmio.Mmio(packed struct(u32) { - /// L + /// L L: u4, reserved6: u2, - /// group regular sequencer rank 1-4 + /// group regular sequencer rank 1-4 SQ: u5, padding: u21, }), - /// group regular sequencer ranks register 2 + /// group regular sequencer ranks register 2 SQR2: mmio.Mmio(packed struct(u32) { - /// group regular sequencer rank 5-9 + /// group regular sequencer rank 5-9 SQ: u5, padding: u27, }), - /// group regular sequencer ranks register 3 + /// group regular sequencer ranks register 3 SQR3: mmio.Mmio(packed struct(u32) { - /// group regular sequencer rank 10-14 + /// group regular sequencer rank 10-14 SQ: u5, padding: u27, }), - /// group regular sequencer ranks register 4 + /// group regular sequencer ranks register 4 SQR4: mmio.Mmio(packed struct(u32) { - /// group regular sequencer rank 15-16 + /// group regular sequencer rank 15-16 SQ: u5, padding: u27, }), - /// group regular conversion data register + /// group regular conversion data register DR: mmio.Mmio(packed struct(u32) { - /// group regular conversion data + /// group regular conversion data RDATA: u16, padding: u16, }), reserved76: [8]u8, - /// group injected sequencer register + /// group injected sequencer register JSQR: mmio.Mmio(packed struct(u32) { - /// group injected sequencer scan length + /// group injected sequencer scan length JL: u2, - /// group injected external trigger source + /// group injected external trigger source JEXTSEL: u5, - /// group injected external trigger polarity - JEXTEN: packed union { - raw: u2, - value: JEXTEN, - }, - /// group injected sequencer rank 1-4 + /// group injected external trigger polarity + JEXTEN: JEXTEN, + /// group injected sequencer rank 1-4 JSQ: u5, padding: u18, }), reserved96: [16]u8, - /// offset number 1-4 register + /// offset number 1-4 register OFR: [4]mmio.Mmio(packed struct(u32) { - /// data offset + /// data offset OFFSET: u12, reserved24: u12, - /// Positive offset + /// Positive offset OFFSETPOS: u1, - /// Saturation enable + /// Saturation enable SATEN: u1, - /// Channel selection for the data offset + /// Channel selection for the data offset OFFSET1_CH: u5, - /// Offset enable + /// Offset enable OFFSET_EN: u1, }), reserved128: [16]u8, - /// group injected sequencer rank 1-4 register + /// group injected sequencer rank 1-4 register JDR: [4]mmio.Mmio(packed struct(u32) { - /// group injected sequencer rank conversion data + /// group injected sequencer rank conversion data JDATA: u16, padding: u16, }), reserved160: [16]u8, - /// analog watchdog 2 configuration register + /// analog watchdog 2 configuration register AWD2CR: mmio.Mmio(packed struct(u32) { - /// analog watchdog 2 channel selection + /// analog watchdog 2 channel selection AWD2CH: u19, padding: u13, }), - /// analog watchdog 3 configuration register + /// analog watchdog 3 configuration register AWD3CR: mmio.Mmio(packed struct(u32) { - /// analog watchdog 3 channel selection + /// analog watchdog 3 channel selection AWD3CH: u19, padding: u13, }), reserved176: [8]u8, - /// channel differential or single-ended mode selection register + /// channel differential or single-ended mode selection register DIFSEL: mmio.Mmio(packed struct(u32) { - /// channel differential or single-ended mode for channel - DIFSEL: packed union { - raw: u1, - value: DIFSEL, - }, + /// channel differential or single-ended mode for channel + DIFSEL: DIFSEL, padding: u31, }), - /// calibration factors register + /// calibration factors register CALFACT: mmio.Mmio(packed struct(u32) { - /// calibration factor in single-ended mode + /// calibration factor in single-ended mode CALFACT_S: u7, reserved16: u9, - /// calibration factor in differential mode + /// calibration factor in differential mode CALFACT_D: u7, padding: u9, }), reserved192: [8]u8, - /// Gain compensation register + /// Gain compensation register GCOMP: mmio.Mmio(packed struct(u32) { - /// Gain compensation coefficient + /// Gain compensation coefficient GCOMPCOEFF: u14, padding: u18, }), @@ -307538,62 +307292,62 @@ pub const types = struct { pub const adc_h5 = struct { pub const ADCALDIF = enum(u1) { - /// Calibration for single-ended mode + /// Calibration for single-ended mode SingleEnded = 0x0, - /// Calibration for differential mode + /// Calibration for differential mode Differential = 0x1, }; pub const ALIGN = enum(u1) { - /// Right alignment + /// Right alignment Right = 0x0, - /// Left alignment + /// Left alignment Left = 0x1, }; pub const AWD1SGL = enum(u1) { - /// Analog watchdog 1 enabled on all channels + /// Analog watchdog 1 enabled on all channels All = 0x0, - /// Analog watchdog 1 enabled on single channel selected in AWD1CH + /// Analog watchdog 1 enabled on single channel selected in AWD1CH Single = 0x1, }; pub const DMACFG = enum(u1) { - /// DMA One Shot mode selected + /// DMA One Shot mode selected OneShot = 0x0, - /// DMA Circular mode selected + /// DMA Circular mode selected Circular = 0x1, }; pub const EXTEN = enum(u2) { - /// Hardware trigger detection disabled (conversions can be launched by software) + /// Hardware trigger detection disabled (conversions can be launched by software) Disabled = 0x0, - /// Hardware trigger detection on the rising edge + /// Hardware trigger detection on the rising edge RisingEdge = 0x1, - /// Hardware trigger detection on the falling edge + /// Hardware trigger detection on the falling edge FallingEdge = 0x2, - /// Hardware trigger detection on both the rising and falling edge + /// Hardware trigger detection on both the rising and falling edge BothEdges = 0x3, }; pub const JQM = enum(u1) { - /// JSQR Mode 0: Queue maintains the last written configuration into JSQR + /// JSQR Mode 0: Queue maintains the last written configuration into JSQR Mode0 = 0x0, - /// JSQR Mode 1: An empty queue disables software and hardware triggers of the injected sequence + /// JSQR Mode 1: An empty queue disables software and hardware triggers of the injected sequence Mode1 = 0x1, }; pub const OFFSETPOS = enum(u1) { - /// Negative offset + /// Negative offset Negative = 0x0, - /// Positive offset + /// Positive offset Positive = 0x1, }; pub const OVRMOD = enum(u1) { - /// Preserve DR register when an overrun is detected + /// Preserve DR register when an overrun is detected Preserve = 0x0, - /// Overwrite DR register when an overrun is detected + /// Overwrite DR register when an overrun is detected Overwrite = 0x1, }; @@ -307609,400 +307363,349 @@ pub const types = struct { }; pub const RES = enum(u2) { - /// 12-bit resolution + /// 12-bit resolution Bits12 = 0x0, - /// 10-bit resolution + /// 10-bit resolution Bits10 = 0x1, - /// 8-bit resolution + /// 8-bit resolution Bits8 = 0x2, - /// 6-bit resolution + /// 6-bit resolution Bits6 = 0x3, }; pub const ROVSM = enum(u1) { - /// Oversampling is temporary stopped and continued after injection sequence + /// Oversampling is temporary stopped and continued after injection sequence Continued = 0x0, - /// Oversampling is aborted and resumed from start after injection sequence + /// Oversampling is aborted and resumed from start after injection sequence Resumed = 0x1, }; pub const SAMPLE_TIME = enum(u3) { - /// 2.5 ADC clock cycles + /// 2.5 ADC clock cycles Cycles2_5 = 0x0, - /// 6.5 ADC clock cycles + /// 6.5 ADC clock cycles Cycles6_5 = 0x1, - /// 12.5 ADC clock cycles + /// 12.5 ADC clock cycles Cycles12_5 = 0x2, - /// 24.5 ADC clock cycles + /// 24.5 ADC clock cycles Cycles24_5 = 0x3, - /// 47.5 ADC clock cycles + /// 47.5 ADC clock cycles Cycles47_5 = 0x4, - /// 92.5 ADC clock cycles + /// 92.5 ADC clock cycles Cycles92_5 = 0x5, - /// 247.5 ADC clock cycles + /// 247.5 ADC clock cycles Cycles247_5 = 0x6, - /// 640.5 ADC clock cycles + /// 640.5 ADC clock cycles Cycles640_5 = 0x7, }; pub const SMPPLUS = enum(u1) { - /// The sampling time remains set to 2.5 ADC clock cycles remains + /// The sampling time remains set to 2.5 ADC clock cycles remains Cycles2_5 = 0x0, - /// 2.5 ADC clock cycle sampling time becomes 3.5 ADC clock cycles for the ADC_SMPR1 and ADC_SMPR2 registers. + /// 2.5 ADC clock cycle sampling time becomes 3.5 ADC clock cycles for the ADC_SMPR1 and ADC_SMPR2 registers. Cycles3_5 = 0x1, }; pub const SWTRIG = enum(u1) { - /// Software trigger starts the conversion for sampling time control trigger mode + /// Software trigger starts the conversion for sampling time control trigger mode Conversion = 0x0, - /// Software trigger starts the sampling for sampling time control trigger mode + /// Software trigger starts the sampling for sampling time control trigger mode Sampling = 0x1, }; pub const TROVS = enum(u1) { - /// All oversampled conversions for a channel are run following a trigger + /// All oversampled conversions for a channel are run following a trigger Automatic = 0x0, - /// Each oversampled conversion for a channel needs a new trigger + /// Each oversampled conversion for a channel needs a new trigger Triggered = 0x1, }; - /// Analog to digital converter + /// Analog to digital converter pub const ADC = extern struct { - /// interrupt and status register + /// interrupt and status register ISR: mmio.Mmio(packed struct(u32) { - /// ready This bit is set by hardware after the ADC has been enabled (ADEN = 1) and when the ADC reaches a state where it is ready to accept conversion requests. It is cleared by software writing 1 to it + /// ready This bit is set by hardware after the ADC has been enabled (ADEN = 1) and when the ADC reaches a state where it is ready to accept conversion requests. It is cleared by software writing 1 to it ADRDY: u1, - /// End of sampling flag This bit is set by hardware during the conversion of any channel (only for regular channels), at the end of the sampling phase + /// End of sampling flag This bit is set by hardware during the conversion of any channel (only for regular channels), at the end of the sampling phase EOSMP: u1, - /// End of conversion flag This bit is set by hardware at the end of each regular conversion of a channel when a new data is available in the ADC_DR register. It is cleared by software writing 1 to it or by reading the ADC_DR register + /// End of conversion flag This bit is set by hardware at the end of each regular conversion of a channel when a new data is available in the ADC_DR register. It is cleared by software writing 1 to it or by reading the ADC_DR register EOC: u1, - /// End of regular sequence flag This bit is set by hardware at the end of the conversions of a regular sequence of channels. It is cleared by software writing 1 to it + /// End of regular sequence flag This bit is set by hardware at the end of the conversions of a regular sequence of channels. It is cleared by software writing 1 to it EOS: u1, - /// overrun This bit is set by hardware when an overrun occurs on a regular channel, meaning that a new conversion has completed while the EOC flag was already set. It is cleared by software writing 1 to it + /// overrun This bit is set by hardware when an overrun occurs on a regular channel, meaning that a new conversion has completed while the EOC flag was already set. It is cleared by software writing 1 to it OVR: u1, - /// Injected channel end of conversion flag This bit is set by hardware at the end of each injected conversion of a channel when a new data is available in the corresponding ADC_JDRy register. It is cleared by software writing 1 to it or by reading the corresponding ADC_JDRy register + /// Injected channel end of conversion flag This bit is set by hardware at the end of each injected conversion of a channel when a new data is available in the corresponding ADC_JDRy register. It is cleared by software writing 1 to it or by reading the corresponding ADC_JDRy register JEOC: u1, - /// Injected channel end of sequence flag This bit is set by hardware at the end of the conversions of all injected channels in the group. It is cleared by software writing 1 to it + /// Injected channel end of sequence flag This bit is set by hardware at the end of the conversions of all injected channels in the group. It is cleared by software writing 1 to it JEOS: u1, - /// Analog watchdog 1-3 flags. Set by hardware when the converted voltage crosses the values programmed in the corresponding fields LT and HT fields of the relevant TR register. It is cleared by software. + /// Analog watchdog 1-3 flags. Set by hardware when the converted voltage crosses the values programmed in the corresponding fields LT and HT fields of the relevant TR register. It is cleared by software. AWD: u1, reserved10: u2, - /// Injected context queue overflow This bit is set by hardware when an Overflow of the Injected Queue of Context occurs. It is cleared by software writing 1 to it. Refer to for more information + /// Injected context queue overflow This bit is set by hardware when an Overflow of the Injected Queue of Context occurs. It is cleared by software writing 1 to it. Refer to for more information JQOVF: u1, padding: u21, }), - /// interrupt enable register + /// interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// ADC ready interrupt enable This bit is set and cleared by software to enable/disable the ADC Ready interrupt. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// ADC ready interrupt enable This bit is set and cleared by software to enable/disable the ADC Ready interrupt. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). ADRDYIE: u1, - /// End of sampling flag interrupt enable for regular conversions This bit is set and cleared by software to enable/disable the end of the sampling phase interrupt for regular conversions. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + /// End of sampling flag interrupt enable for regular conversions This bit is set and cleared by software to enable/disable the end of the sampling phase interrupt for regular conversions. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). EOSMPIE: u1, - /// End of regular conversion interrupt enable This bit is set and cleared by software to enable/disable the end of a regular conversion interrupt. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + /// End of regular conversion interrupt enable This bit is set and cleared by software to enable/disable the end of a regular conversion interrupt. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). EOCIE: u1, - /// End of regular sequence of conversions interrupt enable This bit is set and cleared by software to enable/disable the end of regular sequence of conversions interrupt. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + /// End of regular sequence of conversions interrupt enable This bit is set and cleared by software to enable/disable the end of regular sequence of conversions interrupt. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). EOSIE: u1, - /// Overrun interrupt enable This bit is set and cleared by software to enable/disable the Overrun interrupt of a regular conversion. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + /// Overrun interrupt enable This bit is set and cleared by software to enable/disable the Overrun interrupt of a regular conversion. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). OVRIE: u1, - /// End of injected conversion interrupt enable This bit is set and cleared by software to enable/disable the end of an injected conversion interrupt. Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing). + /// End of injected conversion interrupt enable This bit is set and cleared by software to enable/disable the end of an injected conversion interrupt. Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing). JEOCIE: u1, - /// End of injected sequence of conversions interrupt enable This bit is set and cleared by software to enable/disable the end of injected sequence of conversions interrupt. Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing). + /// End of injected sequence of conversions interrupt enable This bit is set and cleared by software to enable/disable the end of injected sequence of conversions interrupt. Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing). JEOSIE: u1, - /// Analog watchdog 1-3 interrupt enable. This bit is set and cleared by software to enable/disable the analog watchdog 1-3 interrupts. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// Analog watchdog 1-3 interrupt enable. This bit is set and cleared by software to enable/disable the analog watchdog 1-3 interrupts. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). AWDIE: u1, reserved10: u2, - /// Injected context queue overflow interrupt enable This bit is set and cleared by software to enable/disable the Injected Context Queue Overflow interrupt. Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing). + /// Injected context queue overflow interrupt enable This bit is set and cleared by software to enable/disable the Injected Context Queue Overflow interrupt. Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing). JQOVFIE: u1, padding: u21, }), - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// ADC enable control This bit is set by software to enable the ADC. The ADC is effectively ready to operate once the flag ADRDY has been set. It is cleared by hardware when the ADC is disabled, after the execution of the ADDIS command. Note: The software is allowed to set ADEN only when all bits of ADC_CR registers are 0 (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0) except for bit ADVREGEN which must be 1 (and the software must have wait for the startup time of the voltage regulator). + /// ADC enable control This bit is set by software to enable the ADC. The ADC is effectively ready to operate once the flag ADRDY has been set. It is cleared by hardware when the ADC is disabled, after the execution of the ADDIS command. Note: The software is allowed to set ADEN only when all bits of ADC_CR registers are 0 (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0) except for bit ADVREGEN which must be 1 (and the software must have wait for the startup time of the voltage regulator). ADEN: u1, - /// ADC disable command This bit is set by software to disable the ADC (ADDIS command) and put it into power-down state (OFF state). It is cleared by hardware once the ADC is effectively disabled (ADEN is also cleared by hardware at this time). Note: The software is allowed to set ADDIS only when ADEN = 1 and both ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// ADC disable command This bit is set by software to disable the ADC (ADDIS command) and put it into power-down state (OFF state). It is cleared by hardware once the ADC is effectively disabled (ADEN is also cleared by hardware at this time). Note: The software is allowed to set ADDIS only when ADEN = 1 and both ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). ADDIS: u1, - /// ADC start of regular conversion This bit is set by software to start ADC conversion of regular channels. Depending on the configuration bits EXTEN, a conversion immediately starts (software trigger configuration) or once a regular hardware trigger event occurs (hardware trigger configuration). It is cleared by hardware: in Single conversion mode when software trigger is selected (EXTSEL = 0x0): at the assertion of the End of Regular Conversion Sequence (EOS) flag. in all cases: after the execution of the ADSTP command, at the same time that ADSTP is cleared by hardware. Note: The software is allowed to set ADSTART only when ADEN = 1 and ADDIS = 0 (ADC is enabled and there is no pending request to disable the ADC) In auto-injection mode (JAUTO = 1), regular and auto-injected conversions are started by setting bit ADSTART (JADSTART must be kept cleared). + /// ADC start of regular conversion This bit is set by software to start ADC conversion of regular channels. Depending on the configuration bits EXTEN, a conversion immediately starts (software trigger configuration) or once a regular hardware trigger event occurs (hardware trigger configuration). It is cleared by hardware: in Single conversion mode when software trigger is selected (EXTSEL = 0x0): at the assertion of the End of Regular Conversion Sequence (EOS) flag. in all cases: after the execution of the ADSTP command, at the same time that ADSTP is cleared by hardware. Note: The software is allowed to set ADSTART only when ADEN = 1 and ADDIS = 0 (ADC is enabled and there is no pending request to disable the ADC) In auto-injection mode (JAUTO = 1), regular and auto-injected conversions are started by setting bit ADSTART (JADSTART must be kept cleared). ADSTART: u1, - /// ADC start of injected conversion This bit is set by software to start ADC conversion of injected channels. Depending on the configuration bits JEXTEN, a conversion immediately starts (software trigger configuration) or once an injected hardware trigger event occurs (hardware trigger configuration). It is cleared by hardware: in Single conversion mode when software trigger is selected (JEXTSEL = 0x0): at the assertion of the End of Injected Conversion Sequence (JEOS) flag. in all cases: after the execution of the JADSTP command, at the same time that JADSTP is cleared by hardware. Note: The software is allowed to set JADSTART only when ADEN = 1 and ADDIS = 0 (ADC is enabled and there is no pending request to disable the ADC). In auto-injection mode (JAUTO = 1), regular and auto-injected conversions are started by setting bit ADSTART (JADSTART must be kept cleared). + /// ADC start of injected conversion This bit is set by software to start ADC conversion of injected channels. Depending on the configuration bits JEXTEN, a conversion immediately starts (software trigger configuration) or once an injected hardware trigger event occurs (hardware trigger configuration). It is cleared by hardware: in Single conversion mode when software trigger is selected (JEXTSEL = 0x0): at the assertion of the End of Injected Conversion Sequence (JEOS) flag. in all cases: after the execution of the JADSTP command, at the same time that JADSTP is cleared by hardware. Note: The software is allowed to set JADSTART only when ADEN = 1 and ADDIS = 0 (ADC is enabled and there is no pending request to disable the ADC). In auto-injection mode (JAUTO = 1), regular and auto-injected conversions are started by setting bit ADSTART (JADSTART must be kept cleared). JADSTART: u1, - /// ADC stop of regular conversion command This bit is set by software to stop and discard an ongoing regular conversion (ADSTP Command). It is cleared by hardware when the conversion is effectively discarded and the ADC regular sequence and triggers can be re-configured. The ADC is then ready to accept a new start of regular conversions (ADSTART command). Note: The software is allowed to set ADSTP only when ADSTART = 1 and ADDIS = 0 (ADC is enabled and eventually converting a regular conversion and there is no pending request to disable the ADC). In auto-injection mode (JAUTO = 1), setting ADSTP bit aborts both regular and injected conversions (do not use JADSTP). + /// ADC stop of regular conversion command This bit is set by software to stop and discard an ongoing regular conversion (ADSTP Command). It is cleared by hardware when the conversion is effectively discarded and the ADC regular sequence and triggers can be re-configured. The ADC is then ready to accept a new start of regular conversions (ADSTART command). Note: The software is allowed to set ADSTP only when ADSTART = 1 and ADDIS = 0 (ADC is enabled and eventually converting a regular conversion and there is no pending request to disable the ADC). In auto-injection mode (JAUTO = 1), setting ADSTP bit aborts both regular and injected conversions (do not use JADSTP). ADSTP: u1, - /// ADC stop of injected conversion command This bit is set by software to stop and discard an ongoing injected conversion (JADSTP Command). It is cleared by hardware when the conversion is effectively discarded and the ADC injected sequence and triggers can be re-configured. The ADC is then ready to accept a new start of injected conversions (JADSTART command). Note: The software is allowed to set JADSTP only when JADSTART = 1 and ADDIS = 0 (ADC is enabled and eventually converting an injected conversion and there is no pending request to disable the ADC) In Auto-injection mode (JAUTO = 1), setting ADSTP bit aborts both regular and injected conversions (do not use JADSTP). + /// ADC stop of injected conversion command This bit is set by software to stop and discard an ongoing injected conversion (JADSTP Command). It is cleared by hardware when the conversion is effectively discarded and the ADC injected sequence and triggers can be re-configured. The ADC is then ready to accept a new start of injected conversions (JADSTART command). Note: The software is allowed to set JADSTP only when JADSTART = 1 and ADDIS = 0 (ADC is enabled and eventually converting an injected conversion and there is no pending request to disable the ADC) In Auto-injection mode (JAUTO = 1), setting ADSTP bit aborts both regular and injected conversions (do not use JADSTP). JADSTP: u1, reserved28: u22, - /// voltage regulator enable This bits is set by software to enable the ADC voltage regulator. Before performing any operation such as launching a calibration or enabling the ADC, the ADC voltage regulator must first be enabled and the software must wait for the regulator start-up time. For more details about the ADC voltage regulator enable and disable sequences, refer to (ADVREGEN). The software can program this bit field only when the ADC is disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0) + /// voltage regulator enable This bits is set by software to enable the ADC voltage regulator. Before performing any operation such as launching a calibration or enabling the ADC, the ADC voltage regulator must first be enabled and the software must wait for the regulator start-up time. For more details about the ADC voltage regulator enable and disable sequences, refer to (ADVREGEN). The software can program this bit field only when the ADC is disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0) ADVREGEN: u1, - /// Deep-power-down enable This bit is set and cleared by software to put the ADC in Deep-power-down mode. Note: The software is allowed to write this bit only when the ADC is disabled (ADCAL = 0, JADSTART = 0, JADSTP = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). + /// Deep-power-down enable This bit is set and cleared by software to put the ADC in Deep-power-down mode. Note: The software is allowed to write this bit only when the ADC is disabled (ADCAL = 0, JADSTART = 0, JADSTP = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). DEEPPWD: u1, - /// Differential mode for calibration This bit is set and cleared by software to configure the Single-ended or Differential inputs mode for the calibration. Note: The software is allowed to write this bit only when the ADC is disabled and is not calibrating (ADCAL = 0, JADSTART = 0, JADSTP = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). - ADCALDIF: packed union { - raw: u1, - value: ADCALDIF, - }, - /// ADC calibration This bit is set by software to start the calibration of the ADC. Program first the bit ADCALDIF to determine if this calibration applies for Single-ended or Differential inputs mode. It is cleared by hardware after calibration is complete. Note: The software is allowed to launch a calibration by setting ADCAL only when ADEN = 0. The software is allowed to update the calibration factor by writing ADC_CALFACT only when ADEN = 1 and ADSTART = 0 and JADSTART = 0 (ADC enabled and no conversion is ongoing). + /// Differential mode for calibration This bit is set and cleared by software to configure the Single-ended or Differential inputs mode for the calibration. Note: The software is allowed to write this bit only when the ADC is disabled and is not calibrating (ADCAL = 0, JADSTART = 0, JADSTP = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). + ADCALDIF: ADCALDIF, + /// ADC calibration This bit is set by software to start the calibration of the ADC. Program first the bit ADCALDIF to determine if this calibration applies for Single-ended or Differential inputs mode. It is cleared by hardware after calibration is complete. Note: The software is allowed to launch a calibration by setting ADCAL only when ADEN = 0. The software is allowed to update the calibration factor by writing ADC_CALFACT only when ADEN = 1 and ADSTART = 0 and JADSTART = 0 (ADC enabled and no conversion is ongoing). ADCAL: u1, }), - /// configuration register + /// configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// Direct memory access enable This bit is set and cleared by software to enable the generation of DMA requests. This allows to use the DMA to manage automatically the converted data. For more details, refer to conversions using the DMA. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// Direct memory access enable This bit is set and cleared by software to enable the generation of DMA requests. This allows to use the DMA to manage automatically the converted data. For more details, refer to conversions using the DMA. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). DMAEN: u1, - /// Direct memory access configuration This bit is set and cleared by software to select between two DMA modes of operation and is effective only when DMAEN = 1. For more details, refer to Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). - DMACFG: packed union { - raw: u1, - value: DMACFG, - }, + /// Direct memory access configuration This bit is set and cleared by software to select between two DMA modes of operation and is effective only when DMAEN = 1. For more details, refer to Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + DMACFG: DMACFG, reserved3: u1, - /// Data resolution These bits are written by software to select the resolution of the conversion. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). - RES: packed union { - raw: u2, - value: RES, - }, - /// External trigger selection for regular group These bits select the external event used to trigger the start of conversion of a regular group: ... Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + /// Data resolution These bits are written by software to select the resolution of the conversion. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + RES: RES, + /// External trigger selection for regular group These bits select the external event used to trigger the start of conversion of a regular group: ... Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). EXTSEL: u1, reserved10: u4, - /// External trigger enable and polarity selection for regular channels These bits are set and cleared by software to select the external trigger polarity and enable the trigger of a regular group. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). - EXTEN: packed union { - raw: u2, - value: EXTEN, - }, - /// Overrun mode This bit is set and cleared by software and configure the way data overrun is managed. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). - OVRMOD: packed union { - raw: u1, - value: OVRMOD, - }, - /// Single / Continuous conversion mode for regular conversions This bit is set and cleared by software. If it is set, regular conversion takes place continuously until it is cleared. Note: It is not possible to have both Discontinuous mode and Continuous mode enabled: it is forbidden to set both DISCEN = 1 and CONT = 1. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + /// External trigger enable and polarity selection for regular channels These bits are set and cleared by software to select the external trigger polarity and enable the trigger of a regular group. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + EXTEN: EXTEN, + /// Overrun mode This bit is set and cleared by software and configure the way data overrun is managed. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + OVRMOD: OVRMOD, + /// Single / Continuous conversion mode for regular conversions This bit is set and cleared by software. If it is set, regular conversion takes place continuously until it is cleared. Note: It is not possible to have both Discontinuous mode and Continuous mode enabled: it is forbidden to set both DISCEN = 1 and CONT = 1. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). CONT: u1, - /// Delayed conversion mode This bit is set and cleared by software to enable/disable the Auto Delayed Conversion mode.. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// Delayed conversion mode This bit is set and cleared by software to enable/disable the Auto Delayed Conversion mode.. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). AUTDLY: u1, - /// Data alignment This bit is set and cleared by software to select right or left alignment. Refer to register, data alignment and offset (ADC_DR, OFFSET, OFFSET_CH, ALIGN). Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). - ALIGN: packed union { - raw: u1, - value: ALIGN, - }, - /// Discontinuous mode for regular channels This bit is set and cleared by software to enable/disable Discontinuous mode for regular channels. Note: It is not possible to have both Discontinuous mode and Continuous mode enabled: it is forbidden to set both DISCEN = 1 and CONT = 1. It is not possible to use both auto-injected mode and Discontinuous mode simultaneously: the bits DISCEN and JDISCEN must be kept cleared by software when JAUTO is set. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + /// Data alignment This bit is set and cleared by software to select right or left alignment. Refer to register, data alignment and offset (ADC_DR, OFFSET, OFFSET_CH, ALIGN). Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + ALIGN: ALIGN, + /// Discontinuous mode for regular channels This bit is set and cleared by software to enable/disable Discontinuous mode for regular channels. Note: It is not possible to have both Discontinuous mode and Continuous mode enabled: it is forbidden to set both DISCEN = 1 and CONT = 1. It is not possible to use both auto-injected mode and Discontinuous mode simultaneously: the bits DISCEN and JDISCEN must be kept cleared by software when JAUTO is set. The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). DISCEN: u1, - /// Discontinuous mode channel count These bits are written by software to define the number of regular channels to be converted in Discontinuous mode, after receiving an external trigger. ... Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + /// Discontinuous mode channel count These bits are written by software to define the number of regular channels to be converted in Discontinuous mode, after receiving an external trigger. ... Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). DISCNUM: u3, - /// Discontinuous mode on injected channels This bit is set and cleared by software to enable/disable Discontinuous mode on the injected channels of a group. Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing). It is not possible to use both auto-injected mode and Discontinuous mode simultaneously: the bits DISCEN and JDISCEN must be kept cleared by software when JAUTO is set. + /// Discontinuous mode on injected channels This bit is set and cleared by software to enable/disable Discontinuous mode on the injected channels of a group. Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing). It is not possible to use both auto-injected mode and Discontinuous mode simultaneously: the bits DISCEN and JDISCEN must be kept cleared by software when JAUTO is set. JDISCEN: u1, - /// JSQR queue mode This bit is set and cleared by software. It defines how an empty Queue is managed. Refer to for more information. Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing). - JQM: packed union { - raw: u1, - value: JQM, - }, - /// Enable the watchdog 1 on a single channel or on all channels This bit is set and cleared by software to enable the analog watchdog on the channel identified by the AWD1CH[4:0] bits or on all the channels Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). - AWD1SGL: packed union { - raw: u1, - value: AWD1SGL, - }, - /// Analog watchdog 1 enable on regular channels This bit is set and cleared by software Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + /// JSQR queue mode This bit is set and cleared by software. It defines how an empty Queue is managed. Refer to for more information. Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing). + JQM: JQM, + /// Enable the watchdog 1 on a single channel or on all channels This bit is set and cleared by software to enable the analog watchdog on the channel identified by the AWD1CH[4:0] bits or on all the channels Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + AWD1SGL: AWD1SGL, + /// Analog watchdog 1 enable on regular channels This bit is set and cleared by software Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no regular conversion is ongoing). AWD1EN: u1, - /// Analog watchdog 1 enable on injected channels This bit is set and cleared by software Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing). + /// Analog watchdog 1 enable on injected channels This bit is set and cleared by software Note: The software is allowed to write this bit only when JADSTART = 0 (which ensures that no injected conversion is ongoing). JAWD1EN: u1, - /// Automatic injected group conversion This bit is set and cleared by software to enable/disable automatic injected group conversion after regular group conversion. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no regular nor injected conversion is ongoing). + /// Automatic injected group conversion This bit is set and cleared by software to enable/disable automatic injected group conversion after regular group conversion. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no regular nor injected conversion is ongoing). JAUTO: u1, - /// Analog watchdog 1 channel selection These bits are set and cleared by software. They select the input channel to be guarded by the analog watchdog. ..... others: reserved, must not be used Note: Some channels are not connected physically. Keep the corresponding AWD1CH[4:0] setting to the reset value. The channel selected by AWD1CH must be also selected into the SQRi or JSQRi registers. The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// Analog watchdog 1 channel selection These bits are set and cleared by software. They select the input channel to be guarded by the analog watchdog. ..... others: reserved, must not be used Note: Some channels are not connected physically. Keep the corresponding AWD1CH[4:0] setting to the reset value. The channel selected by AWD1CH must be also selected into the SQRi or JSQRi registers. The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). AWD1CH: u5, - /// Injected Queue disable These bits are set and cleared by software to disable the Injected Queue mechanism : Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no regular nor injected conversion is ongoing). A set or reset of JQDIS bit causes the injected queue to be flushed and the JSQR register is cleared. + /// Injected Queue disable These bits are set and cleared by software to disable the Injected Queue mechanism : Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no regular nor injected conversion is ongoing). A set or reset of JQDIS bit causes the injected queue to be flushed and the JSQR register is cleared. JQDIS: u1, }), - /// configuration register 2 + /// configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// Regular Oversampling Enable This bit is set and cleared by software to enable regular oversampling. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// Regular Oversampling Enable This bit is set and cleared by software to enable regular oversampling. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). ROVSE: u1, - /// Injected Oversampling Enable This bit is set and cleared by software to enable injected oversampling. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// Injected Oversampling Enable This bit is set and cleared by software to enable injected oversampling. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). JOVSE: u1, - /// Oversampling ratio This bitfield is set and cleared by software to define the oversampling ratio. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no conversion is ongoing). - OVSR: packed union { - raw: u3, - value: OVSR, - }, - /// Oversampling shift This bitfield is set and cleared by software to define the right shifting applied to the raw oversampling result. Other codes reserved Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no conversion is ongoing). + /// Oversampling ratio This bitfield is set and cleared by software to define the oversampling ratio. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no conversion is ongoing). + OVSR: OVSR, + /// Oversampling shift This bitfield is set and cleared by software to define the right shifting applied to the raw oversampling result. Other codes reserved Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no conversion is ongoing). OVSS: u4, - /// Triggered Regular Oversampling This bit is set and cleared by software to enable triggered oversampling Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). - TROVS: packed union { - raw: u1, - value: TROVS, - }, - /// Regular Oversampling mode This bit is set and cleared by software to select the regular oversampling mode. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). - ROVSM: packed union { - raw: u1, - value: ROVSM, - }, + /// Triggered Regular Oversampling This bit is set and cleared by software to enable triggered oversampling Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). + TROVS: TROVS, + /// Regular Oversampling mode This bit is set and cleared by software to select the regular oversampling mode. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). + ROVSM: ROVSM, reserved25: u14, - /// Software trigger bit for sampling time control trigger mode This bit is set and cleared by software to enable the bulb sampling mode. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). - SWTRIG: packed union { - raw: u1, - value: SWTRIG, - }, - /// Bulb sampling mode This bit is set and cleared by software to enable the bulb sampling mode. SAMPTRIG bit must not be set when the BULB bit is set. The very first ADC conversion is performed with the sampling time specified in SMPx bits. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). + /// Software trigger bit for sampling time control trigger mode This bit is set and cleared by software to enable the bulb sampling mode. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). + SWTRIG: SWTRIG, + /// Bulb sampling mode This bit is set and cleared by software to enable the bulb sampling mode. SAMPTRIG bit must not be set when the BULB bit is set. The very first ADC conversion is performed with the sampling time specified in SMPx bits. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). BULB: u1, - /// Sampling time control trigger mode This bit is set and cleared by software to enable the sampling time control trigger mode. The sampling time starts on the trigger rising edge, and the conversion on the trigger falling edge. EXTEN bit should be set to 01. BULB bit must not be set when the SMPTRIG bit is set. When EXTEN bit is set to 00, set SWTRIG to start the sampling and clear SWTRIG bit to start the conversion. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). + /// Sampling time control trigger mode This bit is set and cleared by software to enable the sampling time control trigger mode. The sampling time starts on the trigger rising edge, and the conversion on the trigger falling edge. EXTEN bit should be set to 01. BULB bit must not be set when the SMPTRIG bit is set. When EXTEN bit is set to 00, set SWTRIG to start the sampling and clear SWTRIG bit to start the conversion. Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). SMPTRIG: u1, padding: u4, }), - /// sample time register 1 + /// sample time register 1 SMPR1: mmio.Mmio(packed struct(u32) { - /// Channel 0-9 sampling time selection These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value. - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// Channel 0-9 sampling time selection These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value. + SMP: SAMPLE_TIME, reserved31: u28, - /// Addition of one clock cycle to the sampling time. To make sure no conversion is ongoing, the software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 - SMPPLUS: packed union { - raw: u1, - value: SMPPLUS, - }, + /// Addition of one clock cycle to the sampling time. To make sure no conversion is ongoing, the software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 + SMPPLUS: SMPPLUS, }), - /// sample time register 2 + /// sample time register 2 SMPR2: mmio.Mmio(packed struct(u32) { - /// Channel 10-19 sampling time selection These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value. - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// Channel 10-19 sampling time selection These bits are written by software to select the sampling time individually for each channel. During sample cycles, the channel selection bits must remain unchanged. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically. Keep the corresponding SMPx[2:0] setting to the reset value. + SMP: SAMPLE_TIME, padding: u29, }), reserved32: [4]u8, - /// watchdog threshold register 1 + /// watchdog threshold register 1 TR1: mmio.Mmio(packed struct(u32) { - /// Analog watchdog 1 lower threshold These bits are written by software to define the lower threshold for the analog watchdog 1. Refer to AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// Analog watchdog 1 lower threshold These bits are written by software to define the lower threshold for the analog watchdog 1. Refer to AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). LT1: u12, - /// Analog watchdog filtering parameter This bit is set and cleared by software. ... Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). + /// Analog watchdog filtering parameter This bit is set and cleared by software. ... Note: The software is allowed to write this bit only when ADSTART = 0 (which ensures that no conversion is ongoing). AWDFILT: u3, reserved16: u1, - /// Analog watchdog 1 higher threshold These bits are written by software to define the higher threshold for the analog watchdog 1. Refer to AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// Analog watchdog 1 higher threshold These bits are written by software to define the higher threshold for the analog watchdog 1. Refer to AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). HT1: u12, padding: u4, }), - /// watchdog threshold register 2 + /// watchdog threshold register 2 TR2: mmio.Mmio(packed struct(u32) { - /// Analog watchdog 2 lower threshold These bits are written by software to define the lower threshold for the analog watchdog 2. Refer to AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// Analog watchdog 2 lower threshold These bits are written by software to define the lower threshold for the analog watchdog 2. Refer to AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). LT2: u8, reserved16: u8, - /// Analog watchdog 2 higher threshold These bits are written by software to define the higher threshold for the analog watchdog 2. Refer to AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// Analog watchdog 2 higher threshold These bits are written by software to define the higher threshold for the analog watchdog 2. Refer to AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). HT2: u8, padding: u8, }), - /// watchdog threshold register 3 + /// watchdog threshold register 3 TR3: mmio.Mmio(packed struct(u32) { - /// Analog watchdog 3 lower threshold These bits are written by software to define the lower threshold for the analog watchdog 3. This watchdog compares the 8-bit of LT3 with the 8 MSB of the converted data. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// Analog watchdog 3 lower threshold These bits are written by software to define the lower threshold for the analog watchdog 3. This watchdog compares the 8-bit of LT3 with the 8 MSB of the converted data. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). LT3: u8, reserved16: u8, - /// Analog watchdog 3 higher threshold These bits are written by software to define the higher threshold for the analog watchdog 3. Refer to AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// Analog watchdog 3 higher threshold These bits are written by software to define the higher threshold for the analog watchdog 3. Refer to AWD2CH, AWD3CH, AWD_HTx, AWD_LTx, AWDx) Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). HT3: u8, padding: u8, }), reserved48: [4]u8, - /// regular sequence register 1 + /// regular sequence register 1 SQR1: mmio.Mmio(packed struct(u32) { - /// Regular channel sequence length These bits are written by software to define the total number of conversions in the regular channel conversion sequence. ... Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + /// Regular channel sequence length These bits are written by software to define the total number of conversions in the regular channel conversion sequence. ... Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). L: u4, reserved6: u2, - /// 1st-4th conversions in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 1st-4th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + /// 1st-4th conversions in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 1st-4th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). SQ: u5, padding: u21, }), - /// regular sequence register 2 + /// regular sequence register 2 SQR2: mmio.Mmio(packed struct(u32) { - /// 5th-9th conversions in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 5th-9th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + /// 5th-9th conversions in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 5th-9th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). SQ: u5, padding: u27, }), - /// regular sequence register 3 + /// regular sequence register 3 SQR3: mmio.Mmio(packed struct(u32) { - /// 10th-14th conversions in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 10th-14th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + /// 10th-14th conversions in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 10th-14th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). SQ: u5, padding: u27, }), - /// regular sequence register 4 + /// regular sequence register 4 SQR4: mmio.Mmio(packed struct(u32) { - /// 15th-16th conversions in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 15th-16th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + /// 15th-16th conversions in regular sequence These bits are written by software with the channel number (0 to 19) assigned as the 15th-16th in the regular conversion sequence. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). SQ: u5, padding: u27, }), - /// regular data register + /// regular data register DR: mmio.Mmio(packed struct(u32) { - /// Regular data converted These bits are read-only. They contain the conversion result from the last converted regular channel. The data are left- or right-aligned as described in + /// Regular data converted These bits are read-only. They contain the conversion result from the last converted regular channel. The data are left- or right-aligned as described in RDATA: u16, padding: u16, }), reserved76: [8]u8, - /// injected sequence register + /// injected sequence register JSQR: mmio.Mmio(packed struct(u32) { - /// Injected channel sequence length These bits are written by software to define the total number of conversions in the injected channel conversion sequence. Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing). + /// Injected channel sequence length These bits are written by software to define the total number of conversions in the injected channel conversion sequence. Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing). JL: u2, - /// External Trigger Selection for injected group These bits select the external event used to trigger the start of conversion of an injected group: ... Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing). + /// External Trigger Selection for injected group These bits select the external event used to trigger the start of conversion of an injected group: ... Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing). JEXTSEL: u5, - /// External trigger enable and polarity selection for injected channels These bits are set and cleared by software to select the external trigger polarity and enable the trigger of an injected group. Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing). If JQM = 1 and if the Queue of Context becomes empty, the software and hardware triggers of the injected sequence are both internally disabled (refer to Queue of context for injected conversions). - JEXTEN: packed union { - raw: u2, - value: EXTEN, - }, - /// 1st-4th conversions in the injected sequence These bits are written by software with the channel number (0 to 19) assigned as the 1st-4th in the injected conversion sequence. Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing). + /// External trigger enable and polarity selection for injected channels These bits are set and cleared by software to select the external trigger polarity and enable the trigger of an injected group. Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing). If JQM = 1 and if the Queue of Context becomes empty, the software and hardware triggers of the injected sequence are both internally disabled (refer to Queue of context for injected conversions). + JEXTEN: EXTEN, + /// 1st-4th conversions in the injected sequence These bits are written by software with the channel number (0 to 19) assigned as the 1st-4th in the injected conversion sequence. Note: The software is allowed to write these bits only when JADSTART = 0 (which ensures that no injected conversion is ongoing). JSQ: u5, padding: u18, }), reserved96: [16]u8, - /// offset 1-4 register + /// offset 1-4 register OFR: [4]mmio.Mmio(packed struct(u32) { - /// Data offset y for the channel programmed into bits OFFSET_CH[4:0] These bits are written by software to define the offset to be subtracted from the raw converted data when converting a channel (can be regular or injected). The channel to which applies the data offset must be programmed in the bits OFFSET_CH[4:0]. The conversion result can be read from in the ADC_DR (regular conversion) or from in the ADC_JDRyi registers (injected conversion). Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). If several offset (OFFSET) point to the same channel, only the offset with the lowest x value is considered for the subtraction. Ex: if OFFSET1_CH[4:0] = 4 and OFFSET2_CH[4:0] = 4, this is OFFSET1[11:0] which is subtracted when converting channel 4. + /// Data offset y for the channel programmed into bits OFFSET_CH[4:0] These bits are written by software to define the offset to be subtracted from the raw converted data when converting a channel (can be regular or injected). The channel to which applies the data offset must be programmed in the bits OFFSET_CH[4:0]. The conversion result can be read from in the ADC_DR (regular conversion) or from in the ADC_JDRyi registers (injected conversion). Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). If several offset (OFFSET) point to the same channel, only the offset with the lowest x value is considered for the subtraction. Ex: if OFFSET1_CH[4:0] = 4 and OFFSET2_CH[4:0] = 4, this is OFFSET1[11:0] which is subtracted when converting channel 4. OFFSET: u12, reserved24: u12, - /// Positive offset This bit is set and cleared by software to enable the positive offset. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). - OFFSETPOS: packed union { - raw: u1, - value: OFFSETPOS, - }, - /// Saturation enable This bit is set and cleared by software to enable the saturation at 0x000 and 0xFFF for the offset function. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// Positive offset This bit is set and cleared by software to enable the positive offset. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + OFFSETPOS: OFFSETPOS, + /// Saturation enable This bit is set and cleared by software to enable the saturation at 0x000 and 0xFFF for the offset function. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). SATEN: u1, - /// Channel selection for the data offset y These bits are written by software to define the channel to which the offset programmed into bits OFFSET[11:0] applies. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically and must not be selected for the data offset y. If OFFSET_EN is set, it is not allowed to select the same channel for different ADC_OFRy registers. + /// Channel selection for the data offset y These bits are written by software to define the channel to which the offset programmed into bits OFFSET[11:0] applies. Note: The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically and must not be selected for the data offset y. If OFFSET_EN is set, it is not allowed to select the same channel for different ADC_OFRy registers. OFFSET_CH: u5, - /// Offset y enable This bit is written by software to enable or disable the offset programmed into bits OFFSET[11:0]. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). + /// Offset y enable This bit is written by software to enable or disable the offset programmed into bits OFFSET[11:0]. Note: The software is allowed to write this bit only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). OFFSET_EN: u1, }), reserved128: [16]u8, - /// injected channel 1-4 register + /// injected channel 1-4 register JDR: [4]mmio.Mmio(packed struct(u32) { - /// Injected data These bits are read-only. They contain the conversion result from injected channel y. The data are left -or right-aligned as described in + /// Injected data These bits are read-only. They contain the conversion result from injected channel y. The data are left -or right-aligned as described in JDATA: u16, padding: u16, }), reserved160: [16]u8, - /// Analog Watchdog 2 Configuration Register + /// Analog Watchdog 2 Configuration Register AWD2CR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog 2 channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by the analog watchdog 2. AWD2CH[i] = 0: analog input channel i is not monitored by AWD2 AWD2CH[i] = 1: analog input channel i is monitored by AWD2 When AWD2CH[19:0] = 000..0, the analog Watchdog 2 is disabled Note: The channels selected by AWD2CH must be also selected into the SQRi or JSQRi registers. The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically and must not be selected for the analog watchdog. + /// Analog watchdog 2 channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by the analog watchdog 2. AWD2CH[i] = 0: analog input channel i is not monitored by AWD2 AWD2CH[i] = 1: analog input channel i is monitored by AWD2 When AWD2CH[19:0] = 000..0, the analog Watchdog 2 is disabled Note: The channels selected by AWD2CH must be also selected into the SQRi or JSQRi registers. The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically and must not be selected for the analog watchdog. AWD2CH: u20, padding: u12, }), - /// Analog Watchdog 3 Configuration Register + /// Analog Watchdog 3 Configuration Register AWD3CR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog 3 channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by the analog watchdog 3. AWD3CH[i] = 0: analog input channel i is not monitored by AWD3 AWD3CH[i] = 1: analog input channel i is monitored by AWD3 When AWD3CH[19:0] = 000..0, the analog Watchdog 3 is disabled Note: The channels selected by AWD3CH must be also selected into the SQRi or JSQRi registers. The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically and must not be selected for the analog watchdog. + /// Analog watchdog 3 channel selection These bits are set and cleared by software. They enable and select the input channels to be guarded by the analog watchdog 3. AWD3CH[i] = 0: analog input channel i is not monitored by AWD3 AWD3CH[i] = 1: analog input channel i is monitored by AWD3 When AWD3CH[19:0] = 000..0, the analog Watchdog 3 is disabled Note: The channels selected by AWD3CH must be also selected into the SQRi or JSQRi registers. The software is allowed to write these bits only when ADSTART = 0 and JADSTART = 0 (which ensures that no conversion is ongoing). Some channels are not connected physically and must not be selected for the analog watchdog. AWD3CH: u20, padding: u12, }), reserved176: [8]u8, - /// Differential mode Selection Register + /// Differential mode Selection Register DIFSEL: mmio.Mmio(packed struct(u32) { - /// Differential mode for channels 19 to 0. These bits are set and cleared by software. They allow to select if a channel is configured as Single-ended or Differential mode. DIFSEL[i] = 0: analog input channel is configured in Single-ended mode DIFSEL[i] = 1: analog input channel i is configured in Differential mode Note: The DIFSEL bits corresponding to channels that are either connected to a single-ended I/O port or to an internal channel must be kept their reset value (Single-ended input mode). The software is allowed to write these bits only when the ADC is disabled (ADCAL = 0, JADSTART = 0, JADSTP = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). + /// Differential mode for channels 19 to 0. These bits are set and cleared by software. They allow to select if a channel is configured as Single-ended or Differential mode. DIFSEL[i] = 0: analog input channel is configured in Single-ended mode DIFSEL[i] = 1: analog input channel i is configured in Differential mode Note: The DIFSEL bits corresponding to channels that are either connected to a single-ended I/O port or to an internal channel must be kept their reset value (Single-ended input mode). The software is allowed to write these bits only when the ADC is disabled (ADCAL = 0, JADSTART = 0, JADSTP = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). DIFSEL: u20, padding: u12, }), - /// Calibration Factors + /// Calibration Factors CALFACT: mmio.Mmio(packed struct(u32) { - /// Calibration Factors In Single-ended mode These bits are written by hardware or by software. Once a single-ended inputs calibration is complete, they are updated by hardware with the calibration factors. Software can write these bits with a new calibration factor. If the new calibration factor is different from the current one stored into the analog ADC, it is then applied once a new single-ended calibration is launched. Note: The software is allowed to write these bits only when ADEN = 1, ADSTART = 0 and JADSTART = 0 (ADC is enabled and no calibration is ongoing and no conversion is ongoing). + /// Calibration Factors In Single-ended mode These bits are written by hardware or by software. Once a single-ended inputs calibration is complete, they are updated by hardware with the calibration factors. Software can write these bits with a new calibration factor. If the new calibration factor is different from the current one stored into the analog ADC, it is then applied once a new single-ended calibration is launched. Note: The software is allowed to write these bits only when ADEN = 1, ADSTART = 0 and JADSTART = 0 (ADC is enabled and no calibration is ongoing and no conversion is ongoing). CALFACT_S: u7, reserved16: u9, - /// Calibration Factors in differential mode These bits are written by hardware or by software. Once a differential inputs calibration is complete, they are updated by hardware with the calibration factors. Software can write these bits with a new calibration factor. If the new calibration factor is different from the current one stored into the analog ADC, it is then applied once a new differential calibration is launched. Note: The software is allowed to write these bits only when ADEN = 1, ADSTART = 0 and JADSTART = 0 (ADC is enabled and no calibration is ongoing and no conversion is ongoing). + /// Calibration Factors in differential mode These bits are written by hardware or by software. Once a differential inputs calibration is complete, they are updated by hardware with the calibration factors. Software can write these bits with a new calibration factor. If the new calibration factor is different from the current one stored into the analog ADC, it is then applied once a new differential calibration is launched. Note: The software is allowed to write these bits only when ADEN = 1, ADSTART = 0 and JADSTART = 0 (ADC is enabled and no calibration is ongoing and no conversion is ongoing). CALFACT_D: u7, padding: u9, }), reserved200: [16]u8, - /// option register + /// option register OR: mmio.Mmio(packed struct(u32) { - /// Option bit 0 + /// Option bit 0 OP0: u1, - /// Option bit 1. Note - not documented for H562/H563/H573 + /// Option bit 1. Note - not documented for H562/H563/H573 OP1: u1, padding: u30, }), @@ -308011,311 +307714,281 @@ pub const types = struct { pub const adc_l0 = struct { pub const ALIGN = enum(u1) { - /// Right alignment + /// Right alignment Right = 0x0, - /// Left alignment + /// Left alignment Left = 0x1, }; pub const AWDSGL = enum(u1) { - /// Analog watchdog enabled on all channels + /// Analog watchdog enabled on all channels AllChannels = 0x0, - /// Analog watchdog enabled on a single channel + /// Analog watchdog enabled on a single channel SingleChannel = 0x1, }; pub const CKMODE = enum(u2) { - /// Asynchronous clock mode + /// Asynchronous clock mode ADCCLK = 0x0, - /// Synchronous clock mode (PCLK/2) + /// Synchronous clock mode (PCLK/2) PCLK_Div2 = 0x1, - /// Sychronous clock mode (PCLK/4) + /// Sychronous clock mode (PCLK/4) PCLK_Div4 = 0x2, - /// Synchronous clock mode (PCLK) + /// Synchronous clock mode (PCLK) PCLK = 0x3, }; pub const DMACFG = enum(u1) { - /// DMA One Shot mode selected + /// DMA One Shot mode selected OneShot = 0x0, - /// DMA Circular mode selected + /// DMA Circular mode selected Circular = 0x1, }; pub const EXTEN = enum(u2) { - /// Trigger detection disabled + /// Trigger detection disabled Disabled = 0x0, - /// Trigger detection on the rising edge + /// Trigger detection on the rising edge RisingEdge = 0x1, - /// Trigger detection on the falling edge + /// Trigger detection on the falling edge FallingEdge = 0x2, - /// Trigger detection on both the rising and falling edges + /// Trigger detection on both the rising and falling edges BothEdges = 0x3, }; pub const OVRMOD = enum(u1) { - /// ADC_DR register is preserved with the old data when an overrun is detected + /// ADC_DR register is preserved with the old data when an overrun is detected Preserved = 0x0, - /// ADC_DR register is overwritten with the last conversion result when an overrun is detected + /// ADC_DR register is overwritten with the last conversion result when an overrun is detected Overwritten = 0x1, }; pub const PRESC = enum(u4) { - /// Input ADC clock not divided. + /// Input ADC clock not divided. Div1 = 0x0, - /// Input ADC clock divided by 2. + /// Input ADC clock divided by 2. Div2 = 0x1, - /// Input ADC clock divided by 4. + /// Input ADC clock divided by 4. Div4 = 0x2, - /// Input ADC clock divided by 6. + /// Input ADC clock divided by 6. Div6 = 0x3, - /// Input ADC clock divided by 8. + /// Input ADC clock divided by 8. Div8 = 0x4, - /// Input ADC clock divided by 10. + /// Input ADC clock divided by 10. Div10 = 0x5, - /// Input ADC clock divided by 12. + /// Input ADC clock divided by 12. Div12 = 0x6, - /// Input ADC clock divided by 16. + /// Input ADC clock divided by 16. Div16 = 0x7, - /// Input ADC clock divided by 32. + /// Input ADC clock divided by 32. Div32 = 0x8, - /// Input ADC clock divided by 64. + /// Input ADC clock divided by 64. Div64 = 0x9, - /// Input ADC clock divided by 128. + /// Input ADC clock divided by 128. Div128 = 0xa, - /// Input ADC clock divided by 256. + /// Input ADC clock divided by 256. Div256 = 0xb, _, }; pub const RES = enum(u2) { - /// 12-bit (14 ADCCLK cycles) + /// 12-bit (14 ADCCLK cycles) Bits12 = 0x0, - /// 10-bit (13 ADCCLK cycles) + /// 10-bit (13 ADCCLK cycles) Bits10 = 0x1, - /// 8-bit (11 ADCCLK cycles) + /// 8-bit (11 ADCCLK cycles) Bits8 = 0x2, - /// 6-bit (9 ADCCLK cycles) + /// 6-bit (9 ADCCLK cycles) Bits6 = 0x3, }; pub const SAMPLE_TIME = enum(u3) { - /// 1.5 cycles + /// 1.5 cycles Cycles1_5 = 0x0, - /// 3.5 cycles + /// 3.5 cycles Cycles3_5 = 0x1, - /// 7.5 cycles + /// 7.5 cycles Cycles7_5 = 0x2, - /// 12.5 cycles + /// 12.5 cycles Cycles12_5 = 0x3, - /// 19.5 cycles + /// 19.5 cycles Cycles19_5 = 0x4, - /// 39.5 cycles + /// 39.5 cycles Cycles39_5 = 0x5, - /// 79.5 cycles + /// 79.5 cycles Cycles79_5 = 0x6, - /// 160.5 cycles + /// 160.5 cycles Cycles160_5 = 0x7, }; pub const SCANDIR = enum(u1) { - /// Upward scan (from CHSEL0 to CHSEL18) + /// Upward scan (from CHSEL0 to CHSEL18) Upward = 0x0, - /// Backward scan (from CHSEL18 to CHSEL0) + /// Backward scan (from CHSEL18 to CHSEL0) Backward = 0x1, }; - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC = extern struct { - /// interrupt and status register + /// interrupt and status register ISR: mmio.Mmio(packed struct(u32) { - /// ADC ready + /// ADC ready ADRDY: u1, - /// End of sampling flag + /// End of sampling flag EOSMP: u1, - /// End of conversion flag + /// End of conversion flag EOC: u1, - /// End of sequence flag + /// End of sequence flag EOS: u1, - /// ADC overrun + /// ADC overrun OVR: u1, reserved7: u2, - /// Analog watchdog flag + /// Analog watchdog flag AWD: u1, reserved11: u3, - /// End Of Calibration flag + /// End Of Calibration flag EOCAL: u1, padding: u20, }), - /// interrupt enable register + /// interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// ADC ready interrupt enable + /// ADC ready interrupt enable ADRDYIE: u1, - /// End of sampling flag interrupt enable + /// End of sampling flag interrupt enable EOSMPIE: u1, - /// End of conversion interrupt enable + /// End of conversion interrupt enable EOCIE: u1, - /// End of conversion sequence interrupt enable + /// End of conversion sequence interrupt enable EOSIE: u1, - /// Overrun interrupt enable + /// Overrun interrupt enable OVRIE: u1, reserved7: u2, - /// Analog watchdog interrupt enable + /// Analog watchdog interrupt enable AWDIE: u1, reserved11: u3, - /// End of calibration interrupt enable. + /// End of calibration interrupt enable. EOCALIE: u1, padding: u20, }), - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// ADC enable command + /// ADC enable command ADEN: u1, - /// ADC disable command + /// ADC disable command ADDIS: u1, - /// ADC start conversion command + /// ADC start conversion command ADSTART: u1, reserved4: u1, - /// ADC stop conversion command + /// ADC stop conversion command ADSTP: u1, reserved28: u23, - /// ADC Voltage Regulator Enable. + /// ADC Voltage Regulator Enable. ADVREGEN: u1, reserved31: u2, - /// ADC calibration + /// ADC calibration ADCAL: u1, }), - /// configuration register 1 + /// configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { - /// Direct memory access enable + /// Direct memory access enable DMAEN: u1, - /// Direct memory access configuration - DMACFG: packed union { - raw: u1, - value: DMACFG, - }, - /// Scan sequence direction - SCANDIR: packed union { - raw: u1, - value: SCANDIR, - }, - /// Data resolution - RES: packed union { - raw: u2, - value: RES, - }, - /// Data alignment - ALIGN: packed union { - raw: u1, - value: ALIGN, - }, - /// External trigger selection + /// Direct memory access configuration + DMACFG: DMACFG, + /// Scan sequence direction + SCANDIR: SCANDIR, + /// Data resolution + RES: RES, + /// Data alignment + ALIGN: ALIGN, + /// External trigger selection EXTSEL: u3, reserved10: u1, - /// External trigger enable and polarity selection - EXTEN: packed union { - raw: u2, - value: EXTEN, - }, - /// Overrun management mode - OVRMOD: packed union { - raw: u1, - value: OVRMOD, - }, - /// Continuous conversion + /// External trigger enable and polarity selection + EXTEN: EXTEN, + /// Overrun management mode + OVRMOD: OVRMOD, + /// Continuous conversion CONT: u1, - /// Wait conversion mode + /// Wait conversion mode WAIT: u1, - /// Auto-off mode + /// Auto-off mode AUTOFF: u1, - /// Discontinuous mode + /// Discontinuous mode DISCEN: u1, reserved22: u5, - /// Enable the watchdog on a single channel or on all channels - AWDSGL: packed union { - raw: u1, - value: AWDSGL, - }, - /// Analog watchdog enable + /// Enable the watchdog on a single channel or on all channels + AWDSGL: AWDSGL, + /// Analog watchdog enable AWDEN: u1, reserved26: u2, - /// Analog watchdog channel selection + /// Analog watchdog channel selection AWDCH: u5, padding: u1, }), - /// configuration register 2 + /// configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// Oversampler Enable. + /// Oversampler Enable. OVSE: u1, reserved2: u1, - /// Oversampling ratio. + /// Oversampling ratio. OVSR: u3, - /// Oversampling shift. + /// Oversampling shift. OVSS: u4, - /// Triggered Oversampling. + /// Triggered Oversampling. TOVS: u1, reserved30: u20, - /// ADC clock mode - CKMODE: packed union { - raw: u2, - value: CKMODE, - }, + /// ADC clock mode + CKMODE: CKMODE, }), - /// sampling time register + /// sampling time register SMPR: mmio.Mmio(packed struct(u32) { - /// Sampling time selection - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// Sampling time selection + SMP: SAMPLE_TIME, padding: u29, }), reserved32: [8]u8, - /// watchdog threshold register + /// watchdog threshold register TR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog lower threshold + /// Analog watchdog lower threshold LT: u12, reserved16: u4, - /// Analog watchdog higher threshold + /// Analog watchdog higher threshold HT: u12, padding: u4, }), reserved40: [4]u8, - /// channel selection register + /// channel selection register CHSELR: mmio.Mmio(packed struct(u32) { - /// Channel-x selection + /// Channel-x selection @"CHSEL x": u1, padding: u31, }), reserved64: [20]u8, - /// data register + /// data register DR: mmio.Mmio(packed struct(u32) { - /// Converted data + /// Converted data DATA: u16, padding: u16, }), reserved180: [112]u8, - /// ADC Calibration factor. + /// ADC Calibration factor. CALFACT: mmio.Mmio(packed struct(u32) { - /// Calibration factor. + /// Calibration factor. CALFACT: u7, padding: u25, }), reserved776: [592]u8, - /// common configuration register + /// common configuration register CCR: mmio.Mmio(packed struct(u32) { reserved18: u18, - /// ADC prescaler. - PRESC: packed union { - raw: u4, - value: PRESC, - }, - /// VREFINT enable + /// ADC prescaler. + PRESC: PRESC, + /// VREFINT enable VREFEN: u1, - /// Temperature sensor enable + /// Temperature sensor enable TSEN: u1, reserved25: u1, - /// Low Frequency Mode enable + /// Low Frequency Mode enable LFMEN: u1, padding: u6, }), @@ -308324,268 +307997,256 @@ pub const types = struct { pub const adc_u0 = struct { pub const DMACFG = enum(u1) { - /// DMA One Shot mode selected + /// DMA One Shot mode selected OneShot = 0x0, - /// DMA Circular mode selected + /// DMA Circular mode selected Circular = 0x1, }; pub const RES = enum(u2) { - /// 12-bit resolution + /// 12-bit resolution Bits12 = 0x0, - /// 10-bit resolution + /// 10-bit resolution Bits10 = 0x1, - /// 8-bit resolution + /// 8-bit resolution Bits8 = 0x2, - /// 6-bit resolution + /// 6-bit resolution Bits6 = 0x3, }; pub const SAMPLE_TIME = enum(u3) { - /// 1.5 ADC cycles + /// 1.5 ADC cycles Cycles1_5 = 0x0, - /// 3.5 ADC cycles + /// 3.5 ADC cycles Cycles3_5 = 0x1, - /// 7.5 ADC cycles + /// 7.5 ADC cycles Cycles7_5 = 0x2, - /// 12.5 ADC cycles + /// 12.5 ADC cycles Cycles12_5 = 0x3, - /// 19.5 ADC cycles + /// 19.5 ADC cycles Cycles19_5 = 0x4, - /// 39.5 ADC cycles + /// 39.5 ADC cycles Cycles39_5 = 0x5, - /// 79.5 ADC cycles + /// 79.5 ADC cycles Cycles79_5 = 0x6, - /// 160.5 ADC cycles + /// 160.5 ADC cycles Cycles160_5 = 0x7, }; - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC = extern struct { - /// ADC interrupt and status register + /// ADC interrupt and status register ISR: mmio.Mmio(packed struct(u32) { - /// ADC ready flag + /// ADC ready flag ADRDY: u1, - /// ADC group regular end of sampling flag + /// ADC group regular end of sampling flag EOSMP: u1, - /// ADC group regular end of unitary conversion flag + /// ADC group regular end of unitary conversion flag EOC: u1, - /// ADC group regular end of sequence conversions flag + /// ADC group regular end of sequence conversions flag EOS: u1, - /// ADC group regular overrun flag + /// ADC group regular overrun flag OVR: u1, reserved7: u2, - /// ADC analog watchdog 1 flag + /// ADC analog watchdog 1 flag AWD1: u1, - /// ADC analog watchdog 2 flag + /// ADC analog watchdog 2 flag AWD2: u1, - /// ADC analog watchdog 3 flag + /// ADC analog watchdog 3 flag AWD3: u1, reserved11: u1, - /// End Of Calibration flag + /// End Of Calibration flag EOCAL: u1, reserved13: u1, - /// Channel Configuration Ready flag + /// Channel Configuration Ready flag CCRDY: u1, padding: u18, }), - /// ADC interrupt enable register + /// ADC interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// ADC ready interrupt + /// ADC ready interrupt ADRDYIE: u1, - /// ADC group regular end of sampling interrupt + /// ADC group regular end of sampling interrupt EOSMPIE: u1, - /// ADC group regular end of unitary conversion interrupt + /// ADC group regular end of unitary conversion interrupt EOCIE: u1, - /// ADC group regular end of sequence conversions interrupt + /// ADC group regular end of sequence conversions interrupt EOSIE: u1, - /// ADC group regular overrun interrupt + /// ADC group regular overrun interrupt OVRIE: u1, reserved7: u2, - /// ADC analog watchdog 1 interrupt + /// ADC analog watchdog 1 interrupt AWD1IE: u1, - /// ADC analog watchdog 2 interrupt + /// ADC analog watchdog 2 interrupt AWD2IE: u1, - /// ADC analog watchdog 3 interrupt + /// ADC analog watchdog 3 interrupt AWD3IE: u1, reserved11: u1, - /// End of calibration interrupt enable + /// End of calibration interrupt enable EOCALIE: u1, reserved13: u1, - /// Channel Configuration Ready Interrupt enable + /// Channel Configuration Ready Interrupt enable CCRDYIE: u1, padding: u18, }), - /// ADC control register + /// ADC control register CR: mmio.Mmio(packed struct(u32) { - /// ADC enable + /// ADC enable ADEN: u1, - /// ADC disable + /// ADC disable ADDIS: u1, - /// ADC group regular conversion start + /// ADC group regular conversion start ADSTART: u1, reserved4: u1, - /// ADC group regular conversion stop + /// ADC group regular conversion stop ADSTP: u1, reserved28: u23, - /// ADC voltage regulator enable + /// ADC voltage regulator enable ADVREGEN: u1, reserved31: u2, - /// ADC calibration + /// ADC calibration ADCAL: u1, }), - /// ADC configuration register 1 + /// ADC configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { - /// ADC DMA transfer enable + /// ADC DMA transfer enable DMAEN: u1, - /// Direct memory access configuration - DMACFG: packed union { - raw: u1, - value: DMACFG, - }, - /// Scan sequence direction + /// Direct memory access configuration + DMACFG: DMACFG, + /// Scan sequence direction SCANDIR: u1, - /// ADC data resolution - RES: packed union { - raw: u2, - value: RES, - }, - /// ADC data alignement + /// ADC data resolution + RES: RES, + /// ADC data alignement ALIGN: u1, - /// ADC group regular external trigger source + /// ADC group regular external trigger source EXTSEL: u3, reserved10: u1, - /// ADC group regular external trigger polarity + /// ADC group regular external trigger polarity EXTEN: u2, - /// ADC group regular overrun configuration + /// ADC group regular overrun configuration OVRMOD: u1, - /// Continuous conversion + /// Continuous conversion CONT: u1, - /// Wait conversion mode + /// Wait conversion mode WAIT: u1, - /// Auto-off mode + /// Auto-off mode AUTOFF: u1, - /// ADC group regular sequencer discontinuous mode + /// ADC group regular sequencer discontinuous mode DISCEN: u1, reserved21: u4, - /// Mode selection of the ADC_CHSELR register + /// Mode selection of the ADC_CHSELR register CHSELRMOD: u1, - /// ADC analog watchdog 1 monitoring a single channel or all channels + /// ADC analog watchdog 1 monitoring a single channel or all channels AWD1SGL: u1, - /// ADC analog watchdog 1 enable on scope ADC group regular + /// ADC analog watchdog 1 enable on scope ADC group regular AWD1EN: u1, reserved26: u2, - /// ADC analog watchdog 1 monitored channel selection + /// ADC analog watchdog 1 monitored channel selection AWDCH1CH: u5, padding: u1, }), - /// ADC configuration register 2 + /// ADC configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// ADC oversampler enable on scope ADC group regular + /// ADC oversampler enable on scope ADC group regular OVSE: u1, reserved2: u1, - /// ADC oversampling ratio + /// ADC oversampling ratio OVSR: u3, - /// ADC oversampling shift + /// ADC oversampling shift OVSS: u4, - /// ADC oversampling discontinuous mode (triggered mode) for ADC group regular + /// ADC oversampling discontinuous mode (triggered mode) for ADC group regular TOVS: u1, reserved29: u19, - /// Low frequency trigger mode enable + /// Low frequency trigger mode enable LFTRIG: u1, - /// ADC clock mode + /// ADC clock mode CKMODE: u2, }), - /// ADC sampling time register + /// ADC sampling time register SMPR: mmio.Mmio(packed struct(u32) { - /// Sampling time selection - SMP1: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// Sampling time selection + SMP1: SAMPLE_TIME, reserved4: u1, - /// Sampling time selection - SMP2: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// Sampling time selection + SMP2: SAMPLE_TIME, reserved8: u1, - /// Channel sampling time selection + /// Channel sampling time selection SMPSEL: u1, padding: u23, }), reserved32: [8]u8, - /// watchdog threshold register + /// watchdog threshold register AWD1TR: mmio.Mmio(packed struct(u32) { - /// ADC analog watchdog 1 threshold low + /// ADC analog watchdog 1 threshold low LT1: u12, reserved16: u4, - /// ADC analog watchdog 1 threshold high + /// ADC analog watchdog 1 threshold high HT1: u12, padding: u4, }), - /// watchdog threshold register + /// watchdog threshold register AWD2TR: mmio.Mmio(packed struct(u32) { - /// ADC analog watchdog 2 threshold low + /// ADC analog watchdog 2 threshold low LT2: u12, reserved16: u4, - /// ADC analog watchdog 2 threshold high + /// ADC analog watchdog 2 threshold high HT2: u12, padding: u4, }), - /// channel selection register + /// channel selection register CHSELR: mmio.Mmio(packed struct(u32) { - /// Channel-x selection + /// Channel-x selection CHSEL: u19, padding: u13, }), - /// watchdog threshold register + /// watchdog threshold register AWD3TR: mmio.Mmio(packed struct(u32) { - /// ADC analog watchdog 3 threshold high + /// ADC analog watchdog 3 threshold high LT3: u12, reserved16: u4, - /// ADC analog watchdog 3 threshold high + /// ADC analog watchdog 3 threshold high HT3: u12, padding: u4, }), reserved64: [16]u8, - /// ADC group regular conversion data register + /// ADC group regular conversion data register DR: mmio.Mmio(packed struct(u32) { - /// ADC group regular conversion data + /// ADC group regular conversion data regularDATA: u16, padding: u16, }), reserved160: [92]u8, - /// ADC analog watchdog 2 configuration register + /// ADC analog watchdog 2 configuration register AWD2CR: mmio.Mmio(packed struct(u32) { - /// ADC analog watchdog 2 monitored channel selection + /// ADC analog watchdog 2 monitored channel selection AWD2CH: u19, padding: u13, }), - /// ADC analog watchdog 3 configuration register + /// ADC analog watchdog 3 configuration register AWD3CR: mmio.Mmio(packed struct(u32) { - /// ADC analog watchdog 3 monitored channel selection + /// ADC analog watchdog 3 monitored channel selection AWD3CH: u19, padding: u13, }), reserved180: [12]u8, - /// ADC calibration factors register + /// ADC calibration factors register CALFACT: mmio.Mmio(packed struct(u32) { - /// ADC calibration factor in single-ended mode + /// ADC calibration factor in single-ended mode CALFACT: u7, padding: u25, }), reserved776: [592]u8, - /// ADC common control register + /// ADC common control register CCR: mmio.Mmio(packed struct(u32) { reserved18: u18, - /// ADC prescaler + /// ADC prescaler PRESC: u4, - /// VREFINT enable + /// VREFINT enable VREFEN: u1, - /// Temperature sensor enable + /// Temperature sensor enable TSEN: u1, - /// VBAT enable + /// VBAT enable VBATEN: u1, padding: u7, }), @@ -308593,372 +308254,372 @@ pub const types = struct { }; pub const adc_u5 = struct { - /// ADC. + /// ADC. pub const ADC = extern struct { - /// ADC interrupt and status register. + /// ADC interrupt and status register. ISR: mmio.Mmio(packed struct(u32) { - /// ADRDY. + /// ADRDY. ADRDY: u1, - /// EOSMP. + /// EOSMP. EOSMP: u1, - /// EOC. + /// EOC. EOC: u1, - /// EOS. + /// EOS. EOS: u1, - /// OVR. + /// OVR. OVR: u1, reserved7: u2, - /// AWD1. + /// AWD1. AWD1: u1, - /// AWD2. + /// AWD2. AWD2: u1, - /// AWD3. + /// AWD3. AWD3: u1, reserved11: u1, - /// EOCAL. + /// EOCAL. EOCAL: u1, - /// LDORDY. + /// LDORDY. LDORDY: u1, padding: u19, }), - /// ADC interrupt enable register. + /// ADC interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// ADRDYIE. + /// ADRDYIE. ADRDYIE: u1, - /// EOSMPIE. + /// EOSMPIE. EOSMPIE: u1, - /// EOCIE. + /// EOCIE. EOCIE: u1, - /// EOSIE. + /// EOSIE. EOSIE: u1, - /// OVRIE. + /// OVRIE. OVRIE: u1, reserved7: u2, - /// AWD1IE. + /// AWD1IE. AWD1IE: u1, - /// AWD2IE. + /// AWD2IE. AWD2IE: u1, - /// AWD3IE. + /// AWD3IE. AWD3IE: u1, reserved11: u1, - /// EOCALIE. + /// EOCALIE. EOCALIE: u1, - /// LDORDYIE. + /// LDORDYIE. LDORDYIE: u1, padding: u19, }), - /// ADC control register. + /// ADC control register. CR: mmio.Mmio(packed struct(u32) { - /// ADEN. + /// ADEN. ADEN: u1, - /// ADDIS. + /// ADDIS. ADDIS: u1, - /// ADSTART. + /// ADSTART. ADSTART: u1, reserved4: u1, - /// ADSTP. + /// ADSTP. ADSTP: u1, reserved28: u23, - /// ADVREGEN. + /// ADVREGEN. ADVREGEN: u1, reserved31: u2, - /// ADCAL. + /// ADCAL. ADCAL: u1, }), - /// ADC configuration register. + /// ADC configuration register. CFGR1: mmio.Mmio(packed struct(u32) { - /// DMAEN. + /// DMAEN. DMAEN: u1, - /// DMACFG. + /// DMACFG. DMACFG: u1, - /// RES. + /// RES. RES: u2, - /// SCANDIR. + /// SCANDIR. SCANDIR: u1, - /// ALIGN. + /// ALIGN. ALIGN: u1, - /// EXTSEL. + /// EXTSEL. EXTSEL: u3, reserved10: u1, - /// EXTEN. + /// EXTEN. EXTEN: u2, - /// OVRMOD. + /// OVRMOD. OVRMOD: u1, - /// CONT. + /// CONT. CONT: u1, - /// WAIT. + /// WAIT. WAIT: u1, reserved16: u1, - /// DISCEN. + /// DISCEN. DISCEN: u1, reserved21: u4, - /// CHSELRMOD. + /// CHSELRMOD. CHSELRMOD: u1, - /// AWD1SGL. + /// AWD1SGL. AWD1SGL: u1, - /// AWD1EN. + /// AWD1EN. AWD1EN: u1, reserved26: u2, - /// AWD1CH. + /// AWD1CH. AWD1CH: u5, padding: u1, }), - /// ADC configuration register 2. + /// ADC configuration register 2. CFGR2: mmio.Mmio(packed struct(u32) { - /// OVSE. + /// OVSE. OVSE: u1, reserved2: u1, - /// OVSR. + /// OVSR. OVSR: u3, - /// OVSS. + /// OVSS. OVSS: u4, - /// TOVS. + /// TOVS. TOVS: u1, reserved29: u19, - /// LFTRIG. + /// LFTRIG. LFTRIG: u1, padding: u2, }), - /// ADC sample time register. + /// ADC sample time register. SMPR: mmio.Mmio(packed struct(u32) { - /// SMP1. + /// SMP1. SMP1: u3, reserved4: u1, - /// SMP2. + /// SMP2. SMP2: u3, reserved8: u1, - /// SMPSEL0. + /// SMPSEL0. SMPSEL0: u1, - /// SMPSEL1. + /// SMPSEL1. SMPSEL1: u1, - /// SMPSEL2. + /// SMPSEL2. SMPSEL2: u1, - /// SMPSEL3. + /// SMPSEL3. SMPSEL3: u1, - /// SMPSEL4. + /// SMPSEL4. SMPSEL4: u1, - /// SMPSEL5. + /// SMPSEL5. SMPSEL5: u1, - /// SMPSEL6. + /// SMPSEL6. SMPSEL6: u1, - /// SMPSEL7. + /// SMPSEL7. SMPSEL7: u1, - /// SMPSEL8. + /// SMPSEL8. SMPSEL8: u1, - /// SMPSEL9. + /// SMPSEL9. SMPSEL9: u1, - /// SMPSEL10. + /// SMPSEL10. SMPSEL10: u1, - /// SMPSEL11. + /// SMPSEL11. SMPSEL11: u1, - /// SMPSEL12. + /// SMPSEL12. SMPSEL12: u1, - /// SMPSEL13. + /// SMPSEL13. SMPSEL13: u1, - /// SMPSEL14. + /// SMPSEL14. SMPSEL14: u1, - /// SMPSEL15. + /// SMPSEL15. SMPSEL15: u1, - /// SMPSEL16. + /// SMPSEL16. SMPSEL16: u1, - /// SMPSEL17. + /// SMPSEL17. SMPSEL17: u1, - /// SMPSEL18. + /// SMPSEL18. SMPSEL18: u1, - /// SMPSEL19. + /// SMPSEL19. SMPSEL19: u1, - /// SMPSEL20. + /// SMPSEL20. SMPSEL20: u1, - /// SMPSEL21. + /// SMPSEL21. SMPSEL21: u1, - /// SMPSEL22. + /// SMPSEL22. SMPSEL22: u1, - /// SMPSEL23. + /// SMPSEL23. SMPSEL23: u1, }), reserved32: [8]u8, - /// ADC watchdog threshold register. + /// ADC watchdog threshold register. AWD1TR: mmio.Mmio(packed struct(u32) { - /// LT1. + /// LT1. LT1: u12, reserved16: u4, - /// HT1. + /// HT1. HT1: u12, padding: u4, }), - /// ADC watchdog threshold register. + /// ADC watchdog threshold register. AWD2TR: mmio.Mmio(packed struct(u32) { - /// LT2. + /// LT2. LT2: u12, reserved16: u4, - /// HT2. + /// HT2. HT2: u12, padding: u4, }), - /// ADC channel selection register [alternate]. + /// ADC channel selection register [alternate]. CHSELRMOD0: mmio.Mmio(packed struct(u32) { - /// CHSEL. + /// CHSEL. CHSEL: u24, padding: u8, }), - /// ADC watchdog threshold register. + /// ADC watchdog threshold register. AWD3TR: mmio.Mmio(packed struct(u32) { - /// LT3. + /// LT3. LT3: u12, reserved16: u4, - /// HT3. + /// HT3. HT3: u12, padding: u4, }), reserved64: [16]u8, - /// ADC data register. + /// ADC data register. DR: mmio.Mmio(packed struct(u32) { - /// DATA. + /// DATA. DATA: u16, padding: u16, }), - /// ADC data register. + /// ADC data register. PWRR: mmio.Mmio(packed struct(u32) { - /// AUTOFF. + /// AUTOFF. AUTOFF: u1, - /// DPD. + /// DPD. DPD: u1, - /// VREFPROT. + /// VREFPROT. VREFPROT: u1, - /// VREFSECSMP. + /// VREFSECSMP. VREFSECSMP: u1, padding: u28, }), reserved160: [88]u8, - /// ADC Analog Watchdog 2 Configuration register. + /// ADC Analog Watchdog 2 Configuration register. AWD2CR: mmio.Mmio(packed struct(u32) { - /// AWD2CH0. + /// AWD2CH0. AWD2CH0: u1, - /// AWD2CH1. + /// AWD2CH1. AWD2CH1: u1, - /// AWD2CH2. + /// AWD2CH2. AWD2CH2: u1, - /// AWD2CH3. + /// AWD2CH3. AWD2CH3: u1, - /// AWD2CH4. + /// AWD2CH4. AWD2CH4: u1, - /// AWD2CH5. + /// AWD2CH5. AWD2CH5: u1, - /// AWD2CH6. + /// AWD2CH6. AWD2CH6: u1, - /// AWD2CH7. + /// AWD2CH7. AWD2CH7: u1, - /// AWD2CH8. + /// AWD2CH8. AWD2CH8: u1, - /// AWD2CH9. + /// AWD2CH9. AWD2CH9: u1, - /// AWD2CH10. + /// AWD2CH10. AWD2CH10: u1, - /// AWD2CH11. + /// AWD2CH11. AWD2CH11: u1, - /// AWD2CH12. + /// AWD2CH12. AWD2CH12: u1, - /// AWD2CH13. + /// AWD2CH13. AWD2CH13: u1, - /// AWD2CH14. + /// AWD2CH14. AWD2CH14: u1, - /// AWD2CH15. + /// AWD2CH15. AWD2CH15: u1, - /// AWD2CH16. + /// AWD2CH16. AWD2CH16: u1, - /// AWD2CH17. + /// AWD2CH17. AWD2CH17: u1, - /// AWD2CH18. + /// AWD2CH18. AWD2CH18: u1, - /// AWD2CH19. + /// AWD2CH19. AWD2CH19: u1, - /// AWD2CH20. + /// AWD2CH20. AWD2CH20: u1, - /// AWD2CH21. + /// AWD2CH21. AWD2CH21: u1, - /// AWD2CH22. + /// AWD2CH22. AWD2CH22: u1, - /// AWD2CH23. + /// AWD2CH23. AWD2CH23: u1, padding: u8, }), - /// ADC Analog Watchdog 3 Configuration register. + /// ADC Analog Watchdog 3 Configuration register. AWD3CR: mmio.Mmio(packed struct(u32) { - /// AWD3CH0. + /// AWD3CH0. AWD3CH0: u1, - /// AWD3CH1. + /// AWD3CH1. AWD3CH1: u1, - /// AWD3CH2. + /// AWD3CH2. AWD3CH2: u1, - /// AWD3CH3. + /// AWD3CH3. AWD3CH3: u1, - /// AWD3CH4. + /// AWD3CH4. AWD3CH4: u1, - /// AWD3CH5. + /// AWD3CH5. AWD3CH5: u1, - /// AWD3CH6. + /// AWD3CH6. AWD3CH6: u1, - /// AWD3CH7. + /// AWD3CH7. AWD3CH7: u1, - /// AWD3CH8. + /// AWD3CH8. AWD3CH8: u1, - /// AWD3CH9. + /// AWD3CH9. AWD3CH9: u1, - /// AWD3CH10. + /// AWD3CH10. AWD3CH10: u1, - /// AWD3CH11. + /// AWD3CH11. AWD3CH11: u1, - /// AWD3CH12. + /// AWD3CH12. AWD3CH12: u1, - /// AWD3CH13. + /// AWD3CH13. AWD3CH13: u1, - /// AWD3CH14. + /// AWD3CH14. AWD3CH14: u1, - /// AWD3CH15. + /// AWD3CH15. AWD3CH15: u1, - /// AWD3CH16. + /// AWD3CH16. AWD3CH16: u1, - /// AWD3CH17. + /// AWD3CH17. AWD3CH17: u1, - /// AWD3CH18. + /// AWD3CH18. AWD3CH18: u1, - /// AWD3CH19. + /// AWD3CH19. AWD3CH19: u1, - /// AWD3CH20. + /// AWD3CH20. AWD3CH20: u1, - /// AWD3CH21. + /// AWD3CH21. AWD3CH21: u1, - /// AWD3CH22. + /// AWD3CH22. AWD3CH22: u1, - /// AWD3CH23. + /// AWD3CH23. AWD3CH23: u1, padding: u8, }), reserved196: [28]u8, - /// ADC Calibration factor. + /// ADC Calibration factor. CALFACT: mmio.Mmio(packed struct(u32) { - /// CALFACT. + /// CALFACT. CALFACT: u7, padding: u25, }), reserved208: [8]u8, - /// ADC option register. + /// ADC option register. OR: mmio.Mmio(packed struct(u32) { - /// CHN21SEL. + /// CHN21SEL. CHN21SEL: u1, padding: u31, }), reserved776: [564]u8, - /// ADC common configuration register. + /// ADC common configuration register. CCR: mmio.Mmio(packed struct(u32) { reserved18: u18, - /// PRESC. + /// PRESC. PRESC: u4, - /// VREFEN. + /// VREFEN. VREFEN: u1, - /// VSENSESEL. + /// VSENSESEL. VSENSESEL: u1, - /// VBATEN. + /// VBATEN. VBATEN: u1, padding: u7, }), @@ -308967,251 +308628,224 @@ pub const types = struct { pub const adc_v1 = struct { pub const ALIGN = enum(u1) { - /// Right alignment + /// Right alignment Right = 0x0, - /// Left alignment + /// Left alignment Left = 0x1, }; pub const AWDSGL = enum(u1) { - /// Analog watchdog enabled on all channels + /// Analog watchdog enabled on all channels AllChannels = 0x0, - /// Analog watchdog enabled on a single channel + /// Analog watchdog enabled on a single channel SingleChannel = 0x1, }; pub const CKMODE = enum(u2) { - /// Asynchronous clock mode + /// Asynchronous clock mode ADCCLK = 0x0, - /// Synchronous clock mode (PCLK/2) + /// Synchronous clock mode (PCLK/2) PCLK_Div2 = 0x1, - /// Sychronous clock mode (PCLK/4) + /// Sychronous clock mode (PCLK/4) PCLK_Div4 = 0x2, _, }; pub const DMACFG = enum(u1) { - /// DMA One Shot mode selected + /// DMA One Shot mode selected OneShot = 0x0, - /// DMA Circular mode selected + /// DMA Circular mode selected Circular = 0x1, }; pub const EXTEN = enum(u2) { - /// Trigger detection disabled + /// Trigger detection disabled Disabled = 0x0, - /// Trigger detection on the rising edge + /// Trigger detection on the rising edge RisingEdge = 0x1, - /// Trigger detection on the falling edge + /// Trigger detection on the falling edge FallingEdge = 0x2, - /// Trigger detection on both the rising and falling edges + /// Trigger detection on both the rising and falling edges BothEdges = 0x3, }; pub const OVRMOD = enum(u1) { - /// ADC_DR register is preserved with the old data when an overrun is detected + /// ADC_DR register is preserved with the old data when an overrun is detected Preserved = 0x0, - /// ADC_DR register is overwritten with the last conversion result when an overrun is detected + /// ADC_DR register is overwritten with the last conversion result when an overrun is detected Overwritten = 0x1, }; pub const RES = enum(u2) { - /// 12-bit (14 ADCCLK cycles) + /// 12-bit (14 ADCCLK cycles) Bits12 = 0x0, - /// 10-bit (13 ADCCLK cycles) + /// 10-bit (13 ADCCLK cycles) Bits10 = 0x1, - /// 8-bit (11 ADCCLK cycles) + /// 8-bit (11 ADCCLK cycles) Bits8 = 0x2, - /// 6-bit (9 ADCCLK cycles) + /// 6-bit (9 ADCCLK cycles) Bits6 = 0x3, }; pub const SAMPLE_TIME = enum(u3) { - /// 1.5 cycles + /// 1.5 cycles Cycles1_5 = 0x0, - /// 7.5 cycles + /// 7.5 cycles Cycles7_5 = 0x1, - /// 13.5 cycles + /// 13.5 cycles Cycles13_5 = 0x2, - /// 28.5 cycles + /// 28.5 cycles Cycles28_5 = 0x3, - /// 41.5 cycles + /// 41.5 cycles Cycles41_5 = 0x4, - /// 55.5 cycles + /// 55.5 cycles Cycles55_5 = 0x5, - /// 71.5 cycles + /// 71.5 cycles Cycles71_5 = 0x6, - /// 239.5 cycles + /// 239.5 cycles Cycles239_5 = 0x7, }; pub const SCANDIR = enum(u1) { - /// Upward scan (from CHSEL0 to CHSEL18) + /// Upward scan (from CHSEL0 to CHSEL18) Upward = 0x0, - /// Backward scan (from CHSEL18 to CHSEL0) + /// Backward scan (from CHSEL18 to CHSEL0) Backward = 0x1, }; - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC = extern struct { - /// interrupt and status register + /// interrupt and status register ISR: mmio.Mmio(packed struct(u32) { - /// ADC ready + /// ADC ready ADRDY: u1, - /// End of sampling flag + /// End of sampling flag EOSMP: u1, - /// End of conversion flag + /// End of conversion flag EOC: u1, - /// End of sequence flag + /// End of sequence flag EOSEQ: u1, - /// ADC overrun + /// ADC overrun OVR: u1, reserved7: u2, - /// Analog watchdog flag + /// Analog watchdog flag AWD: u1, padding: u24, }), - /// interrupt enable register + /// interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// ADC ready interrupt enable + /// ADC ready interrupt enable ADRDYIE: u1, - /// End of sampling flag interrupt enable + /// End of sampling flag interrupt enable EOSMPIE: u1, - /// End of conversion interrupt enable + /// End of conversion interrupt enable EOCIE: u1, - /// End of conversion sequence interrupt enable + /// End of conversion sequence interrupt enable EOSEQIE: u1, - /// Overrun interrupt enable + /// Overrun interrupt enable OVRIE: u1, reserved7: u2, - /// Analog watchdog interrupt enable + /// Analog watchdog interrupt enable AWDIE: u1, padding: u24, }), - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// ADC enable command + /// ADC enable command ADEN: u1, - /// ADC disable command + /// ADC disable command ADDIS: u1, - /// ADC start conversion command + /// ADC start conversion command ADSTART: u1, reserved4: u1, - /// ADC stop conversion command + /// ADC stop conversion command ADSTP: u1, reserved31: u26, - /// ADC calibration + /// ADC calibration ADCAL: u1, }), - /// configuration register 1 + /// configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { - /// Direct memory access enable + /// Direct memory access enable DMAEN: u1, - /// Direct memory access configuration - DMACFG: packed union { - raw: u1, - value: DMACFG, - }, - /// Scan sequence direction - SCANDIR: packed union { - raw: u1, - value: SCANDIR, - }, - /// Data resolution - RES: packed union { - raw: u2, - value: RES, - }, - /// Data alignment - ALIGN: packed union { - raw: u1, - value: ALIGN, - }, - /// External trigger selection + /// Direct memory access configuration + DMACFG: DMACFG, + /// Scan sequence direction + SCANDIR: SCANDIR, + /// Data resolution + RES: RES, + /// Data alignment + ALIGN: ALIGN, + /// External trigger selection EXTSEL: u3, reserved10: u1, - /// External trigger enable and polarity selection - EXTEN: packed union { - raw: u2, - value: EXTEN, - }, - /// Overrun management mode - OVRMOD: packed union { - raw: u1, - value: OVRMOD, - }, - /// Continuous conversion + /// External trigger enable and polarity selection + EXTEN: EXTEN, + /// Overrun management mode + OVRMOD: OVRMOD, + /// Continuous conversion CONT: u1, - /// Wait conversion mode + /// Wait conversion mode WAIT: u1, - /// Auto-off mode + /// Auto-off mode AUTOFF: u1, - /// Discontinuous mode + /// Discontinuous mode DISCEN: u1, reserved22: u5, - /// Enable the watchdog on a single channel or on all channels - AWDSGL: packed union { - raw: u1, - value: AWDSGL, - }, - /// Analog watchdog enable + /// Enable the watchdog on a single channel or on all channels + AWDSGL: AWDSGL, + /// Analog watchdog enable AWDEN: u1, reserved26: u2, - /// Analog watchdog channel selection + /// Analog watchdog channel selection AWDCH: u5, padding: u1, }), - /// configuration register 2 + /// configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { reserved30: u30, - /// ADC clock mode - CKMODE: packed union { - raw: u2, - value: CKMODE, - }, + /// ADC clock mode + CKMODE: CKMODE, }), - /// sampling time register + /// sampling time register SMPR: mmio.Mmio(packed struct(u32) { - /// Sampling time selection - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// Sampling time selection + SMP: SAMPLE_TIME, padding: u29, }), reserved32: [8]u8, - /// watchdog threshold register + /// watchdog threshold register TR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog lower threshold + /// Analog watchdog lower threshold LT: u12, reserved16: u4, - /// Analog watchdog higher threshold + /// Analog watchdog higher threshold HT: u12, padding: u4, }), reserved40: [4]u8, - /// channel selection register + /// channel selection register CHSELR: mmio.Mmio(packed struct(u32) { - /// Channel-x selection + /// Channel-x selection @"CHSEL x": u1, padding: u31, }), reserved64: [20]u8, - /// data register + /// data register DR: mmio.Mmio(packed struct(u32) { - /// Converted data + /// Converted data DATA: u16, padding: u16, }), reserved776: [708]u8, - /// common configuration register + /// common configuration register CCR: mmio.Mmio(packed struct(u32) { reserved22: u22, - /// Temperature sensor and VREFINT enable + /// Temperature sensor and VREFINT enable VREFEN: u1, - /// Temperature sensor enable + /// Temperature sensor enable TSEN: u1, - /// VBAT enable + /// VBAT enable VBATEN: u1, padding: u7, }), @@ -309220,283 +308854,256 @@ pub const types = struct { pub const adc_v2 = struct { pub const ALIGN = enum(u1) { - /// Right alignment + /// Right alignment Right = 0x0, - /// Left alignment + /// Left alignment Left = 0x1, }; pub const AWDSGL = enum(u1) { - /// Analog watchdog enabled on all channels + /// Analog watchdog enabled on all channels AllChannels = 0x0, - /// Analog watchdog enabled on a single channel + /// Analog watchdog enabled on a single channel SingleChannel = 0x1, }; pub const DDS = enum(u1) { - /// No new DMA request is issued after the last transfer + /// No new DMA request is issued after the last transfer Single = 0x0, - /// DMA requests are issued as long as data are converted and DMA=1 + /// DMA requests are issued as long as data are converted and DMA=1 Continuous = 0x1, }; pub const EOCS = enum(u1) { - /// The EOC bit is set at the end of each sequence of regular conversions + /// The EOC bit is set at the end of each sequence of regular conversions EachSequence = 0x0, - /// The EOC bit is set at the end of each regular conversion + /// The EOC bit is set at the end of each regular conversion EachConversion = 0x1, }; pub const EXTEN = enum(u2) { - /// Trigger detection disabled + /// Trigger detection disabled Disabled = 0x0, - /// Trigger detection on the rising edge + /// Trigger detection on the rising edge RisingEdge = 0x1, - /// Trigger detection on the falling edge + /// Trigger detection on the falling edge FallingEdge = 0x2, - /// Trigger detection on both the rising and falling edges + /// Trigger detection on both the rising and falling edges BothEdges = 0x3, }; pub const JEXTEN = enum(u2) { - /// Trigger detection disabled + /// Trigger detection disabled Disabled = 0x0, - /// Trigger detection on the rising edge + /// Trigger detection on the rising edge RisingEdge = 0x1, - /// Trigger detection on the falling edge + /// Trigger detection on the falling edge FallingEdge = 0x2, - /// Trigger detection on both the rising and falling edges + /// Trigger detection on both the rising and falling edges BothEdges = 0x3, }; pub const RES = enum(u2) { - /// 12-bit (15 ADCCLK cycles) + /// 12-bit (15 ADCCLK cycles) Bits12 = 0x0, - /// 10-bit (13 ADCCLK cycles) + /// 10-bit (13 ADCCLK cycles) Bits10 = 0x1, - /// 8-bit (11 ADCCLK cycles) + /// 8-bit (11 ADCCLK cycles) Bits8 = 0x2, - /// 6-bit (9 ADCCLK cycles) + /// 6-bit (9 ADCCLK cycles) Bits6 = 0x3, }; pub const SAMPLE_TIME = enum(u3) { - /// 3 cycles + /// 3 cycles Cycles3 = 0x0, - /// 15 cycles + /// 15 cycles Cycles15 = 0x1, - /// 28 cycles + /// 28 cycles Cycles28 = 0x2, - /// 56 cycles + /// 56 cycles Cycles56 = 0x3, - /// 84 cycles + /// 84 cycles Cycles84 = 0x4, - /// 112 cycles + /// 112 cycles Cycles112 = 0x5, - /// 144 cycles + /// 144 cycles Cycles144 = 0x6, - /// 480 cycles + /// 480 cycles Cycles480 = 0x7, }; pub const SMPR_SMPx_x = enum(u32) { - /// 3 cycles + /// 3 cycles Cycles3 = 0x0, - /// 15 cycles + /// 15 cycles Cycles15 = 0x1, - /// 28 cycles + /// 28 cycles Cycles28 = 0x2, - /// 56 cycles + /// 56 cycles Cycles56 = 0x3, - /// 84 cycles + /// 84 cycles Cycles84 = 0x4, - /// 112 cycles + /// 112 cycles Cycles112 = 0x5, - /// 144 cycles + /// 144 cycles Cycles144 = 0x6, - /// 480 cycles + /// 480 cycles Cycles480 = 0x7, _, }; - /// Analog-to-digital converter + /// Analog-to-digital converter pub const ADC = extern struct { - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog event occurred + /// Analog watchdog event occurred AWD: u1, - /// Regular channel end of conversion + /// Regular channel end of conversion EOC: u1, - /// Injected channel end of conversion + /// Injected channel end of conversion JEOC: u1, - /// Injected channel conversion has started + /// Injected channel conversion has started JSTRT: u1, - /// Regular channel conversion has started + /// Regular channel conversion has started STRT: u1, - /// Overrun occurred + /// Overrun occurred OVR: u1, padding: u26, }), - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Analog watchdog channel select bits + /// Analog watchdog channel select bits AWDCH: u5, - /// Interrupt enable for EOC + /// Interrupt enable for EOC EOCIE: u1, - /// Analog watchdog interrupt enable + /// Analog watchdog interrupt enable AWDIE: u1, - /// Interrupt enable for injected channels + /// Interrupt enable for injected channels JEOCIE: u1, - /// Scan mode + /// Scan mode SCAN: u1, - /// Enable the watchdog on a single channel in scan mode - AWDSGL: packed union { - raw: u1, - value: AWDSGL, - }, - /// Automatic injected group conversion + /// Enable the watchdog on a single channel in scan mode + AWDSGL: AWDSGL, + /// Automatic injected group conversion JAUTO: u1, - /// Discontinuous mode on regular channels + /// Discontinuous mode on regular channels DISCEN: u1, - /// Discontinuous mode on injected channels + /// Discontinuous mode on injected channels JDISCEN: u1, - /// Discontinuous mode channel count + /// Discontinuous mode channel count DISCNUM: u3, reserved22: u6, - /// Analog watchdog enable on injected channels + /// Analog watchdog enable on injected channels JAWDEN: u1, - /// Analog watchdog enable on regular channels + /// Analog watchdog enable on regular channels AWDEN: u1, - /// Resolution - RES: packed union { - raw: u2, - value: RES, - }, - /// Overrun interrupt enable + /// Resolution + RES: RES, + /// Overrun interrupt enable OVRIE: u1, padding: u5, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// A/D Converter ON / OFF + /// A/D Converter ON / OFF ADON: u1, - /// Continuous conversion + /// Continuous conversion CONT: u1, reserved8: u6, - /// Direct memory access mode (for single ADC mode) + /// Direct memory access mode (for single ADC mode) DMA: u1, - /// DMA disable selection (for single ADC mode) - DDS: packed union { - raw: u1, - value: DDS, - }, - /// End of conversion selection - EOCS: packed union { - raw: u1, - value: EOCS, - }, - /// Data alignment - ALIGN: packed union { - raw: u1, - value: ALIGN, - }, + /// DMA disable selection (for single ADC mode) + DDS: DDS, + /// End of conversion selection + EOCS: EOCS, + /// Data alignment + ALIGN: ALIGN, reserved16: u4, - /// External event select for injected group + /// External event select for injected group JEXTSEL: u4, - /// External trigger enable for injected channels - JEXTEN: packed union { - raw: u2, - value: JEXTEN, - }, - /// Start conversion of injected channels + /// External trigger enable for injected channels + JEXTEN: JEXTEN, + /// Start conversion of injected channels JSWSTART: u1, reserved24: u1, - /// External event select for regular group + /// External event select for regular group EXTSEL: u4, - /// External trigger enable for regular channels - EXTEN: packed union { - raw: u2, - value: EXTEN, - }, - /// Start conversion of regular channels + /// External trigger enable for regular channels + EXTEN: EXTEN, + /// Start conversion of regular channels SWSTART: u1, padding: u1, }), - /// sample time register 1 + /// sample time register 1 SMPR1: mmio.Mmio(packed struct(u32) { - /// Channel 10 sampling time selection - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// Channel 10 sampling time selection + SMP: SAMPLE_TIME, padding: u29, }), - /// sample time register 2 + /// sample time register 2 SMPR2: mmio.Mmio(packed struct(u32) { - /// Channel 0 sampling time selection - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// Channel 0 sampling time selection + SMP: SAMPLE_TIME, padding: u29, }), - /// injected channel data offset register x + /// injected channel data offset register x JOFR: [4]mmio.Mmio(packed struct(u32) { - /// Data offset for injected channel x + /// Data offset for injected channel x JOFFSET: u12, padding: u20, }), - /// watchdog higher threshold register + /// watchdog higher threshold register HTR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog higher threshold + /// Analog watchdog higher threshold HT: u12, padding: u20, }), - /// watchdog lower threshold register + /// watchdog lower threshold register LTR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog lower threshold + /// Analog watchdog lower threshold LT: u12, padding: u20, }), - /// regular sequence register 1 + /// regular sequence register 1 SQR1: mmio.Mmio(packed struct(u32) { - /// 13th conversion in regular sequence + /// 13th conversion in regular sequence SQ: u5, reserved20: u15, - /// Regular channel sequence length + /// Regular channel sequence length L: u4, padding: u8, }), - /// regular sequence register 2 + /// regular sequence register 2 SQR2: mmio.Mmio(packed struct(u32) { - /// 7th conversion in regular sequence + /// 7th conversion in regular sequence SQ: u5, padding: u27, }), - /// regular sequence register 3 + /// regular sequence register 3 SQR3: mmio.Mmio(packed struct(u32) { - /// 1st conversion in regular sequence + /// 1st conversion in regular sequence SQ: u5, padding: u27, }), - /// injected sequence register + /// injected sequence register JSQR: mmio.Mmio(packed struct(u32) { - /// 1st conversion in injected sequence + /// 1st conversion in injected sequence JSQ: u5, reserved20: u15, - /// Injected sequence length + /// Injected sequence length JL: u2, padding: u10, }), - /// injected data register x + /// injected data register x JDR: [4]mmio.Mmio(packed struct(u32) { - /// Injected data + /// Injected data JDATA: u16, padding: u16, }), - /// regular data register + /// regular data register DR: mmio.Mmio(packed struct(u32) { - /// Regular data + /// Regular data DATA: u16, padding: u16, }), @@ -309505,250 +309112,241 @@ pub const types = struct { pub const adc_v3 = struct { pub const DMACFG = enum(u1) { - /// DMA One Shot mode selected + /// DMA One Shot mode selected OneShot = 0x0, - /// DMA Circular mode selected + /// DMA Circular mode selected Circular = 0x1, }; pub const RES = enum(u2) { - /// 12-bit resolution + /// 12-bit resolution Bits12 = 0x0, - /// 10-bit resolution + /// 10-bit resolution Bits10 = 0x1, - /// 8-bit resolution + /// 8-bit resolution Bits8 = 0x2, - /// 6-bit resolution + /// 6-bit resolution Bits6 = 0x3, }; pub const SAMPLE_TIME = enum(u3) { - /// 2.5 ADC cycles + /// 2.5 ADC cycles Cycles2_5 = 0x0, - /// 6.5 ADC cycles + /// 6.5 ADC cycles Cycles6_5 = 0x1, - /// 12.5 ADC cycles + /// 12.5 ADC cycles Cycles12_5 = 0x2, - /// 24.5 ADC cycles + /// 24.5 ADC cycles Cycles24_5 = 0x3, - /// 47.5 ADC cycles + /// 47.5 ADC cycles Cycles47_5 = 0x4, - /// 92.5 ADC cycles + /// 92.5 ADC cycles Cycles92_5 = 0x5, - /// 247.5 ADC cycles + /// 247.5 ADC cycles Cycles247_5 = 0x6, - /// 640.5 ADC cycles + /// 640.5 ADC cycles Cycles640_5 = 0x7, }; - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC = extern struct { - /// interrupt and status register + /// interrupt and status register ISR: mmio.Mmio(packed struct(u32) { - /// ADRDY + /// ADRDY ADRDY: u1, - /// EOSMP + /// EOSMP EOSMP: u1, - /// EOC + /// EOC EOC: u1, - /// EOS + /// EOS EOS: u1, - /// OVR + /// OVR OVR: u1, - /// JEOC + /// JEOC JEOC: u1, - /// JEOS + /// JEOS JEOS: u1, - /// AWD1 + /// AWD1 AWD: u1, reserved10: u2, - /// JQOVF + /// JQOVF JQOVF: u1, padding: u21, }), - /// interrupt enable register + /// interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// ADRDYIE + /// ADRDYIE ADRDYIE: u1, - /// EOSMPIE + /// EOSMPIE EOSMPIE: u1, - /// EOCIE + /// EOCIE EOCIE: u1, - /// EOSIE + /// EOSIE EOSIE: u1, - /// OVRIE + /// OVRIE OVRIE: u1, - /// JEOCIE + /// JEOCIE JEOCIE: u1, - /// JEOSIE + /// JEOSIE JEOSIE: u1, - /// AWD1IE + /// AWD1IE AWD1IE: u1, - /// AWD2IE + /// AWD2IE AWD2IE: u1, - /// AWD3IE + /// AWD3IE AWD3IE: u1, - /// JQOVFIE + /// JQOVFIE JQOVFIE: u1, padding: u21, }), - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// ADEN + /// ADEN ADEN: u1, - /// ADDIS + /// ADDIS ADDIS: u1, - /// ADSTART + /// ADSTART ADSTART: u1, - /// JADSTART + /// JADSTART JADSTART: u1, - /// ADSTP + /// ADSTP ADSTP: u1, - /// JADSTP + /// JADSTP JADSTP: u1, reserved28: u22, - /// ADVREGEN + /// ADVREGEN ADVREGEN: u1, - /// DEEPPWD + /// DEEPPWD DEEPPWD: u1, - /// ADCALDIF + /// ADCALDIF ADCALDIF: u1, - /// ADCAL + /// ADCAL ADCAL: u1, }), - /// configuration register + /// configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// DMAEN + /// DMAEN DMAEN: u1, - /// Direct memory access configuration - DMACFG: packed union { - raw: u1, - value: DMACFG, - }, + /// Direct memory access configuration + DMACFG: DMACFG, reserved3: u1, - /// RES - RES: packed union { - raw: u2, - value: RES, - }, - /// ALIGN + /// RES + RES: RES, + /// ALIGN ALIGN: u1, - /// EXTSEL + /// EXTSEL EXTSEL: u4, - /// EXTEN + /// EXTEN EXTEN: u2, - /// OVRMOD + /// OVRMOD OVRMOD: u1, - /// CONT + /// CONT CONT: u1, - /// AUTDLY + /// AUTDLY AUTDLY: u1, - /// AUTOFF + /// AUTOFF AUTOFF: u1, - /// DISCEN + /// DISCEN DISCEN: u1, - /// DISCNUM + /// DISCNUM DISCNUM: u3, - /// JDISCEN + /// JDISCEN JDISCEN: u1, - /// JQM + /// JQM JQM: u1, - /// AWD1SGL + /// AWD1SGL AWD1SGL: u1, - /// AWD1EN + /// AWD1EN AWD1EN: u1, - /// JAWD1EN + /// JAWD1EN JAWD1EN: u1, - /// JAUTO + /// JAUTO JAUTO: u1, - /// AWDCH1CH + /// AWDCH1CH AWDCH1CH: u5, padding: u1, }), - /// configuration register + /// configuration register CFGR2: mmio.Mmio(packed struct(u32) { - /// DMAEN + /// DMAEN ROVSE: u1, - /// DMACFG + /// DMACFG JOVSE: u1, - /// RES + /// RES OVSR: u3, - /// ALIGN + /// ALIGN OVSS: u4, - /// EXTSEL + /// EXTSEL TOVS: u1, - /// EXTEN + /// EXTEN ROVSM: u1, padding: u21, }), - /// sample time register 1 + /// sample time register 1 SMPR: [2]mmio.Mmio(packed struct(u32) { - /// Channel 0 sampling time selection - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// Channel 0 sampling time selection + SMP: SAMPLE_TIME, padding: u29, }), reserved32: [4]u8, - /// watchdog threshold register 1 + /// watchdog threshold register 1 TR: [3]mmio.Mmio(packed struct(u32) { - /// LT1 + /// LT1 LT: u12, reserved16: u4, - /// HT1 + /// HT1 HT: u12, padding: u4, }), reserved48: [4]u8, - /// regular sequence register 1 + /// regular sequence register 1 SQR1: mmio.Mmio(packed struct(u32) { - /// Regular channel sequence length + /// Regular channel sequence length L: u4, reserved6: u2, - /// SQ1 + /// SQ1 SQ: u5, padding: u21, }), - /// regular sequence register 2 + /// regular sequence register 2 SQR2: mmio.Mmio(packed struct(u32) { - /// SQ5 + /// SQ5 SQ: u5, padding: u27, }), - /// regular sequence register 3 + /// regular sequence register 3 SQR3: mmio.Mmio(packed struct(u32) { - /// SQ10 + /// SQ10 SQ: u5, padding: u27, }), - /// regular sequence register 4 + /// regular sequence register 4 SQR4: mmio.Mmio(packed struct(u32) { - /// SQ15 + /// SQ15 SQ: u5, padding: u27, }), - /// regular Data Register + /// regular Data Register DR: mmio.Mmio(packed struct(u32) { - /// regularDATA + /// regularDATA regularDATA: u16, padding: u16, }), reserved76: [8]u8, - /// injected sequence register + /// injected sequence register JSQR: mmio.Mmio(packed struct(u32) { - /// JL + /// JL JL: u2, - /// JEXTSEL + /// JEXTSEL JEXTSEL: u4, - /// JEXTEN + /// JEXTEN JEXTEN: u2, - /// JSQ1 + /// JSQ1 JSQ: u5, padding: u19, }), reserved96: [16]u8, - /// offset register 1 + /// offset register 1 OFR: [4]mmio.Mmio(packed struct(u32) { OFFSET: u12, reserved26: u14, @@ -309756,43 +309354,43 @@ pub const types = struct { OFFSET_EN: u1, }), reserved128: [16]u8, - /// injected data registers + /// injected data registers JDR: [4]mmio.Mmio(packed struct(u32) { - /// JDATA1 + /// JDATA1 JDATA: u16, padding: u16, }), reserved160: [16]u8, - /// Analog Watchdog 2 Configuration Register + /// Analog Watchdog 2 Configuration Register AWD2CR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// AWD2CH + /// AWD2CH AWD2CH: u18, padding: u13, }), - /// Analog Watchdog 3 Configuration Register + /// Analog Watchdog 3 Configuration Register AWD3CR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// AWD3CH + /// AWD3CH AWD3CH: u18, padding: u13, }), reserved176: [8]u8, - /// Differential Mode Selection Register 2 + /// Differential Mode Selection Register 2 DIFSEL: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Differential mode for channels 15 to 1 + /// Differential mode for channels 15 to 1 DIFSEL_1_15: u15, - /// Differential mode for channels 18 to 16 + /// Differential mode for channels 18 to 16 DIFSEL_16_18: u3, padding: u13, }), - /// Calibration Factors + /// Calibration Factors CALFACT: mmio.Mmio(packed struct(u32) { - /// CALFACT_S + /// CALFACT_S CALFACT_S: u7, reserved16: u9, - /// CALFACT_D + /// CALFACT_D CALFACT_D: u7, padding: u9, }), @@ -309801,505 +309399,457 @@ pub const types = struct { pub const adc_v4 = struct { pub const ADCALDIF = enum(u1) { - /// Calibration for single-ended mode + /// Calibration for single-ended mode SingleEnded = 0x0, - /// Calibration for differential mode + /// Calibration for differential mode Differential = 0x1, }; pub const ADSTP = enum(u1) { - /// Stop conversion of channel + /// Stop conversion of channel Stop = 0x1, _, }; pub const AWD1SGL = enum(u1) { - /// Analog watchdog 1 enabled on all channels + /// Analog watchdog 1 enabled on all channels All = 0x0, - /// Analog watchdog 1 enabled on single channel selected in AWD1CH + /// Analog watchdog 1 enabled on single channel selected in AWD1CH Single = 0x1, }; pub const BOOST = enum(u2) { - /// Boost mode used when clock ≤ 6.25 MHz + /// Boost mode used when clock ≤ 6.25 MHz LT6_25 = 0x0, - /// Boost mode used when 6.25 MHz < clock ≤ 12.5 MHz + /// Boost mode used when 6.25 MHz < clock ≤ 12.5 MHz LT12_5 = 0x1, - /// Boost mode used when 12.5 MHz < clock ≤ 25.0 MHz + /// Boost mode used when 12.5 MHz < clock ≤ 25.0 MHz LT25 = 0x2, - /// Boost mode used when 25.0 MHz < clock ≤ 50.0 MHz + /// Boost mode used when 25.0 MHz < clock ≤ 50.0 MHz LT50 = 0x3, }; pub const DIFSEL = enum(u1) { - /// Input channel is configured in single-ended mode + /// Input channel is configured in single-ended mode SingleEnded = 0x0, - /// Input channel is configured in differential mode + /// Input channel is configured in differential mode Differential = 0x1, }; pub const DMNGT = enum(u2) { - /// Store output data in DR only + /// Store output data in DR only DR = 0x0, - /// DMA One Shot Mode selected + /// DMA One Shot Mode selected DMA_OneShot = 0x1, - /// DFSDM mode selected + /// DFSDM mode selected DFSDM = 0x2, - /// DMA Circular Mode selected + /// DMA Circular Mode selected DMA_Circular = 0x3, }; pub const EXTEN = enum(u2) { - /// Trigger detection disabled + /// Trigger detection disabled Disabled = 0x0, - /// Trigger detection on the rising edge + /// Trigger detection on the rising edge RisingEdge = 0x1, - /// Trigger detection on the falling edge + /// Trigger detection on the falling edge FallingEdge = 0x2, - /// Trigger detection on both the rising and falling edges + /// Trigger detection on both the rising and falling edges BothEdges = 0x3, }; pub const JEXTEN = enum(u2) { - /// Trigger detection disabled + /// Trigger detection disabled Disabled = 0x0, - /// Trigger detection on the rising edge + /// Trigger detection on the rising edge RisingEdge = 0x1, - /// Trigger detection on the falling edge + /// Trigger detection on the falling edge FallingEdge = 0x2, - /// Trigger detection on both the rising and falling edges + /// Trigger detection on both the rising and falling edges BothEdges = 0x3, }; pub const JQM = enum(u1) { - /// JSQR Mode 0: Queue maintains the last written configuration into JSQR + /// JSQR Mode 0: Queue maintains the last written configuration into JSQR Mode0 = 0x0, - /// JSQR Mode 1: An empty queue disables software and hardware triggers of the injected sequence + /// JSQR Mode 1: An empty queue disables software and hardware triggers of the injected sequence Mode1 = 0x1, }; pub const OVRMOD = enum(u1) { - /// Preserve DR register when an overrun is detected + /// Preserve DR register when an overrun is detected Preserve = 0x0, - /// Overwrite DR register when an overrun is detected + /// Overwrite DR register when an overrun is detected Overwrite = 0x1, }; pub const PCSEL = enum(u1) { - /// Input channel x is not pre-selected + /// Input channel x is not pre-selected NotPreselected = 0x0, - /// Pre-select input channel x + /// Pre-select input channel x Preselected = 0x1, }; pub const RES = enum(u3) { - /// 16-bit resolution + /// 16-bit resolution Bits16 = 0x0, - /// 14-bit resolution in legacy mode (not optimized power consumption) + /// 14-bit resolution in legacy mode (not optimized power consumption) Bits14 = 0x1, - /// 12-bit resolution in legacy mode (not optimized power consumption) + /// 12-bit resolution in legacy mode (not optimized power consumption) Bits12 = 0x2, - /// 10-bit resolution + /// 10-bit resolution Bits10 = 0x3, - /// 14-bit resolution + /// 14-bit resolution Bits14V = 0x5, - /// 12-bit resolution + /// 12-bit resolution Bits12V = 0x6, - /// 8-bit resolution + /// 8-bit resolution Bits8 = 0x7, _, }; pub const ROVSM = enum(u1) { - /// Oversampling is temporary stopped and continued after injection sequence + /// Oversampling is temporary stopped and continued after injection sequence Continued = 0x0, - /// Oversampling is aborted and resumed from start after injection sequence + /// Oversampling is aborted and resumed from start after injection sequence Resumed = 0x1, }; pub const SAMPLE_TIME = enum(u3) { - /// 1.5 clock cycles + /// 1.5 clock cycles Cycles1_5 = 0x0, - /// 2.5 clock cycles + /// 2.5 clock cycles Cycles2_5 = 0x1, - /// 8.5 clock cycles + /// 8.5 clock cycles Cycles8_5 = 0x2, - /// 16.5 clock cycles + /// 16.5 clock cycles Cycles16_5 = 0x3, - /// 32.5 clock cycles + /// 32.5 clock cycles Cycles32_5 = 0x4, - /// 64.5 clock cycles + /// 64.5 clock cycles Cycles64_5 = 0x5, - /// 387.5 clock cycles + /// 387.5 clock cycles Cycles387_5 = 0x6, - /// 810.5 clock cycles + /// 810.5 clock cycles Cycles810_5 = 0x7, }; pub const TROVS = enum(u1) { - /// All oversampled conversions for a channel are run following a trigger + /// All oversampled conversions for a channel are run following a trigger Automatic = 0x0, - /// Each oversampled conversion for a channel needs a new trigger + /// Each oversampled conversion for a channel needs a new trigger Triggered = 0x1, }; - /// Analog to Digital Converter + /// Analog to Digital Converter pub const ADC = extern struct { - /// interrupt and status register + /// interrupt and status register ISR: mmio.Mmio(packed struct(u32) { - /// ready flag + /// ready flag ADRDY: u1, - /// group regular end of sampling flag + /// group regular end of sampling flag EOSMP: u1, - /// group regular end of unitary conversion flag + /// group regular end of unitary conversion flag EOC: u1, - /// group regular end of sequence conversions flag + /// group regular end of sequence conversions flag EOS: u1, - /// group regular overrun flag + /// group regular overrun flag OVR: u1, - /// group injected end of unitary conversion flag + /// group injected end of unitary conversion flag JEOC: u1, - /// group injected end of sequence conversions flag + /// group injected end of sequence conversions flag JEOS: u1, - /// analog watchdog 1 flag + /// analog watchdog 1 flag AWD1: u1, - /// analog watchdog 2 flag + /// analog watchdog 2 flag AWD2: u1, - /// analog watchdog 3 flag + /// analog watchdog 3 flag AWD3: u1, - /// group injected contexts queue overflow flag + /// group injected contexts queue overflow flag JQOVF: u1, reserved12: u1, - /// ADC LDO output voltage ready (not always available) + /// ADC LDO output voltage ready (not always available) LDORDY: u1, padding: u19, }), - /// interrupt enable register + /// interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// ready interrupt + /// ready interrupt ADRDYIE: u1, - /// group regular end of sampling interrupt + /// group regular end of sampling interrupt EOSMPIE: u1, - /// group regular end of unitary conversion interrupt + /// group regular end of unitary conversion interrupt EOCIE: u1, - /// group regular end of sequence conversions interrupt + /// group regular end of sequence conversions interrupt EOSIE: u1, - /// group regular overrun interrupt + /// group regular overrun interrupt OVRIE: u1, - /// group injected end of unitary conversion interrupt + /// group injected end of unitary conversion interrupt JEOCIE: u1, - /// group injected end of sequence conversions interrupt + /// group injected end of sequence conversions interrupt JEOSIE: u1, - /// analog watchdog 1 interrupt + /// analog watchdog 1 interrupt AWD1IE: u1, - /// analog watchdog 2 interrupt + /// analog watchdog 2 interrupt AWD2IE: u1, - /// analog watchdog 3 interrupt + /// analog watchdog 3 interrupt AWD3IE: u1, - /// group injected contexts queue overflow interrupt + /// group injected contexts queue overflow interrupt JQOVFIE: u1, padding: u21, }), - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// enable + /// enable ADEN: u1, - /// disable + /// disable ADDIS: u1, - /// group regular conversion start + /// group regular conversion start ADSTART: u1, - /// group injected conversion start + /// group injected conversion start JADSTART: u1, - /// group regular conversion stop - ADSTP: packed union { - raw: u1, - value: ADSTP, - }, - /// group injected conversion stop - JADSTP: packed union { - raw: u1, - value: ADSTP, - }, + /// group regular conversion stop + ADSTP: ADSTP, + /// group injected conversion stop + JADSTP: ADSTP, reserved8: u2, - /// Boost mode control - BOOST: packed union { - raw: u2, - value: BOOST, - }, + /// Boost mode control + BOOST: BOOST, reserved16: u6, - /// Linearity calibration + /// Linearity calibration ADCALLIN: u1, reserved22: u5, - /// Linearity calibration ready Word 1 + /// Linearity calibration ready Word 1 LINCALRDYW1: u1, - /// Linearity calibration ready Word 2 + /// Linearity calibration ready Word 2 LINCALRDYW2: u1, - /// Linearity calibration ready Word 3 + /// Linearity calibration ready Word 3 LINCALRDYW3: u1, - /// Linearity calibration ready Word 4 + /// Linearity calibration ready Word 4 LINCALRDYW4: u1, - /// Linearity calibration ready Word 5 + /// Linearity calibration ready Word 5 LINCALRDYW5: u1, - /// Linearity calibration ready Word 6 + /// Linearity calibration ready Word 6 LINCALRDYW6: u1, - /// voltage regulator enable + /// voltage regulator enable ADVREGEN: u1, - /// deep power down enable + /// deep power down enable DEEPPWD: u1, - /// differential mode for calibration - ADCALDIF: packed union { - raw: u1, - value: ADCALDIF, - }, - /// calibration + /// differential mode for calibration + ADCALDIF: ADCALDIF, + /// calibration ADCAL: u1, }), - /// configuration register 1 + /// configuration register 1 CFGR: mmio.Mmio(packed struct(u32) { - /// DMA transfer enable - DMNGT: packed union { - raw: u2, - value: DMNGT, - }, - /// data resolution - RES: packed union { - raw: u3, - value: RES, - }, - /// group regular external trigger source + /// DMA transfer enable + DMNGT: DMNGT, + /// data resolution + RES: RES, + /// group regular external trigger source EXTSEL: u5, - /// group regular external trigger polarity - EXTEN: packed union { - raw: u2, - value: EXTEN, - }, - /// group regular overrun configuration - OVRMOD: packed union { - raw: u1, - value: OVRMOD, - }, - /// Continuous conversion + /// group regular external trigger polarity + EXTEN: EXTEN, + /// group regular overrun configuration + OVRMOD: OVRMOD, + /// Continuous conversion CONT: u1, - /// low power auto wait + /// low power auto wait AUTDLY: u1, reserved16: u1, - /// group regular sequencer discontinuous mode + /// group regular sequencer discontinuous mode DISCEN: u1, - /// group regular sequencer discontinuous number of ranks + /// group regular sequencer discontinuous number of ranks DISCNUM: u3, - /// group injected sequencer discontinuous mode + /// group injected sequencer discontinuous mode JDISCEN: u1, - /// group injected contexts queue mode - JQM: packed union { - raw: u1, - value: JQM, - }, - /// analog watchdog 1 monitoring a single channel or all channels - AWD1SGL: packed union { - raw: u1, - value: AWD1SGL, - }, - /// analog watchdog 1 enable on scope group regular + /// group injected contexts queue mode + JQM: JQM, + /// analog watchdog 1 monitoring a single channel or all channels + AWD1SGL: AWD1SGL, + /// analog watchdog 1 enable on scope group regular AWD1EN: u1, - /// analog watchdog 1 enable on scope group injected + /// analog watchdog 1 enable on scope group injected JAWD1EN: u1, - /// group injected automatic trigger mode + /// group injected automatic trigger mode JAUTO: u1, - /// analog watchdog 1 monitored channel selection + /// analog watchdog 1 monitored channel selection AWD1CH: u5, - /// group injected contexts queue disable + /// group injected contexts queue disable JQDIS: u1, }), - /// configuration register 2 + /// configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// oversampler enable on scope group regular + /// oversampler enable on scope group regular ROVSE: u1, - /// oversampler enable on scope group injected + /// oversampler enable on scope group injected JOVSE: u1, reserved5: u3, - /// oversampling shift + /// oversampling shift OVSS: u4, - /// oversampling discontinuous mode (triggered mode) for group regular - TROVS: packed union { - raw: u1, - value: TROVS, - }, - /// Regular Oversampling mode - ROVSM: packed union { - raw: u1, - value: ROVSM, - }, - /// Right-shift data after Offset 1 correction + /// oversampling discontinuous mode (triggered mode) for group regular + TROVS: TROVS, + /// Regular Oversampling mode + ROVSM: ROVSM, + /// Right-shift data after Offset 1 correction RSHIFT1: u1, - /// Right-shift data after Offset 2 correction + /// Right-shift data after Offset 2 correction RSHIFT2: u1, - /// Right-shift data after Offset 3 correction + /// Right-shift data after Offset 3 correction RSHIFT3: u1, - /// Right-shift data after Offset 4 correction + /// Right-shift data after Offset 4 correction RSHIFT4: u1, reserved16: u1, - /// Oversampling ratio + /// Oversampling ratio OSVR: u10, reserved28: u2, - /// Left shift factor + /// Left shift factor LSHIFT: u4, }), - /// sampling time register 1-2 + /// sampling time register 1-2 SMPR: [2]mmio.Mmio(packed struct(u32) { - /// channel n * 10 + x sampling time - SMP: packed union { - raw: u3, - value: SAMPLE_TIME, - }, + /// channel n * 10 + x sampling time + SMP: SAMPLE_TIME, padding: u29, }), - /// pre channel selection register + /// pre channel selection register PCSEL: mmio.Mmio(packed struct(u32) { - /// Channel x (VINP[i]) pre selection - PCSEL: packed union { - raw: u1, - value: PCSEL, - }, + /// Channel x (VINP[i]) pre selection + PCSEL: PCSEL, padding: u31, }), - /// analog watchdog 1 threshold register + /// analog watchdog 1 threshold register LTR1: mmio.Mmio(packed struct(u32) { - /// analog watchdog 1 threshold low + /// analog watchdog 1 threshold low LTR1: u26, padding: u6, }), - /// analog watchdog 2 threshold register + /// analog watchdog 2 threshold register HTR1: mmio.Mmio(packed struct(u32) { - /// analog watchdog 2 threshold low + /// analog watchdog 2 threshold low HTR1: u26, padding: u6, }), reserved48: [8]u8, - /// group regular sequencer ranks register 1 + /// group regular sequencer ranks register 1 SQR1: mmio.Mmio(packed struct(u32) { - /// L3 + /// L3 L: u4, reserved6: u2, - /// group regular sequencer rank 1-4 + /// group regular sequencer rank 1-4 SQ: u5, padding: u21, }), - /// group regular sequencer ranks register 2 + /// group regular sequencer ranks register 2 SQR2: mmio.Mmio(packed struct(u32) { - /// group regular sequencer rank 5-9 + /// group regular sequencer rank 5-9 SQ: u5, padding: u27, }), - /// group regular sequencer ranks register 3 + /// group regular sequencer ranks register 3 SQR3: mmio.Mmio(packed struct(u32) { - /// group regular sequencer rank 10-14 + /// group regular sequencer rank 10-14 SQ: u5, padding: u27, }), - /// group regular sequencer ranks register 4 + /// group regular sequencer ranks register 4 SQR4: mmio.Mmio(packed struct(u32) { - /// group regular sequencer rank 15-16 + /// group regular sequencer rank 15-16 SQ: u5, padding: u27, }), - /// group regular conversion data register + /// group regular conversion data register DR: mmio.Mmio(packed struct(u32) { - /// group regular conversion data + /// group regular conversion data RDATA: u16, padding: u16, }), reserved76: [8]u8, - /// group injected sequencer register + /// group injected sequencer register JSQR: mmio.Mmio(packed struct(u32) { - /// group injected sequencer scan length + /// group injected sequencer scan length JL: u2, - /// group injected external trigger source + /// group injected external trigger source JEXTSEL: u5, - /// group injected external trigger polarity - JEXTEN: packed union { - raw: u2, - value: JEXTEN, - }, - /// group injected sequencer rank 1-4 + /// group injected external trigger polarity + JEXTEN: JEXTEN, + /// group injected sequencer rank 1-4 JSQ1: u5, padding: u18, }), reserved96: [16]u8, - /// offset number 1-4 register + /// offset number 1-4 register OFR: [4]mmio.Mmio(packed struct(u32) { - /// offset number x offset level + /// offset number x offset level OFFSET1: u26, - /// offset number x channel selection + /// offset number x channel selection OFFSET1_CH: u5, - /// Signed saturation enable + /// Signed saturation enable SSATE: u1, }), reserved128: [16]u8, - /// group injected sequencer rank 1-4 register + /// group injected sequencer rank 1-4 register JDR: [4]mmio.Mmio(packed struct(u32) { - /// group injected sequencer rank 1 conversion data + /// group injected sequencer rank 1 conversion data JDATA: u32, }), reserved160: [16]u8, - /// analog watchdog 2 configuration register + /// analog watchdog 2 configuration register AWD2CR: mmio.Mmio(packed struct(u32) { - /// analog watchdog 2 monitored channel selection + /// analog watchdog 2 monitored channel selection AWD2CH: u1, padding: u31, }), - /// analog watchdog 3 configuration register + /// analog watchdog 3 configuration register AWD3CR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// analog watchdog 3 monitored channel selection + /// analog watchdog 3 monitored channel selection AWD3CH: u1, padding: u30, }), reserved176: [8]u8, - /// watchdog lower threshold register 2 + /// watchdog lower threshold register 2 LTR2: mmio.Mmio(packed struct(u32) { - /// Analog watchdog 2 lower threshold + /// Analog watchdog 2 lower threshold LTR2: u26, padding: u6, }), - /// watchdog higher threshold register 2 + /// watchdog higher threshold register 2 HTR2: mmio.Mmio(packed struct(u32) { - /// Analog watchdog 2 higher threshold + /// Analog watchdog 2 higher threshold HTR2: u26, padding: u6, }), - /// watchdog lower threshold register 3 + /// watchdog lower threshold register 3 LTR3: mmio.Mmio(packed struct(u32) { - /// Analog watchdog 3 lower threshold + /// Analog watchdog 3 lower threshold LTR3: u26, padding: u6, }), - /// watchdog higher threshold register 3 + /// watchdog higher threshold register 3 HTR3: mmio.Mmio(packed struct(u32) { - /// Analog watchdog 3 higher threshold + /// Analog watchdog 3 higher threshold HTR3: u26, padding: u6, }), - /// channel differential or single-ended mode selection register + /// channel differential or single-ended mode selection register DIFSEL: mmio.Mmio(packed struct(u32) { - /// channel differential or single-ended mode for channel - DIFSEL: packed union { - raw: u1, - value: DIFSEL, - }, + /// channel differential or single-ended mode for channel + DIFSEL: DIFSEL, padding: u31, }), - /// calibration factors register + /// calibration factors register CALFACT: mmio.Mmio(packed struct(u32) { - /// calibration factor in single-ended mode + /// calibration factor in single-ended mode CALFACT_S: u11, reserved16: u5, - /// calibration factor in differential mode + /// calibration factor in differential mode CALFACT_D: u11, padding: u5, }), - /// Calibration Factor register 2 + /// Calibration Factor register 2 CALFACT2: mmio.Mmio(packed struct(u32) { - /// Linearity Calibration Factor + /// Linearity Calibration Factor LINCALFACT: u30, padding: u2, }), @@ -310307,143 +309857,131 @@ pub const types = struct { }; pub const adccommon_f3 = struct { - /// ADC clock mode + /// ADC clock mode pub const CKMODE = enum(u2) { - /// Use Kernel Clock adc_ker_ck_input divided by PRESC. Asynchronous mode + /// Use Kernel Clock adc_ker_ck_input divided by PRESC. Asynchronous mode Asynchronous = 0x0, - /// Use AHB clock rcc_hclk3. In this case rcc_hclk must equal sys_d1cpre_ck. + /// Use AHB clock rcc_hclk3. In this case rcc_hclk must equal sys_d1cpre_ck. SyncDiv1 = 0x1, - /// Use AHB clock rcc_hclk3 divided by 2. + /// Use AHB clock rcc_hclk3 divided by 2. SyncDiv2 = 0x2, - /// Use AHB clock rcc_hclk3 divided by 4. + /// Use AHB clock rcc_hclk3 divided by 4. SyncDiv4 = 0x3, }; pub const DMACFG = enum(u1) { - /// DMA One Shot mode selected + /// DMA One Shot mode selected OneShot = 0x0, - /// DMA Circular mode selected + /// DMA Circular mode selected Circulator = 0x1, }; - /// Dual ADC mode selection + /// Dual ADC mode selection pub const DUAL = enum(u5) { - /// Independent mode + /// Independent mode Independent = 0x0, - /// Dual, combined regular simultaneous + injected simultaneous mode + /// Dual, combined regular simultaneous + injected simultaneous mode DualRJ = 0x1, - /// Dual, combined regular simultaneous + alternate trigger mode + /// Dual, combined regular simultaneous + alternate trigger mode DualRA = 0x2, - /// Dual, combined injected simultaneous + fast interleaved mode + /// Dual, combined injected simultaneous + fast interleaved mode DualIJ = 0x3, - /// Dual, injected simultaneous mode only + /// Dual, injected simultaneous mode only DualJ = 0x5, - /// Dual, regular simultaneous mode only + /// Dual, regular simultaneous mode only DualR = 0x6, - /// dual, interleaved mode only + /// dual, interleaved mode only DualI = 0x7, - /// Dual, alternate trigger mode only + /// Dual, alternate trigger mode only DualA = 0x9, _, }; - /// Direct memory access mode for multi ADC mode + /// Direct memory access mode for multi ADC mode pub const MDMA = enum(u2) { - /// MDMA mode disabled + /// MDMA mode disabled Disabled = 0x0, - /// MDMA mode enabled for 12 and 10-bit resolution + /// MDMA mode enabled for 12 and 10-bit resolution Bits12_10 = 0x2, - /// MDMA mode enabled for 8 and 6-bit resolution + /// MDMA mode enabled for 8 and 6-bit resolution Bits8_6 = 0x3, _, }; - /// ADC common registers + /// ADC common registers pub const ADC_COMMON = extern struct { - /// ADC Common status register + /// ADC Common status register CSR: mmio.Mmio(packed struct(u32) { - /// Master ADC ready + /// Master ADC ready ADRDY_MST: u1, - /// End of sampling phase flag of the master ADC + /// End of sampling phase flag of the master ADC EOSMP_MST: u1, - /// End of regular conversion of the master ADC + /// End of regular conversion of the master ADC EOC_MST: u1, - /// End of regular sequence flag of the master ADC + /// End of regular sequence flag of the master ADC EOS_MST: u1, - /// Overrun flag of the master ADC + /// Overrun flag of the master ADC OVR_MST: u1, - /// End of injected conversion of the master ADC + /// End of injected conversion of the master ADC JEOC_MST: u1, - /// End of injected sequence flag of the master ADC + /// End of injected sequence flag of the master ADC JEOS: u1, - /// Analog watchdog flag of the master ADC + /// Analog watchdog flag of the master ADC AWD_MST: u1, reserved10: u2, - /// Injected context queue overflow flag of the master ADC + /// Injected context queue overflow flag of the master ADC JQOVF_MST: u1, reserved16: u5, - /// Slave ADC ready + /// Slave ADC ready ADRDY_SLV: u1, - /// End of sampling phase flag of the slave ADC + /// End of sampling phase flag of the slave ADC EOSMP_SLV: u1, - /// End of regular conversion of the slave ADC + /// End of regular conversion of the slave ADC EOC_SLV: u1, - /// End of regular sequence flag of the slave ADC + /// End of regular sequence flag of the slave ADC EOS_SLV: u1, - /// Overrun flag of the slave ADC + /// Overrun flag of the slave ADC OVR_SLV: u1, - /// End of injected conversion of the slave ADC + /// End of injected conversion of the slave ADC JEOC_SLV: u1, - /// End of injected sequence flag of the slave ADC + /// End of injected sequence flag of the slave ADC JEOS_SLV: u1, - /// Analog watchdog flag of the slave ADC + /// Analog watchdog flag of the slave ADC AWD_SLV: u1, reserved26: u2, - /// Injected context queue overflow flag of the slave ADC + /// Injected context queue overflow flag of the slave ADC JQOVF_SLV: u1, padding: u5, }), reserved8: [4]u8, - /// ADC common control register + /// ADC common control register CCR: mmio.Mmio(packed struct(u32) { - /// Dual ADC mode selection - DUAL: packed union { - raw: u5, - value: DUAL, - }, + /// Dual ADC mode selection + DUAL: DUAL, reserved8: u3, - /// Delay between 2 sampling phases + /// Delay between 2 sampling phases DELAY: u4, reserved13: u1, - /// Direct memory access configuration - DMACFG: packed union { - raw: u1, - value: DMACFG, - }, - /// Direct memory access mode for multi ADC mode - MDMA: packed union { - raw: u2, - value: MDMA, - }, - /// ADC clock mode - CKMODE: packed union { - raw: u2, - value: CKMODE, - }, + /// Direct memory access configuration + DMACFG: DMACFG, + /// Direct memory access mode for multi ADC mode + MDMA: MDMA, + /// ADC clock mode + CKMODE: CKMODE, reserved22: u4, - /// VREFINT enable + /// VREFINT enable VREFEN: u1, - /// Temperature sensor enable + /// Temperature sensor enable TSEN: u1, - /// VBAT enable + /// VBAT enable VBATEN: u1, padding: u7, }), - /// ADC common regular data register for dual and triple modes + /// ADC common regular data register for dual and triple modes CDR: mmio.Mmio(packed struct(u32) { - /// Regular data of the master ADC + /// Regular data of the master ADC RDATA_MST: u16, - /// Regular data of the master ADC + /// Regular data of the master ADC RDATA_SLV: u16, }), }; @@ -310451,429 +309989,390 @@ pub const types = struct { pub const adccommon_h5 = struct { pub const CKMODE = enum(u2) { - /// Use Kernel Clock adc_ker_ck_input divided by PRESC. Asynchronous to AHB clock + /// Use Kernel Clock adc_ker_ck_input divided by PRESC. Asynchronous to AHB clock Asynchronous = 0x0, - /// Use AHB clock rcc_hclk3. In this case rcc_hclk must equal sys_d1cpre_ck + /// Use AHB clock rcc_hclk3. In this case rcc_hclk must equal sys_d1cpre_ck SyncDiv1 = 0x1, - /// Use AHB clock rcc_hclk3 divided by 2 + /// Use AHB clock rcc_hclk3 divided by 2 SyncDiv2 = 0x2, - /// Use AHB clock rcc_hclk3 divided by 4 + /// Use AHB clock rcc_hclk3 divided by 4 SyncDiv4 = 0x3, }; pub const DMACFG = enum(u1) { - /// DMA One Shot mode selected + /// DMA One Shot mode selected OneShot = 0x0, - /// DMA Circular mode selected + /// DMA Circular mode selected Circular = 0x1, }; pub const DUAL = enum(u5) { - /// Independent mode + /// Independent mode Independent = 0x0, - /// Dual, combined regular simultaneous + injected simultaneous mode + /// Dual, combined regular simultaneous + injected simultaneous mode DualRJ = 0x1, - /// Dual, combined regular simultaneous + alternate trigger mode + /// Dual, combined regular simultaneous + alternate trigger mode DualRA = 0x2, - /// Dual, combined interleaved mode + injected simultaneous mode + /// Dual, combined interleaved mode + injected simultaneous mode DualIJ = 0x3, - /// Dual, injected simultaneous mode only + /// Dual, injected simultaneous mode only DualJ = 0x5, - /// Dual, regular simultaneous mode only + /// Dual, regular simultaneous mode only DualR = 0x6, - /// Dual, interleaved mode only + /// Dual, interleaved mode only DualI = 0x7, - /// Dual, alternate trigger mode only + /// Dual, alternate trigger mode only DualA = 0x9, _, }; pub const IDLEVALUE = enum(u4) { - /// Dummy channel selection is 0x13 + /// Dummy channel selection is 0x13 H13 = 0x0, - /// Dummy channel selection is 0x1F + /// Dummy channel selection is 0x1F H1F = 0x1, _, }; pub const MDMA = enum(u2) { - /// Without data packing, CDR/CDR2 not used + /// Without data packing, CDR/CDR2 not used NoPack = 0x0, - /// CDR formatted for 32-bit down to 10-bit resolution + /// CDR formatted for 32-bit down to 10-bit resolution Format32to10 = 0x2, - /// CDR formatted for 8-bit resolution + /// CDR formatted for 8-bit resolution Format8 = 0x3, _, }; pub const PRESC = enum(u4) { - /// adc_ker_ck_input not divided + /// adc_ker_ck_input not divided Div1 = 0x0, - /// adc_ker_ck_input divided by 2 + /// adc_ker_ck_input divided by 2 Div2 = 0x1, - /// adc_ker_ck_input divided by 4 + /// adc_ker_ck_input divided by 4 Div4 = 0x2, - /// adc_ker_ck_input divided by 6 + /// adc_ker_ck_input divided by 6 Div6 = 0x3, - /// adc_ker_ck_input divided by 8 + /// adc_ker_ck_input divided by 8 Div8 = 0x4, - /// adc_ker_ck_input divided by 10 + /// adc_ker_ck_input divided by 10 Div10 = 0x5, - /// adc_ker_ck_input divided by 12 + /// adc_ker_ck_input divided by 12 Div12 = 0x6, - /// adc_ker_ck_input divided by 16 + /// adc_ker_ck_input divided by 16 Div16 = 0x7, - /// adc_ker_ck_input divided by 32 + /// adc_ker_ck_input divided by 32 Div32 = 0x8, - /// adc_ker_ck_input divided by 64 + /// adc_ker_ck_input divided by 64 Div64 = 0x9, - /// adc_ker_ck_input divided by 128 + /// adc_ker_ck_input divided by 128 Div128 = 0xa, - /// adc_ker_ck_input divided by 256 + /// adc_ker_ck_input divided by 256 Div256 = 0xb, _, }; - /// ADC common registers + /// ADC common registers pub const ADC_COMMON = extern struct { - /// common status register + /// common status register CSR: mmio.Mmio(packed struct(u32) { - /// Master ADC ready This bit is a copy of the ADRDY bit in the corresponding ADC_ISR register. + /// Master ADC ready This bit is a copy of the ADRDY bit in the corresponding ADC_ISR register. ADRDY_MST: u1, - /// End of Sampling phase flag of the master ADC This bit is a copy of the EOSMP bit in the corresponding ADC_ISR register. + /// End of Sampling phase flag of the master ADC This bit is a copy of the EOSMP bit in the corresponding ADC_ISR register. EOSMP_MST: u1, - /// End of regular conversion of the master ADC This bit is a copy of the EOC bit in the corresponding ADC_ISR register. + /// End of regular conversion of the master ADC This bit is a copy of the EOC bit in the corresponding ADC_ISR register. EOC_MST: u1, - /// End of regular sequence flag of the master ADC This bit is a copy of the EOS bit in the corresponding ADC_ISR register. + /// End of regular sequence flag of the master ADC This bit is a copy of the EOS bit in the corresponding ADC_ISR register. EOS_MST: u1, - /// Overrun flag of the master ADC This bit is a copy of the OVR bit in the corresponding ADC_ISR register. + /// Overrun flag of the master ADC This bit is a copy of the OVR bit in the corresponding ADC_ISR register. OVR_MST: u1, - /// End of injected conversion flag of the master ADC This bit is a copy of the JEOC bit in the corresponding ADC_ISR register. + /// End of injected conversion flag of the master ADC This bit is a copy of the JEOC bit in the corresponding ADC_ISR register. JEOC_MST: u1, - /// End of injected sequence flag of the master ADC This bit is a copy of the JEOS bit in the corresponding ADC_ISR register. + /// End of injected sequence flag of the master ADC This bit is a copy of the JEOS bit in the corresponding ADC_ISR register. JEOS_MST: u1, - /// Analog watchdog 1 flag of the master ADC This bit is a copy of the AWD1 bit in the corresponding ADC_ISR register. + /// Analog watchdog 1 flag of the master ADC This bit is a copy of the AWD1 bit in the corresponding ADC_ISR register. AWD_MST: u1, reserved10: u2, - /// Injected Context Queue Overflow flag of the master ADC This bit is a copy of the JQOVF bit in the corresponding ADC_ISR register. + /// Injected Context Queue Overflow flag of the master ADC This bit is a copy of the JQOVF bit in the corresponding ADC_ISR register. JQOVF_MST: u1, reserved16: u5, - /// Slave ADC ready This bit is a copy of the ADRDY bit in the corresponding ADC_ISR register. + /// Slave ADC ready This bit is a copy of the ADRDY bit in the corresponding ADC_ISR register. ADRDY_SLV: u1, - /// End of Sampling phase flag of the slave ADC This bit is a copy of the EOSMP2 bit in the corresponding ADC_ISR register. + /// End of Sampling phase flag of the slave ADC This bit is a copy of the EOSMP2 bit in the corresponding ADC_ISR register. EOSMP_SLV: u1, - /// End of regular conversion of the slave ADC This bit is a copy of the EOC bit in the corresponding ADC_ISR register. + /// End of regular conversion of the slave ADC This bit is a copy of the EOC bit in the corresponding ADC_ISR register. EOC_SLV: u1, - /// End of regular sequence flag of the slave ADC. This bit is a copy of the EOS bit in the corresponding ADC_ISR register. + /// End of regular sequence flag of the slave ADC. This bit is a copy of the EOS bit in the corresponding ADC_ISR register. EOS_SLV: u1, - /// Overrun flag of the slave ADC This bit is a copy of the OVR bit in the corresponding ADC_ISR register. + /// Overrun flag of the slave ADC This bit is a copy of the OVR bit in the corresponding ADC_ISR register. OVR_SLV: u1, - /// End of injected conversion flag of the slave ADC This bit is a copy of the JEOC bit in the corresponding ADC_ISR register. + /// End of injected conversion flag of the slave ADC This bit is a copy of the JEOC bit in the corresponding ADC_ISR register. JEOC_SLV: u1, - /// End of injected sequence flag of the slave ADC This bit is a copy of the JEOS bit in the corresponding ADC_ISR register. + /// End of injected sequence flag of the slave ADC This bit is a copy of the JEOS bit in the corresponding ADC_ISR register. JEOS_SLV: u1, - /// Analog watchdog 1 flag of the slave ADC This bit is a copy of the AWD1 bit in the corresponding ADC_ISR register. + /// Analog watchdog 1 flag of the slave ADC This bit is a copy of the AWD1 bit in the corresponding ADC_ISR register. AWD_SLV: u1, reserved26: u2, - /// Injected Context Queue Overflow flag of the slave ADC This bit is a copy of the JQOVF bit in the corresponding ADC_ISR register. + /// Injected Context Queue Overflow flag of the slave ADC This bit is a copy of the JQOVF bit in the corresponding ADC_ISR register. JQOVF_SLV: u1, padding: u5, }), reserved8: [4]u8, - /// common control register + /// common control register CCR: mmio.Mmio(packed struct(u32) { - /// Dual ADC mode selection These bits are written by software to select the operating mode. 0 value means Independent Mode. Values 00001 to 01001 means Dual mode, master and slave ADCs are working together. All other combinations are reserved and must not be programmed Note: The software is allowed to write these bits only when the ADCs are disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). - DUAL: packed union { - raw: u5, - value: DUAL, - }, + /// Dual ADC mode selection These bits are written by software to select the operating mode. 0 value means Independent Mode. Values 00001 to 01001 means Dual mode, master and slave ADCs are working together. All other combinations are reserved and must not be programmed Note: The software is allowed to write these bits only when the ADCs are disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). + DUAL: DUAL, reserved8: u3, - /// Delay between 2 sampling phases These bits are set and cleared by software. These bits are used in dual interleaved modes. Refer to for the value of ADC resolution versus DELAY bits values. Note: The software is allowed to write these bits only when the ADCs are disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). + /// Delay between 2 sampling phases These bits are set and cleared by software. These bits are used in dual interleaved modes. Refer to for the value of ADC resolution versus DELAY bits values. Note: The software is allowed to write these bits only when the ADCs are disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). DELAY: u4, reserved13: u1, - /// DMA configuration (for dual ADC mode) This bit is set and cleared by software to select between two DMA modes of operation and is effective only when DMAEN = 1. For more details, refer to Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). - DMACFG: packed union { - raw: u1, - value: DMACFG, - }, - /// Direct memory access mode for dual ADC mode This bitfield is set and cleared by software. Refer to the DMA controller section for more details. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). - MDMA: packed union { - raw: u2, - value: MDMA, - }, - /// ADC clock mode These bits are set and cleared by software to define the ADC clock scheme (which is common to both master and slave ADCs): In all synchronous clock modes, there is no jitter in the delay from a timer trigger to the start of a conversion. Note: The software is allowed to write these bits only when the ADCs are disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). - CKMODE: packed union { - raw: u2, - value: CKMODE, - }, - /// ADC prescaler These bits are set and cleared by software to select the frequency of the clock to the ADC. The clock is common for all the ADCs. other: reserved Note: The software is allowed to write these bits only when the ADC is disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). The ADC prescaler value is applied only when CKMODE[1:0] = 0b00. - PRESC: packed union { - raw: u4, - value: PRESC, - }, - /// VREFINT enable This bit is set and cleared by software to enable/disable the VREFINT channel + /// DMA configuration (for dual ADC mode) This bit is set and cleared by software to select between two DMA modes of operation and is effective only when DMAEN = 1. For more details, refer to Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + DMACFG: DMACFG, + /// Direct memory access mode for dual ADC mode This bitfield is set and cleared by software. Refer to the DMA controller section for more details. Note: The software is allowed to write these bits only when ADSTART = 0 (which ensures that no regular conversion is ongoing). + MDMA: MDMA, + /// ADC clock mode These bits are set and cleared by software to define the ADC clock scheme (which is common to both master and slave ADCs): In all synchronous clock modes, there is no jitter in the delay from a timer trigger to the start of a conversion. Note: The software is allowed to write these bits only when the ADCs are disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). + CKMODE: CKMODE, + /// ADC prescaler These bits are set and cleared by software to select the frequency of the clock to the ADC. The clock is common for all the ADCs. other: reserved Note: The software is allowed to write these bits only when the ADC is disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). The ADC prescaler value is applied only when CKMODE[1:0] = 0b00. + PRESC: PRESC, + /// VREFINT enable This bit is set and cleared by software to enable/disable the VREFINT channel VREFEN: u1, - /// VSENSE enable This bit is set and cleared by software to control VSENSE + /// VSENSE enable This bit is set and cleared by software to control VSENSE TSEN: u1, - /// VBAT enable This bit is set and cleared by software to control + /// VBAT enable This bit is set and cleared by software to control VBATEN: u1, padding: u7, }), - /// common regular data register for dual mode + /// common regular data register for dual mode CDR: mmio.Mmio(packed struct(u32) { - /// Regular data of the master ADC. In dual mode, these bits contain the regular data of the master ADC. Refer to . The data alignment is applied as described in offset (ADC_DR, OFFSET, OFFSET_CH, ALIGN)) In MDMA = 0b11 mode, bits 15:8 contains SLV_ADC_DR[7:0], bits 7:0 contains MST_ADC_DR[7:0]. + /// Regular data of the master ADC. In dual mode, these bits contain the regular data of the master ADC. Refer to . The data alignment is applied as described in offset (ADC_DR, OFFSET, OFFSET_CH, ALIGN)) In MDMA = 0b11 mode, bits 15:8 contains SLV_ADC_DR[7:0], bits 7:0 contains MST_ADC_DR[7:0]. RDATA_MST: u16, - /// Regular data of the slave ADC In dual mode, these bits contain the regular data of the slave ADC. Refer to Dual ADC modes. The data alignment is applied as described in offset (ADC_DR, OFFSET, OFFSET_CH, ALIGN)). + /// Regular data of the slave ADC In dual mode, these bits contain the regular data of the slave ADC. Refer to Dual ADC modes. The data alignment is applied as described in offset (ADC_DR, OFFSET, OFFSET_CH, ALIGN)). RDATA_SLV: u16, }), reserved240: [224]u8, - /// hardware configuration register + /// hardware configuration register HWCFGR0: mmio.Mmio(packed struct(u32) { - /// Number of ADCs implemented + /// Number of ADCs implemented ADCNUM: u4, - /// Number of pipeline stages + /// Number of pipeline stages MULPIPE: u4, - /// Number of option bits 0002: 2 option bits implemented in the ADC option register (ADC_OR) at address offset 0xC8. + /// Number of option bits 0002: 2 option bits implemented in the ADC option register (ADC_OR) at address offset 0xC8. OPBITS: u4, - /// Idle value for non-selected channels - IDLEVALUE: packed union { - raw: u4, - value: IDLEVALUE, - }, + /// Idle value for non-selected channels + IDLEVALUE: IDLEVALUE, padding: u16, }), - /// version register + /// version register VERR: mmio.Mmio(packed struct(u32) { - /// Minor revision These bits returns the ADC IP minor revision 0002: Major revision = X.2. + /// Minor revision These bits returns the ADC IP minor revision 0002: Major revision = X.2. MINREV: u4, - /// Major revision These bits returns the ADC IP major revision + /// Major revision These bits returns the ADC IP major revision MAJREV: u4, padding: u24, }), - /// identification register + /// identification register IPDR: u32, - /// size identification register + /// size identification register SIDR: u32, }; }; pub const adccommon_h50 = struct { pub const CKMODE = enum(u2) { - /// Use Kernel Clock adc_ker_ck_input divided by PRESC. Asynchronous to AHB clock + /// Use Kernel Clock adc_ker_ck_input divided by PRESC. Asynchronous to AHB clock Asynchronous = 0x0, - /// Use AHB clock rcc_hclk3. In this case rcc_hclk must equal sys_d1cpre_ck + /// Use AHB clock rcc_hclk3. In this case rcc_hclk must equal sys_d1cpre_ck SyncDiv1 = 0x1, - /// Use AHB clock rcc_hclk3 divided by 2 + /// Use AHB clock rcc_hclk3 divided by 2 SyncDiv2 = 0x2, - /// Use AHB clock rcc_hclk3 divided by 4 + /// Use AHB clock rcc_hclk3 divided by 4 SyncDiv4 = 0x3, }; pub const IDLEVALUE = enum(u4) { - /// Dummy channel selection is 0x13 + /// Dummy channel selection is 0x13 H13 = 0x0, - /// Dummy channel selection is 0x1F + /// Dummy channel selection is 0x1F H1F = 0x1, _, }; pub const PRESC = enum(u4) { - /// adc_ker_ck_input not divided + /// adc_ker_ck_input not divided Div1 = 0x0, - /// adc_ker_ck_input divided by 2 + /// adc_ker_ck_input divided by 2 Div2 = 0x1, - /// adc_ker_ck_input divided by 4 + /// adc_ker_ck_input divided by 4 Div4 = 0x2, - /// adc_ker_ck_input divided by 6 + /// adc_ker_ck_input divided by 6 Div6 = 0x3, - /// adc_ker_ck_input divided by 8 + /// adc_ker_ck_input divided by 8 Div8 = 0x4, - /// adc_ker_ck_input divided by 10 + /// adc_ker_ck_input divided by 10 Div10 = 0x5, - /// adc_ker_ck_input divided by 12 + /// adc_ker_ck_input divided by 12 Div12 = 0x6, - /// adc_ker_ck_input divided by 16 + /// adc_ker_ck_input divided by 16 Div16 = 0x7, - /// adc_ker_ck_input divided by 32 + /// adc_ker_ck_input divided by 32 Div32 = 0x8, - /// adc_ker_ck_input divided by 64 + /// adc_ker_ck_input divided by 64 Div64 = 0x9, - /// adc_ker_ck_input divided by 128 + /// adc_ker_ck_input divided by 128 Div128 = 0xa, - /// adc_ker_ck_input divided by 256 + /// adc_ker_ck_input divided by 256 Div256 = 0xb, _, }; - /// ADC common registers + /// ADC common registers pub const ADC_COMMON = extern struct { reserved8: [8]u8, - /// common control register + /// common control register CCR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// ADC clock mode These bits are set and cleared by software to define the ADC clock scheme (which is common to both master and slave ADCs): In all synchronous clock modes, there is no jitter in the delay from a timer trigger to the start of a conversion. Note: The software is allowed to write these bits only when the ADCs are disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). - CKMODE: packed union { - raw: u2, - value: CKMODE, - }, - /// ADC prescaler These bits are set and cleared by software to select the frequency of the clock to the ADC. The clock is common for all the ADCs. other: reserved Note: The software is allowed to write these bits only when the ADC is disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). The ADC prescaler value is applied only when CKMODE[1:0] = 0b00. - PRESC: packed union { - raw: u4, - value: PRESC, - }, - /// VREFINT enable This bit is set and cleared by software to enable/disable the VREFINT channel + /// ADC clock mode These bits are set and cleared by software to define the ADC clock scheme (which is common to both master and slave ADCs): In all synchronous clock modes, there is no jitter in the delay from a timer trigger to the start of a conversion. Note: The software is allowed to write these bits only when the ADCs are disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). + CKMODE: CKMODE, + /// ADC prescaler These bits are set and cleared by software to select the frequency of the clock to the ADC. The clock is common for all the ADCs. other: reserved Note: The software is allowed to write these bits only when the ADC is disabled (ADCAL = 0, JADSTART = 0, ADSTART = 0, ADSTP = 0, ADDIS = 0 and ADEN = 0). The ADC prescaler value is applied only when CKMODE[1:0] = 0b00. + PRESC: PRESC, + /// VREFINT enable This bit is set and cleared by software to enable/disable the VREFINT channel VREFEN: u1, - /// VSENSE enable This bit is set and cleared by software to control VSENSE + /// VSENSE enable This bit is set and cleared by software to control VSENSE TSEN: u1, - /// VBAT enable This bit is set and cleared by software to control + /// VBAT enable This bit is set and cleared by software to control VBATEN: u1, padding: u7, }), reserved240: [228]u8, - /// hardware configuration register + /// hardware configuration register HWCFGR0: mmio.Mmio(packed struct(u32) { - /// Number of ADCs implemented + /// Number of ADCs implemented ADCNUM: u4, - /// Number of pipeline stages + /// Number of pipeline stages MULPIPE: u4, - /// Number of option bits 0002: 2 option bits implemented in the ADC option register (ADC_OR) at address offset 0xC8. + /// Number of option bits 0002: 2 option bits implemented in the ADC option register (ADC_OR) at address offset 0xC8. OPBITS: u4, - /// Idle value for non-selected channels - IDLEVALUE: packed union { - raw: u4, - value: IDLEVALUE, - }, + /// Idle value for non-selected channels + IDLEVALUE: IDLEVALUE, padding: u16, }), - /// version register + /// version register VERR: mmio.Mmio(packed struct(u32) { - /// Minor revision These bits returns the ADC IP minor revision 0002: Major revision = X.2. + /// Minor revision These bits returns the ADC IP minor revision 0002: Major revision = X.2. MINREV: u4, - /// Major revision These bits returns the ADC IP major revision + /// Major revision These bits returns the ADC IP major revision MAJREV: u4, padding: u24, }), - /// identification register + /// identification register IPDR: u32, - /// size identification register + /// size identification register SIDR: u32, }; }; pub const adccommon_v2 = struct { pub const ADCPRE = enum(u2) { - /// PCLK2 divided by 2 + /// PCLK2 divided by 2 Div2 = 0x0, - /// PCLK2 divided by 4 + /// PCLK2 divided by 4 Div4 = 0x1, - /// PCLK2 divided by 6 + /// PCLK2 divided by 6 Div6 = 0x2, - /// PCLK2 divided by 8 + /// PCLK2 divided by 8 Div8 = 0x3, }; pub const DDS = enum(u1) { - /// No new DMA request is issued after the last transfer + /// No new DMA request is issued after the last transfer Single = 0x0, - /// DMA requests are issued as long as data are converted and DMA=01, 10 or 11 + /// DMA requests are issued as long as data are converted and DMA=01, 10 or 11 Continuous = 0x1, }; pub const DMA = enum(u2) { - /// DMA mode disabled + /// DMA mode disabled Disabled = 0x0, - /// DMA mode 1 enabled (2 / 3 half-words one by one - 1 then 2 then 3) + /// DMA mode 1 enabled (2 / 3 half-words one by one - 1 then 2 then 3) Mode1 = 0x1, - /// DMA mode 2 enabled (2 / 3 half-words by pairs - 2&1 then 1&3 then 3&2) + /// DMA mode 2 enabled (2 / 3 half-words by pairs - 2&1 then 1&3 then 3&2) Mode2 = 0x2, - /// DMA mode 3 enabled (2 / 3 half-words by pairs - 2&1 then 1&3 then 3&2) + /// DMA mode 3 enabled (2 / 3 half-words by pairs - 2&1 then 1&3 then 3&2) Mode3 = 0x3, }; pub const MULTI = enum(u5) { - /// All the ADCs independent: independent mode + /// All the ADCs independent: independent mode Independent = 0x0, - /// Dual ADC1 and ADC2, combined regular and injected simultaneous mode + /// Dual ADC1 and ADC2, combined regular and injected simultaneous mode DualRJ = 0x1, - /// Dual ADC1 and ADC2, combined regular and alternate trigger mode + /// Dual ADC1 and ADC2, combined regular and alternate trigger mode DualRA = 0x2, - /// Dual ADC1 and ADC2, injected simultaneous mode only + /// Dual ADC1 and ADC2, injected simultaneous mode only DualJ = 0x5, - /// Dual ADC1 and ADC2, regular simultaneous mode only + /// Dual ADC1 and ADC2, regular simultaneous mode only DualR = 0x6, - /// Dual ADC1 and ADC2, interleaved mode only + /// Dual ADC1 and ADC2, interleaved mode only DualI = 0x7, - /// Dual ADC1 and ADC2, alternate trigger mode only + /// Dual ADC1 and ADC2, alternate trigger mode only DualA = 0x9, - /// Triple ADC, regular and injected simultaneous mode + /// Triple ADC, regular and injected simultaneous mode TripleRJ = 0x11, - /// Triple ADC, regular and alternate trigger mode + /// Triple ADC, regular and alternate trigger mode TripleRA = 0x12, - /// Triple ADC, injected simultaneous mode only + /// Triple ADC, injected simultaneous mode only TripleJ = 0x15, - /// Triple ADC, regular simultaneous mode only + /// Triple ADC, regular simultaneous mode only TripleR = 0x16, - /// Triple ADC, interleaved mode only + /// Triple ADC, interleaved mode only TripleI = 0x17, - /// Triple ADC, alternate trigger mode only + /// Triple ADC, alternate trigger mode only TripleA = 0x18, _, }; - /// ADC common registers + /// ADC common registers pub const ADC_COMMON = extern struct { - /// ADC Common status register + /// ADC Common status register CSR: mmio.Mmio(packed struct(u32) { - /// Analog watchdog event occurred + /// Analog watchdog event occurred AWD: u1, - /// End of conversion of ADC + /// End of conversion of ADC EOC: u1, - /// Injected channel end of conversion of ADC + /// Injected channel end of conversion of ADC JEOC: u1, - /// Injected channel conversion started + /// Injected channel conversion started JSTRT: u1, - /// regular channel conversion started + /// regular channel conversion started STRT: u1, - /// Overrun occurred + /// Overrun occurred OVR: u1, padding: u26, }), - /// ADC common control register + /// ADC common control register CCR: mmio.Mmio(packed struct(u32) { - /// Multi ADC mode selection - MULTI: packed union { - raw: u5, - value: MULTI, - }, + /// Multi ADC mode selection + MULTI: MULTI, reserved8: u3, - /// Delay between 2 sampling phases + /// Delay between 2 sampling phases DELAY: u4, reserved13: u1, - /// DMA disable selection for multi-ADC mode - DDS: packed union { - raw: u1, - value: DDS, - }, - /// Direct memory access mode for multi ADC mode - DMA: packed union { - raw: u2, - value: DMA, - }, - /// ADC prescaler - ADCPRE: packed union { - raw: u2, - value: ADCPRE, - }, + /// DMA disable selection for multi-ADC mode + DDS: DDS, + /// Direct memory access mode for multi ADC mode + DMA: DMA, + /// ADC prescaler + ADCPRE: ADCPRE, reserved22: u4, - /// VBAT enable + /// VBAT enable VBATE: u1, - /// Temperature sensor and VREFINT enable + /// Temperature sensor and VREFINT enable TSVREFE: u1, padding: u8, }), - /// ADC common regular data register for dual and triple modes + /// ADC common regular data register for dual and triple modes CDR: mmio.Mmio(packed struct(u32) { - /// 1st data item of a pair of regular conversions + /// 1st data item of a pair of regular conversions DATA: u16, padding: u16, }), @@ -310882,89 +310381,86 @@ pub const types = struct { pub const adccommon_v3 = struct { pub const DMACFG = enum(u1) { - /// DMA One Shot mode selected + /// DMA One Shot mode selected OneShot = 0x0, - /// DMA Circular mode selected + /// DMA Circular mode selected Circular = 0x1, }; - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC_COMMON = extern struct { - /// ADC Common status register + /// ADC Common status register CSR: mmio.Mmio(packed struct(u32) { - /// ADDRDY_MST + /// ADDRDY_MST ADDRDY_MST: u1, - /// EOSMP_MST + /// EOSMP_MST EOSMP_MST: u1, - /// EOC_MST + /// EOC_MST EOC_MST: u1, - /// EOS_MST + /// EOS_MST EOS_MST: u1, - /// OVR_MST + /// OVR_MST OVR_MST: u1, - /// JEOC_MST + /// JEOC_MST JEOC_MST: u1, - /// JEOS_MST + /// JEOS_MST JEOS_MST: u1, - /// Analog watchdog flag of the master ADC + /// Analog watchdog flag of the master ADC AWD_MST: u1, reserved10: u2, - /// JQOVF_MST + /// JQOVF_MST JQOVF_MST: u1, reserved16: u5, - /// ADRDY_SLV + /// ADRDY_SLV ADRDY_SLV: u1, - /// EOSMP_SLV + /// EOSMP_SLV EOSMP_SLV: u1, - /// End of regular conversion of the slave ADC + /// End of regular conversion of the slave ADC EOC_SLV: u1, - /// End of regular sequence flag of the slave ADC + /// End of regular sequence flag of the slave ADC EOS_SLV: u1, - /// Overrun flag of the slave ADC + /// Overrun flag of the slave ADC OVR_SLV: u1, - /// End of injected conversion flag of the slave ADC + /// End of injected conversion flag of the slave ADC JEOC_SLV: u1, - /// End of injected sequence flag of the slave ADC + /// End of injected sequence flag of the slave ADC JEOS_SLV: u1, - /// Analog watchdog 1 flag of the slave ADC + /// Analog watchdog 1 flag of the slave ADC AWD_SLV: u1, reserved26: u2, - /// Injected Context Queue Overflow flag of the slave ADC + /// Injected Context Queue Overflow flag of the slave ADC JQOVF_SLV: u1, padding: u5, }), reserved8: [4]u8, - /// ADC common control register + /// ADC common control register CCR: mmio.Mmio(packed struct(u32) { - /// Multi ADC mode selection + /// Multi ADC mode selection MULT: u5, reserved8: u3, - /// Delay between 2 sampling phases + /// Delay between 2 sampling phases DELAY: u4, reserved13: u1, - /// Direct memory access configuration - DMACFG: packed union { - raw: u1, - value: DMACFG, - }, - /// Direct memory access mode for multi ADC mode + /// Direct memory access configuration + DMACFG: DMACFG, + /// Direct memory access mode for multi ADC mode MDMA: u2, - /// ADC clock mode + /// ADC clock mode CKMODE: u2, reserved22: u4, - /// VREFINT enable + /// VREFINT enable VREFEN: u1, - /// CH18 selection (Vbat) + /// CH18 selection (Vbat) CH18SEL: u1, - /// CH17 selection (temperature) + /// CH17 selection (temperature) CH17SEL: u1, padding: u7, }), - /// ADC common regular data register for dual and triple modes + /// ADC common regular data register for dual and triple modes CDR: mmio.Mmio(packed struct(u32) { - /// Regular data of the master ADC + /// Regular data of the master ADC RDATA_MST: u16, - /// Regular data of the slave ADC + /// Regular data of the slave ADC RDATA_SLV: u16, }), }; @@ -310972,816 +310468,729 @@ pub const types = struct { pub const adccommon_v4 = struct { pub const CKMODE = enum(u2) { - /// Use Kernel Clock adc_ker_ck_input divided by PRESC. Asynchronous to AHB clock + /// Use Kernel Clock adc_ker_ck_input divided by PRESC. Asynchronous to AHB clock Asynchronous = 0x0, - /// Use AHB clock rcc_hclk3. In this case rcc_hclk must equal sys_d1cpre_ck + /// Use AHB clock rcc_hclk3. In this case rcc_hclk must equal sys_d1cpre_ck SyncDiv1 = 0x1, - /// Use AHB clock rcc_hclk3 divided by 2 + /// Use AHB clock rcc_hclk3 divided by 2 SyncDiv2 = 0x2, - /// Use AHB clock rcc_hclk3 divided by 4 + /// Use AHB clock rcc_hclk3 divided by 4 SyncDiv4 = 0x3, }; pub const DAMDF = enum(u2) { - /// Without data packing, CDR/CDR2 not used + /// Without data packing, CDR/CDR2 not used NoPack = 0x0, - /// CDR formatted for 32-bit down to 10-bit resolution + /// CDR formatted for 32-bit down to 10-bit resolution Format32to10 = 0x2, - /// CDR formatted for 8-bit resolution + /// CDR formatted for 8-bit resolution Format8 = 0x3, _, }; pub const DUAL = enum(u5) { - /// Independent mode + /// Independent mode Independent = 0x0, - /// Dual, combined regular simultaneous + injected simultaneous mode + /// Dual, combined regular simultaneous + injected simultaneous mode DualRJ = 0x1, - /// Dual, combined regular simultaneous + alternate trigger mode + /// Dual, combined regular simultaneous + alternate trigger mode DualRA = 0x2, - /// Dual, combined interleaved mode + injected simultaneous mode + /// Dual, combined interleaved mode + injected simultaneous mode DualIJ = 0x3, - /// Dual, injected simultaneous mode only + /// Dual, injected simultaneous mode only DualJ = 0x5, - /// Dual, regular simultaneous mode only + /// Dual, regular simultaneous mode only DualR = 0x6, - /// Dual, interleaved mode only + /// Dual, interleaved mode only DualI = 0x7, - /// Dual, alternate trigger mode only + /// Dual, alternate trigger mode only DualA = 0x9, _, }; pub const PRESC = enum(u4) { - /// adc_ker_ck_input not divided + /// adc_ker_ck_input not divided Div1 = 0x0, - /// adc_ker_ck_input divided by 2 + /// adc_ker_ck_input divided by 2 Div2 = 0x1, - /// adc_ker_ck_input divided by 4 + /// adc_ker_ck_input divided by 4 Div4 = 0x2, - /// adc_ker_ck_input divided by 6 + /// adc_ker_ck_input divided by 6 Div6 = 0x3, - /// adc_ker_ck_input divided by 8 + /// adc_ker_ck_input divided by 8 Div8 = 0x4, - /// adc_ker_ck_input divided by 10 + /// adc_ker_ck_input divided by 10 Div10 = 0x5, - /// adc_ker_ck_input divided by 12 + /// adc_ker_ck_input divided by 12 Div12 = 0x6, - /// adc_ker_ck_input divided by 16 + /// adc_ker_ck_input divided by 16 Div16 = 0x7, - /// adc_ker_ck_input divided by 32 + /// adc_ker_ck_input divided by 32 Div32 = 0x8, - /// adc_ker_ck_input divided by 64 + /// adc_ker_ck_input divided by 64 Div64 = 0x9, - /// adc_ker_ck_input divided by 128 + /// adc_ker_ck_input divided by 128 Div128 = 0xa, - /// adc_ker_ck_input divided by 256 + /// adc_ker_ck_input divided by 256 Div256 = 0xb, _, }; - /// Analog-to-Digital Converter + /// Analog-to-Digital Converter pub const ADC_COMMON = extern struct { - /// ADC Common status register + /// ADC Common status register CSR: mmio.Mmio(packed struct(u32) { - /// Master ADC ready + /// Master ADC ready ADRDY_MST: u1, - /// End of Sampling phase flag of the master ADC + /// End of Sampling phase flag of the master ADC EOSMP_MST: u1, - /// End of regular conversion of the master ADC + /// End of regular conversion of the master ADC EOC_MST: u1, - /// End of regular sequence flag of the master ADC + /// End of regular sequence flag of the master ADC EOS_MST: u1, - /// Overrun flag of the master ADC + /// Overrun flag of the master ADC OVR_MST: u1, - /// End of injected conversion flag of the master ADC + /// End of injected conversion flag of the master ADC JEOC_MST: u1, - /// End of injected sequence flag of the master ADC + /// End of injected sequence flag of the master ADC JEOS_MST: u1, - /// Analog watchdog flag of the master ADC + /// Analog watchdog flag of the master ADC AWD_MST: u1, reserved10: u2, - /// Injected Context Queue Overflow flag of the master ADC + /// Injected Context Queue Overflow flag of the master ADC JQOVF_MST: u1, reserved16: u5, - /// Slave ADC ready + /// Slave ADC ready ADRDY_SLV: u1, - /// End of Sampling phase flag of the slave ADC + /// End of Sampling phase flag of the slave ADC EOSMP_SLV: u1, - /// End of regular conversion of the slave ADC + /// End of regular conversion of the slave ADC EOC_SLV: u1, - /// End of regular sequence flag of the slave ADC + /// End of regular sequence flag of the slave ADC EOS_SLV: u1, - /// Overrun flag of the slave ADC + /// Overrun flag of the slave ADC OVR_SLV: u1, - /// End of injected conversion flag of the slave ADC + /// End of injected conversion flag of the slave ADC JEOC_SLV: u1, - /// End of injected sequence flag of the slave ADC + /// End of injected sequence flag of the slave ADC JEOS_SLV: u1, - /// Analog watchdog flag of the slave ADC + /// Analog watchdog flag of the slave ADC AWD_SLV: u1, reserved26: u2, - /// Injected Context Queue Overflow flag of the slave ADC + /// Injected Context Queue Overflow flag of the slave ADC JQOVF_SLV: u1, padding: u5, }), reserved8: [4]u8, - /// ADC common control register + /// ADC common control register CCR: mmio.Mmio(packed struct(u32) { - /// Dual ADC mode selection - DUAL: packed union { - raw: u5, - value: DUAL, - }, + /// Dual ADC mode selection + DUAL: DUAL, reserved8: u3, - /// Delay between 2 sampling phases + /// Delay between 2 sampling phases DELAY: u4, reserved14: u2, - /// Dual ADC Mode Data Format - DAMDF: packed union { - raw: u2, - value: DAMDF, - }, - /// ADC clock mode - CKMODE: packed union { - raw: u2, - value: CKMODE, - }, - /// ADC prescaler - PRESC: packed union { - raw: u4, - value: PRESC, - }, - /// VREFINT enable + /// Dual ADC Mode Data Format + DAMDF: DAMDF, + /// ADC clock mode + CKMODE: CKMODE, + /// ADC prescaler + PRESC: PRESC, + /// VREFINT enable VREFEN: u1, - /// Temperature sensor enable + /// Temperature sensor enable VSENSEEN: u1, - /// VBAT enable + /// VBAT enable VBATEN: u1, padding: u7, }), - /// ADC common regular data register for dual and triple modes + /// ADC common regular data register for dual and triple modes CDR: mmio.Mmio(packed struct(u32) { - /// Regular data of the master ADC + /// Regular data of the master ADC RDATA_MST: u16, - /// Regular data of the slave ADC + /// Regular data of the slave ADC RDATA_SLV: u16, }), - /// ADC x common regular data register for 32-bit dual mode + /// ADC x common regular data register for 32-bit dual mode CDR2: mmio.Mmio(packed struct(u32) { - /// Regular data of the master/slave alternated ADCs + /// Regular data of the master/slave alternated ADCs RDATA_ALT: u32, }), }; }; pub const adf_v1 = struct { - /// DFLT trigger mode. This bitfield is set and cleared by software. It is used to select the trigger mode of the DFLT0. + /// DFLT trigger mode. This bitfield is set and cleared by software. It is used to select the trigger mode of the DFLT0. pub const ACQMOD = enum(u3) { - /// Asynchronous continuous acquisition mode. + /// Asynchronous continuous acquisition mode. AsynchronousContinuous = 0x0, - /// Asynchronous single-shot acquisition mode + /// Asynchronous single-shot acquisition mode AsynchronousSingleShot = 0x1, - /// Synchronous continuous acquisition mode. + /// Synchronous continuous acquisition mode. SyncronousContinuous = 0x2, - /// Synchronous single-shot acquisition mode. + /// Synchronous single-shot acquisition mode. SyncronousSingleShot = 0x3, - /// Window continuous acquisition mode. + /// Window continuous acquisition mode. WindowContinuous = 0x4, _, }; - /// Bitstream selection. This bitfield is set and cleared by software. It is used to select the bitstream to be used by the DFLT0. + /// Bitstream selection. This bitfield is set and cleared by software. It is used to select the bitstream to be used by the DFLT0. pub const BSSEL = enum(u5) { - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS0_R = 0x0, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS0_F = 0x1, - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS1_R = 0x2, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS1_F = 0x3, - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS2_R = 0x4, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS2_F = 0x5, - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS3_R = 0x6, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS3_F = 0x7, - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS4_R = 0x8, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS4_F = 0x9, - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS5_R = 0xa, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS5_F = 0xb, - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS6_R = 0xc, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS6_F = 0xd, - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS7_R = 0xe, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS7_F = 0xf, - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS8_R = 0x10, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS8_F = 0x11, - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS9_R = 0x12, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS9_F = 0x13, - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS10_R = 0x14, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS10_F = 0x15, - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS11_R = 0x16, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS11_F = 0x17, - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS12_R = 0x18, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS12_F = 0x19, - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS13_R = 0x1a, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS13_F = 0x1b, - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS14_R = 0x1c, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS14_F = 0x1d, - /// bsx_r provided to DFLTy (and SCDy). + /// bsx_r provided to DFLTy (and SCDy). BS15_R = 0x1e, - /// bsx_f provided to DFLTy (and SCDy). + /// bsx_f provided to DFLTy (and SCDy). BS15_F = 0x1f, }; - /// CCK1 direction. This bit is set and reset by software. It is used to control the direction of the ADF_CCK1 pin. + /// CCK1 direction. This bit is set and reset by software. It is used to control the direction of the ADF_CCK1 pin. pub const CCKDIR = enum(u1) { - /// CCK is an input. + /// CCK is an input. Input = 0x0, - /// CCK is an output. + /// CCK is an output. Output = 0x1, }; - /// Divider to control the CCK clock. This bit is set and reset by software. It is used to control the frequency of the bitstream clock on the CCK pin. + /// Divider to control the CCK clock. This bit is set and reset by software. It is used to control the frequency of the bitstream clock on the CCK pin. pub const CCKDIV = enum(u4) { - /// The ADF_CCK clock is adf_proc_ck. + /// The ADF_CCK clock is adf_proc_ck. DIV1 = 0x0, - /// The ADF_CCK clock is adf_proc_ck divided by 2. + /// The ADF_CCK clock is adf_proc_ck divided by 2. DIV2 = 0x1, - /// The ADF_CCK clock is adf_proc_ck divided by 3. + /// The ADF_CCK clock is adf_proc_ck divided by 3. DIV3 = 0x2, - /// The ADF_CCK clock is adf_proc_ck divided by 4. + /// The ADF_CCK clock is adf_proc_ck divided by 4. DIV4 = 0x3, - /// The ADF_CCK clock is adf_proc_ck divided by 5. + /// The ADF_CCK clock is adf_proc_ck divided by 5. DIV5 = 0x4, - /// The ADF_CCK clock is adf_proc_ck divided by 6. + /// The ADF_CCK clock is adf_proc_ck divided by 6. DIV6 = 0x5, - /// The ADF_CCK clock is adf_proc_ck divided by 7. + /// The ADF_CCK clock is adf_proc_ck divided by 7. DIV7 = 0x6, - /// The ADF_CCK clock is adf_proc_ck divided by 8. + /// The ADF_CCK clock is adf_proc_ck divided by 8. DIV8 = 0x7, - /// The ADF_CCK clock is adf_proc_ck divided by 9. + /// The ADF_CCK clock is adf_proc_ck divided by 9. DIV9 = 0x8, - /// The ADF_CCK clock is adf_proc_ck divided by 10. + /// The ADF_CCK clock is adf_proc_ck divided by 10. DIV10 = 0x9, - /// The ADF_CCK clock is adf_proc_ck divided by 11. + /// The ADF_CCK clock is adf_proc_ck divided by 11. DIV11 = 0xa, - /// The ADF_CCK clock is adf_proc_ck divided by 12. + /// The ADF_CCK clock is adf_proc_ck divided by 12. DIV12 = 0xb, - /// The ADF_CCK clock is adf_proc_ck divided by 13. + /// The ADF_CCK clock is adf_proc_ck divided by 13. DIV13 = 0xc, - /// The ADF_CCK clock is adf_proc_ck divided by 14. + /// The ADF_CCK clock is adf_proc_ck divided by 14. DIV14 = 0xd, - /// The ADF_CCK clock is adf_proc_ck divided by 15. + /// The ADF_CCK clock is adf_proc_ck divided by 15. DIV15 = 0xe, - /// The ADF_CCK clock is adf_proc_ck divided by 16. + /// The ADF_CCK clock is adf_proc_ck divided by 16. DIV16 = 0xf, }; - /// CCK clock enable. This bit is set and reset by software. It is used to control the generation of the bitstream clock on the CCK pin. + /// CCK clock enable. This bit is set and reset by software. It is used to control the generation of the bitstream clock on the CCK pin. pub const CCKEN = enum(u1) { - /// Bitstream clock not generated. + /// Bitstream clock not generated. NotGenerated = 0x0, - /// Bitstream clock generated on the CCK pin. + /// Bitstream clock generated on the CCK pin. Generated = 0x1, }; - /// Select the CIC order. This bitfield is set and cleared by software. It is used to select the MCIC order. + /// Select the CIC order. This bitfield is set and cleared by software. It is used to select the MCIC order. pub const CICMOD = enum(u3) { - /// MCIC configured in single Sinc4 filter. + /// MCIC configured in single Sinc4 filter. SINC4 = 0x4, - /// MCIC configured in single Sinc5 filter. + /// MCIC configured in single Sinc5 filter. SINC5 = 0x5, _, }; - /// Clock generator mode. This bit is set and reset by software. It is used to define the way the clock generator is enabled. This bit must not be changed if the filter is enabled (DFTEN = 1). + /// Clock generator mode. This bit is set and reset by software. It is used to define the way the clock generator is enabled. This bit must not be changed if the filter is enabled (DFTEN = 1). pub const CKGMOD = enum(u1) { - /// The kernel clock is provided to the dividers as soon as CKGDEN is set to 1. + /// The kernel clock is provided to the dividers as soon as CKGDEN is set to 1. Immediate = 0x0, - /// The kernel clock is provided to the dividers when CKGDEN is set to 1 and the trigger condition met. + /// The kernel clock is provided to the dividers when CKGDEN is set to 1 and the trigger condition met. Trigger = 0x1, }; - /// Data capture mode. This bitfield is set and cleared by software. It is used to define in which conditions, the samples provided by DLFT0 are stored into the memory. + /// Data capture mode. This bitfield is set and cleared by software. It is used to define in which conditions, the samples provided by DLFT0 are stored into the memory. pub const DATCAP = enum(u2) { - /// Samples from DFLT0 not transfered into the memory. + /// Samples from DFLT0 not transfered into the memory. Disabled = 0x0, - /// Samples from DFLT0 transfered into the memory when SAD is in DETECT state. + /// Samples from DFLT0 transfered into the memory when SAD is in DETECT state. OnDetected = 0x1, - /// Samples from DFLT0 transfered into memory when SAD and DFLT0 are enabled. + /// Samples from DFLT0 transfered into memory when SAD and DFLT0 are enabled. Enabled = 0x2, _, }; - /// Source data for the digital filter. + /// Source data for the digital filter. pub const DATSRC = enum(u2) { - /// Stream coming from the BSMX selected + /// Stream coming from the BSMX selected BSMX = 0x0, - /// Stream coming from the ADCITF1 selected + /// Stream coming from the ADCITF1 selected ADCITF1 = 0x2, - /// Stream coming from the ADCITF2 selected + /// Stream coming from the ADCITF2 selected ADCITF2 = 0x3, _, }; - /// Sound trigger event configuration. This bit is set and cleared by software. It is used to define if the sddet_evt event is generated only when the SAD enters to MONITOR state or when the SAD enters or exits the DETECT state. + /// Sound trigger event configuration. This bit is set and cleared by software. It is used to define if the sddet_evt event is generated only when the SAD enters to MONITOR state or when the SAD enters or exits the DETECT state. pub const DETCFG = enum(u1) { - /// sddet_evt generated when SAD enters the MONITOR state. + /// sddet_evt generated when SAD enters the MONITOR state. Monitor = 0x0, - /// sddet_evt generated when SAD enters or exits the DETECT state. + /// sddet_evt generated when SAD enters or exits the DETECT state. Detect = 0x1, }; - /// Frame size. This bitfield is set and cleared by software. it is used to define the size of one frame and also to define how many samples are taken into account to compute the short-term signal level. + /// Frame size. This bitfield is set and cleared by software. it is used to define the size of one frame and also to define how many samples are taken into account to compute the short-term signal level. pub const FRSIZE = enum(u3) { - /// 8 sample. + /// 8 sample. Samples8 = 0x0, - /// 16 samples. + /// 16 samples. Samples16 = 0x1, - /// 32 samples. + /// 32 samples. Samples32 = 0x2, - /// 64 samples. + /// 64 samples. Samples64 = 0x3, - /// 128 samples. + /// 128 samples. Samples128 = 0x4, - /// 256 samples. + /// 256 samples. Samples256 = 0x5, - /// 512 samples. + /// 512 samples. Samples512 = 0x6, _, }; - /// Hangover time window. This bitfield is set and cleared by software. It is used to select the hangover time window. + /// Hangover time window. This bitfield is set and cleared by software. It is used to select the hangover time window. pub const HGOVR = enum(u3) { - /// SAD back to MONITOR state if sound is below threshold for 4 frames. + /// SAD back to MONITOR state if sound is below threshold for 4 frames. @"Frames 4" = 0x0, - /// SAD back to MONITOR state if sound is below threshold for 4 frames. + /// SAD back to MONITOR state if sound is below threshold for 4 frames. @"Frames 8" = 0x1, - /// SAD back to MONITOR state if sound is below threshold for 4 frames. + /// SAD back to MONITOR state if sound is below threshold for 4 frames. @"Frames 16" = 0x2, - /// SAD back to MONITOR state if sound is below threshold for 4 frames. + /// SAD back to MONITOR state if sound is below threshold for 4 frames. @"Frames 32" = 0x3, - /// SAD back to MONITOR state if sound is below threshold for 4 frames. + /// SAD back to MONITOR state if sound is below threshold for 4 frames. @"Frames 64" = 0x4, - /// SAD back to MONITOR state if sound is below threshold for 4 frames. + /// SAD back to MONITOR state if sound is below threshold for 4 frames. @"Frames 128" = 0x5, - /// SAD back to MONITOR state if sound is below threshold for 4 frames. + /// SAD back to MONITOR state if sound is below threshold for 4 frames. @"Frames 256" = 0x6, - /// SAD back to MONITOR state if sound is below threshold for 4 frames. + /// SAD back to MONITOR state if sound is below threshold for 4 frames. @"Frames 512" = 0x7, }; - /// High-pass filter cut-off frequency. This bitfield is set and cleared by software. it is used to select the cut-off frequency of the high-pass filter. F PCM represents the sampling frequency at HPF input. + /// High-pass filter cut-off frequency. This bitfield is set and cleared by software. it is used to select the cut-off frequency of the high-pass filter. F PCM represents the sampling frequency at HPF input. pub const HPFC = enum(u2) { - /// Cut-off frequency = 0.000625 x FPCM. + /// Cut-off frequency = 0.000625 x FPCM. Low = 0x0, - /// Cut-off frequency = 0.00125 x FPCM. + /// Cut-off frequency = 0.00125 x FPCM. Medium = 0x1, - /// Cut-off frequency = 0.00250 x FPCM + /// Cut-off frequency = 0.00250 x FPCM High = 0x2, - /// Cut-off frequency = 0.00950 x FPCM + /// Cut-off frequency = 0.00950 x FPCM Maximum = 0x3, }; - /// LFRNB. This bitfield is set and cleared by software. It is used to define the number of learning frames to perform the first estimate of the noise level. + /// LFRNB. This bitfield is set and cleared by software. It is used to define the number of learning frames to perform the first estimate of the noise level. pub const LFRNB = enum(u3) { - /// 2 samples. + /// 2 samples. @"Frames 2" = 0x0, - /// 4 samples. + /// 4 samples. @"Frames 4" = 0x1, - /// 8 samples. + /// 8 samples. @"Frames 8" = 0x2, - /// 16 samples. + /// 16 samples. @"Frames 16" = 0x3, - /// 32 samples. + /// 32 samples. @"Frames 32" = 0x4, _, }; - /// Reshaper filter decimation ratio. This bitfield is set and cleared by software. It is used to select the decimation ratio of the reshaper filter. + /// Reshaper filter decimation ratio. This bitfield is set and cleared by software. It is used to select the decimation ratio of the reshaper filter. pub const RSFLTD = enum(u1) { - /// Decimation ratio is 4 (default value). + /// Decimation ratio is 4 (default value). Decimation4 = 0x0, - /// Decimation ratio is 1. + /// Decimation ratio is 1. Decimation1 = 0x1, }; - /// RXFIFO threshold selection. This bitfield is set and cleared by software. It is used to select the RXFIFO threshold. + /// RXFIFO threshold selection. This bitfield is set and cleared by software. It is used to select the RXFIFO threshold. pub const RXFIFO = enum(u1) { - /// RXFIFO threshold event generated when the RXFIFO is not empty + /// RXFIFO threshold event generated when the RXFIFO is not empty NotEmpty = 0x0, - /// RXFIFO threshold event generated when the RXFIFO is half-full + /// RXFIFO threshold event generated when the RXFIFO is half-full HalfFull = 0x1, }; - /// SAD working mode. This bitfield is set and cleared by software. It is used to define the way the SAD works + /// SAD working mode. This bitfield is set and cleared by software. It is used to define the way the SAD works pub const SADMOD = enum(u2) { - /// Threshold value computed according to the estimated ambient noise. The SAD triggers when the sound level (SDLVL) is bigger than the defined threshold. In this mode, the SAD works like a voice activity detector. + /// Threshold value computed according to the estimated ambient noise. The SAD triggers when the sound level (SDLVL) is bigger than the defined threshold. In this mode, the SAD works like a voice activity detector. ThresholdEstimatedAmbientNoise = 0x0, - /// Threshold value equal to ANMIN[12:0], multiplied by the gain selected by SNTHR[3:0] The SAD triggers when the sound level (SDLVL) is bigger than the defined threshold. In this mode, the SAD works like a sound detector. + /// Threshold value equal to ANMIN[12:0], multiplied by the gain selected by SNTHR[3:0] The SAD triggers when the sound level (SDLVL) is bigger than the defined threshold. In this mode, the SAD works like a sound detector. ThresholdMinimumNoiselevel = 0x1, - /// Threshold value given by 4 x ANMIN[12:0]. The SAD triggers when the estimated ambient noise (ANLVL), multiplied by the gain selected by SNTHR[3:0] is bigger than the defined threshold. In this mode, the SAD is working like an ambient noise estimator. Hysteresis function cannot be used in this mode. + /// Threshold value given by 4 x ANMIN[12:0]. The SAD triggers when the estimated ambient noise (ANLVL), multiplied by the gain selected by SNTHR[3:0] is bigger than the defined threshold. In this mode, the SAD is working like an ambient noise estimator. Hysteresis function cannot be used in this mode. ThresholdMinimumNoiselevelx4 = 0x2, _, }; - /// SAD state. This bitfield is set and cleared by hardware. It indicates the SAD state and is meaningful only when SADEN = 1. + /// SAD state. This bitfield is set and cleared by hardware. It indicates the SAD state and is meaningful only when SADEN = 1. pub const SADST = enum(u2) { - /// SAD in LEARN state. + /// SAD in LEARN state. Learn = 0x0, - /// SAD in MONITOR state. + /// SAD in MONITOR state. Monitor = 0x1, - /// SAD in DETECT state. + /// SAD in DETECT state. Detect = 0x2, _, }; - /// Serial clock source. This bitfield is set and cleared by software. It is used to select the clock source of the serial interface. + /// Serial clock source. This bitfield is set and cleared by software. It is used to select the clock source of the serial interface. pub const SCKSRC = enum(u2) { - /// Serial clock source is CCK0. + /// Serial clock source is CCK0. CCK0 = 0x0, - /// Serial clock source is CCK1. + /// Serial clock source is CCK1. CCK1 = 0x1, - /// Serial clock source is CCI0. + /// Serial clock source is CCI0. CKI0 = 0x2, - /// Serial clock source is CCI1. + /// Serial clock source is CCI1. CKI1 = 0x3, }; - /// Serial interface mode. This bitfield is set and cleared by software. It is used to select the serial interface mode. + /// Serial interface mode. This bitfield is set and cleared by software. It is used to select the serial interface mode. pub const SITFMOD = enum(u2) { - /// LF_MASTER SPI mode. + /// LF_MASTER SPI mode. MasterSPI = 0x0, - /// Normal SPI mode. + /// Normal SPI mode. NormalSPI = 0x1, - /// Manchester mode rising edge = logic 0, falling edge = logic 1. + /// Manchester mode rising edge = logic 0, falling edge = logic 1. ManchesterFalling = 0x2, - /// Manchester mode rising edge = logic 1, falling edge = logic 0. + /// Manchester mode rising edge = logic 1, falling edge = logic 0. ManchesterRising = 0x3, }; - /// SNTHR. This bitfield is set and cleared by software. It is used to select the gain to be applied at CIC output. If the application attempts to write a new gain value while the previous one is not yet applied, this new gain value is ignored. Reading back this bitfield informs the application on the current gain value. + /// SNTHR. This bitfield is set and cleared by software. It is used to select the gain to be applied at CIC output. If the application attempts to write a new gain value while the previous one is not yet applied, this new gain value is ignored. Reading back this bitfield informs the application on the current gain value. pub const SNTHR = enum(u4) { - /// Threshold is 3.5 dB higher than ANLVL + /// Threshold is 3.5 dB higher than ANLVL @"NOISE PLUS 3_5" = 0x0, - /// Threshold is 6.0 dB higher than ANLVL + /// Threshold is 6.0 dB higher than ANLVL @"NOISE PLUS 6_0" = 0x1, - /// Threshold is 9.5 dB higher than ANLVL + /// Threshold is 9.5 dB higher than ANLVL @"NOISE PLUS 9_5" = 0x2, - /// Threshold is 12 dB higher than ANLVL + /// Threshold is 12 dB higher than ANLVL @"NOISE PLUS 12" = 0x3, - /// Threshold is 15.6 dB higher than ANLVL + /// Threshold is 15.6 dB higher than ANLVL @"NOISE PLUS 15_6" = 0x4, - /// Threshold is 18 dB higher than ANLVL + /// Threshold is 18 dB higher than ANLVL @"NOISE PLUS 18" = 0x5, - /// Threshold is 21.6 dB higher than ANLVL + /// Threshold is 21.6 dB higher than ANLVL @"NOISE PLUS 21_6" = 0x6, - /// Threshold is 24.1 dB higher than ANLVL + /// Threshold is 24.1 dB higher than ANLVL @"NOISE PLUS 24_1" = 0x7, - /// Threshold is 27.6 dB higher than ANLVL + /// Threshold is 27.6 dB higher than ANLVL @"NOISE PLUS 27_6" = 0x8, - /// Threshold is 30.1 dB higher than ANLVL + /// Threshold is 30.1 dB higher than ANLVL @"NOISE PLUS 30_1" = 0x9, _, }; - /// CKGEN trigger sensitivity selection. This bit is set and cleared by software. It is used to select the trigger sensitivity of the trigger signals. This bit is not significant if the CKGMOD = 0. + /// CKGEN trigger sensitivity selection. This bit is set and cleared by software. It is used to select the trigger sensitivity of the trigger signals. This bit is not significant if the CKGMOD = 0. pub const TRGSENS = enum(u1) { - /// A rising edge event triggers the activation of CKGEN dividers. + /// A rising edge event triggers the activation of CKGEN dividers. RisingEdge = 0x0, - /// A falling edge even triggers the activation of CKGEN dividers. + /// A falling edge even triggers the activation of CKGEN dividers. FallingEdge = 0x1, }; - /// Digital filter trigger signal selection. + /// Digital filter trigger signal selection. pub const TRGSRC = enum(u4) { - /// TRGO Selected. + /// TRGO Selected. TRGO = 0x0, - /// adf_trg1 selected. + /// adf_trg1 selected. TRG1 = 0x2, _, }; - /// ADF. + /// ADF. pub const ADF = extern struct { - /// ADF Global Control Register. + /// ADF Global Control Register. GCR: mmio.Mmio(packed struct(u32) { - /// Trigger output control Set by software and reset by. + /// Trigger output control Set by software and reset by. TRGO: u1, padding: u31, }), - /// ADF clock generator control register. + /// ADF clock generator control register. CKGCR: mmio.Mmio(packed struct(u32) { - /// Clock generator dividers enable. + /// Clock generator dividers enable. CKGDEN: u1, - /// CCK0 clock enable. This bit is set and reset by software. It is used to control the generation of the bitstream clock on the CCK pin. - CCK0EN: packed union { - raw: u1, - value: CCKEN, - }, - /// CCK1 clock enable. This bit is set and reset by software. It is used to control the generation of the bitstream clock on the CCK pin. - CCK1EN: packed union { - raw: u1, - value: CCKEN, - }, + /// CCK0 clock enable. This bit is set and reset by software. It is used to control the generation of the bitstream clock on the CCK pin. + CCK0EN: CCKEN, + /// CCK1 clock enable. This bit is set and reset by software. It is used to control the generation of the bitstream clock on the CCK pin. + CCK1EN: CCKEN, reserved4: u1, - /// Clock generator mode. This bit is set and reset by software. It is used to define the way the clock generator is enabled. This bit must not be changed if the filter is enabled (DFTEN = 1). - CKGMOD: packed union { - raw: u1, - value: CKGMOD, - }, - /// CCK0 direction. This bit is set and reset by software. It is used to control the direction of the ADF_CCK0 pin. - CCK0DIR: packed union { - raw: u1, - value: CCKDIR, - }, - /// CCK1 direction. This bit is set and reset by software. It is used to control the direction of the ADF_CCK1 pin. - CCK1DIR: packed union { - raw: u1, - value: CCKDIR, - }, + /// Clock generator mode. This bit is set and reset by software. It is used to define the way the clock generator is enabled. This bit must not be changed if the filter is enabled (DFTEN = 1). + CKGMOD: CKGMOD, + /// CCK0 direction. This bit is set and reset by software. It is used to control the direction of the ADF_CCK0 pin. + CCK0DIR: CCKDIR, + /// CCK1 direction. This bit is set and reset by software. It is used to control the direction of the ADF_CCK1 pin. + CCK1DIR: CCKDIR, reserved8: u1, - /// CKGEN trigger sensitivity selection. This bit is set and cleared by software. It is used to select the trigger sensitivity of the trigger signals. This bit is not significant if the CKGMOD = 0. - TRGSENS: packed union { - raw: u1, - value: TRGSENS, - }, + /// CKGEN trigger sensitivity selection. This bit is set and cleared by software. It is used to select the trigger sensitivity of the trigger signals. This bit is not significant if the CKGMOD = 0. + TRGSENS: TRGSENS, reserved12: u3, - /// Digital filter trigger signal selection. This bit is set and cleared by software. It is used to select the trigger signal for the digital filter. This bit is not significant if the CKGMOD = 0. - TRGSRC: packed union { - raw: u4, - value: TRGSRC, - }, - /// Divider to control the CCK clock. - CCKDIV: packed union { - raw: u4, - value: CCKDIV, - }, + /// Digital filter trigger signal selection. This bit is set and cleared by software. It is used to select the trigger signal for the digital filter. This bit is not significant if the CKGMOD = 0. + TRGSRC: TRGSRC, + /// Divider to control the CCK clock. + CCKDIV: CCKDIV, reserved24: u4, - /// Divider to control the serial interface clock. + /// Divider to control the serial interface clock. PROCDIV: u7, - /// Clock generator active flag. + /// Clock generator active flag. CKGACTIVE: u1, }), reserved128: [120]u8, - /// ADF serial interface control register 0. + /// ADF serial interface control register 0. SITFCR: mmio.Mmio(packed struct(u32) { SITFEN: u1, - SCKSRC: packed union { - raw: u2, - value: SCKSRC, - }, + SCKSRC: SCKSRC, reserved4: u1, - SITFMOD: packed union { - raw: u2, - value: SITFMOD, - }, + SITFMOD: SITFMOD, reserved8: u2, - /// Manchester symbol threshold/SPI threshold. This bitfield is set and cleared by software. It is used for Manchester mode to define the expected symbol threshold levels (seer to Manchester mode for details on computation). In addition this bitfield is used to define the timeout value for the clock absence detection in Normal SPI mode. STH[4:0] values lower than four are invalid. + /// Manchester symbol threshold/SPI threshold. This bitfield is set and cleared by software. It is used for Manchester mode to define the expected symbol threshold levels (seer to Manchester mode for details on computation). In addition this bitfield is used to define the timeout value for the clock absence detection in Normal SPI mode. STH[4:0] values lower than four are invalid. STH: u5, reserved31: u18, - /// SITFACTIVE. + /// SITFACTIVE. SITFACTIVE: u1, }), - /// ADF bitstream matrix control register 0. + /// ADF bitstream matrix control register 0. BSMXCR: mmio.Mmio(packed struct(u32) { - /// Bitstream selection. - BSSEL: packed union { - raw: u5, - value: BSSEL, - }, + /// Bitstream selection. + BSSEL: BSSEL, reserved31: u26, - /// BSMX active flag. This bit is set and cleared by hardware. It is used by the application to check if the BSMX is effectively enabled (active) or not. BSSEL[4:0] can only be updated when BSMXACTIVE is set to 0. This BSMXACTIVE flag cannot go to 0 if DFLT0 is enabled. + /// BSMX active flag. This bit is set and cleared by hardware. It is used by the application to check if the BSMX is effectively enabled (active) or not. BSSEL[4:0] can only be updated when BSMXACTIVE is set to 0. This BSMXACTIVE flag cannot go to 0 if DFLT0 is enabled. BSMXACTIVE: u1, }), - /// ADF digital filter control register 0. + /// ADF digital filter control register 0. DFLTCR: mmio.Mmio(packed struct(u32) { - /// DFLT enable. This bit is set and reset by software. It is used to enable the digital filter. + /// DFLT enable. This bit is set and reset by software. It is used to enable the digital filter. DFLTEN: u1, - /// DMA requests enable. This bit is set and reset by software. It is used to control the generation of DMA request to transfer the processed samples into the memory. + /// DMA requests enable. This bit is set and reset by software. It is used to control the generation of DMA request to transfer the processed samples into the memory. DMAEN: u1, - /// RXFIFO threshold selection. - FTH: packed union { - raw: u1, - value: RXFIFO, - }, + /// RXFIFO threshold selection. + FTH: RXFIFO, reserved4: u1, - /// DFLT trigger mode. - ACQMOD: packed union { - raw: u3, - value: ACQMOD, - }, + /// DFLT trigger mode. + ACQMOD: ACQMOD, reserved12: u5, - /// DFLT trigger signal selection. + /// DFLT trigger signal selection. TRGSRC: u4, reserved20: u4, - /// Number of samples to be discarded. + /// Number of samples to be discarded. NBDIS: u8, reserved30: u2, - /// DFLT run status flag. + /// DFLT run status flag. DFLTRUN: u1, - /// DFLT active flag. + /// DFLT active flag. DFLTACTIVE: u1, }), - /// ADF digital filer configuration register 0. + /// ADF digital filer configuration register 0. DFLTCICR: mmio.Mmio(packed struct(u32) { - /// Source data for the digital filter. - DATSRC: packed union { - raw: u2, - value: DATSRC, - }, + /// Source data for the digital filter. + DATSRC: DATSRC, reserved4: u2, - /// Select the CIC order. - CICMOD: packed union { - raw: u3, - value: CICMOD, - }, + /// Select the CIC order. + CICMOD: CICMOD, reserved8: u1, - /// CIC decimation ratio selection. This bitfield is set and cleared by software.It is used to select the CIC decimation ratio. A decimation ratio smaller than two is not allowed. The decimation ratio is given by (CICDEC+1). + /// CIC decimation ratio selection. This bitfield is set and cleared by software.It is used to select the CIC decimation ratio. A decimation ratio smaller than two is not allowed. The decimation ratio is given by (CICDEC+1). MCICD: u9, reserved20: u3, - /// Scaling factor selection. This bitfield is set and cleared by software. It is used to select the gain to be applied at CIC output. If the application attempts to write a new gain value while the previous one is not yet applied, this new gain value is ignored. Reading back this bitfield informs the application on the current gain value. + /// Scaling factor selection. This bitfield is set and cleared by software. It is used to select the gain to be applied at CIC output. If the application attempts to write a new gain value while the previous one is not yet applied, this new gain value is ignored. Reading back this bitfield informs the application on the current gain value. SCALE: u6, padding: u6, }), - /// ADF reshape filter configuration register 0. + /// ADF reshape filter configuration register 0. DFLTRSFR: mmio.Mmio(packed struct(u32) { - /// Reshaper filter bypass. + /// Reshaper filter bypass. RSFLTBYP: u1, reserved4: u3, - /// Reshaper filter decimation ratio. - RSFLTD: packed union { - raw: u1, - value: RSFLTD, - }, + /// Reshaper filter decimation ratio. + RSFLTD: RSFLTD, reserved7: u2, - /// High-pass filter bypass. This bit is set and cleared by software. It is used to bypass the high-pass filter. + /// High-pass filter bypass. This bit is set and cleared by software. It is used to bypass the high-pass filter. HPFBYP: u1, - /// High-pass filter cut-off frequency. This bitfield is set and cleared by software. it is used to select the cut-off frequency of the high-pass filter. F PCM represents the sampling frequency at HPF input. - HPFC: packed union { - raw: u2, - value: HPFC, - }, + /// High-pass filter cut-off frequency. This bitfield is set and cleared by software. it is used to select the cut-off frequency of the high-pass filter. F PCM represents the sampling frequency at HPF input. + HPFC: HPFC, padding: u22, }), reserved164: [16]u8, - /// ADF delay control register 0. + /// ADF delay control register 0. DLYCR: mmio.Mmio(packed struct(u32) { - /// Delay to apply to a bitstream. This bitfield is set and cleared by software. It defines the number of input samples that are skipped. Skipping is applied immediately after writing to this bitfield, if SKPBF = 0 and DFLTEN = 1. If SKPBF = 1, the value written into the register is ignored by the delay state machine. + /// Delay to apply to a bitstream. This bitfield is set and cleared by software. It defines the number of input samples that are skipped. Skipping is applied immediately after writing to this bitfield, if SKPBF = 0 and DFLTEN = 1. If SKPBF = 1, the value written into the register is ignored by the delay state machine. SKPDLY: u7, reserved31: u24, - /// Skip busy flag. + /// Skip busy flag. SKPBF: u1, }), reserved172: [4]u8, - /// ADF DFLT0 interrupt enable register. + /// ADF DFLT0 interrupt enable register. DFLTIER: mmio.Mmio(packed struct(u32) { - /// RXFIFO threshold interrupt enable. + /// RXFIFO threshold interrupt enable. FTHIE: u1, - /// Data overflow interrupt enable. + /// Data overflow interrupt enable. DOVRIE: u1, reserved9: u7, - /// Saturation detection interrupt enable. + /// Saturation detection interrupt enable. SATIE: u1, - /// Clock absence detection interrupt enable. + /// Clock absence detection interrupt enable. CKABIE: u1, - /// Reshape filter overrun interrupt enable. + /// Reshape filter overrun interrupt enable. RFOVRIE: u1, - /// Sound activity detection interrupt enable. + /// Sound activity detection interrupt enable. SDDETIE: u1, - /// SAD sound-level value ready enable. + /// SAD sound-level value ready enable. SDLVLIE: u1, padding: u18, }), - /// ADF DFLT0 interrupt status register 0. + /// ADF DFLT0 interrupt status register 0. DFLTISR: mmio.Mmio(packed struct(u32) { - /// RXFIFO threshold flag. + /// RXFIFO threshold flag. FTHF: u1, - /// Data overflow flag. + /// Data overflow flag. DOVRF: u1, reserved3: u1, - /// RXFIFO not empty flag. + /// RXFIFO not empty flag. RXNEF: u1, reserved9: u5, - /// Saturation detection flag. + /// Saturation detection flag. SATF: u1, - /// Clock absence detection flag. + /// Clock absence detection flag. CKABF: u1, - /// Reshape filter overrun detection flag. + /// Reshape filter overrun detection flag. RFOVRF: u1, - /// Sound activity detection flag. + /// Sound activity detection flag. SDDETF: u1, - /// Sound level value ready flag. + /// Sound level value ready flag. SDLVLF: u1, padding: u18, }), reserved184: [4]u8, - /// ADF SAD control register. + /// ADF SAD control register. SADCR: mmio.Mmio(packed struct(u32) { - /// Sound activity detector enable. + /// Sound activity detector enable. SADEN: u1, - /// Data capture mode. - DATCAP: packed union { - raw: u2, - value: DATCAP, - }, - /// Sound trigger event configuration. - DETCFG: packed union { - raw: u1, - value: DETCFG, - }, - /// SAD state. - SADST: packed union { - raw: u2, - value: SADST, - }, + /// Data capture mode. + DATCAP: DATCAP, + /// Sound trigger event configuration. + DETCFG: DETCFG, + /// SAD state. + SADST: SADST, reserved7: u1, - /// Hysteresis enable. + /// Hysteresis enable. HYSTEN: u1, - /// Frame size. - FRSIZE: packed union { - raw: u3, - value: FRSIZE, - }, + /// Frame size. + FRSIZE: FRSIZE, reserved12: u1, - /// Sound activity detector working mode. - SADMOD: packed union { - raw: u2, - value: SADMOD, - }, + /// Sound activity detector working mode. + SADMOD: SADMOD, reserved31: u17, - /// SAD Active flag. + /// SAD Active flag. SADACTIVE: u1, }), - /// ADF SAD configuration register. + /// ADF SAD configuration register. SADCFGR: mmio.Mmio(packed struct(u32) { - /// SNTHR. - SNTHR: packed union { - raw: u4, - value: SNTHR, - }, - /// ANSLP. + /// SNTHR. + SNTHR: SNTHR, + /// ANSLP. ANSLP: u3, reserved8: u1, - /// LFRNB. - LFRNB: packed union { - raw: u3, - value: LFRNB, - }, + /// LFRNB. + LFRNB: LFRNB, reserved12: u1, - /// Hangover time window. - HGOVR: packed union { - raw: u3, - value: HGOVR, - }, + /// Hangover time window. + HGOVR: HGOVR, reserved16: u1, - /// ANMIN. + /// ANMIN. ANMIN: u13, padding: u3, }), - /// ADF SAD sound level register. + /// ADF SAD sound level register. SADSDLVR: mmio.Mmio(packed struct(u32) { - /// Short term sound level. This bitfield is set by hardware. It contains the latest sound level computed by the SAD. To refresh this value, SDLVLF must be cleared. + /// Short term sound level. This bitfield is set by hardware. It contains the latest sound level computed by the SAD. To refresh this value, SDLVLF must be cleared. SDLVL: u15, padding: u17, }), - /// ADF SAD ambient noise level register. + /// ADF SAD ambient noise level register. SADANLVR: mmio.Mmio(packed struct(u32) { - /// ANLVL. + /// ANLVL. ANLVL: u15, padding: u17, }), reserved240: [40]u8, - /// ADF digital filter data register 0. + /// ADF digital filter data register 0. DFLTDR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// DR. Data processed by DFT + /// DR. Data processed by DFT DR: u24, }), }; @@ -311789,118 +311198,109 @@ pub const types = struct { pub const aes_f7 = struct { pub const DATATYPE = enum(u2) { - /// Word + /// Word None = 0x0, - /// Half-word (16-bit) + /// Half-word (16-bit) HalfWord = 0x1, - /// Byte (8-bit) + /// Byte (8-bit) Byte = 0x2, - /// Bit + /// Bit Bit = 0x3, }; pub const GCMPH = enum(u2) { - /// Init phase + /// Init phase @"Init phase" = 0x0, - /// Header phase + /// Header phase @"Header phase" = 0x1, - /// Payload phase + /// Payload phase @"Payload phase" = 0x2, - /// Final phase + /// Final phase @"Final phase" = 0x3, }; pub const MODE = enum(u2) { - /// Encryption + /// Encryption Mode1 = 0x0, - /// Key derivation (or key preparation for ECB/CBC decryption) + /// Key derivation (or key preparation for ECB/CBC decryption) Mode2 = 0x1, - /// Decryption + /// Decryption Mode3 = 0x2, - /// Key derivation then single decryption + /// Key derivation then single decryption Mode4 = 0x3, }; - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES = extern struct { - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// AES enable + /// AES enable EN: u1, - /// Data type selection - DATATYPE: packed union { - raw: u2, - value: DATATYPE, - }, - /// Operating mode - MODE: packed union { - raw: u2, - value: MODE, - }, - /// Chaining mode bit1 bit0 + /// Data type selection + DATATYPE: DATATYPE, + /// Operating mode + MODE: MODE, + /// Chaining mode bit1 bit0 CHMOD10: u2, - /// Computation Complete Flag Clear + /// Computation Complete Flag Clear CCFC: u1, - /// Error clear + /// Error clear ERRC: u1, - /// CCF flag interrupt enable + /// CCF flag interrupt enable CCFIE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, - /// Enable DMA management of data input phase + /// Enable DMA management of data input phase DMAINEN: u1, - /// Enable DMA management of data output phase + /// Enable DMA management of data output phase DMAOUTEN: u1, - /// GCM or CCM phase selection - GCMPH: packed union { - raw: u2, - value: GCMPH, - }, + /// GCM or CCM phase selection + GCMPH: GCMPH, reserved16: u1, - /// Chaining mode bit2 + /// Chaining mode bit2 CHMOD2: u1, reserved18: u1, - /// Key size selection + /// Key size selection KEYSIZE: u1, padding: u13, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Computation complete flag + /// Computation complete flag CCF: u1, - /// Read error flag + /// Read error flag RDERR: u1, - /// Write error flag + /// Write error flag WRERR: u1, - /// Busy flag + /// Busy flag BUSY: u1, padding: u28, }), - /// Data input register + /// Data input register DINR: mmio.Mmio(packed struct(u32) { - /// Input data word + /// Input data word DIN: u32, }), - /// Data output register + /// Data output register DOUTR: mmio.Mmio(packed struct(u32) { - /// Output data word + /// Output data word DOUT: u32, }), - /// Key register + /// Key register KEYR: mmio.Mmio(packed struct(u32) { - /// Cryptographic key + /// Cryptographic key KEY: u32, }), reserved32: [12]u8, - /// Initialization vector register + /// Initialization vector register IVR: [4]mmio.Mmio(packed struct(u32) { - /// Initialization vector input + /// Initialization vector input IVI: u32, }), reserved64: [16]u8, - /// Suspend register + /// Suspend register SUSPR: [8]mmio.Mmio(packed struct(u32) { - /// AES suspend + /// AES suspend SUSP: u32, }), }; @@ -311908,87 +311308,81 @@ pub const types = struct { pub const aes_v1 = struct { pub const DATATYPE = enum(u2) { - /// Word + /// Word None = 0x0, - /// Half-word (16-bit) + /// Half-word (16-bit) HalfWord = 0x1, - /// Byte (8-bit) + /// Byte (8-bit) Byte = 0x2, - /// Bit + /// Bit Bit = 0x3, }; pub const MODE = enum(u2) { - /// Encryption + /// Encryption Mode1 = 0x0, - /// Key derivation (or key preparation for ECB/CBC decryption) + /// Key derivation (or key preparation for ECB/CBC decryption) Mode2 = 0x1, - /// Decryption + /// Decryption Mode3 = 0x2, - /// Key derivation then single decryption + /// Key derivation then single decryption Mode4 = 0x3, }; - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES = extern struct { - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// AES enable + /// AES enable EN: u1, - /// Data type selection - DATATYPE: packed union { - raw: u2, - value: DATATYPE, - }, - /// Operating mode - MODE: packed union { - raw: u2, - value: MODE, - }, - /// Chaining mode bit1 bit0 + /// Data type selection + DATATYPE: DATATYPE, + /// Operating mode + MODE: MODE, + /// Chaining mode bit1 bit0 CHMOD10: u2, - /// Computation Complete Flag Clear + /// Computation Complete Flag Clear CCFC: u1, - /// Error clear + /// Error clear ERRC: u1, - /// CCF flag interrupt enable + /// CCF flag interrupt enable CCFIE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, - /// Enable DMA management of data input phase + /// Enable DMA management of data input phase DMAINEN: u1, - /// Enable DMA management of data output phase + /// Enable DMA management of data output phase DMAOUTEN: u1, padding: u19, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Computation complete flag + /// Computation complete flag CCF: u1, - /// Read error flag + /// Read error flag RDERR: u1, - /// Write error flag + /// Write error flag WRERR: u1, padding: u29, }), - /// Data input register + /// Data input register DINR: mmio.Mmio(packed struct(u32) { - /// Input data word + /// Input data word DIN: u32, }), - /// Data output register + /// Data output register DOUTR: mmio.Mmio(packed struct(u32) { - /// Output data word + /// Output data word DOUT: u32, }), - /// Key register + /// Key register KEYR: [4]mmio.Mmio(packed struct(u32) { - /// Cryptographic key + /// Cryptographic key KEY: u32, }), - /// Initialization vector register + /// Initialization vector register IVR: [4]mmio.Mmio(packed struct(u32) { - /// Initialization vector input + /// Initialization vector input IVI: u32, }), }; @@ -311996,121 +311390,112 @@ pub const types = struct { pub const aes_v2 = struct { pub const DATATYPE = enum(u2) { - /// Word + /// Word None = 0x0, - /// Half-word (16-bit) + /// Half-word (16-bit) HalfWord = 0x1, - /// Byte (8-bit) + /// Byte (8-bit) Byte = 0x2, - /// Bit + /// Bit Bit = 0x3, }; pub const GCMPH = enum(u2) { - /// Init phase + /// Init phase @"Init phase" = 0x0, - /// Header phase + /// Header phase @"Header phase" = 0x1, - /// Payload phase + /// Payload phase @"Payload phase" = 0x2, - /// Final phase + /// Final phase @"Final phase" = 0x3, }; pub const MODE = enum(u2) { - /// Encryption + /// Encryption Mode1 = 0x0, - /// Key derivation (or key preparation for ECB/CBC decryption) + /// Key derivation (or key preparation for ECB/CBC decryption) Mode2 = 0x1, - /// Decryption + /// Decryption Mode3 = 0x2, - /// Key derivation then single decryption + /// Key derivation then single decryption Mode4 = 0x3, }; - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES = extern struct { - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// AES enable + /// AES enable EN: u1, - /// Data type selection - DATATYPE: packed union { - raw: u2, - value: DATATYPE, - }, - /// Operating mode - MODE: packed union { - raw: u2, - value: MODE, - }, - /// Chaining mode bit1 bit0 + /// Data type selection + DATATYPE: DATATYPE, + /// Operating mode + MODE: MODE, + /// Chaining mode bit1 bit0 CHMOD10: u2, - /// Computation Complete Flag Clear + /// Computation Complete Flag Clear CCFC: u1, - /// Error clear + /// Error clear ERRC: u1, - /// CCF flag interrupt enable + /// CCF flag interrupt enable CCFIE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, - /// Enable DMA management of data input phase + /// Enable DMA management of data input phase DMAINEN: u1, - /// Enable DMA management of data output phase + /// Enable DMA management of data output phase DMAOUTEN: u1, - /// GCM or CCM phase selection - GCMPH: packed union { - raw: u2, - value: GCMPH, - }, + /// GCM or CCM phase selection + GCMPH: GCMPH, reserved16: u1, - /// Chaining mode bit2 + /// Chaining mode bit2 CHMOD2: u1, reserved18: u1, - /// Key size selection + /// Key size selection KEYSIZE: u1, reserved20: u1, - /// Number of padding bytes in last block of payload + /// Number of padding bytes in last block of payload NPBLB: u4, padding: u8, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Computation complete flag + /// Computation complete flag CCF: u1, - /// Read error flag + /// Read error flag RDERR: u1, - /// Write error flag + /// Write error flag WRERR: u1, - /// Busy flag + /// Busy flag BUSY: u1, padding: u28, }), - /// Data input register + /// Data input register DINR: mmio.Mmio(packed struct(u32) { - /// Input data word + /// Input data word DIN: u32, }), - /// Data output register + /// Data output register DOUTR: mmio.Mmio(packed struct(u32) { - /// Output data word + /// Output data word DOUT: u32, }), - /// Key register + /// Key register KEYR: mmio.Mmio(packed struct(u32) { - /// Cryptographic key + /// Cryptographic key KEY: u32, }), reserved32: [12]u8, - /// Initialization vector register + /// Initialization vector register IVR: [4]mmio.Mmio(packed struct(u32) { - /// Initialization vector input + /// Initialization vector input IVI: u32, }), reserved64: [16]u8, - /// Suspend register + /// Suspend register SUSPR: [8]mmio.Mmio(packed struct(u32) { - /// AES suspend + /// AES suspend SUSP: u32, }), }; @@ -312118,124 +311503,118 @@ pub const types = struct { pub const aes_v3a = struct { pub const CHMOD = enum(u3) { - /// Electronic codebook + /// Electronic codebook ECB = 0x0, - /// Cipher-block chaining + /// Cipher-block chaining CBC = 0x1, - /// Counter mode + /// Counter mode CTR = 0x2, - /// Galois counter mode and Galois message authentication code + /// Galois counter mode and Galois message authentication code GCM_GMAC = 0x3, - /// Counter with CBC-MAC + /// Counter with CBC-MAC CCM = 0x4, _, }; pub const DATATYPE = enum(u2) { - /// Word + /// Word None = 0x0, - /// Half-word (16-bit) + /// Half-word (16-bit) HalfWord = 0x1, - /// Byte (8-bit) + /// Byte (8-bit) Byte = 0x2, - /// Bit + /// Bit Bit = 0x3, }; pub const GCMPH = enum(u2) { - /// Init phase + /// Init phase @"Init phase" = 0x0, - /// Header phase + /// Header phase @"Header phase" = 0x1, - /// Payload phase + /// Payload phase @"Payload phase" = 0x2, - /// Final phase + /// Final phase @"Final phase" = 0x3, }; pub const MODE = enum(u2) { - /// Encryption + /// Encryption Mode1 = 0x0, - /// Key derivation (or key preparation for ECB/CBC decryption) + /// Key derivation (or key preparation for ECB/CBC decryption) Mode2 = 0x1, - /// Decryption + /// Decryption Mode3 = 0x2, _, }; - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES = extern struct { - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// AES enable + /// AES enable EN: u1, - /// Data type selection - DATATYPE: packed union { - raw: u2, - value: DATATYPE, - }, - /// Operating mode - MODE: packed union { - raw: u2, - value: MODE, - }, + /// Data type selection + DATATYPE: DATATYPE, + /// Operating mode + MODE: MODE, padding: u27, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Computation complete flag + /// Computation complete flag CCF: u1, - /// Read error flag + /// Read error flag RDERR: u1, - /// Write error flag + /// Write error flag WRERR: u1, - /// Busy flag + /// Busy flag BUSY: u1, reserved7: u3, - /// Key valid flag + /// Key valid flag KEYVALID: u1, padding: u24, }), - /// Data input register + /// Data input register DINR: u32, - /// Data output register + /// Data output register DOUTR: u32, - /// Key register + /// Key register KEYR: u32, reserved32: [12]u8, - /// Initialization vector register + /// Initialization vector register IVR: [4]u32, reserved64: [16]u8, - /// Suspend register + /// Suspend register SUSPR: [8]u32, reserved768: [672]u8, - /// interrupt enable register + /// interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// Computation complete flag interrupt enable + /// Computation complete flag interrupt enable CCFIE: u1, - /// Read or write error interrupt enable + /// Read or write error interrupt enable RWEIE: u1, - /// Key error interrupt enable + /// Key error interrupt enable KEIE: u1, padding: u29, }), - /// interrupt status register + /// interrupt status register ISR: mmio.Mmio(packed struct(u32) { - /// Computation complete flag + /// Computation complete flag CCF: u1, - /// Read or write error interrupt flag + /// Read or write error interrupt flag RWEIF: u1, - /// Key error interrupt flag + /// Key error interrupt flag KEIF: u1, padding: u29, }), - /// interrupt clear register + /// interrupt clear register ICR: mmio.Mmio(packed struct(u32) { - /// Computation complete flag clear + /// Computation complete flag clear CCF: u1, - /// Read or write error interrupt flag clear + /// Read or write error interrupt flag clear RWEIF: u1, - /// Key error interrupt flag clear + /// Key error interrupt flag clear KEIF: u1, padding: u29, }), @@ -312244,123 +311623,117 @@ pub const types = struct { pub const aes_v3b = struct { pub const CHMOD = enum(u3) { - /// Electronic codebook + /// Electronic codebook ECB = 0x0, - /// Cipher-block chaining + /// Cipher-block chaining CBC = 0x1, - /// Counter mode + /// Counter mode CTR = 0x2, - /// Galois counter mode and Galois message authentication code + /// Galois counter mode and Galois message authentication code GCM_GMAC = 0x3, - /// Counter with CBC-MAC + /// Counter with CBC-MAC CCM = 0x4, _, }; pub const DATATYPE = enum(u2) { - /// Word + /// Word None = 0x0, - /// Half-word (16-bit) + /// Half-word (16-bit) HalfWord = 0x1, - /// Byte (8-bit) + /// Byte (8-bit) Byte = 0x2, - /// Bit + /// Bit Bit = 0x3, }; pub const GCMPH = enum(u2) { - /// Init phase + /// Init phase @"Init phase" = 0x0, - /// Header phase + /// Header phase @"Header phase" = 0x1, - /// Payload phase + /// Payload phase @"Payload phase" = 0x2, - /// Final phase + /// Final phase @"Final phase" = 0x3, }; pub const MODE = enum(u2) { - /// Encryption + /// Encryption Mode1 = 0x0, - /// Key derivation (or key preparation for ECB/CBC decryption) + /// Key derivation (or key preparation for ECB/CBC decryption) Mode2 = 0x1, - /// Decryption + /// Decryption Mode3 = 0x2, _, }; - /// Advanced encryption standard hardware accelerator + /// Advanced encryption standard hardware accelerator pub const AES = extern struct { - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// AES enable + /// AES enable EN: u1, - /// Data type selection - DATATYPE: packed union { - raw: u2, - value: DATATYPE, - }, - /// Operating mode - MODE: packed union { - raw: u2, - value: MODE, - }, + /// Data type selection + DATATYPE: DATATYPE, + /// Operating mode + MODE: MODE, padding: u27, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Computation complete flag + /// Computation complete flag CCF: u1, - /// Read error flag + /// Read error flag RDERR: u1, - /// Write error flag + /// Write error flag WRERR: u1, - /// Busy flag + /// Busy flag BUSY: u1, reserved7: u3, - /// Key valid flag + /// Key valid flag KEYVALID: u1, padding: u24, }), - /// Data input register + /// Data input register DINR: u32, - /// Data output register + /// Data output register DOUTR: u32, - /// Key register + /// Key register KEYR: u32, reserved32: [12]u8, - /// Initialization vector register + /// Initialization vector register IVR: [4]u32, reserved64: [16]u8, - /// Suspend register + /// Suspend register SUSPR: [8]u32, reserved768: [672]u8, - /// interrupt enable register + /// interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// Computation complete flag interrupt enable + /// Computation complete flag interrupt enable CCFIE: u1, - /// Read or write error interrupt enable + /// Read or write error interrupt enable RWEIE: u1, - /// Key error interrupt enable + /// Key error interrupt enable KEIE: u1, padding: u29, }), - /// interrupt status register + /// interrupt status register ISR: mmio.Mmio(packed struct(u32) { - /// Computation complete flag + /// Computation complete flag CCF: u1, - /// Read or write error interrupt flag + /// Read or write error interrupt flag RWEIF: u1, - /// Key error interrupt flag + /// Key error interrupt flag KEIF: u1, padding: u29, }), - /// interrupt clear register + /// interrupt clear register ICR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Read or write error interrupt flag clear + /// Read or write error interrupt flag clear RWEIF: u1, - /// Key error interrupt flag clear + /// Key error interrupt flag clear KEIF: u1, padding: u29, }), @@ -312368,105 +311741,105 @@ pub const types = struct { }; pub const afio_f1 = struct { - /// Alternate function I/O + /// Alternate function I/O pub const AFIO = extern struct { - /// Event Control Register (AFIO_EVCR) + /// Event Control Register (AFIO_EVCR) EVCR: mmio.Mmio(packed struct(u32) { - /// Pin selection + /// Pin selection PIN: u4, - /// Port selection + /// Port selection PORT: u3, - /// Event Output Enable + /// Event Output Enable EVOE: u1, padding: u24, }), - /// AF remap and debug I/O configuration register (AFIO_MAPR) + /// AF remap and debug I/O configuration register (AFIO_MAPR) MAPR: mmio.Mmio(packed struct(u32) { - /// SPI1 remapping + /// SPI1 remapping SPI1_REMAP: u1, - /// I2C1 remapping + /// I2C1 remapping I2C1_REMAP: u1, - /// USART1 remapping + /// USART1 remapping USART1_REMAP: u1, - /// USART2 remapping + /// USART2 remapping USART2_REMAP: u1, - /// USART3 remapping + /// USART3 remapping USART3_REMAP: u2, - /// TIM1 remapping + /// TIM1 remapping TIM1_REMAP: u2, - /// TIM2 remapping + /// TIM2 remapping TIM2_REMAP: u2, - /// TIM3 remapping + /// TIM3 remapping TIM3_REMAP: u2, - /// TIM4 remapping + /// TIM4 remapping TIM4_REMAP: u1, - /// CAN1 remapping + /// CAN1 remapping CAN1_REMAP: u2, - /// Port D0/Port D1 mapping on OSCIN/OSCOUT + /// Port D0/Port D1 mapping on OSCIN/OSCOUT PD01_REMAP: u1, - /// Set and cleared by software + /// Set and cleared by software TIM5CH4_IREMAP: u1, - /// ADC 1 External trigger injected conversion remapping + /// ADC 1 External trigger injected conversion remapping ADC1_ETRGINJ_REMAP: u1, - /// ADC 1 external trigger regular conversion remapping + /// ADC 1 external trigger regular conversion remapping ADC1_ETRGREG_REMAP: u1, - /// ADC 2 external trigger injected conversion remapping + /// ADC 2 external trigger injected conversion remapping ADC2_ETRGINJ_REMAP: u1, - /// ADC 2 external trigger regular conversion remapping + /// ADC 2 external trigger regular conversion remapping ADC2_ETRGREG_REMAP: u1, - /// Ethernet MAC I/O remapping + /// Ethernet MAC I/O remapping ETH_REMAP: u1, - /// CAN2 I/O remapping + /// CAN2 I/O remapping CAN2_REMAP: u1, - /// MII or RMII selection + /// MII or RMII selection MII_RMII_SEL: u1, - /// Serial wire JTAG configuration + /// Serial wire JTAG configuration SWJ_CFG: u3, reserved28: u1, - /// SPI3/I2S3 remapping + /// SPI3/I2S3 remapping SPI3_REMAP: u1, - /// TIM2 internal trigger 1 remapping + /// TIM2 internal trigger 1 remapping TIM2ITR1_IREMAP: u1, - /// Ethernet PTP PPS remapping + /// Ethernet PTP PPS remapping PTP_PPS_REMAP: u1, padding: u1, }), - /// External interrupt configuration register 1 (AFIO_EXTICR1) + /// External interrupt configuration register 1 (AFIO_EXTICR1) EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI12 configuration + /// EXTI12 configuration EXTI: u4, padding: u28, }), reserved28: [4]u8, - /// AF remap and debug I/O configuration register + /// AF remap and debug I/O configuration register MAPR2: mmio.Mmio(packed struct(u32) { - /// TIM15 remapping + /// TIM15 remapping TIM15_REMAP: u1, - /// TIM16 remapping + /// TIM16 remapping TIM16_REMAP: u1, - /// TIM17 remapping + /// TIM17 remapping TIM17_REMAP: u1, - /// CEC remapping + /// CEC remapping CEC_REMAP: u1, - /// TIM1 DMA remapping + /// TIM1 DMA remapping TIM1_DMA_REMAP: u1, - /// TIM9 remapping + /// TIM9 remapping TIM9_REMAP: u1, - /// TIM10 remapping + /// TIM10 remapping TIM10_REMAP: u1, - /// TIM11 remapping + /// TIM11 remapping TIM11_REMAP: u1, - /// TIM13 remapping + /// TIM13 remapping TIM13_REMAP: u1, - /// TIM14 remapping + /// TIM14 remapping TIM14_REMAP: u1, - /// NADV connect/disconnect + /// NADV connect/disconnect FSMC_NADV: u1, - /// TIM67_DAC DMA remapping + /// TIM67_DAC DMA remapping TIM67_DAC_DMA_REMAP: u1, - /// TIM12 remapping + /// TIM12 remapping TIM12_REMAP: u1, - /// Miscellaneous features remapping + /// Miscellaneous features remapping MISC_REMAP: u1, padding: u18, }), @@ -312475,233 +311848,209 @@ pub const types = struct { pub const bdma_v1 = struct { pub const DIR = enum(u1) { - /// Read from peripheral + /// Read from peripheral FromPeripheral = 0x0, - /// Read from memory + /// Read from memory FromMemory = 0x1, }; pub const PL = enum(u2) { - /// Low priority + /// Low priority Low = 0x0, - /// Medium priority + /// Medium priority Medium = 0x1, - /// High priority + /// High priority High = 0x2, - /// Very high priority + /// Very high priority VeryHigh = 0x3, }; pub const SIZE = enum(u2) { - /// 8-bit size + /// 8-bit size Bits8 = 0x0, - /// 16-bit size + /// 16-bit size Bits16 = 0x1, - /// 32-bit size + /// 32-bit size Bits32 = 0x2, _, }; - /// Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers + /// Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers pub const CH = extern struct { - /// DMA channel configuration register (DMA_CCR) + /// DMA channel configuration register (DMA_CCR) CR: mmio.Mmio(packed struct(u32) { - /// Channel enable + /// Channel enable EN: u1, - /// Transfer complete interrupt enable + /// Transfer complete interrupt enable TCIE: u1, - /// Half Transfer interrupt enable + /// Half Transfer interrupt enable HTIE: u1, - /// Transfer error interrupt enable + /// Transfer error interrupt enable TEIE: u1, - /// Data transfer direction - DIR: packed union { - raw: u1, - value: DIR, - }, - /// Circular mode enabled + /// Data transfer direction + DIR: DIR, + /// Circular mode enabled CIRC: u1, - /// Peripheral increment mode enabled + /// Peripheral increment mode enabled PINC: u1, - /// Memory increment mode enabled + /// Memory increment mode enabled MINC: u1, - /// Peripheral size - PSIZE: packed union { - raw: u2, - value: SIZE, - }, - /// Memory size - MSIZE: packed union { - raw: u2, - value: SIZE, - }, - /// Channel Priority level - PL: packed union { - raw: u2, - value: PL, - }, - /// Memory to memory mode enabled + /// Peripheral size + PSIZE: SIZE, + /// Memory size + MSIZE: SIZE, + /// Channel Priority level + PL: PL, + /// Memory to memory mode enabled MEM2MEM: u1, padding: u17, }), - /// DMA channel 1 number of data register + /// DMA channel 1 number of data register NDTR: mmio.Mmio(packed struct(u32) { - /// Number of data to transfer + /// Number of data to transfer NDT: u16, padding: u16, }), - /// DMA channel 1 peripheral address register + /// DMA channel 1 peripheral address register PAR: u32, - /// DMA channel 1 memory address register + /// DMA channel 1 memory address register MAR: u32, }; - /// DMA controller + /// DMA controller pub const DMA = extern struct { - /// DMA interrupt status register (DMA_ISR) + /// DMA interrupt status register (DMA_ISR) ISR: mmio.Mmio(packed struct(u32) { - /// Channel 1 Global interrupt flag + /// Channel 1 Global interrupt flag GIF: u1, - /// Channel 1 Transfer Complete flag + /// Channel 1 Transfer Complete flag TCIF: u1, - /// Channel 1 Half Transfer Complete flag + /// Channel 1 Half Transfer Complete flag HTIF: u1, - /// Channel 1 Transfer Error flag + /// Channel 1 Transfer Error flag TEIF: u1, padding: u28, }), - /// DMA interrupt flag clear register (DMA_IFCR) + /// DMA interrupt flag clear register (DMA_IFCR) IFCR: mmio.Mmio(packed struct(u32) { - /// Channel 1 Global interrupt flag + /// Channel 1 Global interrupt flag GIF: u1, - /// Channel 1 Transfer Complete flag + /// Channel 1 Transfer Complete flag TCIF: u1, - /// Channel 1 Half Transfer Complete flag + /// Channel 1 Half Transfer Complete flag HTIF: u1, - /// Channel 1 Transfer Error flag + /// Channel 1 Transfer Error flag TEIF: u1, padding: u28, }), - /// Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers + /// Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers CH: u32, }; }; pub const bdma_v2 = struct { pub const DIR = enum(u1) { - /// Read from peripheral + /// Read from peripheral FromPeripheral = 0x0, - /// Read from memory + /// Read from memory FromMemory = 0x1, }; pub const PL = enum(u2) { - /// Low priority + /// Low priority Low = 0x0, - /// Medium priority + /// Medium priority Medium = 0x1, - /// High priority + /// High priority High = 0x2, - /// Very high priority + /// Very high priority VeryHigh = 0x3, }; pub const SIZE = enum(u2) { - /// 8-bit size + /// 8-bit size Bits8 = 0x0, - /// 16-bit size + /// 16-bit size Bits16 = 0x1, - /// 32-bit size + /// 32-bit size Bits32 = 0x2, _, }; - /// Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers + /// Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers pub const CH = extern struct { - /// DMA channel configuration register (DMA_CCR) + /// DMA channel configuration register (DMA_CCR) CR: mmio.Mmio(packed struct(u32) { - /// Channel enable + /// Channel enable EN: u1, - /// Transfer complete interrupt enable + /// Transfer complete interrupt enable TCIE: u1, - /// Half Transfer interrupt enable + /// Half Transfer interrupt enable HTIE: u1, - /// Transfer error interrupt enable + /// Transfer error interrupt enable TEIE: u1, - /// Data transfer direction - DIR: packed union { - raw: u1, - value: DIR, - }, - /// Circular mode enabled + /// Data transfer direction + DIR: DIR, + /// Circular mode enabled CIRC: u1, - /// Peripheral increment mode enabled + /// Peripheral increment mode enabled PINC: u1, - /// Memory increment mode enabled + /// Memory increment mode enabled MINC: u1, - /// Peripheral size - PSIZE: packed union { - raw: u2, - value: SIZE, - }, - /// Memory size - MSIZE: packed union { - raw: u2, - value: SIZE, - }, - /// Channel Priority level - PL: packed union { - raw: u2, - value: PL, - }, - /// Memory to memory mode enabled + /// Peripheral size + PSIZE: SIZE, + /// Memory size + MSIZE: SIZE, + /// Channel Priority level + PL: PL, + /// Memory to memory mode enabled MEM2MEM: u1, padding: u17, }), - /// DMA channel 1 number of data register + /// DMA channel 1 number of data register NDTR: mmio.Mmio(packed struct(u32) { - /// Number of data to transfer + /// Number of data to transfer NDT: u16, padding: u16, }), - /// DMA channel 1 peripheral address register + /// DMA channel 1 peripheral address register PAR: u32, - /// DMA channel 1 memory address register + /// DMA channel 1 memory address register MAR: u32, }; - /// DMA controller + /// DMA controller pub const DMA = extern struct { - /// DMA interrupt status register (DMA_ISR) + /// DMA interrupt status register (DMA_ISR) ISR: mmio.Mmio(packed struct(u32) { - /// Channel 1 Global interrupt flag + /// Channel 1 Global interrupt flag GIF: u1, - /// Channel 1 Transfer Complete flag + /// Channel 1 Transfer Complete flag TCIF: u1, - /// Channel 1 Half Transfer Complete flag + /// Channel 1 Half Transfer Complete flag HTIF: u1, - /// Channel 1 Transfer Error flag + /// Channel 1 Transfer Error flag TEIF: u1, padding: u28, }), - /// DMA interrupt flag clear register (DMA_IFCR) + /// DMA interrupt flag clear register (DMA_IFCR) IFCR: mmio.Mmio(packed struct(u32) { - /// Channel 1 Global interrupt flag + /// Channel 1 Global interrupt flag GIF: u1, - /// Channel 1 Transfer Complete flag + /// Channel 1 Transfer Complete flag TCIF: u1, - /// Channel 1 Half Transfer Complete flag + /// Channel 1 Half Transfer Complete flag HTIF: u1, - /// Channel 1 Transfer Error flag + /// Channel 1 Transfer Error flag TEIF: u1, padding: u28, }), - /// Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers + /// Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers CH: u32, reserved168: [156]u8, - /// channel selection register + /// channel selection register CSELR: mmio.Mmio(packed struct(u32) { - /// DMA channel selection + /// DMA channel selection CS: u4, padding: u28, }), @@ -312710,66 +312059,60 @@ pub const types = struct { pub const bkp_v1 = struct { pub const ASOS = enum(u1) { - /// RTC Alarm pulse output selected + /// RTC Alarm pulse output selected Alarm = 0x0, - /// RTC Second pulse output selected + /// RTC Second pulse output selected Second = 0x1, }; pub const TPAL = enum(u1) { - /// A high level on the TAMPER pin resets all data backup registers (if TPE bit is set) + /// A high level on the TAMPER pin resets all data backup registers (if TPE bit is set) High = 0x0, - /// A low level on the TAMPER pin resets all data backup registers (if TPE bit is set) + /// A low level on the TAMPER pin resets all data backup registers (if TPE bit is set) Low = 0x1, }; - /// Backup registers + /// Backup registers pub const BKP = extern struct { - /// Data register + /// Data register DR: mmio.Mmio(packed struct(u32) { - /// Backup data + /// Backup data D: u16, padding: u16, }), reserved44: [40]u8, - /// RTC clock calibration register + /// RTC clock calibration register RTCCR: mmio.Mmio(packed struct(u32) { - /// Calibration value + /// Calibration value CAL: u7, - /// Calibration Clock Output + /// Calibration Clock Output CCO: u1, - /// Alarm or second output enable + /// Alarm or second output enable ASOE: u1, - /// Alarm or second output selection - ASOS: packed union { - raw: u1, - value: ASOS, - }, + /// Alarm or second output selection + ASOS: ASOS, padding: u22, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Tamper pin enable + /// Tamper pin enable TPE: u1, - /// Tamper pin active level - TPAL: packed union { - raw: u1, - value: TPAL, - }, + /// Tamper pin active level + TPAL: TPAL, padding: u30, }), - /// Control/status register + /// Control/status register CSR: mmio.Mmio(packed struct(u32) { - /// Clear Tamper event + /// Clear Tamper event CTE: u1, - /// Clear Tamper Interrupt + /// Clear Tamper Interrupt CTI: u1, - /// Tamper Pin interrupt enable + /// Tamper Pin interrupt enable TPIE: u1, reserved8: u5, - /// Tamper Event Flag + /// Tamper Event Flag TEF: u1, - /// Tamper Interrupt Flag + /// Tamper Interrupt Flag TIF: u1, padding: u22, }), @@ -312778,347 +312121,329 @@ pub const types = struct { pub const can_bxcan = struct { pub const IDE = enum(u1) { - /// Standard identifier + /// Standard identifier Standard = 0x0, - /// Extended identifier + /// Extended identifier Extended = 0x1, }; pub const LEC = enum(u3) { - /// No Error + /// No Error NoError = 0x0, - /// Stuff Error + /// Stuff Error Stuff = 0x1, - /// Form Error + /// Form Error Form = 0x2, - /// Acknowledgment Error + /// Acknowledgment Error Ack = 0x3, - /// Bit recessive Error + /// Bit recessive Error BitRecessive = 0x4, - /// Bit dominant Error + /// Bit dominant Error BitDominant = 0x5, - /// CRC Error + /// CRC Error Crc = 0x6, - /// Set by software + /// Set by software Custom = 0x7, }; pub const RTR = enum(u1) { - /// Data frame + /// Data frame Data = 0x0, - /// Remote frame + /// Remote frame Remote = 0x1, }; pub const SILM = enum(u1) { - /// Normal operation + /// Normal operation Normal = 0x0, - /// Silent Mode + /// Silent Mode Silent = 0x1, }; - /// Controller area network + /// Controller area network pub const CAN = extern struct { - /// master control register + /// master control register MCR: mmio.Mmio(packed struct(u32) { - /// INRQ + /// INRQ INRQ: u1, - /// SLEEP + /// SLEEP SLEEP: u1, - /// TXFP + /// TXFP TXFP: u1, - /// RFLM + /// RFLM RFLM: u1, - /// NART + /// NART NART: u1, - /// AWUM + /// AWUM AWUM: u1, - /// ABOM + /// ABOM ABOM: u1, - /// TTCM + /// TTCM TTCM: u1, reserved15: u7, - /// RESET + /// RESET RESET: u1, - /// DBF + /// DBF DBF: u1, padding: u15, }), - /// master status register + /// master status register MSR: mmio.Mmio(packed struct(u32) { - /// INAK + /// INAK INAK: u1, - /// SLAK + /// SLAK SLAK: u1, - /// ERRI + /// ERRI ERRI: u1, - /// WKUI + /// WKUI WKUI: u1, - /// SLAKI + /// SLAKI SLAKI: u1, reserved8: u3, - /// TXM + /// TXM TXM: u1, - /// RXM + /// RXM RXM: u1, - /// SAMP + /// SAMP SAMP: u1, - /// RX + /// RX RX: u1, padding: u20, }), - /// transmit status register + /// transmit status register TSR: mmio.Mmio(packed struct(u32) { - /// RQCP0 + /// RQCP0 RQCP: u1, - /// TXOK0 + /// TXOK0 TXOK: u1, - /// ALST0 + /// ALST0 ALST: u1, - /// TERR0 + /// TERR0 TERR: u1, reserved7: u3, - /// ABRQ0 + /// ABRQ0 ABRQ: u1, reserved24: u16, - /// CODE + /// CODE CODE: u2, - /// Lowest priority flag for mailbox 0 + /// Lowest priority flag for mailbox 0 TME: u1, reserved29: u2, - /// Lowest priority flag for mailbox 0 + /// Lowest priority flag for mailbox 0 LOW: u1, padding: u2, }), - /// receive FIFO 0 register + /// receive FIFO 0 register RFR: [2]mmio.Mmio(packed struct(u32) { - /// FMP0 + /// FMP0 FMP: u2, reserved3: u1, - /// FULL0 + /// FULL0 FULL: u1, - /// FOVR0 + /// FOVR0 FOVR: u1, - /// RFOM0 + /// RFOM0 RFOM: u1, padding: u26, }), - /// interrupt enable register + /// interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// TMEIE + /// TMEIE TMEIE: u1, - /// FMPIE0 + /// FMPIE0 FMPIE: u1, - /// FFIE0 + /// FFIE0 FFIE: u1, - /// FOVIE0 + /// FOVIE0 FOVIE: u1, reserved8: u4, - /// EWGIE + /// EWGIE EWGIE: u1, - /// EPVIE + /// EPVIE EPVIE: u1, - /// BOFIE + /// BOFIE BOFIE: u1, - /// LECIE + /// LECIE LECIE: u1, reserved15: u3, - /// ERRIE + /// ERRIE ERRIE: u1, - /// WKUIE + /// WKUIE WKUIE: u1, - /// SLKIE + /// SLKIE SLKIE: u1, padding: u14, }), - /// error status register + /// error status register ESR: mmio.Mmio(packed struct(u32) { - /// EWGF + /// EWGF EWGF: u1, - /// EPVF + /// EPVF EPVF: u1, - /// BOFF + /// BOFF BOFF: u1, reserved4: u1, - /// LEC - LEC: packed union { - raw: u3, - value: LEC, - }, + /// LEC + LEC: LEC, reserved16: u9, - /// TEC + /// TEC TEC: u8, - /// REC + /// REC REC: u8, }), - /// bit timing register + /// bit timing register BTR: mmio.Mmio(packed struct(u32) { - /// BRP + /// BRP BRP: u10, reserved16: u6, - /// TS1 + /// TS1 TS: u4, reserved24: u4, - /// SJW + /// SJW SJW: u2, reserved30: u4, - /// Loop Back Mode enabled + /// Loop Back Mode enabled LBKM: u1, - /// SILM - SILM: packed union { - raw: u1, - value: SILM, - }, + /// SILM + SILM: SILM, }), reserved384: [352]u8, - /// CAN Transmit cluster + /// CAN Transmit cluster TX: u32, reserved432: [44]u8, - /// CAN Receive cluster + /// CAN Receive cluster RX: u32, reserved512: [76]u8, - /// filter master register + /// filter master register FMR: mmio.Mmio(packed struct(u32) { - /// FINIT + /// FINIT FINIT: u1, reserved8: u7, - /// CAN2SB + /// CAN2SB CAN2SB: u6, padding: u18, }), - /// filter mode register + /// filter mode register FM1R: mmio.Mmio(packed struct(u32) { - /// Filter mode + /// Filter mode FBM: u1, padding: u31, }), reserved524: [4]u8, - /// filter scale register + /// filter scale register FS1R: mmio.Mmio(packed struct(u32) { - /// Filter scale configuration + /// Filter scale configuration FSC: u1, padding: u31, }), reserved532: [4]u8, - /// filter FIFO assignment register + /// filter FIFO assignment register FFA1R: mmio.Mmio(packed struct(u32) { - /// Filter FIFO assignment for filter 0 + /// Filter FIFO assignment for filter 0 FFA: u1, padding: u31, }), reserved540: [4]u8, - /// filter activation register + /// filter activation register FA1R: mmio.Mmio(packed struct(u32) { - /// Filter active + /// Filter active FACT: u1, padding: u31, }), reserved576: [32]u8, - /// CAN Filter Bank cluster + /// CAN Filter Bank cluster FB: u32, }; - /// CAN Filter Bank cluster + /// CAN Filter Bank cluster pub const FB = extern struct { - /// Filter bank 0 register 1 + /// Filter bank 0 register 1 FR1: mmio.Mmio(packed struct(u32) { - /// Filter bits + /// Filter bits FB: u1, padding: u31, }), - /// Filter bank 0 register 2 + /// Filter bank 0 register 2 FR2: mmio.Mmio(packed struct(u32) { - /// Filter bits + /// Filter bits FB: u1, padding: u31, }), }; - /// CAN Receive cluster + /// CAN Receive cluster pub const RX = extern struct { - /// receive FIFO mailbox identifier register + /// receive FIFO mailbox identifier register RIR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// RTR - RTR: packed union { - raw: u1, - value: RTR, - }, - /// IDE - IDE: packed union { - raw: u1, - value: IDE, - }, - /// EXID + /// RTR + RTR: RTR, + /// IDE + IDE: IDE, + /// EXID EXID: u18, - /// STID + /// STID STID: u11, }), - /// mailbox data high register + /// mailbox data high register RDTR: mmio.Mmio(packed struct(u32) { - /// DLC + /// DLC DLC: u4, reserved8: u4, - /// FMI + /// FMI FMI: u8, - /// TIME + /// TIME TIME: u16, }), - /// mailbox data high register + /// mailbox data high register RDLR: mmio.Mmio(packed struct(u32) { - /// DATA0 + /// DATA0 DATA: u8, padding: u24, }), - /// receive FIFO mailbox data high register + /// receive FIFO mailbox data high register RDHR: mmio.Mmio(packed struct(u32) { - /// DATA4 + /// DATA4 DATA: u8, padding: u24, }), }; - /// CAN Transmit cluster + /// CAN Transmit cluster pub const TX = extern struct { - /// TX mailbox identifier register + /// TX mailbox identifier register TIR: mmio.Mmio(packed struct(u32) { - /// TXRQ + /// TXRQ TXRQ: u1, - /// RTR - RTR: packed union { - raw: u1, - value: RTR, - }, - /// IDE - IDE: packed union { - raw: u1, - value: IDE, - }, - /// EXID + /// RTR + RTR: RTR, + /// IDE + IDE: IDE, + /// EXID EXID: u18, - /// STID + /// STID STID: u11, }), - /// mailbox data length control and time stamp register + /// mailbox data length control and time stamp register TDTR: mmio.Mmio(packed struct(u32) { - /// DLC + /// DLC DLC: u4, reserved8: u4, - /// TGT + /// TGT TGT: u1, reserved16: u7, - /// TIME + /// TIME TIME: u16, }), - /// mailbox data low register + /// mailbox data low register TDLR: mmio.Mmio(packed struct(u32) { - /// DATA0 + /// DATA0 DATA: u8, padding: u24, }), - /// mailbox data high register + /// mailbox data high register TDHR: mmio.Mmio(packed struct(u32) { - /// DATA4 + /// DATA4 DATA: u8, padding: u24, }), @@ -313127,916 +312452,913 @@ pub const types = struct { pub const can_fdcan_h7 = struct { pub const TFQM = enum(u1) { - /// Tx FIFO operation + /// Tx FIFO operation FIFO = 0x0, - /// Tx queue operation + /// Tx queue operation QUEUE = 0x1, }; - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN = extern struct { - /// FDCAN Core Release Register + /// FDCAN Core Release Register CREL: mmio.Mmio(packed struct(u32) { - /// Timestamp Day + /// Timestamp Day DAY: u8, - /// Timestamp Month + /// Timestamp Month MON: u8, - /// Timestamp Year + /// Timestamp Year YEAR: u4, - /// Sub-step of Core release + /// Sub-step of Core release SUBSTEP: u4, - /// Step of Core release + /// Step of Core release STEP: u4, - /// Core release + /// Core release REL: u4, }), - /// FDCAN Core Release Register + /// FDCAN Core Release Register ENDN: mmio.Mmio(packed struct(u32) { - /// Endiannes Test Value + /// Endiannes Test Value ETV: u32, }), reserved12: [4]u8, - /// FDCAN Data Bit Timing and Prescaler Register + /// FDCAN Data Bit Timing and Prescaler Register DBTP: mmio.Mmio(packed struct(u32) { - /// Synchronization Jump Width + /// Synchronization Jump Width DSJW: u4, - /// Data time segment after sample point + /// Data time segment after sample point DTSEG2: u4, - /// Data time segment after sample point + /// Data time segment after sample point DTSEG1: u5, reserved16: u3, - /// Data BIt Rate Prescaler + /// Data BIt Rate Prescaler DBRP: u5, reserved23: u2, - /// Transceiver Delay Compensation + /// Transceiver Delay Compensation TDC: u1, padding: u8, }), - /// FDCAN Test Register + /// FDCAN Test Register TEST: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Loop Back mode + /// Loop Back mode LBCK: u1, - /// Loop Back mode + /// Loop Back mode TX: u2, - /// Control of Transmit Pin + /// Control of Transmit Pin RX: u1, padding: u24, }), - /// FDCAN RAM Watchdog Register + /// FDCAN RAM Watchdog Register RWD: mmio.Mmio(packed struct(u32) { - /// Watchdog configuration + /// Watchdog configuration WDC: u8, - /// Watchdog value + /// Watchdog value WDV: u8, padding: u16, }), - /// FDCAN CC Control Register + /// FDCAN CC Control Register CCCR: mmio.Mmio(packed struct(u32) { - /// Initialization + /// Initialization INIT: u1, - /// Configuration Change Enable + /// Configuration Change Enable CCE: u1, - /// ASM Restricted Operation Mode + /// ASM Restricted Operation Mode ASM: u1, - /// Clock Stop Acknowledge + /// Clock Stop Acknowledge CSA: u1, - /// Clock Stop Request + /// Clock Stop Request CSR: u1, - /// Bus Monitoring Mode + /// Bus Monitoring Mode MON: u1, - /// Disable Automatic Retransmission + /// Disable Automatic Retransmission DAR: u1, - /// Test Mode Enable + /// Test Mode Enable TEST: u1, - /// FD Operation Enable + /// FD Operation Enable FDOE: u1, - /// FDCAN Bit Rate Switching + /// FDCAN Bit Rate Switching BSE: u1, reserved12: u2, - /// Protocol Exception Handling Disable + /// Protocol Exception Handling Disable PXHD: u1, - /// Edge Filtering during Bus Integration + /// Edge Filtering during Bus Integration EFBI: u1, - /// TXP + /// TXP TXP: u1, - /// Non ISO Operation + /// Non ISO Operation NISO: u1, padding: u16, }), - /// FDCAN Nominal Bit Timing and Prescaler Register + /// FDCAN Nominal Bit Timing and Prescaler Register NBTP: mmio.Mmio(packed struct(u32) { - /// Nominal Time segment after sample point + /// Nominal Time segment after sample point NTSEG2: u7, reserved8: u1, - /// Nominal Time segment before sample point + /// Nominal Time segment before sample point NTSEG1: u8, - /// Bit Rate Prescaler + /// Bit Rate Prescaler NBRP: u9, - /// NSJW: Nominal (Re)Synchronization Jump Width. + /// NSJW: Nominal (Re)Synchronization Jump Width. NSJW: u7, }), - /// FDCAN Timestamp Counter Configuration Register + /// FDCAN Timestamp Counter Configuration Register TSCC: mmio.Mmio(packed struct(u32) { - /// Timestamp Select + /// Timestamp Select TSS: u2, reserved16: u14, - /// Timestamp Counter Prescaler + /// Timestamp Counter Prescaler TCP: u4, padding: u12, }), - /// FDCAN Timestamp Counter Value Register + /// FDCAN Timestamp Counter Value Register TSCV: mmio.Mmio(packed struct(u32) { - /// Timestamp Counter + /// Timestamp Counter TSC: u16, padding: u16, }), - /// FDCAN Timeout Counter Configuration Register + /// FDCAN Timeout Counter Configuration Register TOCC: mmio.Mmio(packed struct(u32) { - /// Enable Timeout Counter + /// Enable Timeout Counter ETOC: u1, - /// Timeout Select + /// Timeout Select TOS: u2, reserved16: u13, - /// Timeout Period + /// Timeout Period TOP: u16, }), - /// FDCAN Timeout Counter Value Register + /// FDCAN Timeout Counter Value Register TOCV: mmio.Mmio(packed struct(u32) { - /// Timeout Counter + /// Timeout Counter TOC: u16, padding: u16, }), reserved64: [16]u8, - /// FDCAN Error Counter Register + /// FDCAN Error Counter Register ECR: mmio.Mmio(packed struct(u32) { - /// Transmit Error Counter + /// Transmit Error Counter TEC: u8, - /// Receive Error Counter + /// Receive Error Counter REC: u7, - /// Receive Error Passive + /// Receive Error Passive RP: u1, - /// AN Error Logging + /// AN Error Logging CEL: u8, padding: u8, }), - /// FDCAN Protocol Status Register + /// FDCAN Protocol Status Register PSR: mmio.Mmio(packed struct(u32) { - /// Last Error Code + /// Last Error Code LEC: u3, - /// Activity + /// Activity ACT: u2, - /// Error Passive + /// Error Passive EP: u1, - /// Warning Status + /// Warning Status EW: u1, - /// Bus_Off Status + /// Bus_Off Status BO: u1, - /// Data Last Error Code + /// Data Last Error Code DLEC: u3, - /// ESI flag of last received FDCAN Message + /// ESI flag of last received FDCAN Message RESI: u1, - /// BRS flag of last received FDCAN Message + /// BRS flag of last received FDCAN Message RBRS: u1, - /// Received FDCAN Message + /// Received FDCAN Message REDL: u1, - /// Protocol Exception Event + /// Protocol Exception Event PXE: u1, reserved16: u1, - /// Transmitter Delay Compensation Value + /// Transmitter Delay Compensation Value TDCV: u7, padding: u9, }), - /// FDCAN Transmitter Delay Compensation Register + /// FDCAN Transmitter Delay Compensation Register TDCR: mmio.Mmio(packed struct(u32) { - /// Transmitter Delay Compensation Filter Window Length + /// Transmitter Delay Compensation Filter Window Length TDCF: u7, reserved8: u1, - /// Transmitter Delay Compensation Offset + /// Transmitter Delay Compensation Offset TDCO: u7, padding: u17, }), reserved80: [4]u8, - /// FDCAN Interrupt Register + /// FDCAN Interrupt Register IR: mmio.Mmio(packed struct(u32) { - /// Rx FIFO X New Message + /// Rx FIFO X New Message RFN: u1, - /// Rx FIFO X Watermark Reached + /// Rx FIFO X Watermark Reached RFW: u1, - /// Rx FIFO X Full + /// Rx FIFO X Full RFF: u1, - /// Rx FIFO X Message Lost + /// Rx FIFO X Message Lost RFL: u1, reserved8: u4, - /// High Priority Message + /// High Priority Message HPM: u1, - /// Transmission Completed + /// Transmission Completed TC: u1, - /// Transmission Cancellation Finished + /// Transmission Cancellation Finished TCF: u1, - /// Tx FIFO Empty + /// Tx FIFO Empty TEF: u1, - /// Tx Event FIFO New Entry + /// Tx Event FIFO New Entry TEFN: u1, - /// Tx Event FIFO Watermark Reached + /// Tx Event FIFO Watermark Reached TEFW: u1, - /// Tx Event FIFO Full + /// Tx Event FIFO Full TEFF: u1, - /// Tx Event FIFO Element Lost + /// Tx Event FIFO Element Lost TEFL: u1, - /// Timestamp Wraparound + /// Timestamp Wraparound TSW: u1, - /// Message RAM Access Failure + /// Message RAM Access Failure MRAF: u1, - /// Timeout Occurred + /// Timeout Occurred TOO: u1, - /// Message stored to Dedicated Rx Buffer + /// Message stored to Dedicated Rx Buffer DRX: u1, reserved22: u2, - /// Error Logging Overflow + /// Error Logging Overflow ELO: u1, - /// Error Passive + /// Error Passive EP: u1, - /// Warning Status + /// Warning Status EW: u1, - /// Bus_Off Status + /// Bus_Off Status BO: u1, - /// Watchdog Interrupt + /// Watchdog Interrupt WDI: u1, - /// Protocol Error in Arbitration Phase (Nominal Bit Time is used) + /// Protocol Error in Arbitration Phase (Nominal Bit Time is used) PEA: u1, - /// Protocol Error in Data Phase (Data Bit Time is used) + /// Protocol Error in Data Phase (Data Bit Time is used) PED: u1, - /// Access to Reserved Address + /// Access to Reserved Address ARA: u1, padding: u2, }), - /// FDCAN Interrupt Enable Register + /// FDCAN Interrupt Enable Register IE: mmio.Mmio(packed struct(u32) { - /// Rx FIFO X New Message Enable + /// Rx FIFO X New Message Enable RFNE: u1, - /// Rx FIFO X Watermark Reached Enable + /// Rx FIFO X Watermark Reached Enable RFWE: u1, - /// Rx FIFO X Full Enable + /// Rx FIFO X Full Enable RFFE: u1, - /// Rx FIFO X Message Lost Enable + /// Rx FIFO X Message Lost Enable RFLE: u1, reserved8: u4, - /// High Priority Message Enable + /// High Priority Message Enable HPME: u1, - /// Transmission Completed Enable + /// Transmission Completed Enable TCE: u1, - /// Transmission Cancellation Finished Enable + /// Transmission Cancellation Finished Enable TCFE: u1, - /// Tx FIFO Empty Enable + /// Tx FIFO Empty Enable TEFE: u1, - /// Tx Event FIFO New Entry Enable + /// Tx Event FIFO New Entry Enable TEFNE: u1, - /// Tx Event FIFO Watermark Reached Enable + /// Tx Event FIFO Watermark Reached Enable TEFWE: u1, - /// Tx Event FIFO Full Enable + /// Tx Event FIFO Full Enable TEFFE: u1, - /// Tx Event FIFO Element Lost Enable + /// Tx Event FIFO Element Lost Enable TEFLE: u1, - /// Timestamp Wraparound Enable + /// Timestamp Wraparound Enable TSWE: u1, - /// Message RAM Access Failure Enable + /// Message RAM Access Failure Enable MRAFE: u1, - /// Timeout Occurred Enable + /// Timeout Occurred Enable TOOE: u1, - /// Message stored to Dedicated Rx Buffer Enable + /// Message stored to Dedicated Rx Buffer Enable DRXE: u1, - /// Bit Error Corrected Interrupt Enable + /// Bit Error Corrected Interrupt Enable BECE: u1, - /// Bit Error Uncorrected Interrupt Enable + /// Bit Error Uncorrected Interrupt Enable BEUE: u1, - /// Error Logging Overflow Enable + /// Error Logging Overflow Enable ELOE: u1, - /// Error Passive Enable + /// Error Passive Enable EPE: u1, - /// Warning Status Enable + /// Warning Status Enable EWE: u1, - /// Bus_Off Status Enable + /// Bus_Off Status Enable BOE: u1, - /// Watchdog Interrupt Enable + /// Watchdog Interrupt Enable WDIE: u1, - /// Protocol Error in Arbitration Phase Enable + /// Protocol Error in Arbitration Phase Enable PEAE: u1, - /// Protocol Error in Data Phase Enable + /// Protocol Error in Data Phase Enable PEDE: u1, - /// Access to Reserved Address Enable + /// Access to Reserved Address Enable ARAE: u1, padding: u2, }), - /// FDCAN Interrupt Line Select Register + /// FDCAN Interrupt Line Select Register ILS: mmio.Mmio(packed struct(u32) { - /// Rx FIFO X New Message Interrupt Line + /// Rx FIFO X New Message Interrupt Line RFNL: u1, - /// Rx FIFO X Watermark Reached Interrupt Line + /// Rx FIFO X Watermark Reached Interrupt Line RFWL: u1, - /// Rx FIFO X Full Interrupt Line + /// Rx FIFO X Full Interrupt Line RFFL: u1, - /// Rx FIFO X Message Lost Interrupt Line + /// Rx FIFO X Message Lost Interrupt Line RFLL: u1, reserved8: u4, - /// High Priority Message Interrupt Line + /// High Priority Message Interrupt Line HPML: u1, - /// Transmission Completed Interrupt Line + /// Transmission Completed Interrupt Line TCL: u1, - /// Transmission Cancellation Finished Interrupt Line + /// Transmission Cancellation Finished Interrupt Line TCFL: u1, - /// Tx FIFO Empty Interrupt Line + /// Tx FIFO Empty Interrupt Line TEFL: u1, - /// Tx Event FIFO New Entry Interrupt Line + /// Tx Event FIFO New Entry Interrupt Line TEFNL: u1, - /// Tx Event FIFO Watermark Reached Interrupt Line + /// Tx Event FIFO Watermark Reached Interrupt Line TEFWL: u1, - /// Tx Event FIFO Full Interrupt Line + /// Tx Event FIFO Full Interrupt Line TEFFL: u1, - /// Tx Event FIFO Element Lost Interrupt Line + /// Tx Event FIFO Element Lost Interrupt Line TEFLL: u1, - /// Timestamp Wraparound Interrupt Line + /// Timestamp Wraparound Interrupt Line TSWL: u1, - /// Message RAM Access Failure Interrupt Line + /// Message RAM Access Failure Interrupt Line MRAFL: u1, - /// Timeout Occurred Interrupt Line + /// Timeout Occurred Interrupt Line TOOL: u1, - /// Message stored to Dedicated Rx Buffer Interrupt Line + /// Message stored to Dedicated Rx Buffer Interrupt Line DRXL: u1, - /// Bit Error Corrected Interrupt Line + /// Bit Error Corrected Interrupt Line BECL: u1, - /// Bit Error Uncorrected Interrupt Line + /// Bit Error Uncorrected Interrupt Line BEUL: u1, - /// Error Logging Overflow Interrupt Line + /// Error Logging Overflow Interrupt Line ELOL: u1, - /// Error Passive Interrupt Line + /// Error Passive Interrupt Line EPL: u1, - /// Warning Status Interrupt Line + /// Warning Status Interrupt Line EWL: u1, - /// Bus_Off Status + /// Bus_Off Status BOL: u1, - /// Watchdog Interrupt Line + /// Watchdog Interrupt Line WDIL: u1, - /// Protocol Error in Arbitration Phase Line + /// Protocol Error in Arbitration Phase Line PEAL: u1, - /// Protocol Error in Data Phase Line + /// Protocol Error in Data Phase Line PEDL: u1, - /// Access to Reserved Address Line + /// Access to Reserved Address Line ARAL: u1, padding: u2, }), - /// FDCAN Interrupt Line Enable Register + /// FDCAN Interrupt Line Enable Register ILE: mmio.Mmio(packed struct(u32) { - /// Enable Interrupt Line 0 + /// Enable Interrupt Line 0 EINT0: u1, - /// Enable Interrupt Line 1 + /// Enable Interrupt Line 1 EINT1: u1, padding: u30, }), reserved128: [32]u8, - /// FDCAN Global Filter Configuration Register + /// FDCAN Global Filter Configuration Register GFC: mmio.Mmio(packed struct(u32) { - /// Reject Remote Frames Extended + /// Reject Remote Frames Extended RRFE: u1, - /// Reject Remote Frames Standard + /// Reject Remote Frames Standard RRFS: u1, - /// Accept Non-matching Frames Extended + /// Accept Non-matching Frames Extended ANFE: u2, - /// Accept Non-matching Frames Standard + /// Accept Non-matching Frames Standard ANFS: u2, padding: u26, }), - /// FDCAN Standard ID Filter Configuration Register + /// FDCAN Standard ID Filter Configuration Register SIDFC: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Filter List Standard Start Address + /// Filter List Standard Start Address FLSSA: u14, - /// List Size Standard + /// List Size Standard LSS: u8, padding: u8, }), - /// FDCAN Extended ID Filter Configuration Register + /// FDCAN Extended ID Filter Configuration Register XIDFC: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Filter List Standard Start Address + /// Filter List Standard Start Address FLESA: u14, - /// List Size Extended + /// List Size Extended LSE: u8, padding: u8, }), reserved144: [4]u8, - /// FDCAN Extended ID and Mask Register + /// FDCAN Extended ID and Mask Register XIDAM: mmio.Mmio(packed struct(u32) { - /// Extended ID Mask + /// Extended ID Mask EIDM: u29, padding: u3, }), - /// FDCAN High Priority Message Status Register + /// FDCAN High Priority Message Status Register HPMS: mmio.Mmio(packed struct(u32) { - /// Buffer Index + /// Buffer Index BIDX: u6, - /// Message Storage Indicator + /// Message Storage Indicator MSI: u2, - /// Filter Index + /// Filter Index FIDX: u7, - /// Filter List + /// Filter List FLST: u1, padding: u16, }), - /// FDCAN New Data 1 Register + /// FDCAN New Data 1 Register NDAT1: mmio.Mmio(packed struct(u32) { - /// New data (buffers 0 - 31) + /// New data (buffers 0 - 31) ND: u32, }), - /// FDCAN New Data 2 Register + /// FDCAN New Data 2 Register NDAT2: mmio.Mmio(packed struct(u32) { - /// New data (buffers 32 - 63) + /// New data (buffers 32 - 63) ND: u32, }), - /// FDCAN Rx FIFO X Configuration Register + /// FDCAN Rx FIFO X Configuration Register RXFC: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Rx FIFO X Start Address + /// Rx FIFO X Start Address FSA: u14, - /// Rx FIFO X Size + /// Rx FIFO X Size FS: u7, reserved24: u1, - /// FIFO X Watermark + /// FIFO X Watermark FWM: u7, - /// FIFO X operation mode + /// FIFO X operation mode FOM: u1, }), - /// FDCAN Rx FIFO X Status Register + /// FDCAN Rx FIFO X Status Register RXFS: mmio.Mmio(packed struct(u32) { - /// Rx FIFO X Fill Level + /// Rx FIFO X Fill Level FFL: u7, reserved8: u1, - /// Rx FIFO X Get Index + /// Rx FIFO X Get Index FGI: u6, reserved16: u2, - /// Rx FIFO X Put Index + /// Rx FIFO X Put Index FPI: u6, reserved24: u2, - /// Rx FIFO X Full + /// Rx FIFO X Full FF: u1, - /// Rx FIFO X Message Lost + /// Rx FIFO X Message Lost RFL: u1, padding: u6, }), - /// CAN Rx FIFO X Acknowledge Register + /// CAN Rx FIFO X Acknowledge Register RXFA: mmio.Mmio(packed struct(u32) { - /// Rx FIFO X Acknowledge Index + /// Rx FIFO X Acknowledge Index FAI: u6, padding: u26, }), - /// FDCAN Rx Buffer Configuration Register + /// FDCAN Rx Buffer Configuration Register RXBC: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Rx Buffer Start Address + /// Rx Buffer Start Address RBSA: u14, padding: u16, }), reserved188: [12]u8, - /// FDCAN Rx Buffer Element Size Configuration Register + /// FDCAN Rx Buffer Element Size Configuration Register RXESC: mmio.Mmio(packed struct(u32) { - /// Rx FIFO X Data Field Size + /// Rx FIFO X Data Field Size FDS: u3, reserved8: u5, - /// Rx Buffer Data Field Size + /// Rx Buffer Data Field Size RBDS: u3, padding: u21, }), - /// FDCAN Tx Buffer Configuration Register + /// FDCAN Tx Buffer Configuration Register TXBC: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Tx Buffers Start Address + /// Tx Buffers Start Address TBSA: u14, - /// Number of Dedicated Transmit Buffers + /// Number of Dedicated Transmit Buffers NDTB: u6, reserved24: u2, - /// Transmit FIFO/Queue Size + /// Transmit FIFO/Queue Size TFQS: u6, - /// Tx FIFO/Queue Mode - TFQM: packed union { - raw: u1, - value: TFQM, - }, + /// Tx FIFO/Queue Mode + TFQM: TFQM, padding: u1, }), - /// FDCAN Tx FIFO/Queue Status Register + /// FDCAN Tx FIFO/Queue Status Register TXFQS: mmio.Mmio(packed struct(u32) { - /// Tx FIFO Free Level + /// Tx FIFO Free Level TFFL: u6, reserved8: u2, - /// TFGI + /// TFGI TFGI: u5, reserved16: u3, - /// Tx FIFO/Queue Put Index + /// Tx FIFO/Queue Put Index TFQPI: u5, - /// Tx FIFO/Queue Full + /// Tx FIFO/Queue Full TFQF: u1, padding: u10, }), - /// FDCAN Tx Buffer Element Size Configuration Register + /// FDCAN Tx Buffer Element Size Configuration Register TXESC: mmio.Mmio(packed struct(u32) { - /// Tx Buffer Data Field Size + /// Tx Buffer Data Field Size TBDS: u3, padding: u29, }), - /// FDCAN Tx Buffer Request Pending Register + /// FDCAN Tx Buffer Request Pending Register TXBRP: mmio.Mmio(packed struct(u32) { - /// Transmission Request Pending + /// Transmission Request Pending TRP: u1, padding: u31, }), - /// FDCAN Tx Buffer Add Request Register + /// FDCAN Tx Buffer Add Request Register TXBAR: mmio.Mmio(packed struct(u32) { - /// Add Request + /// Add Request AR: u1, padding: u31, }), - /// FDCAN Tx Buffer Cancellation Request Register + /// FDCAN Tx Buffer Cancellation Request Register TXBCR: mmio.Mmio(packed struct(u32) { - /// Cancellation Request + /// Cancellation Request CR: u1, padding: u31, }), - /// FDCAN Tx Buffer Transmission Occurred Register + /// FDCAN Tx Buffer Transmission Occurred Register TXBTO: mmio.Mmio(packed struct(u32) { - /// Transmission Occurred + /// Transmission Occurred TO: u1, padding: u31, }), - /// FDCAN Tx Buffer Cancellation Finished Register + /// FDCAN Tx Buffer Cancellation Finished Register TXBCF: mmio.Mmio(packed struct(u32) { - /// Cancellation Finished + /// Cancellation Finished CF: u1, padding: u31, }), - /// FDCAN Tx Buffer Transmission Interrupt Enable Register + /// FDCAN Tx Buffer Transmission Interrupt Enable Register TXBTIE: mmio.Mmio(packed struct(u32) { - /// Transmission Interrupt Enable + /// Transmission Interrupt Enable TIE: u1, padding: u31, }), - /// FDCAN Tx Buffer Cancellation Finished Interrupt Enable Register + /// FDCAN Tx Buffer Cancellation Finished Interrupt Enable Register TXBCIE: mmio.Mmio(packed struct(u32) { - /// Cancellation Finished Interrupt Enable + /// Cancellation Finished Interrupt Enable CF: u1, padding: u31, }), reserved240: [8]u8, - /// FDCAN Tx Event FIFO Configuration Register + /// FDCAN Tx Event FIFO Configuration Register TXEFC: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Event FIFO Start Address + /// Event FIFO Start Address EFSA: u14, - /// Event FIFO Size + /// Event FIFO Size EFS: u6, reserved24: u2, - /// Event FIFO Watermark + /// Event FIFO Watermark EFWM: u6, padding: u2, }), - /// FDCAN Tx Event FIFO Status Register + /// FDCAN Tx Event FIFO Status Register TXEFS: mmio.Mmio(packed struct(u32) { - /// Event FIFO Fill Level + /// Event FIFO Fill Level EFFL: u6, reserved8: u2, - /// Event FIFO Get Index + /// Event FIFO Get Index EFGI: u5, reserved16: u3, - /// Event FIFO put index + /// Event FIFO put index EFPI: u5, reserved24: u3, - /// Event FIFO Full + /// Event FIFO Full EFF: u1, - /// Tx Event FIFO Element Lost + /// Tx Event FIFO Element Lost TEFL: u1, padding: u6, }), - /// FDCAN Tx Event FIFO Acknowledge Register + /// FDCAN Tx Event FIFO Acknowledge Register TXEFA: mmio.Mmio(packed struct(u32) { - /// Event FIFO Acknowledge Index + /// Event FIFO Acknowledge Index EFAI: u5, padding: u27, }), reserved256: [4]u8, - /// FDCAN TT Trigger Memory Configuration Register + /// FDCAN TT Trigger Memory Configuration Register TTTMC: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Trigger Memory Start Address + /// Trigger Memory Start Address TMSA: u14, - /// Trigger Memory Elements + /// Trigger Memory Elements TME: u7, padding: u9, }), - /// FDCAN TT Reference Message Configuration Register + /// FDCAN TT Reference Message Configuration Register TTRMC: mmio.Mmio(packed struct(u32) { - /// Reference Identifier + /// Reference Identifier RID: u29, reserved30: u1, - /// Extended Identifier + /// Extended Identifier XTD: u1, - /// Reference Message Payload Select + /// Reference Message Payload Select RMPS: u1, }), - /// FDCAN TT Operation Configuration Register + /// FDCAN TT Operation Configuration Register TTOCF: mmio.Mmio(packed struct(u32) { - /// Operation Mode + /// Operation Mode OM: u2, reserved3: u1, - /// Gap Enable + /// Gap Enable GEN: u1, - /// Time Master + /// Time Master TM: u1, - /// LD of Synchronization Deviation Limit + /// LD of Synchronization Deviation Limit LDSDL: u3, - /// Initial Reference Trigger Offset + /// Initial Reference Trigger Offset IRTO: u7, - /// Enable External Clock Synchronization + /// Enable External Clock Synchronization EECS: u1, - /// Application Watchdog Limit + /// Application Watchdog Limit AWL: u8, - /// Enable Global Time Filtering + /// Enable Global Time Filtering EGTF: u1, - /// Enable Clock Calibration + /// Enable Clock Calibration ECC: u1, - /// Event Trigger Polarity + /// Event Trigger Polarity EVTP: u1, padding: u5, }), - /// FDCAN TT Matrix Limits Register + /// FDCAN TT Matrix Limits Register TTMLM: mmio.Mmio(packed struct(u32) { - /// Cycle Count Max + /// Cycle Count Max CCM: u6, - /// Cycle Start Synchronization + /// Cycle Start Synchronization CSS: u2, - /// Tx Enable Window + /// Tx Enable Window TXEW: u4, reserved16: u4, - /// Expected Number of Tx Triggers + /// Expected Number of Tx Triggers ENTT: u12, padding: u4, }), - /// FDCAN TUR Configuration Register + /// FDCAN TUR Configuration Register TURCF: mmio.Mmio(packed struct(u32) { - /// Numerator Configuration Low + /// Numerator Configuration Low NCL: u16, - /// Denominator Configuration + /// Denominator Configuration DC: u14, reserved31: u1, - /// Enable Local Time + /// Enable Local Time ELT: u1, }), - /// FDCAN TT Operation Control Register + /// FDCAN TT Operation Control Register TTOCN: mmio.Mmio(packed struct(u32) { - /// Set Global time + /// Set Global time SGT: u1, - /// External Clock Synchronization + /// External Clock Synchronization ECS: u1, - /// Stop Watch Polarity + /// Stop Watch Polarity SWP: u1, - /// Stop Watch Source + /// Stop Watch Source SWS: u2, - /// Register Time Mark Interrupt Pulse Enable + /// Register Time Mark Interrupt Pulse Enable RTIE: u1, - /// Register Time Mark Compare + /// Register Time Mark Compare TMC: u2, - /// Trigger Time Mark Interrupt Pulse Enable + /// Trigger Time Mark Interrupt Pulse Enable TTIE: u1, - /// Gap Control Select + /// Gap Control Select GCS: u1, - /// Finish Gap + /// Finish Gap FGP: u1, - /// Time Mark Gap + /// Time Mark Gap TMG: u1, - /// Next is Gap + /// Next is Gap NIG: u1, - /// External Synchronization Control + /// External Synchronization Control ESCN: u1, reserved15: u1, - /// TT Operation Control Register Locked + /// TT Operation Control Register Locked LCKC: u1, padding: u16, }), - /// FDCAN TT Global Time Preset Register + /// FDCAN TT Global Time Preset Register TTGTP: mmio.Mmio(packed struct(u32) { - /// Time Preset + /// Time Preset NCL: u16, - /// Cycle Time Target Phase + /// Cycle Time Target Phase CTP: u16, }), - /// FDCAN TT Time Mark Register + /// FDCAN TT Time Mark Register TTTMK: mmio.Mmio(packed struct(u32) { - /// Time Mark + /// Time Mark TM: u16, - /// Time Mark Cycle Code + /// Time Mark Cycle Code TICC: u7, reserved31: u8, - /// TT Time Mark Register Locked + /// TT Time Mark Register Locked LCKM: u1, }), - /// FDCAN TT Interrupt Register + /// FDCAN TT Interrupt Register TTIR: mmio.Mmio(packed struct(u32) { - /// Start of Basic Cycle + /// Start of Basic Cycle SBC: u1, - /// Start of Matrix Cycle + /// Start of Matrix Cycle SMC: u1, - /// Change of Synchronization Mode + /// Change of Synchronization Mode CSM: u1, - /// Start of Gap + /// Start of Gap SOG: u1, - /// Register Time Mark Interrupt + /// Register Time Mark Interrupt RTMI: u1, - /// Trigger Time Mark Event Internal + /// Trigger Time Mark Event Internal TTMI: u1, - /// Stop Watch Event + /// Stop Watch Event SWE: u1, - /// Global Time Wrap + /// Global Time Wrap GTW: u1, - /// Global Time Discontinuity + /// Global Time Discontinuity GTD: u1, - /// Global Time Error + /// Global Time Error GTE: u1, - /// Tx Count Underflow + /// Tx Count Underflow TXU: u1, - /// Tx Count Overflow + /// Tx Count Overflow TXO: u1, - /// Scheduling Error 1 + /// Scheduling Error 1 SE1: u1, - /// Scheduling Error 2 + /// Scheduling Error 2 SE2: u1, - /// Error Level Changed + /// Error Level Changed ELC: u1, - /// Initialization Watch Trigger + /// Initialization Watch Trigger IWTG: u1, - /// Watch Trigger + /// Watch Trigger WT: u1, - /// Application Watchdog + /// Application Watchdog AW: u1, - /// Configuration Error + /// Configuration Error CER: u1, padding: u13, }), - /// FDCAN TT Interrupt Enable Register + /// FDCAN TT Interrupt Enable Register TTIE: mmio.Mmio(packed struct(u32) { - /// Start of Basic Cycle Interrupt Enable + /// Start of Basic Cycle Interrupt Enable SBCE: u1, - /// Start of Matrix Cycle Interrupt Enable + /// Start of Matrix Cycle Interrupt Enable SMCE: u1, - /// Change of Synchronization Mode Interrupt Enable + /// Change of Synchronization Mode Interrupt Enable CSME: u1, - /// Start of Gap Interrupt Enable + /// Start of Gap Interrupt Enable SOGE: u1, - /// Register Time Mark Interrupt Enable + /// Register Time Mark Interrupt Enable RTMIE: u1, - /// Trigger Time Mark Event Internal Interrupt Enable + /// Trigger Time Mark Event Internal Interrupt Enable TTMIE: u1, - /// Stop Watch Event Interrupt Enable + /// Stop Watch Event Interrupt Enable SWEE: u1, - /// Global Time Wrap Interrupt Enable + /// Global Time Wrap Interrupt Enable GTWE: u1, - /// Global Time Discontinuity Interrupt Enable + /// Global Time Discontinuity Interrupt Enable GTDE: u1, - /// Global Time Error Interrupt Enable + /// Global Time Error Interrupt Enable GTEE: u1, - /// Tx Count Underflow Interrupt Enable + /// Tx Count Underflow Interrupt Enable TXUE: u1, - /// Tx Count Overflow Interrupt Enable + /// Tx Count Overflow Interrupt Enable TXOE: u1, - /// Scheduling Error 1 Interrupt Enable + /// Scheduling Error 1 Interrupt Enable SE1E: u1, - /// Scheduling Error 2 Interrupt Enable + /// Scheduling Error 2 Interrupt Enable SE2E: u1, - /// Change Error Level Interrupt Enable + /// Change Error Level Interrupt Enable ELCE: u1, - /// Initialization Watch Trigger Interrupt Enable + /// Initialization Watch Trigger Interrupt Enable IWTGE: u1, - /// Watch Trigger Interrupt Enable + /// Watch Trigger Interrupt Enable WTE: u1, - /// Application Watchdog Interrupt Enable + /// Application Watchdog Interrupt Enable AWE: u1, - /// Configuration Error Interrupt Enable + /// Configuration Error Interrupt Enable CERE: u1, padding: u13, }), - /// FDCAN TT Interrupt Line Select Register + /// FDCAN TT Interrupt Line Select Register TTILS: mmio.Mmio(packed struct(u32) { - /// Start of Basic Cycle Interrupt Line + /// Start of Basic Cycle Interrupt Line SBCL: u1, - /// Start of Matrix Cycle Interrupt Line + /// Start of Matrix Cycle Interrupt Line SMCL: u1, - /// Change of Synchronization Mode Interrupt Line + /// Change of Synchronization Mode Interrupt Line CSML: u1, - /// Start of Gap Interrupt Line + /// Start of Gap Interrupt Line SOGL: u1, - /// Register Time Mark Interrupt Line + /// Register Time Mark Interrupt Line RTMIL: u1, - /// Trigger Time Mark Event Internal Interrupt Line + /// Trigger Time Mark Event Internal Interrupt Line TTMIL: u1, - /// Stop Watch Event Interrupt Line + /// Stop Watch Event Interrupt Line SWEL: u1, - /// Global Time Wrap Interrupt Line + /// Global Time Wrap Interrupt Line GTWL: u1, - /// Global Time Discontinuity Interrupt Line + /// Global Time Discontinuity Interrupt Line GTDL: u1, - /// Global Time Error Interrupt Line + /// Global Time Error Interrupt Line GTEL: u1, - /// Tx Count Underflow Interrupt Line + /// Tx Count Underflow Interrupt Line TXUL: u1, - /// Tx Count Overflow Interrupt Line + /// Tx Count Overflow Interrupt Line TXOL: u1, - /// Scheduling Error 1 Interrupt Line + /// Scheduling Error 1 Interrupt Line SE1L: u1, - /// Scheduling Error 2 Interrupt Line + /// Scheduling Error 2 Interrupt Line SE2L: u1, - /// Change Error Level Interrupt Line + /// Change Error Level Interrupt Line ELCL: u1, - /// Initialization Watch Trigger Interrupt Line + /// Initialization Watch Trigger Interrupt Line IWTGL: u1, - /// Watch Trigger Interrupt Line + /// Watch Trigger Interrupt Line WTL: u1, - /// Application Watchdog Interrupt Line + /// Application Watchdog Interrupt Line AWL: u1, - /// Configuration Error Interrupt Line + /// Configuration Error Interrupt Line CERL: u1, padding: u13, }), - /// FDCAN TT Operation Status Register + /// FDCAN TT Operation Status Register TTOST: mmio.Mmio(packed struct(u32) { - /// Error Level + /// Error Level EL: u2, - /// Master State + /// Master State MS: u2, - /// Synchronization State + /// Synchronization State SYS: u2, - /// Quality of Global Time Phase + /// Quality of Global Time Phase QGTP: u1, - /// Quality of Clock Speed + /// Quality of Clock Speed QCS: u1, - /// Reference Trigger Offset + /// Reference Trigger Offset RTO: u8, reserved22: u6, - /// Wait for Global Time Discontinuity + /// Wait for Global Time Discontinuity WGTD: u1, - /// Gap Finished Indicator + /// Gap Finished Indicator GFI: u1, - /// Time Master Priority + /// Time Master Priority TMP: u3, - /// Gap Started Indicator + /// Gap Started Indicator GSI: u1, - /// Wait for Event + /// Wait for Event WFE: u1, - /// Application Watchdog Event + /// Application Watchdog Event AWE: u1, - /// Wait for External Clock Synchronization + /// Wait for External Clock Synchronization WECS: u1, - /// Schedule Phase Lock + /// Schedule Phase Lock SPL: u1, }), - /// FDCAN TUR Numerator Actual Register + /// FDCAN TUR Numerator Actual Register TURNA: mmio.Mmio(packed struct(u32) { - /// Numerator Actual Value + /// Numerator Actual Value NAV: u18, padding: u14, }), - /// FDCAN TT Local and Global Time Register + /// FDCAN TT Local and Global Time Register TTLGT: mmio.Mmio(packed struct(u32) { - /// Local Time + /// Local Time LT: u16, - /// Global Time + /// Global Time GT: u16, }), - /// FDCAN TT Cycle Time and Count Register + /// FDCAN TT Cycle Time and Count Register TTCTC: mmio.Mmio(packed struct(u32) { - /// Cycle Time + /// Cycle Time CT: u16, - /// Cycle Count + /// Cycle Count CC: u6, padding: u10, }), - /// FDCAN TT Capture Time Register + /// FDCAN TT Capture Time Register TTCPT: mmio.Mmio(packed struct(u32) { - /// Cycle Count Value + /// Cycle Count Value CCV: u6, reserved16: u10, - /// Stop Watch Value + /// Stop Watch Value SWV: u16, }), - /// FDCAN TT Cycle Sync Mark Register + /// FDCAN TT Cycle Sync Mark Register TTCSM: mmio.Mmio(packed struct(u32) { - /// Cycle Sync Mark + /// Cycle Sync Mark CSM: u16, padding: u16, }), reserved768: [444]u8, - /// FDCAN TT Trigger Select Register + /// FDCAN TT Trigger Select Register TTTS: mmio.Mmio(packed struct(u32) { - /// Stop watch trigger input selection + /// Stop watch trigger input selection SWTDEL: u2, reserved4: u2, - /// Event trigger input selection + /// Event trigger input selection EVTSEL: u2, padding: u26, }), @@ -314045,713 +313367,683 @@ pub const types = struct { pub const can_fdcan_v1 = struct { pub const ACT = enum(u2) { - /// Synchronizing: node is synchronizing on CAN communication. + /// Synchronizing: node is synchronizing on CAN communication. SYNC = 0x0, - /// Idle: node is neither receiver nor transmitter. + /// Idle: node is neither receiver nor transmitter. IDLE = 0x1, - /// Receiver: node is operating as receiver. + /// Receiver: node is operating as receiver. RX = 0x2, - /// Transmitter: node is operating as transmitter. + /// Transmitter: node is operating as transmitter. TX = 0x3, }; pub const ANFE = enum(u2) { - /// Accept in Rx FIFO 0 + /// Accept in Rx FIFO 0 ACCEPT_FIFO_0 = 0x0, - /// Accept in Rx FIFO 1 + /// Accept in Rx FIFO 1 ACCEPT_FIFO_1 = 0x1, - /// Reject + /// Reject REJECT = 0x2, _, }; pub const ANFS = enum(u2) { - /// Accept in Rx FIFO 0 + /// Accept in Rx FIFO 0 ACCEPT_FIFO_0 = 0x0, - /// Accept in Rx FIFO 1 + /// Accept in Rx FIFO 1 ACCEPT_FIFO_1 = 0x1, - /// Reject + /// Reject REJECT = 0x2, _, }; pub const LEC = enum(u3) { - /// No Error: No error occurred since LEC has been reset by successful reception or transmission. + /// No Error: No error occurred since LEC has been reset by successful reception or transmission. NO_ERROR = 0x0, - /// Stuff Error: More than 5 equal bits in a sequence have occurred in a part of a received message where this is not allowed. + /// Stuff Error: More than 5 equal bits in a sequence have occurred in a part of a received message where this is not allowed. STUFF = 0x1, - /// Form Error: A fixed format part of a received frame has the wrong format. + /// Form Error: A fixed format part of a received frame has the wrong format. FORM = 0x2, - /// AckError: The message transmitted by the FDCAN was not acknowledged by another node. + /// AckError: The message transmitted by the FDCAN was not acknowledged by another node. ACK = 0x3, - /// Bit1Error: During the transmission of a message (with the exception of the arbitration field), the device wanted to send a recessive level (bit of logical value 1), but the monitored bus value was dominant. + /// Bit1Error: During the transmission of a message (with the exception of the arbitration field), the device wanted to send a recessive level (bit of logical value 1), but the monitored bus value was dominant. BIT_1 = 0x4, - /// Bit0Error: During the transmission of a message (or acknowledge bit, or active error flag, or overload flag), the device wanted to send a dominant level (data or identifier bit logical value 0), but the monitored bus value was recessive. During Bus_Off recovery this status is set each time a sequence of 11 recessive bits has been monitored. This enables the CPU to monitor the proceeding of the Bus_Off recovery sequence (indicating the bus is not stuck at dominant or continuously disturbed). + /// Bit0Error: During the transmission of a message (or acknowledge bit, or active error flag, or overload flag), the device wanted to send a dominant level (data or identifier bit logical value 0), but the monitored bus value was recessive. During Bus_Off recovery this status is set each time a sequence of 11 recessive bits has been monitored. This enables the CPU to monitor the proceeding of the Bus_Off recovery sequence (indicating the bus is not stuck at dominant or continuously disturbed). BIT_0 = 0x5, - /// CRCError: The CRC check sum of a received message was incorrect. The CRC of an incoming message does not match with the CRC calculated from the received data. + /// CRCError: The CRC check sum of a received message was incorrect. The CRC of an incoming message does not match with the CRC calculated from the received data. CRC = 0x6, - /// NoChange: Any read access to the Protocol status register re-initializes the LEC to ‘7’. When the LEC shows the value ‘7’, no CAN bus event was detected since the last CPU read access to the Protocol status register. + /// NoChange: Any read access to the Protocol status register re-initializes the LEC to ‘7’. When the LEC shows the value ‘7’, no CAN bus event was detected since the last CPU read access to the Protocol status register. NO_CHANGE = 0x7, }; pub const MSI = enum(u2) { - /// No FIFO selected + /// No FIFO selected NO_FIFO = 0x0, - /// FIFO overrun + /// FIFO overrun OVERRUN = 0x1, - /// Message stored in FIFO 0 + /// Message stored in FIFO 0 FIFO_0 = 0x2, - /// Message stored in FIFO 1 + /// Message stored in FIFO 1 FIFO_1 = 0x3, }; pub const PDIV = enum(u4) { - /// Divide by 1 + /// Divide by 1 DIV_1 = 0x0, - /// Divide by 2 + /// Divide by 2 DIV_2 = 0x1, - /// Divide by 4 + /// Divide by 4 DIV_4 = 0x2, - /// Divide by 6 + /// Divide by 6 DIV_6 = 0x3, - /// Divide by 8 + /// Divide by 8 DIV_8 = 0x4, - /// Divide by 10 + /// Divide by 10 DIV_10 = 0x5, - /// Divide by 12 + /// Divide by 12 DIV_12 = 0x6, - /// Divide by 14 + /// Divide by 14 DIV_14 = 0x7, - /// Divide by 16 + /// Divide by 16 DIV_16 = 0x8, - /// Divide by 18 + /// Divide by 18 DIV_18 = 0x9, - /// Divide by 20 + /// Divide by 20 DIV_20 = 0xa, - /// Divide by 22 + /// Divide by 22 DIV_22 = 0xb, - /// Divide by 24 + /// Divide by 24 DIV_24 = 0xc, - /// Divide by 26 + /// Divide by 26 DIV_26 = 0xd, - /// Divide by 28 + /// Divide by 28 DIV_28 = 0xe, - /// Divide by 30 + /// Divide by 30 DIV_30 = 0xf, }; pub const TFQM = enum(u1) { - /// Tx FIFO operation + /// Tx FIFO operation FIFO = 0x0, - /// Tx queue operation + /// Tx queue operation QUEUE = 0x1, }; pub const TOS = enum(u2) { - /// Continuous operation + /// Continuous operation CONTINUOUS = 0x0, - /// Timeout controlled by Tx event FIFO + /// Timeout controlled by Tx event FIFO TX_EVENT_FIFO = 0x1, - /// Timeout controlled by Rx FIFO 0 + /// Timeout controlled by Rx FIFO 0 RX_FIFO_0 = 0x2, - /// Timeout controlled by Rx FIFO 1 + /// Timeout controlled by Rx FIFO 1 RX_FIFO_1 = 0x3, }; pub const TSS = enum(u2) { - /// Timestamp counter value always 0x0000 + /// Timestamp counter value always 0x0000 ZERO = 0x0, - /// Timestamp counter value incremented according to TCP + /// Timestamp counter value incremented according to TCP INCREMENT = 0x1, - /// External timestamp counter from TIM3 value (tim3_cnt[0:15]) + /// External timestamp counter from TIM3 value (tim3_cnt[0:15]) EXTERNAL = 0x2, _, }; pub const TX = enum(u2) { - /// Reset value, FDCANx_TX TX is controlled by the CAN core, updated at the end of the CAN bit time + /// Reset value, FDCANx_TX TX is controlled by the CAN core, updated at the end of the CAN bit time RESET = 0x0, - /// Sample point can be monitored at pin FDCANx_TX + /// Sample point can be monitored at pin FDCANx_TX SAMPLE_POINT = 0x1, - /// Dominant (0) level at pin FDCANx_TX + /// Dominant (0) level at pin FDCANx_TX DOMINANT = 0x2, - /// Recessive (1) at pin FDCANx_TX + /// Recessive (1) at pin FDCANx_TX RECESSIVE = 0x3, }; - /// Controller area network with flexible data rate (FD) + /// Controller area network with flexible data rate (FD) pub const FDCAN = extern struct { - /// FDCAN core release register + /// FDCAN core release register CREL: mmio.Mmio(packed struct(u32) { - /// DAY + /// DAY DAY: u8, - /// MON + /// MON MON: u8, - /// YEAR + /// YEAR YEAR: u4, - /// SUBSTEP + /// SUBSTEP SUBSTEP: u4, - /// STEP + /// STEP STEP: u4, - /// REL + /// REL REL: u4, }), - /// FDCAN endian register + /// FDCAN endian register ENDN: mmio.Mmio(packed struct(u32) { - /// Endianness test value. The endianness test value is 0x8765 4321 + /// Endianness test value. The endianness test value is 0x8765 4321 ETV: u32, }), reserved12: [4]u8, - /// FDCAN data bit timing and prescaler register + /// FDCAN data bit timing and prescaler register DBTP: mmio.Mmio(packed struct(u32) { - /// Synchronization jump width. Must always be smaller than DTSEG2, valid values are 0 to 15. The value used by the hardware is the one programmed, incremented by 1: tSJW = (DSJW + 1) x tq. + /// Synchronization jump width. Must always be smaller than DTSEG2, valid values are 0 to 15. The value used by the hardware is the one programmed, incremented by 1: tSJW = (DSJW + 1) x tq. DSJW: u4, - /// Data time segment after sample point. Valid values are 0 to 15. The value used by the hardware is the one programmed, incremented by 1, i.e. tBS2 = (DTSEG2 + 1) x tq + /// Data time segment after sample point. Valid values are 0 to 15. The value used by the hardware is the one programmed, incremented by 1, i.e. tBS2 = (DTSEG2 + 1) x tq DTSEG2: u4, - /// Data time segment before sample point. Valid values are 0 to 31. The value used by the hardware is the one programmed, incremented by 1, i.e. tBS1 = (DTSEG1 + 1) x tq + /// Data time segment before sample point. Valid values are 0 to 31. The value used by the hardware is the one programmed, incremented by 1, i.e. tBS1 = (DTSEG1 + 1) x tq DTSEG1: u5, reserved16: u3, - /// Data bit rate prescaler. The value by which the oscillator frequency is divided to generate the bit time quanta. The bit time is built up from a multiple of this quanta. Valid values for the Baud Rate Prescaler are 0 to 31. The hardware interpreters this value as the value programmed plus 1 + /// Data bit rate prescaler. The value by which the oscillator frequency is divided to generate the bit time quanta. The bit time is built up from a multiple of this quanta. Valid values for the Baud Rate Prescaler are 0 to 31. The hardware interpreters this value as the value programmed plus 1 DBRP: u5, reserved23: u2, - /// Transceiver delay compensation + /// Transceiver delay compensation TDC: u1, padding: u8, }), - /// FDCAN test register + /// FDCAN test register TEST: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Loop back mode + /// Loop back mode LBCK: u1, - /// Control of transmit pin - TX: packed union { - raw: u2, - value: TX, - }, - /// Receive pin. Monitors the actual value of pin FDCANx_RX + /// Control of transmit pin + TX: TX, + /// Receive pin. Monitors the actual value of pin FDCANx_RX RX: u1, padding: u24, }), - /// FDCAN RAM watchdog register + /// FDCAN RAM watchdog register RWD: mmio.Mmio(packed struct(u32) { - /// Watchdog configuration. Start value of the message RAM watchdog counter. With the reset value of 00, the counter is disabled. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of FDCAN_CCCR register are set to 1 + /// Watchdog configuration. Start value of the message RAM watchdog counter. With the reset value of 00, the counter is disabled. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of FDCAN_CCCR register are set to 1 WDC: u8, - /// Watchdog value. Actual message RAM watchdog counter value + /// Watchdog value. Actual message RAM watchdog counter value WDV: u8, padding: u16, }), - /// FDCAN CC control register + /// FDCAN CC control register CCCR: mmio.Mmio(packed struct(u32) { - /// Initialization + /// Initialization INIT: u1, - /// Configuration change enable + /// Configuration change enable CCE: u1, - /// ASM restricted operation mode. The restricted operation mode is intended for applications that adapt themselves to different CAN bit rates. The application tests different bit rates and leaves the Restricted operation Mode after it has received a valid frame. In the optional Restricted operation Mode the node is able to transmit and receive data and remote frames and it gives acknowledge to valid frames, but it does not send active error frames or overload frames. In case of an error condition or overload condition, it does not send dominant bits, instead it waits for the occurrence of bus idle condition to resynchronize itself to the CAN communication. The error counters are not incremented. Bit ASM can only be set by software when both CCE and INIT are set to 1. The bit can be reset by the software at any time + /// ASM restricted operation mode. The restricted operation mode is intended for applications that adapt themselves to different CAN bit rates. The application tests different bit rates and leaves the Restricted operation Mode after it has received a valid frame. In the optional Restricted operation Mode the node is able to transmit and receive data and remote frames and it gives acknowledge to valid frames, but it does not send active error frames or overload frames. In case of an error condition or overload condition, it does not send dominant bits, instead it waits for the occurrence of bus idle condition to resynchronize itself to the CAN communication. The error counters are not incremented. Bit ASM can only be set by software when both CCE and INIT are set to 1. The bit can be reset by the software at any time ASM: u1, - /// Clock stop acknowledge + /// Clock stop acknowledge CSA: u1, - /// Clock stop request + /// Clock stop request CSR: u1, - /// Bus monitoring mode. Bit MON can only be set by software when both CCE and INIT are set to 1. The bit can be reset by the Host at any time + /// Bus monitoring mode. Bit MON can only be set by software when both CCE and INIT are set to 1. The bit can be reset by the Host at any time MON: u1, - /// Disable automatic retransmission + /// Disable automatic retransmission DAR: u1, - /// Test mode enable + /// Test mode enable TEST: u1, - /// FD operation enable + /// FD operation enable FDOE: u1, - /// FDCAN bit rate switching + /// FDCAN bit rate switching BRSE: u1, reserved12: u2, - /// Protocol exception handling disable + /// Protocol exception handling disable PXHD: u1, - /// Edge filtering during bus integration + /// Edge filtering during bus integration EFBI: u1, - /// If this bit is set, the FDCAN pauses for two CAN bit times before starting the next transmission after successfully transmitting a frame + /// If this bit is set, the FDCAN pauses for two CAN bit times before starting the next transmission after successfully transmitting a frame TXP: u1, - /// Non ISO operation. If this bit is set, the FDCAN uses the CAN FD frame format as specified by the Bosch CAN FD Specification V1.0 + /// Non ISO operation. If this bit is set, the FDCAN uses the CAN FD frame format as specified by the Bosch CAN FD Specification V1.0 NISO: u1, padding: u16, }), - /// FDCAN nominal bit timing and prescaler register + /// FDCAN nominal bit timing and prescaler register NBTP: mmio.Mmio(packed struct(u32) { - /// Nominal time segment after sample point. Valid values are 0 to 127. The actual interpretation by the hardware of this value is such that one more than the programmed value is used + /// Nominal time segment after sample point. Valid values are 0 to 127. The actual interpretation by the hardware of this value is such that one more than the programmed value is used NTSEG2: u7, reserved8: u1, - /// Nominal time segment before sample point. Valid values are 0 to 255. The actual interpretation by the hardware of this value is such that one more than the programmed value is used. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + /// Nominal time segment before sample point. Valid values are 0 to 255. The actual interpretation by the hardware of this value is such that one more than the programmed value is used. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 NTSEG1: u8, - /// Bit rate prescaler. Value by which the oscillator frequency is divided for generating the bit time quanta. The bit time is built up from a multiple of this quanta. Valid values are 0 to 511. The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + /// Bit rate prescaler. Value by which the oscillator frequency is divided for generating the bit time quanta. The bit time is built up from a multiple of this quanta. Valid values are 0 to 511. The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 NBRP: u9, - /// Nominal (re)synchronization jump width. Valid values are 0 to 127. The actual interpretation by the hardware of this value is such that the used value is the one programmed incremented by one. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + /// Nominal (re)synchronization jump width. Valid values are 0 to 127. The actual interpretation by the hardware of this value is such that the used value is the one programmed incremented by one. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 NSJW: u7, }), - /// FDCAN timestamp counter configuration register + /// FDCAN timestamp counter configuration register TSCC: mmio.Mmio(packed struct(u32) { - /// Timestamp select. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 - TSS: packed union { - raw: u2, - value: TSS, - }, + /// Timestamp select. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + TSS: TSS, reserved16: u14, - /// Timestamp counter prescaler. Configures the timestamp and timeout counters time unit in multiples of CAN bit times [1 … 16]. The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. In CAN FD mode the internal timestamp counter TCP does not provide a constant time base due to the different CAN bit times between arbitration phase and data phase. Thus CAN FD requires an external counter for timestamp generation (TSS = 10). These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + /// Timestamp counter prescaler. Configures the timestamp and timeout counters time unit in multiples of CAN bit times [1 … 16]. The actual interpretation by the hardware of this value is such that one more than the value programmed here is used. In CAN FD mode the internal timestamp counter TCP does not provide a constant time base due to the different CAN bit times between arbitration phase and data phase. Thus CAN FD requires an external counter for timestamp generation (TSS = 10). These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 TCP: u4, padding: u12, }), - /// FDCAN timestamp counter value register + /// FDCAN timestamp counter value register TSCV: mmio.Mmio(packed struct(u32) { - /// Timestamp counter. The internal/external timestamp counter value is captured on start of frame (both Rx and Tx). When TSCC[TSS] = 01, the timestamp counter is incremented in multiples of CAN bit times [1 … 16] depending on the configuration of TSCC[TCP]. A wrap around sets interrupt flag IR[TSW]. Write access resets the counter to 0. When TSCC.TSS = 10, TSC reflects the external timestamp counter value. A write access has no impact + /// Timestamp counter. The internal/external timestamp counter value is captured on start of frame (both Rx and Tx). When TSCC[TSS] = 01, the timestamp counter is incremented in multiples of CAN bit times [1 … 16] depending on the configuration of TSCC[TCP]. A wrap around sets interrupt flag IR[TSW]. Write access resets the counter to 0. When TSCC.TSS = 10, TSC reflects the external timestamp counter value. A write access has no impact TSC: u16, padding: u16, }), - /// FDCAN timeout counter configuration register + /// FDCAN timeout counter configuration register TOCC: mmio.Mmio(packed struct(u32) { - /// Timeout counter enable. This is a protected write (P) bit, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + /// Timeout counter enable. This is a protected write (P) bit, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 ETOC: u1, - /// Timeout select. When operating in Continuous mode, a write to TOCV presets the counter to the value configured by TOCC[TOP] and continues down-counting. When the timeout counter is controlled by one of the FIFOs, an empty FIFO presets the counter to the value configured by TOCC[TOP]. Down-counting is started when the first FIFO element is stored. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 - TOS: packed union { - raw: u2, - value: TOS, - }, + /// Timeout select. When operating in Continuous mode, a write to TOCV presets the counter to the value configured by TOCC[TOP] and continues down-counting. When the timeout counter is controlled by one of the FIFOs, an empty FIFO presets the counter to the value configured by TOCC[TOP]. Down-counting is started when the first FIFO element is stored. These are protected write (P) bits, write access is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + TOS: TOS, reserved16: u13, - /// Timeout period. Start value of the timeout counter (down-counter). Configures the timeout period + /// Timeout period. Start value of the timeout counter (down-counter). Configures the timeout period TOP: u16, }), - /// FDCAN timeout counter value register + /// FDCAN timeout counter value register TOCV: mmio.Mmio(packed struct(u32) { - /// Timeout counter. The timeout counter is decremented in multiples of CAN bit times [1 … 16] depending on the configuration of TSCC.TCP. When decremented to 0, interrupt flag IR.TOO is set and the timeout counter is stopped. Start and reset/restart conditions are configured via TOCC.TOS + /// Timeout counter. The timeout counter is decremented in multiples of CAN bit times [1 … 16] depending on the configuration of TSCC.TCP. When decremented to 0, interrupt flag IR.TOO is set and the timeout counter is stopped. Start and reset/restart conditions are configured via TOCC.TOS TOC: u16, padding: u16, }), reserved64: [16]u8, - /// FDCAN error counter register + /// FDCAN error counter register ECR: mmio.Mmio(packed struct(u32) { - /// Transmit error counter. Actual state of the transmit error counter, values between 0 and 255. When CCCR.ASM is set, the CAN protocol controller does not increment TEC and REC when a CAN protocol error is detected, but CEL is still incremented + /// Transmit error counter. Actual state of the transmit error counter, values between 0 and 255. When CCCR.ASM is set, the CAN protocol controller does not increment TEC and REC when a CAN protocol error is detected, but CEL is still incremented TEC: u8, - /// Receive error counter. Actual state of the receive error counter, values between 0 and 127 + /// Receive error counter. Actual state of the receive error counter, values between 0 and 127 REC: u7, - /// Receive error passive + /// Receive error passive RP: u1, - /// CAN error logging. The counter is incremented each time when a CAN protocol error causes the transmit error counter or the receive error counter to be incremented. It is reset by read access to CEL. The counter stops at 0xFF; the next increment of TEC or REC sets interrupt flag IR[ELO]. Access type is RX: reset on read. + /// CAN error logging. The counter is incremented each time when a CAN protocol error causes the transmit error counter or the receive error counter to be incremented. It is reset by read access to CEL. The counter stops at 0xFF; the next increment of TEC or REC sets interrupt flag IR[ELO]. Access type is RX: reset on read. CEL: u8, padding: u8, }), - /// FDCAN protocol status register + /// FDCAN protocol status register PSR: mmio.Mmio(packed struct(u32) { - /// Last error code. The LEC indicates the type of the last error to occur on the CAN bus. This field is cleared to 0 when a message has been transferred (reception or transmission) without error. Access type is RS: set on read. - LEC: packed union { - raw: u3, - value: LEC, - }, - /// Activity. Monitors the module’s CAN communication state - ACT: packed union { - raw: u2, - value: ACT, - }, - /// Error passive + /// Last error code. The LEC indicates the type of the last error to occur on the CAN bus. This field is cleared to 0 when a message has been transferred (reception or transmission) without error. Access type is RS: set on read. + LEC: LEC, + /// Activity. Monitors the module’s CAN communication state + ACT: ACT, + /// Error passive EP: u1, - /// Warning Sstatus + /// Warning Sstatus EW: u1, - /// Bus_Off status + /// Bus_Off status BO: u1, - /// Data last error code. Type of last error that occurred in the data phase of a FDCAN format frame with its BRS flag set. Coding is the same as for LEC. This field is cleared to 0 when a FDCAN format frame with its BRS flag set has been transferred (reception or transmission) without error. Access type is RS: set on read. + /// Data last error code. Type of last error that occurred in the data phase of a FDCAN format frame with its BRS flag set. Coding is the same as for LEC. This field is cleared to 0 when a FDCAN format frame with its BRS flag set has been transferred (reception or transmission) without error. Access type is RS: set on read. DLEC: u3, - /// ESI flag of last received FDCAN message. This bit is set together with REDL, independent of acceptance filtering. Access type is RX: reset on read. + /// ESI flag of last received FDCAN message. This bit is set together with REDL, independent of acceptance filtering. Access type is RX: reset on read. RESI: u1, - /// BRS flag of last received FDCAN message. This bit is set together with REDL, independent of acceptance filtering. Access type is RX: reset on read. + /// BRS flag of last received FDCAN message. This bit is set together with REDL, independent of acceptance filtering. Access type is RX: reset on read. RBRS: u1, - /// Received FDCAN message. This bit is set independent of acceptance filtering. Access type is RX: reset on read. + /// Received FDCAN message. This bit is set independent of acceptance filtering. Access type is RX: reset on read. REDL: u1, - /// Protocol exception event + /// Protocol exception event PXE: u1, reserved16: u1, - /// Transmitter delay compensation value. Position of the secondary sample point, defined by the sum of the measured delay from FDCAN_TX to FDCAN_RX and TDCR.TDCO. The SSP position is, in the data phase, the number of minimum time quanta (mtq) between the start of the transmitted bit and the secondary sample point. Valid values are 0 to 127 mtq + /// Transmitter delay compensation value. Position of the secondary sample point, defined by the sum of the measured delay from FDCAN_TX to FDCAN_RX and TDCR.TDCO. The SSP position is, in the data phase, the number of minimum time quanta (mtq) between the start of the transmitted bit and the secondary sample point. Valid values are 0 to 127 mtq TDCV: u7, padding: u9, }), - /// FDCAN transmitter delay compensation register + /// FDCAN transmitter delay compensation register TDCR: mmio.Mmio(packed struct(u32) { - /// Transmitter delay compensation filter window length. Defines the minimum value for the SSP position, dominant edges on FDCAN_RX that would result in an earlier SSP position are ignored for transmitter delay measurements. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + /// Transmitter delay compensation filter window length. Defines the minimum value for the SSP position, dominant edges on FDCAN_RX that would result in an earlier SSP position are ignored for transmitter delay measurements. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 TDCF: u7, reserved8: u1, - /// Transmitter delay compensation offset. Offset value defining the distance between the measured delay from FDCAN_TX to FDCAN_RX and the secondary sample point. Valid values are 0 to 127 mtq. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + /// Transmitter delay compensation offset. Offset value defining the distance between the measured delay from FDCAN_TX to FDCAN_RX and the secondary sample point. Valid values are 0 to 127 mtq. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 TDCO: u7, padding: u17, }), reserved80: [4]u8, - /// FDCAN interrupt register + /// FDCAN interrupt register IR: mmio.Mmio(packed struct(u32) { - /// Rx FIFO X new message + /// Rx FIFO X new message RFN: u1, - /// Rx FIFO X full + /// Rx FIFO X full RFF: u1, - /// Rx FIFO X message lost + /// Rx FIFO X message lost RFL: u1, reserved6: u3, - /// High-priority message + /// High-priority message HPM: u1, - /// Transmission completed + /// Transmission completed TC: u1, - /// Transmission cancellation finished + /// Transmission cancellation finished TCF: u1, - /// Tx FIFO empty + /// Tx FIFO empty TFE: u1, - /// Tx event FIFO New Entry + /// Tx event FIFO New Entry TEFN: u1, - /// Tx event FIFO full + /// Tx event FIFO full TEFF: u1, - /// Tx event FIFO element lost + /// Tx event FIFO element lost TEFL: u1, - /// Timestamp wraparound + /// Timestamp wraparound TSW: u1, - /// Message RAM access failure. The flag is set when the Rx handler: has not completed acceptance filtering or storage of an accepted message until the arbitration field of the following message has been received. In this case acceptance filtering or message storage is aborted and the Rx handler starts processing of the following message. was unable to write a message to the message RAM. In this case message storage is aborted. In both cases the FIFO put index is not updated. The partly stored message is overwritten when the next message is stored to this location. The flag is also set when the Tx Handler was not able to read a message from the Message RAM in time. In this case message transmission is aborted. In case of a Tx Handler access failure the FDCAN is switched into Restricted operation Mode (see mode). To leave Restricted operation Mode, the Host CPU has to reset CCCR.ASM. + /// Message RAM access failure. The flag is set when the Rx handler: has not completed acceptance filtering or storage of an accepted message until the arbitration field of the following message has been received. In this case acceptance filtering or message storage is aborted and the Rx handler starts processing of the following message. was unable to write a message to the message RAM. In this case message storage is aborted. In both cases the FIFO put index is not updated. The partly stored message is overwritten when the next message is stored to this location. The flag is also set when the Tx Handler was not able to read a message from the Message RAM in time. In this case message transmission is aborted. In case of a Tx Handler access failure the FDCAN is switched into Restricted operation Mode (see mode). To leave Restricted operation Mode, the Host CPU has to reset CCCR.ASM. MRAF: u1, - /// Timeout occurred + /// Timeout occurred TOO: u1, - /// Error logging overflow + /// Error logging overflow ELO: u1, - /// Error passive + /// Error passive EP: u1, - /// Warning status + /// Warning status EW: u1, - /// Bus_Off status + /// Bus_Off status BO: u1, - /// Watchdog interrupt + /// Watchdog interrupt WDI: u1, - /// Protocol error in arbitration phase (nominal bit time is used) + /// Protocol error in arbitration phase (nominal bit time is used) PEA: u1, - /// Protocol error in data phase (data bit time is used) + /// Protocol error in data phase (data bit time is used) PED: u1, - /// Access to reserved address + /// Access to reserved address ARA: u1, padding: u8, }), - /// FDCAN interrupt enable register + /// FDCAN interrupt enable register IE: mmio.Mmio(packed struct(u32) { - /// Rx FIFO X new message interrupt enable + /// Rx FIFO X new message interrupt enable RFNE: u1, - /// Rx FIFO X full interrupt enable + /// Rx FIFO X full interrupt enable RFFE: u1, - /// Rx FIFO X message lost interrupt enable + /// Rx FIFO X message lost interrupt enable RFLE: u1, reserved6: u3, - /// High-priority message interrupt enable + /// High-priority message interrupt enable HPME: u1, - /// Transmission completed interrupt enable + /// Transmission completed interrupt enable TCE: u1, - /// Transmission cancellation finished interrupt enable + /// Transmission cancellation finished interrupt enable TCFE: u1, - /// Tx FIFO empty interrupt enable + /// Tx FIFO empty interrupt enable TFEE: u1, - /// Tx event FIFO new entry interrupt enable + /// Tx event FIFO new entry interrupt enable TEFNE: u1, - /// Tx event FIFO full interrupt enable + /// Tx event FIFO full interrupt enable TEFFE: u1, - /// Tx event FIFO element lost interrupt enable + /// Tx event FIFO element lost interrupt enable TEFLE: u1, - /// Timestamp wraparound interrupt enable + /// Timestamp wraparound interrupt enable TSWE: u1, - /// Message RAM access failure interrupt enable + /// Message RAM access failure interrupt enable MRAFE: u1, - /// Timeout occurred interrupt enable + /// Timeout occurred interrupt enable TOOE: u1, - /// Error logging overflow interrupt enable + /// Error logging overflow interrupt enable ELOE: u1, - /// Error passive interrupt enable + /// Error passive interrupt enable EPE: u1, - /// Warning status interrupt enable + /// Warning status interrupt enable EWE: u1, - /// Bus_Off status enable + /// Bus_Off status enable BOE: u1, - /// Watchdog interrupt enable + /// Watchdog interrupt enable WDIE: u1, - /// Protocol error in arbitration phase enable + /// Protocol error in arbitration phase enable PEAE: u1, - /// Protocol error in data phase enable + /// Protocol error in data phase enable PEDE: u1, - /// Access to reserved address enable + /// Access to reserved address enable ARAE: u1, padding: u8, }), - /// FDCAN interrupt line select register + /// FDCAN interrupt line select register ILS: mmio.Mmio(packed struct(u32) { - /// RX FIFO bit grouping the following interruption. RFLL: Rx FIFO X message lost interrupt line RFFL: Rx FIFO X full interrupt line RFNL: Rx FIFO X new message interrupt line. + /// RX FIFO bit grouping the following interruption. RFLL: Rx FIFO X message lost interrupt line RFFL: Rx FIFO X full interrupt line RFNL: Rx FIFO X new message interrupt line. RXFIFO: u1, reserved2: u1, - /// Status message bit grouping the following interruption. TCFL: Transmission cancellation finished interrupt line TCL: Transmission completed interrupt line HPML: High-priority message interrupt line. + /// Status message bit grouping the following interruption. TCFL: Transmission cancellation finished interrupt line TCL: Transmission completed interrupt line HPML: High-priority message interrupt line. SMSG: u1, - /// Tx FIFO ERROR grouping the following interruption. TEFLL: Tx event FIFO element lost interrupt line TEFFL: Tx event FIFO full interrupt line TEFNL: Tx event FIFO new entry interrupt line TFEL: Tx FIFO empty interrupt line. + /// Tx FIFO ERROR grouping the following interruption. TEFLL: Tx event FIFO element lost interrupt line TEFFL: Tx event FIFO full interrupt line TEFNL: Tx event FIFO new entry interrupt line TFEL: Tx FIFO empty interrupt line. TFERR: u1, - /// Interrupt regrouping the following interruption. TOOL: Timeout occurred interrupt line MRAFL: Message RAM access failure interrupt line TSWL: Timestamp wraparound interrupt line. + /// Interrupt regrouping the following interruption. TOOL: Timeout occurred interrupt line MRAFL: Message RAM access failure interrupt line TSWL: Timestamp wraparound interrupt line. MISC: u1, - /// Bit and line error grouping the following interruption. EPL Error passive interrupt line ELOL: Error logging overflow interrupt line. + /// Bit and line error grouping the following interruption. EPL Error passive interrupt line ELOL: Error logging overflow interrupt line. BERR: u1, - /// Protocol error grouping the following interruption. ARAL: Access to reserved address line PEDL: Protocol error in data phase line PEAL: Protocol error in arbitration phase line WDIL: Watchdog interrupt line BOL: Bus_Off status EWL: Warning status interrupt line. + /// Protocol error grouping the following interruption. ARAL: Access to reserved address line PEDL: Protocol error in data phase line PEAL: Protocol error in arbitration phase line WDIL: Watchdog interrupt line BOL: Bus_Off status EWL: Warning status interrupt line. PERR: u1, padding: u25, }), - /// FDCAN interrupt line enable register + /// FDCAN interrupt line enable register ILE: mmio.Mmio(packed struct(u32) { - /// Enable interrupt line 0 + /// Enable interrupt line 0 EINT0: u1, - /// Enable interrupt line 1 + /// Enable interrupt line 1 EINT1: u1, padding: u30, }), reserved128: [32]u8, - /// FDCAN global filter configuration register + /// FDCAN global filter configuration register RXGFC: mmio.Mmio(packed struct(u32) { - /// Reject remote frames extended. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + /// Reject remote frames extended. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 RRFE: u1, - /// Reject remote frames standard. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + /// Reject remote frames standard. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 RRFS: u1, - /// Accept non-matching frames extended. Defines how received messages with 29-bit IDs that do not match any element of the filter list are treated. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 - ANFE: packed union { - raw: u2, - value: ANFE, - }, - /// Accept Non-matching frames standard. Defines how received messages with 11-bit IDs that do not match any element of the filter list are treated. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 - ANFS: packed union { - raw: u2, - value: ANFS, - }, + /// Accept non-matching frames extended. Defines how received messages with 29-bit IDs that do not match any element of the filter list are treated. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + ANFE: ANFE, + /// Accept Non-matching frames standard. Defines how received messages with 11-bit IDs that do not match any element of the filter list are treated. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + ANFS: ANFS, reserved8: u2, - /// FIFO 1 operation mode (overwrite or blocking). This is a protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + /// FIFO 1 operation mode (overwrite or blocking). This is a protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 F1OM: u1, - /// FIFO 0 operation mode (overwrite or blocking). This is protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + /// FIFO 0 operation mode (overwrite or blocking). This is protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 F0OM: u1, reserved16: u6, - /// List size standard. >28: Values greater than 28 are interpreted as 28. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1. + /// List size standard. >28: Values greater than 28 are interpreted as 28. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1. LSS: u5, reserved24: u3, - /// List size extended. >8: Values greater than 8 are interpreted as 8. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1. + /// List size extended. >8: Values greater than 8 are interpreted as 8. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1. LSE: u4, padding: u4, }), - /// FDCAN extended ID and mask register + /// FDCAN extended ID and mask register XIDAM: mmio.Mmio(packed struct(u32) { - /// Extended ID mask. For acceptance filtering of extended frames the Extended ID AND Mask is AND-ed with the Message ID of a received frame. Intended for masking of 29-bit IDs in SAE J1939. With the reset value of all bits set to 1 the mask is not active. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + /// Extended ID mask. For acceptance filtering of extended frames the Extended ID AND Mask is AND-ed with the Message ID of a received frame. Intended for masking of 29-bit IDs in SAE J1939. With the reset value of all bits set to 1 the mask is not active. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 EIDM: u29, padding: u3, }), - /// FDCAN high-priority message status register + /// FDCAN high-priority message status register HPMS: mmio.Mmio(packed struct(u32) { - /// Buffer index. Index of Rx FIFO element to which the message was stored. Only valid when MSI[1] = 1 + /// Buffer index. Index of Rx FIFO element to which the message was stored. Only valid when MSI[1] = 1 BIDX: u3, reserved6: u3, - /// Message storage indicator - MSI: packed union { - raw: u2, - value: MSI, - }, - /// Filter index. Index of matching filter element. Range is 0 to RXGFC[LSS] - 1 or RXGFC[LSE] - 1 + /// Message storage indicator + MSI: MSI, + /// Filter index. Index of matching filter element. Range is 0 to RXGFC[LSS] - 1 or RXGFC[LSE] - 1 FIDX: u5, reserved15: u2, - /// Filter list. Indicates the filter list of the matching filter element + /// Filter list. Indicates the filter list of the matching filter element FLST: u1, padding: u16, }), reserved144: [4]u8, - /// FDCAN Rx FIFO X status register + /// FDCAN Rx FIFO X status register RXFS: mmio.Mmio(packed struct(u32) { - /// Rx FIFO X fill level. Number of elements stored in Rx FIFO X, range 0 to 3 + /// Rx FIFO X fill level. Number of elements stored in Rx FIFO X, range 0 to 3 FFL: u4, reserved8: u4, - /// Rx FIFO X get index. Rx FIFO X read index pointer, range 0 to 2 + /// Rx FIFO X get index. Rx FIFO X read index pointer, range 0 to 2 FGI: u2, reserved16: u6, - /// Rx FIFO X put index. Rx FIFO X write index pointer, range 0 to 2 + /// Rx FIFO X put index. Rx FIFO X write index pointer, range 0 to 2 FPI: u2, reserved24: u6, - /// Rx FIFO X full + /// Rx FIFO X full FF: u1, - /// Rx FIFO X message lost. This bit is a copy of interrupt flag IR[RFL]. When IR[RFL] is reset, this bit is also reset + /// Rx FIFO X message lost. This bit is a copy of interrupt flag IR[RFL]. When IR[RFL] is reset, this bit is also reset RFL: u1, padding: u6, }), - /// CAN Rx FIFO X acknowledge register + /// CAN Rx FIFO X acknowledge register RXFA: mmio.Mmio(packed struct(u32) { - /// Rx FIFO X acknowledge index. After the Host has read a message or a sequence of messages from Rx FIFO X it has to write the buffer index of the last element read from Rx FIFO X to FAI. This sets the Rx FIFO X get index RXFS[FGI] to FAI + 1 and update the FIFO X fill level RXFS[FFL] + /// Rx FIFO X acknowledge index. After the Host has read a message or a sequence of messages from Rx FIFO X it has to write the buffer index of the last element read from Rx FIFO X to FAI. This sets the Rx FIFO X get index RXFS[FGI] to FAI + 1 and update the FIFO X fill level RXFS[FFL] FAI: u3, padding: u29, }), reserved192: [40]u8, - /// FDCAN Tx buffer configuration register + /// FDCAN Tx buffer configuration register TXBC: mmio.Mmio(packed struct(u32) { reserved24: u24, - /// Tx FIFO/queue mode. This is a protected write (P) bit, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 - TFQM: packed union { - raw: u1, - value: TFQM, - }, + /// Tx FIFO/queue mode. This is a protected write (P) bit, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + TFQM: TFQM, padding: u7, }), - /// FDCAN Tx FIFO/queue status register + /// FDCAN Tx FIFO/queue status register TXFQS: mmio.Mmio(packed struct(u32) { - /// Tx FIFO free level. Number of consecutive free Tx FIFO elements starting from TFGI, range 0 to 3. Read as 0 when Tx queue operation is configured (TXBC[TFQM] = 1) + /// Tx FIFO free level. Number of consecutive free Tx FIFO elements starting from TFGI, range 0 to 3. Read as 0 when Tx queue operation is configured (TXBC[TFQM] = 1) TFFL: u3, reserved8: u5, - /// Tx FIFO get index. Tx FIFO read index pointer, range 0 to 3. Read as 0 when Tx queue operation is configured (TXBC.TFQM = 1) + /// Tx FIFO get index. Tx FIFO read index pointer, range 0 to 3. Read as 0 when Tx queue operation is configured (TXBC.TFQM = 1) TFGI: u2, reserved16: u6, - /// Tx FIFO/queue put index. Tx FIFO/queue write index pointer, range 0 to 3 + /// Tx FIFO/queue put index. Tx FIFO/queue write index pointer, range 0 to 3 TFQPI: u2, reserved21: u3, - /// Tx FIFO/queue full + /// Tx FIFO/queue full TFQF: u1, padding: u10, }), - /// FDCAN Tx buffer request pending register + /// FDCAN Tx buffer request pending register TXBRP: mmio.Mmio(packed struct(u32) { - /// Transmission request pending. Each Tx buffer has its own transmission request pending bit. The bits are set via register TXBAR. The bits are reset after a requested transmission has completed or has been canceled via register TXBCR. After a TXBRP bit has been set, a Tx scan is started to check for the pending Tx request with the highest priority (Tx buffer with lowest Message ID). A cancellation request resets the corresponding transmission request pending bit of register TXBRP. In case a transmission has already been started when a cancellation is requested, this is done at the end of the transmission, regardless whether the transmission was successful or not. The cancellation request bits are reset directly after the corresponding TXBRP bit has been reset. After a cancellation has been requested, a finished cancellation is signaled via TXBCF after successful transmission together with the corresponding TXBTO bit when the transmission has not yet been started at the point of cancellation when the transmission has been aborted due to lost arbitration when an error occurred during frame transmission In DAR mode all transmissions are automatically canceled if they are not successful. The corresponding TXBCF bit is set for all unsuccessful transmissions + /// Transmission request pending. Each Tx buffer has its own transmission request pending bit. The bits are set via register TXBAR. The bits are reset after a requested transmission has completed or has been canceled via register TXBCR. After a TXBRP bit has been set, a Tx scan is started to check for the pending Tx request with the highest priority (Tx buffer with lowest Message ID). A cancellation request resets the corresponding transmission request pending bit of register TXBRP. In case a transmission has already been started when a cancellation is requested, this is done at the end of the transmission, regardless whether the transmission was successful or not. The cancellation request bits are reset directly after the corresponding TXBRP bit has been reset. After a cancellation has been requested, a finished cancellation is signaled via TXBCF after successful transmission together with the corresponding TXBTO bit when the transmission has not yet been started at the point of cancellation when the transmission has been aborted due to lost arbitration when an error occurred during frame transmission In DAR mode all transmissions are automatically canceled if they are not successful. The corresponding TXBCF bit is set for all unsuccessful transmissions TRP: u1, padding: u31, }), - /// FDCAN Tx buffer add request register + /// FDCAN Tx buffer add request register TXBAR: mmio.Mmio(packed struct(u32) { - /// Add request. Each Tx buffer has its own add request bit. Writing a 1 sets the corresponding add request bit; writing a 0 has no impact. This enables the Host to set transmission requests for multiple Tx buffers with one write to TXBAR. When no Tx scan is running, the bits are reset immediately, else the bits remain set until the Tx scan process has completed + /// Add request. Each Tx buffer has its own add request bit. Writing a 1 sets the corresponding add request bit; writing a 0 has no impact. This enables the Host to set transmission requests for multiple Tx buffers with one write to TXBAR. When no Tx scan is running, the bits are reset immediately, else the bits remain set until the Tx scan process has completed AR: u1, padding: u31, }), - /// FDCAN Tx buffer cancellation request register + /// FDCAN Tx buffer cancellation request register TXBCR: mmio.Mmio(packed struct(u32) { - /// Cancellation request. Each Tx buffer has its own cancellation request bit. Writing a 1 sets the corresponding CR bit; writing a 0 has no impact. This enables the Host to set cancellation requests for multiple Tx buffers with one write to TXBCR. The bits remain set until the corresponding TXBRP bit is reset + /// Cancellation request. Each Tx buffer has its own cancellation request bit. Writing a 1 sets the corresponding CR bit; writing a 0 has no impact. This enables the Host to set cancellation requests for multiple Tx buffers with one write to TXBCR. The bits remain set until the corresponding TXBRP bit is reset CR: u1, padding: u31, }), - /// FDCAN Tx buffer transmission occurred register + /// FDCAN Tx buffer transmission occurred register TXBTO: mmio.Mmio(packed struct(u32) { - /// Transmission occurred.. Each Tx buffer has its own TO bit. The bits are set when the corresponding TXBRP bit is cleared after a successful transmission. The bits are reset when a new transmission is requested by writing a 1 to the corresponding bit of register TXBAR + /// Transmission occurred.. Each Tx buffer has its own TO bit. The bits are set when the corresponding TXBRP bit is cleared after a successful transmission. The bits are reset when a new transmission is requested by writing a 1 to the corresponding bit of register TXBAR TO: u1, padding: u31, }), - /// FDCAN Tx buffer cancellation finished register + /// FDCAN Tx buffer cancellation finished register TXBCF: mmio.Mmio(packed struct(u32) { - /// Cancellation finished. Each Tx buffer has its own CF bit. The bits are set when the corresponding TXBRP bit is cleared after a cancellation was requested via TXBCR. In case the corresponding TXBRP bit was not set at the point of cancellation, CF is set immediately. The bits are reset when a new transmission is requested by writing a 1 to the corresponding bit of register TXBAR + /// Cancellation finished. Each Tx buffer has its own CF bit. The bits are set when the corresponding TXBRP bit is cleared after a cancellation was requested via TXBCR. In case the corresponding TXBRP bit was not set at the point of cancellation, CF is set immediately. The bits are reset when a new transmission is requested by writing a 1 to the corresponding bit of register TXBAR CF: u1, padding: u31, }), - /// FDCAN Tx buffer transmission interrupt enable register + /// FDCAN Tx buffer transmission interrupt enable register TXBTIE: mmio.Mmio(packed struct(u32) { - /// Transmission interrupt enable. Each Tx buffer has its own TIE bit + /// Transmission interrupt enable. Each Tx buffer has its own TIE bit TIE: u1, padding: u31, }), - /// FDCAN Tx buffer cancellation finished interrupt enable register + /// FDCAN Tx buffer cancellation finished interrupt enable register TXBCIE: mmio.Mmio(packed struct(u32) { - /// Cancellation finished interrupt enable.. Each Tx buffer has its own CFIE bit + /// Cancellation finished interrupt enable.. Each Tx buffer has its own CFIE bit CFIE: u1, padding: u31, }), - /// FDCAN Tx event FIFO status register + /// FDCAN Tx event FIFO status register TXEFS: mmio.Mmio(packed struct(u32) { - /// Event FIFO fill level. Number of elements stored in Tx event FIFO, range 0 to 3 + /// Event FIFO fill level. Number of elements stored in Tx event FIFO, range 0 to 3 EFFL: u3, reserved8: u5, - /// Event FIFO get index. Tx event FIFO read index pointer, range 0 to 3 + /// Event FIFO get index. Tx event FIFO read index pointer, range 0 to 3 EFGI: u2, reserved16: u6, - /// Event FIFO put index. Tx event FIFO write index pointer, range 0 to 3 + /// Event FIFO put index. Tx event FIFO write index pointer, range 0 to 3 EFPI: u2, reserved24: u6, - /// Event FIFO full + /// Event FIFO full EFF: u1, - /// Tx event FIFO element lost. This bit is a copy of interrupt flag IR[TEFL]. When IR[TEFL] is reset, this bit is also reset. 0 No Tx event FIFO element lost 1 Tx event FIFO element lost, also set after write attempt to Tx event FIFO of size 0 + /// Tx event FIFO element lost. This bit is a copy of interrupt flag IR[TEFL]. When IR[TEFL] is reset, this bit is also reset. 0 No Tx event FIFO element lost 1 Tx event FIFO element lost, also set after write attempt to Tx event FIFO of size 0 TEFL: u1, padding: u6, }), - /// FDCAN Tx event FIFO acknowledge register + /// FDCAN Tx event FIFO acknowledge register TXEFA: mmio.Mmio(packed struct(u32) { - /// Event FIFO acknowledge index. After the Host has read an element or a sequence of elements from the Tx event FIFO, it has to write the index of the last element read from Tx event FIFO to EFAI. This sets the Tx event FIFO get index TXEFS[EFGI] to EFAI + 1 and updates the FIFO 0 fill level TXEFS[EFFL] + /// Event FIFO acknowledge index. After the Host has read an element or a sequence of elements from the Tx event FIFO, it has to write the index of the last element read from Tx event FIFO to EFAI. This sets the Tx event FIFO get index TXEFS[EFGI] to EFAI + 1 and updates the FIFO 0 fill level TXEFS[EFFL] EFAI: u2, padding: u30, }), reserved256: [20]u8, - /// FDCAN CFG clock divider register + /// FDCAN CFG clock divider register CKDIV: mmio.Mmio(packed struct(u32) { - /// input clock divider. The APB clock could be divided prior to be used by the CAN sub system. The rate must be computed using the divider output clock. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 - PDIV: packed union { - raw: u4, - value: PDIV, - }, + /// input clock divider. The APB clock could be divided prior to be used by the CAN sub system. The rate must be computed using the divider output clock. These are protected write (P) bits, which means that write access by the bits is possible only when the bit 1 [CCE] and bit 0 [INIT] of CCCR register are set to 1 + PDIV: PDIV, padding: u28, }), }; }; pub const cec_v1 = struct { - /// HDMI-CEC controller. + /// HDMI-CEC controller. pub const CEC = extern struct { - /// configuration register. + /// configuration register. CFGR: mmio.Mmio(packed struct(u32) { - /// Peripheral enable. + /// Peripheral enable. PE: u1, - /// Interrupt enable. + /// Interrupt enable. IE: u1, - /// Bit timing error mode. + /// Bit timing error mode. BTEM: u1, - /// Bit period error mode. + /// Bit period error mode. BPEM: u1, padding: u28, }), - /// CEC own address register. + /// CEC own address register. OAR: mmio.Mmio(packed struct(u32) { - /// Own address. + /// Own address. OA: u4, padding: u28, }), - /// Rx Data Register. + /// Rx Data Register. PRES: mmio.Mmio(packed struct(u32) { - /// CEC Rx Data Register. + /// CEC Rx Data Register. PRESC: u14, padding: u18, }), - /// CEC error status register. + /// CEC error status register. ESR: mmio.Mmio(packed struct(u32) { - /// Bit timing error. + /// Bit timing error. BTE: u1, - /// Bit period error. + /// Bit period error. BPE: u1, - /// Rx block transfer finished error. + /// Rx block transfer finished error. RBTFE: u1, - /// Start bit error. + /// Start bit error. SBE: u1, - /// Block acknowledge error. + /// Block acknowledge error. ACKE: u1, - /// Line error. + /// Line error. LINE: u1, - /// Tx block transfer finished error. + /// Tx block transfer finished error. TBTFE: u1, padding: u25, }), - /// CEC control and status register. + /// CEC control and status register. CSR: mmio.Mmio(packed struct(u32) { - /// Tx start of message. + /// Tx start of message. TSOM: u1, - /// Tx end of message. + /// Tx end of message. TEOM: u1, - /// Tx error. + /// Tx error. TERR: u1, - /// Tx byte transfer request or block transfer finished. + /// Tx byte transfer request or block transfer finished. TBTRF: u1, - /// Rx start of message. + /// Rx start of message. RSOM: u1, - /// Rx end of message. + /// Rx end of message. REOM: u1, - /// Rx error. + /// Rx error. RERR: u1, - /// Rx byte/block transfer finished. + /// Rx byte/block transfer finished. RBTF: u1, padding: u24, }), - /// CEC Tx data register. + /// CEC Tx data register. TXD: mmio.Mmio(packed struct(u32) { - /// Tx Data register. + /// Tx Data register. TXD: u8, padding: u24, }), - /// CEC Rx data register. + /// CEC Rx data register. RXD: mmio.Mmio(packed struct(u32) { - /// Rx data. + /// Rx data. RXD: u8, padding: u24, }), @@ -314759,109 +314051,109 @@ pub const types = struct { }; pub const cec_v2 = struct { - /// CEC. + /// CEC. pub const CEC = extern struct { - /// CEC control register. + /// CEC control register. CR: mmio.Mmio(packed struct(u32) { - /// CEC Enable The CECEN bit is set and cleared by software. CECEN=1 starts message reception and enables the TXSOM control. CECEN=0 disables the CEC peripheral, clears all bits of CEC_CR register and aborts any on-going reception or transmission. + /// CEC Enable The CECEN bit is set and cleared by software. CECEN=1 starts message reception and enables the TXSOM control. CECEN=0 disables the CEC peripheral, clears all bits of CEC_CR register and aborts any on-going reception or transmission. CECEN: u1, - /// Tx Start Of Message TXSOM is set by software to command transmission of the first byte of a CEC message. If the CEC message consists of only one byte, TXEOM must be set before of TXSOM. Start-Bit is effectively started on the CEC line after SFT is counted. If TXSOM is set while a message reception is ongoing, transmission will start after the end of reception. TXSOM is cleared by hardware after the last byte of the message is sent with a positive acknowledge (TXEND=1), in case of transmission underrun (TXUDR=1), negative acknowledge (TXACKE=1), and transmission error (TXERR=1). It is also cleared by CECEN=0. It is not cleared and transmission is automatically retried in case of arbitration lost (ARBLST=1). TXSOM can be also used as a status bit informing application whether any transmission request is pending or under execution. The application can abort a transmission request at any time by clearing the CECEN bit. Note: TXSOM must be set when CECEN=1 TXSOM must be set when transmission data is available into TXDR HEADERs first four bits containing own peripheral address are taken from TXDR[7:4], not from CEC_CFGR.OAR which is used only for reception. + /// Tx Start Of Message TXSOM is set by software to command transmission of the first byte of a CEC message. If the CEC message consists of only one byte, TXEOM must be set before of TXSOM. Start-Bit is effectively started on the CEC line after SFT is counted. If TXSOM is set while a message reception is ongoing, transmission will start after the end of reception. TXSOM is cleared by hardware after the last byte of the message is sent with a positive acknowledge (TXEND=1), in case of transmission underrun (TXUDR=1), negative acknowledge (TXACKE=1), and transmission error (TXERR=1). It is also cleared by CECEN=0. It is not cleared and transmission is automatically retried in case of arbitration lost (ARBLST=1). TXSOM can be also used as a status bit informing application whether any transmission request is pending or under execution. The application can abort a transmission request at any time by clearing the CECEN bit. Note: TXSOM must be set when CECEN=1 TXSOM must be set when transmission data is available into TXDR HEADERs first four bits containing own peripheral address are taken from TXDR[7:4], not from CEC_CFGR.OAR which is used only for reception. TXSOM: u1, - /// Tx End Of Message The TXEOM bit is set by software to command transmission of the last byte of a CEC message. TXEOM is cleared by hardware at the same time and under the same conditions as for TXSOM. Note: TXEOM must be set when CECEN=1 TXEOM must be set before writing transmission data to TXDR If TXEOM is set when TXSOM=0, transmitted message will consist of 1 byte (HEADER) only (PING message). + /// Tx End Of Message The TXEOM bit is set by software to command transmission of the last byte of a CEC message. TXEOM is cleared by hardware at the same time and under the same conditions as for TXSOM. Note: TXEOM must be set when CECEN=1 TXEOM must be set before writing transmission data to TXDR If TXEOM is set when TXSOM=0, transmitted message will consist of 1 byte (HEADER) only (PING message). TXEOM: u1, padding: u29, }), - /// This register is used to configure the HDMI-CEC controller. It is mandatory to write CEC_CFGR only when CECEN=0. + /// This register is used to configure the HDMI-CEC controller. It is mandatory to write CEC_CFGR only when CECEN=0. CFGR: mmio.Mmio(packed struct(u32) { - /// Signal Free Time SFT bits are set by software. In the SFT=0x0 configuration the number of nominal data bit periods waited before transmission is ruled by hardware according to the transmission history. In all the other configurations the SFT number is determined by software. * 0x0 ** 2.5 Data-Bit periods if CEC is the last bus initiator with unsuccessful transmission (ARBLST=1, TXERR=1, TXUDR=1 or TXACKE= 1) ** 4 Data-Bit periods if CEC is the new bus initiator ** 6 Data-Bit periods if CEC is the last bus initiator with successful transmission (TXEOM=1) * 0x1: 0.5 nominal data bit periods * 0x2: 1.5 nominal data bit periods * 0x3: 2.5 nominal data bit periods * 0x4: 3.5 nominal data bit periods * 0x5: 4.5 nominal data bit periods * 0x6: 5.5 nominal data bit periods * 0x7: 6.5 nominal data bit periods. + /// Signal Free Time SFT bits are set by software. In the SFT=0x0 configuration the number of nominal data bit periods waited before transmission is ruled by hardware according to the transmission history. In all the other configurations the SFT number is determined by software. * 0x0 ** 2.5 Data-Bit periods if CEC is the last bus initiator with unsuccessful transmission (ARBLST=1, TXERR=1, TXUDR=1 or TXACKE= 1) ** 4 Data-Bit periods if CEC is the new bus initiator ** 6 Data-Bit periods if CEC is the last bus initiator with successful transmission (TXEOM=1) * 0x1: 0.5 nominal data bit periods * 0x2: 1.5 nominal data bit periods * 0x3: 2.5 nominal data bit periods * 0x4: 3.5 nominal data bit periods * 0x5: 4.5 nominal data bit periods * 0x6: 5.5 nominal data bit periods * 0x7: 6.5 nominal data bit periods. SFT: u3, - /// Rx-Tolerance The RXTOL bit is set and cleared by software. ** Start-Bit, +/- 200 s rise, +/- 200 s fall. ** Data-Bit: +/- 200 s rise. +/- 350 s fall. ** Start-Bit: +/- 400 s rise, +/- 400 s fall ** Data-Bit: +/-300 s rise, +/- 500 s fall. + /// Rx-Tolerance The RXTOL bit is set and cleared by software. ** Start-Bit, +/- 200 s rise, +/- 200 s fall. ** Data-Bit: +/- 200 s rise. +/- 350 s fall. ** Start-Bit: +/- 400 s rise, +/- 400 s fall ** Data-Bit: +/-300 s rise, +/- 500 s fall. RXTOL: u1, - /// Rx-Stop on Bit Rising Error The BRESTP bit is set and cleared by software. + /// Rx-Stop on Bit Rising Error The BRESTP bit is set and cleared by software. BRESTP: u1, - /// Generate Error-Bit on Bit Rising Error The BREGEN bit is set and cleared by software. Note: If BRDNOGEN=0, an Error-bit is generated upon BRE detection with BRESTP=1 in broadcast even if BREGEN=0. + /// Generate Error-Bit on Bit Rising Error The BREGEN bit is set and cleared by software. Note: If BRDNOGEN=0, an Error-bit is generated upon BRE detection with BRESTP=1 in broadcast even if BREGEN=0. BREGEN: u1, - /// Generate Error-Bit on Long Bit Period Error The LBPEGEN bit is set and cleared by software. Note: If BRDNOGEN=0, an Error-bit is generated upon LBPE detection in broadcast even if LBPEGEN=0. + /// Generate Error-Bit on Long Bit Period Error The LBPEGEN bit is set and cleared by software. Note: If BRDNOGEN=0, an Error-bit is generated upon LBPE detection in broadcast even if LBPEGEN=0. LBPEGEN: u1, - /// Avoid Error-Bit Generation in Broadcast The BRDNOGEN bit is set and cleared by software. + /// Avoid Error-Bit Generation in Broadcast The BRDNOGEN bit is set and cleared by software. BRDNOGEN: u1, - /// SFT Option Bit The SFTOPT bit is set and cleared by software. + /// SFT Option Bit The SFTOPT bit is set and cleared by software. SFTOPT: u1, reserved16: u7, - /// Own addresses configuration The OAR bits are set by software to select which destination logical addresses has to be considered in receive mode. Each bit, when set, enables the CEC logical address identified by the given bit position. At the end of HEADER reception, the received destination address is compared with the enabled addresses. In case of matching address, the incoming message is acknowledged and received. In case of non-matching address, the incoming message is received only in listen mode (LSTN=1), but without acknowledge sent. Broadcast messages are always received. Example: OAR = 0b000 0000 0010 0001 means that CEC acknowledges addresses 0x0 and 0x5. Consequently, each message directed to one of these addresses is received. + /// Own addresses configuration The OAR bits are set by software to select which destination logical addresses has to be considered in receive mode. Each bit, when set, enables the CEC logical address identified by the given bit position. At the end of HEADER reception, the received destination address is compared with the enabled addresses. In case of matching address, the incoming message is acknowledged and received. In case of non-matching address, the incoming message is received only in listen mode (LSTN=1), but without acknowledge sent. Broadcast messages are always received. Example: OAR = 0b000 0000 0010 0001 means that CEC acknowledges addresses 0x0 and 0x5. Consequently, each message directed to one of these addresses is received. OAR: u15, - /// Listen mode LSTN bit is set and cleared by software. + /// Listen mode LSTN bit is set and cleared by software. LSTN: u1, }), - /// CEC Tx data register. + /// CEC Tx data register. TXDR: mmio.Mmio(packed struct(u32) { - /// Tx Data register. TXD is a write-only register containing the data byte to be transmitted. Note: TXD must be written when TXSTART=1. + /// Tx Data register. TXD is a write-only register containing the data byte to be transmitted. Note: TXD must be written when TXSTART=1. TXD: u8, padding: u24, }), - /// CEC Rx Data Register. + /// CEC Rx Data Register. RXDR: mmio.Mmio(packed struct(u32) { - /// Rx Data register. RXD is read-only and contains the last data byte which has been received from the CEC line. + /// Rx Data register. RXD is read-only and contains the last data byte which has been received from the CEC line. RXD: u8, padding: u24, }), - /// CEC Interrupt and Status Register. + /// CEC Interrupt and Status Register. ISR: mmio.Mmio(packed struct(u32) { - /// Rx-Byte Received The RXBR bit is set by hardware to inform application that a new byte has been received from the CEC line and stored into the RXD buffer. RXBR is cleared by software write at 1. + /// Rx-Byte Received The RXBR bit is set by hardware to inform application that a new byte has been received from the CEC line and stored into the RXD buffer. RXBR is cleared by software write at 1. RXBR: u1, - /// End Of Reception RXEND is set by hardware to inform application that the last byte of a CEC message is received from the CEC line and stored into the RXD buffer. RXEND is set at the same time of RXBR. RXEND is cleared by software write at 1. + /// End Of Reception RXEND is set by hardware to inform application that the last byte of a CEC message is received from the CEC line and stored into the RXD buffer. RXEND is set at the same time of RXBR. RXEND is cleared by software write at 1. RXEND: u1, - /// Rx-Overrun RXOVR is set by hardware if RXBR is not yet cleared at the time a new byte is received on the CEC line and stored into RXD. RXOVR assertion stops message reception so that no acknowledge is sent. In case of broadcast, a negative acknowledge is sent. RXOVR is cleared by software write at 1. + /// Rx-Overrun RXOVR is set by hardware if RXBR is not yet cleared at the time a new byte is received on the CEC line and stored into RXD. RXOVR assertion stops message reception so that no acknowledge is sent. In case of broadcast, a negative acknowledge is sent. RXOVR is cleared by software write at 1. RXOVR: u1, - /// Rx-Bit Rising Error BRE is set by hardware in case a Data-Bit waveform is detected with Bit Rising Error. BRE is set either at the time the misplaced rising edge occurs, or at the end of the maximum BRE tolerance allowed by RXTOL, in case rising edge is still longing. BRE stops message reception if BRESTP=1. BRE generates an Error-Bit on the CEC line if BREGEN=1. BRE is cleared by software write at 1. + /// Rx-Bit Rising Error BRE is set by hardware in case a Data-Bit waveform is detected with Bit Rising Error. BRE is set either at the time the misplaced rising edge occurs, or at the end of the maximum BRE tolerance allowed by RXTOL, in case rising edge is still longing. BRE stops message reception if BRESTP=1. BRE generates an Error-Bit on the CEC line if BREGEN=1. BRE is cleared by software write at 1. BRE: u1, - /// Rx-Short Bit Period Error SBPE is set by hardware in case a Data-Bit waveform is detected with Short Bit Period Error. SBPE is set at the time the anticipated falling edge occurs. SBPE generates an Error-Bit on the CEC line. SBPE is cleared by software write at 1. + /// Rx-Short Bit Period Error SBPE is set by hardware in case a Data-Bit waveform is detected with Short Bit Period Error. SBPE is set at the time the anticipated falling edge occurs. SBPE generates an Error-Bit on the CEC line. SBPE is cleared by software write at 1. SBPE: u1, - /// Rx-Long Bit Period Error LBPE is set by hardware in case a Data-Bit waveform is detected with Long Bit Period Error. LBPE is set at the end of the maximum bit-extension tolerance allowed by RXTOL, in case falling edge is still longing. LBPE always stops reception of the CEC message. LBPE generates an Error-Bit on the CEC line if LBPEGEN=1. In case of broadcast, Error-Bit is generated even in case of LBPEGEN=0. LBPE is cleared by software write at 1. + /// Rx-Long Bit Period Error LBPE is set by hardware in case a Data-Bit waveform is detected with Long Bit Period Error. LBPE is set at the end of the maximum bit-extension tolerance allowed by RXTOL, in case falling edge is still longing. LBPE always stops reception of the CEC message. LBPE generates an Error-Bit on the CEC line if LBPEGEN=1. In case of broadcast, Error-Bit is generated even in case of LBPEGEN=0. LBPE is cleared by software write at 1. LBPE: u1, - /// Rx-Missing Acknowledge In receive mode, RXACKE is set by hardware to inform application that no acknowledge was seen on the CEC line. RXACKE applies only for broadcast messages and in listen mode also for not directly addressed messages (destination address not enabled in OAR). RXACKE aborts message reception. RXACKE is cleared by software write at 1. + /// Rx-Missing Acknowledge In receive mode, RXACKE is set by hardware to inform application that no acknowledge was seen on the CEC line. RXACKE applies only for broadcast messages and in listen mode also for not directly addressed messages (destination address not enabled in OAR). RXACKE aborts message reception. RXACKE is cleared by software write at 1. RXACKE: u1, - /// Arbitration Lost ARBLST is set by hardware to inform application that CEC device is switching to reception due to arbitration lost event following the TXSOM command. ARBLST can be due either to a contending CEC device starting earlier or starting at the same time but with higher HEADER priority. After ARBLST assertion TXSOM bit keeps pending for next transmission attempt. ARBLST is cleared by software write at 1. + /// Arbitration Lost ARBLST is set by hardware to inform application that CEC device is switching to reception due to arbitration lost event following the TXSOM command. ARBLST can be due either to a contending CEC device starting earlier or starting at the same time but with higher HEADER priority. After ARBLST assertion TXSOM bit keeps pending for next transmission attempt. ARBLST is cleared by software write at 1. ARBLST: u1, - /// Tx-Byte Request TXBR is set by hardware to inform application that the next transmission data has to be written to TXDR. TXBR is set when the 4th bit of currently transmitted byte is sent. Application must write the next byte to TXDR within 6 nominal data-bit periods before transmission underrun error occurs (TXUDR). TXBR is cleared by software write at 1. + /// Tx-Byte Request TXBR is set by hardware to inform application that the next transmission data has to be written to TXDR. TXBR is set when the 4th bit of currently transmitted byte is sent. Application must write the next byte to TXDR within 6 nominal data-bit periods before transmission underrun error occurs (TXUDR). TXBR is cleared by software write at 1. TXBR: u1, - /// End of Transmission TXEND is set by hardware to inform application that the last byte of the CEC message has been successfully transmitted. TXEND clears the TXSOM and TXEOM control bits. TXEND is cleared by software write at 1. + /// End of Transmission TXEND is set by hardware to inform application that the last byte of the CEC message has been successfully transmitted. TXEND clears the TXSOM and TXEOM control bits. TXEND is cleared by software write at 1. TXEND: u1, - /// Tx-Buffer Underrun In transmission mode, TXUDR is set by hardware if application was not in time to load TXDR before of next byte transmission. TXUDR aborts message transmission and clears TXSOM and TXEOM control bits. TXUDR is cleared by software write at 1. + /// Tx-Buffer Underrun In transmission mode, TXUDR is set by hardware if application was not in time to load TXDR before of next byte transmission. TXUDR aborts message transmission and clears TXSOM and TXEOM control bits. TXUDR is cleared by software write at 1. TXUDR: u1, - /// Tx-Error In transmission mode, TXERR is set by hardware if the CEC initiator detects low impedance on the CEC line while it is released. TXERR aborts message transmission and clears TXSOM and TXEOM controls. TXERR is cleared by software write at 1. + /// Tx-Error In transmission mode, TXERR is set by hardware if the CEC initiator detects low impedance on the CEC line while it is released. TXERR aborts message transmission and clears TXSOM and TXEOM controls. TXERR is cleared by software write at 1. TXERR: u1, - /// Tx-Missing Acknowledge Error In transmission mode, TXACKE is set by hardware to inform application that no acknowledge was received. In case of broadcast transmission, TXACKE informs application that a negative acknowledge was received. TXACKE aborts message transmission and clears TXSOM and TXEOM controls. TXACKE is cleared by software write at 1. + /// Tx-Missing Acknowledge Error In transmission mode, TXACKE is set by hardware to inform application that no acknowledge was received. In case of broadcast transmission, TXACKE informs application that a negative acknowledge was received. TXACKE aborts message transmission and clears TXSOM and TXEOM controls. TXACKE is cleared by software write at 1. TXACKE: u1, padding: u19, }), - /// CEC interrupt enable register. + /// CEC interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// Rx-Byte Received Interrupt Enable The RXBRIE bit is set and cleared by software. + /// Rx-Byte Received Interrupt Enable The RXBRIE bit is set and cleared by software. RXBRIE: u1, - /// End Of Reception Interrupt Enable The RXENDIE bit is set and cleared by software. + /// End Of Reception Interrupt Enable The RXENDIE bit is set and cleared by software. RXENDIE: u1, - /// Rx-Buffer Overrun Interrupt Enable The RXOVRIE bit is set and cleared by software. + /// Rx-Buffer Overrun Interrupt Enable The RXOVRIE bit is set and cleared by software. RXOVRIE: u1, - /// Bit Rising Error Interrupt Enable The BREIE bit is set and cleared by software. + /// Bit Rising Error Interrupt Enable The BREIE bit is set and cleared by software. BREIE: u1, - /// Short Bit Period Error Interrupt Enable The SBPEIE bit is set and cleared by software. + /// Short Bit Period Error Interrupt Enable The SBPEIE bit is set and cleared by software. SBPEIE: u1, - /// Long Bit Period Error Interrupt Enable The LBPEIE bit is set and cleared by software. + /// Long Bit Period Error Interrupt Enable The LBPEIE bit is set and cleared by software. LBPEIE: u1, - /// Rx-Missing Acknowledge Error Interrupt Enable The RXACKIE bit is set and cleared by software. + /// Rx-Missing Acknowledge Error Interrupt Enable The RXACKIE bit is set and cleared by software. RXACKIE: u1, - /// Arbitration Lost Interrupt Enable The ARBLSTIE bit is set and cleared by software. + /// Arbitration Lost Interrupt Enable The ARBLSTIE bit is set and cleared by software. ARBLSTIE: u1, - /// Tx-Byte Request Interrupt Enable The TXBRIE bit is set and cleared by software. + /// Tx-Byte Request Interrupt Enable The TXBRIE bit is set and cleared by software. TXBRIE: u1, - /// Tx-End Of Message Interrupt Enable The TXENDIE bit is set and cleared by software. + /// Tx-End Of Message Interrupt Enable The TXENDIE bit is set and cleared by software. TXENDIE: u1, - /// Tx-Underrun Interrupt Enable The TXUDRIE bit is set and cleared by software. + /// Tx-Underrun Interrupt Enable The TXUDRIE bit is set and cleared by software. TXUDRIE: u1, - /// Tx-Error Interrupt Enable The TXERRIE bit is set and cleared by software. + /// Tx-Error Interrupt Enable The TXERRIE bit is set and cleared by software. TXERRIE: u1, - /// Tx-Missing Acknowledge Error Interrupt Enable The TXACKEIE bit is set and cleared by software. + /// Tx-Missing Acknowledge Error Interrupt Enable The TXACKEIE bit is set and cleared by software. TXACKIE: u1, padding: u19, }), @@ -314871,54 +314163,48 @@ pub const types = struct { pub const comp_f3_v1 = struct { pub const HYST = enum(u2) { None = 0x0, - /// Low hysteresis + /// Low hysteresis Low = 0x1, - /// Medium hysteresis + /// Medium hysteresis Medium = 0x2, - /// High hysteresis + /// High hysteresis High = 0x3, }; pub const MODE = enum(u2) { - /// High Speed mode + /// High Speed mode HighSpeed = 0x0, - /// Medium Speed mode + /// Medium Speed mode MediumSpeed = 0x1, - /// Low Speed mode + /// Low Speed mode LowSpeed = 0x2, - /// Very Low Speed mode + /// Very Low Speed mode VeryLowSpeed = 0x3, }; - /// General purpose comparators. + /// General purpose comparators. pub const COMP = extern struct { - /// control and status register. + /// control and status register. CSR: mmio.Mmio(packed struct(u32) { - /// Comparator enable. + /// Comparator enable. EN: u1, - /// Comparator 1 non inverting input connection to DAC output. Only available on COMP1 + /// Comparator 1 non inverting input connection to DAC output. Only available on COMP1 INP_DAC: u1, - /// Comparator mode. - MODE: packed union { - raw: u2, - value: MODE, - }, - /// Comparator inverting input selection. + /// Comparator mode. + MODE: MODE, + /// Comparator inverting input selection. INSEL: u3, - /// Window mode enable. Only available on COMP2 + /// Window mode enable. Only available on COMP2 WNDWEN: u1, - /// Comparator output selection. + /// Comparator output selection. OUTSEL: u3, - /// Comparator output polarity. + /// Comparator output polarity. POL: u1, - /// Comparator hysteresis. - HYST: packed union { - raw: u2, - value: HYST, - }, - /// Comparator output. + /// Comparator hysteresis. + HYST: HYST, + /// Comparator output. OUT: u1, - /// Comparator lock. + /// Comparator lock. LOCK: u1, padding: u16, }), @@ -314959,88 +314245,76 @@ pub const types = struct { }; pub const PWRMODE = enum(u2) { - /// High speed / full power + /// High speed / full power High = 0x0, - /// Medium speed / medium power + /// Medium speed / medium power Medium = 0x1, - /// Medium speed / medium power + /// Medium speed / medium power MediumEither = 0x2, - /// Ultra low power / ultra-low-power + /// Ultra low power / ultra-low-power Low = 0x3, }; - /// Comparator. + /// Comparator. pub const COMP = extern struct { - /// Comparator status register. + /// Comparator status register. SR: mmio.Mmio(packed struct(u32) { - /// COMP Channel1 output status bit This bit is read-only. It reflects the current COMP Channel1 output taking into account POLARITY and BLANKING bits effect. + /// COMP Channel1 output status bit This bit is read-only. It reflects the current COMP Channel1 output taking into account POLARITY and BLANKING bits effect. CVAL: u1, reserved16: u15, - /// COMP Channel1 interrupt flag This bit is set by hardware when the COMP Channel1 output is set This bit is cleared by software writing 1 the CC1IF bit in the COMP_ICFR register. + /// COMP Channel1 interrupt flag This bit is set by hardware when the COMP Channel1 output is set This bit is cleared by software writing 1 the CC1IF bit in the COMP_ICFR register. CIF: u1, padding: u15, }), - /// Comparator interrupt clear flag register. + /// Comparator interrupt clear flag register. ICFR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Clear COMP Channel1 interrupt flag Writing 1 clears the C1IF flag in the COMP_SR register. + /// Clear COMP Channel1 interrupt flag Writing 1 clears the C1IF flag in the COMP_SR register. CCIF: u1, padding: u15, }), reserved12: [4]u8, - /// Comparator configuration register 1. + /// Comparator configuration register 1. CFGR1: mmio.Mmio(packed struct(u32) { - /// COMP Channel1 enable This bit is set and cleared by software (only if LOCK not set). It enables the COMP-Channel1. + /// COMP Channel1 enable This bit is set and cleared by software (only if LOCK not set). It enables the COMP-Channel1. EN: u1, - /// Scaler bridge enable This bit is set and cleared by software (only if LOCK not set). This bit enables the bridge of the scaler. If SCALEN is set and BRGEN is reset, all four scaler outputs provide the same level VREF_COMP (similar to VREFINT). If SCALEN and BRGEN are set, the four scaler outputs provide VREF_COMP, 3/4-VREF_COMP, 1/2-VREF_COMP and 1/4-VREF_COMP levels, respectively. + /// Scaler bridge enable This bit is set and cleared by software (only if LOCK not set). This bit enables the bridge of the scaler. If SCALEN is set and BRGEN is reset, all four scaler outputs provide the same level VREF_COMP (similar to VREFINT). If SCALEN and BRGEN are set, the four scaler outputs provide VREF_COMP, 3/4-VREF_COMP, 1/2-VREF_COMP and 1/4-VREF_COMP levels, respectively. BRGEN: u1, - /// Voltage scaler enable This bit is set and cleared by software (only if LOCK not set). This bit enables the VREFINT scaler for the COMP channels. + /// Voltage scaler enable This bit is set and cleared by software (only if LOCK not set). This bit enables the VREFINT scaler for the COMP channels. SCALEN: u1, - /// COMP channel1 polarity selection This bit is set and cleared by software (only if LOCK not set). It inverts COMP channel1 polarity. + /// COMP channel1 polarity selection This bit is set and cleared by software (only if LOCK not set). It inverts COMP channel1 polarity. POLARITY: u1, reserved6: u2, - /// COMP channel1 interrupt enable This bit is set and cleared by software (only if LOCK not set). This bit enable the interrupt generation of the COMP channel1. + /// COMP channel1 interrupt enable This bit is set and cleared by software (only if LOCK not set). This bit enable the interrupt generation of the COMP channel1. ITEN: u1, reserved8: u1, - /// COMP channel1 hysteresis selection These bits are set and cleared by software (only if LOCK not set). They select the hysteresis voltage of the COMP channel1. - HYST: packed union { - raw: u2, - value: HYST, - }, + /// COMP channel1 hysteresis selection These bits are set and cleared by software (only if LOCK not set). They select the hysteresis voltage of the COMP channel1. + HYST: HYST, reserved12: u2, - /// Power mode of the COMP channel1 These bits are set and cleared by software (only if LOCK not set). They control the power/speed of the COMP channel1. - PWRMODE: packed union { - raw: u2, - value: PWRMODE, - }, + /// Power mode of the COMP channel1 These bits are set and cleared by software (only if LOCK not set). They control the power/speed of the COMP channel1. + PWRMODE: PWRMODE, reserved16: u2, - /// COMP channel1 inverting input selection These bits are set and cleared by software (only if LOCK not set). They select which input is connected to the input minus of the COMP channel. Note: See Table-146: COMP1 inverting input assignment for more details. - INMSEL: packed union { - raw: u4, - value: INMSEL, - }, - /// COMP noninverting input selection This bit is set and cleared by software (only if LOCK not set). They select which input is connected to the positive input of COMP channel. Note: See Table-145: COMP1 noninverting input assignment for more details. + /// COMP channel1 inverting input selection These bits are set and cleared by software (only if LOCK not set). They select which input is connected to the input minus of the COMP channel. Note: See Table-146: COMP1 inverting input assignment for more details. + INMSEL: INMSEL, + /// COMP noninverting input selection This bit is set and cleared by software (only if LOCK not set). They select which input is connected to the positive input of COMP channel. Note: See Table-145: COMP1 noninverting input assignment for more details. INPSEL1: u1, reserved22: u1, - /// COMP noninverting input selection This bit is set and cleared by software (only if LOCK not set). They select which input is connected to the positive input of the COMP channel. See Table-145: COMP1 noninverting input assignment for more details. + /// COMP noninverting input selection This bit is set and cleared by software (only if LOCK not set). They select which input is connected to the positive input of the COMP channel. See Table-145: COMP1 noninverting input assignment for more details. INPSEL2: u1, reserved24: u1, - /// COMP Channel1 blanking source selection Bits of this field are set and cleared by software (only if LOCK not set). The field selects the input source for COMP Channel1 output blanking: All other values: reserved. - BLANKING: packed union { - raw: u4, - value: BLANKING, - }, + /// COMP Channel1 blanking source selection Bits of this field are set and cleared by software (only if LOCK not set). The field selects the input source for COMP Channel1 output blanking: All other values: reserved. + BLANKING: BLANKING, reserved31: u3, - /// Lock This bit is set by software and cleared by a hardware system reset. It locks the whole content of the COMP Channel1 configuration register COMP_CFGR1[31:0]. + /// Lock This bit is set by software and cleared by a hardware system reset. It locks the whole content of the COMP Channel1 configuration register COMP_CFGR1[31:0]. LOCK: u1, }), - /// Comparator configuration register 2. + /// Comparator configuration register 2. CFGR2: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// COMP non-inverting input selection This bit is set and cleared by software (only if LOCK not set). They select which input is connected to the positive input of COMP channel. See Table-145: COMP1 noninverting input assignment for more details. + /// COMP non-inverting input selection This bit is set and cleared by software (only if LOCK not set). They select which input is connected to the positive input of COMP channel. See Table-145: COMP1 noninverting input assignment for more details. INPSEL0: u1, reserved31: u26, - /// Lock This bit is set by software and cleared by a hardware system reset. It locks the whole content of the COMP Channel1 configuration register COMP_CFGR2[31:0]. + /// Lock This bit is set by software and cleared by a hardware system reset. It locks the whole content of the COMP Channel1 configuration register COMP_CFGR2[31:0]. LOCK: u1, }), }; @@ -315085,90 +314359,75 @@ pub const types = struct { }; pub const PWRMODE = enum(u2) { - /// High speed / full power + /// High speed / full power High = 0x0, - /// Medium speed / medium power + /// Medium speed / medium power Medium = 0x1, - /// Medium speed / medium power + /// Medium speed / medium power MediumEither = 0x2, - /// Ultra low power / ultra-low-power + /// Ultra low power / ultra-low-power Low = 0x3, }; - /// COMP1. + /// COMP1. pub const COMP = extern struct { - /// Comparator status register. + /// Comparator status register. SR: mmio.Mmio(packed struct(u32) { - /// COMP channel 1 output status bit. + /// COMP channel 1 output status bit. CVAL: u1, reserved16: u15, - /// COMP channel 1 Interrupt Flag. + /// COMP channel 1 Interrupt Flag. CIF: u1, padding: u15, }), - /// Comparator interrupt clear flag register. + /// Comparator interrupt clear flag register. ICFR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Clear COMP channel 1 Interrupt Flag. + /// Clear COMP channel 1 Interrupt Flag. CCIF: u1, padding: u15, }), - /// Comparator option register. + /// Comparator option register. OR: mmio.Mmio(packed struct(u32) { - /// Selection of source for alternate function of output ports. + /// Selection of source for alternate function of output ports. AFOP: u11, padding: u21, }), - /// Comparator configuration register 1. + /// Comparator configuration register 1. CFGR1: mmio.Mmio(packed struct(u32) { - /// COMP channel 1 enable bit. + /// COMP channel 1 enable bit. EN: u1, - /// Scaler bridge enable. + /// Scaler bridge enable. BRGEN: u1, - /// Voltage scaler enable bit. + /// Voltage scaler enable bit. SCALEN: u1, - /// COMP channel 1 polarity selection bit. + /// COMP channel 1 polarity selection bit. POLARITY: u1, reserved6: u2, - /// COMP channel 1 interrupt enable. + /// COMP channel 1 interrupt enable. ITEN: u1, reserved8: u1, - /// COMP channel 1 hysteresis selection bits. - HYST: packed union { - raw: u2, - value: HYST, - }, + /// COMP channel 1 hysteresis selection bits. + HYST: HYST, reserved12: u2, - /// Power Mode of the COMP channel 1. - PWRMODE: packed union { - raw: u2, - value: PWRMODE, - }, + /// Power Mode of the COMP channel 1. + PWRMODE: PWRMODE, reserved16: u2, - /// COMP channel 1 inverting input selection field. - INMSEL: packed union { - raw: u4, - value: INMSEL, - }, - /// COMP channel 1 non-inverting input selection bit. - INPSEL: packed union { - raw: u1, - value: INPSEL, - }, + /// COMP channel 1 inverting input selection field. + INMSEL: INMSEL, + /// COMP channel 1 non-inverting input selection bit. + INPSEL: INPSEL, reserved24: u3, - /// COMP channel 1 blanking source selection bits. - BLANKING: packed union { - raw: u4, - value: BLANKING, - }, + /// COMP channel 1 blanking source selection bits. + BLANKING: BLANKING, reserved31: u3, - /// Lock bit. + /// Lock bit. LOCK: u1, }), - /// Comparator configuration register 2. + /// Comparator configuration register 2. CFGR2: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Window comparator mode selection bit. + /// Window comparator mode selection bit. WINMODE: u1, padding: u27, }), @@ -315211,91 +314470,76 @@ pub const types = struct { }; pub const PWRMODE = enum(u2) { - /// High speed / full power + /// High speed / full power High = 0x0, - /// Medium speed / medium power + /// Medium speed / medium power Medium = 0x1, - /// Medium speed / medium power + /// Medium speed / medium power MediumEither = 0x2, - /// Ultra low power / ultra-low-power + /// Ultra low power / ultra-low-power Low = 0x3, }; - /// COMP1. + /// COMP1. pub const COMP = extern struct { - /// Comparator status register. + /// Comparator status register. SR: mmio.Mmio(packed struct(u32) { - /// COMP channel 1 output status bit. + /// COMP channel 1 output status bit. CVAL: u1, reserved16: u15, - /// COMP channel 1 Interrupt Flag. + /// COMP channel 1 Interrupt Flag. CIF: u1, padding: u15, }), - /// Comparator interrupt clear flag register. + /// Comparator interrupt clear flag register. ICFR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Clear COMP channel 1 Interrupt Flag. + /// Clear COMP channel 1 Interrupt Flag. CCIF: u1, padding: u15, }), - /// Comparator option register. + /// Comparator option register. OR: mmio.Mmio(packed struct(u32) { - /// Selection of source for alternate function of output ports. + /// Selection of source for alternate function of output ports. AFOP: u11, padding: u21, }), - /// Comparator configuration register 1. + /// Comparator configuration register 1. CFGR1: mmio.Mmio(packed struct(u32) { - /// COMP channel 1 enable bit. + /// COMP channel 1 enable bit. EN: u1, - /// Scaler bridge enable. + /// Scaler bridge enable. BRGEN: u1, - /// Voltage scaler enable bit. + /// Voltage scaler enable bit. SCALEN: u1, - /// COMP channel 1 polarity selection bit. + /// COMP channel 1 polarity selection bit. POLARITY: u1, reserved6: u2, - /// COMP channel 1 interrupt enable. + /// COMP channel 1 interrupt enable. ITEN: u1, reserved8: u1, - /// COMP channel 1 hysteresis selection bits. - HYST: packed union { - raw: u2, - value: HYST, - }, + /// COMP channel 1 hysteresis selection bits. + HYST: HYST, reserved12: u2, - /// Power Mode of the COMP channel 1. - PWRMODE: packed union { - raw: u2, - value: PWRMODE, - }, + /// Power Mode of the COMP channel 1. + PWRMODE: PWRMODE, reserved16: u2, - /// COMP channel 1 inverting input selection field. - INMSEL: packed union { - raw: u3, - value: INMSEL, - }, + /// COMP channel 1 inverting input selection field. + INMSEL: INMSEL, reserved20: u1, - /// COMP channel 1 non-inverting input selection bit. - INPSEL: packed union { - raw: u1, - value: INPSEL, - }, + /// COMP channel 1 non-inverting input selection bit. + INPSEL: INPSEL, reserved24: u3, - /// COMP channel 1 blanking source selection bits. - BLANKING: packed union { - raw: u4, - value: BLANKING, - }, + /// COMP channel 1 blanking source selection bits. + BLANKING: BLANKING, reserved31: u3, - /// Lock bit. + /// Lock bit. LOCK: u1, }), - /// Comparator configuration register 2. + /// Comparator configuration register 2. CFGR2: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Window comparator mode selection bit. + /// Window comparator mode selection bit. WINMODE: u1, padding: u27, }), @@ -315304,17 +314548,17 @@ pub const types = struct { pub const comp_u0 = struct { pub const BLANKING = enum(u5) { - /// No blanking. + /// No blanking. NoBlanking = 0x0, - /// TIM1 OC4 enabled as blanking source + /// TIM1 OC4 enabled as blanking source TIM1OC4 = 0x1, - /// TIM1 OC5 enabled as blanking source + /// TIM1 OC5 enabled as blanking source TIM1OC5 = 0x2, - /// TIM5 OC3 enabled as blanking source + /// TIM5 OC3 enabled as blanking source TIM2OC3 = 0x4, - /// TIM3 OC3 enabled as blanking source + /// TIM3 OC3 enabled as blanking source TIM3OC3 = 0x8, - /// TIM15 OC2 enabled as blanking source + /// TIM15 OC2 enabled as blanking source TIM15OC2 = 0x10, _, }; @@ -315327,82 +314571,64 @@ pub const types = struct { }; pub const PWRMODE = enum(u2) { - /// High speed / full power. + /// High speed / full power. HighSpeed = 0x0, - /// Medium speed / medium power. + /// Medium speed / medium power. MediumSpeed = 0x1, - /// Very-low speed / ultra-low power. + /// Very-low speed / ultra-low power. LowSpeed = 0x3, _, }; pub const Polarity = enum(u1) { - /// Output is not inverted. + /// Output is not inverted. NotInverted = 0x0, - /// Output is inverted. + /// Output is inverted. Inverted = 0x1, }; pub const WindowMode = enum(u1) { - /// Signal selected with INPSEL[2:0] bitfield of this register. + /// Signal selected with INPSEL[2:0] bitfield of this register. ThisInpsel = 0x0, - /// Signal selected with INPSEL[2:0] bitfield of the other register (required for window mode). + /// Signal selected with INPSEL[2:0] bitfield of the other register (required for window mode). OtherInpsel = 0x1, }; pub const WindowOut = enum(u1) { - /// Comparator 1 value. + /// Comparator 1 value. COMP1_VALUE = 0x0, - /// Comparator 1 value XOR comparator 2 value (required for window mode). + /// Comparator 1 value XOR comparator 2 value (required for window mode). @"COMP1_VALUE XOR COMP2_VALUE" = 0x1, }; - /// Comparator. + /// Comparator. pub const COMP = extern struct { - /// Comparator control and status register. + /// Comparator control and status register. CSR: mmio.Mmio(packed struct(u32) { - /// Enable + /// Enable EN: u1, reserved4: u3, - /// Input minus selection bits. + /// Input minus selection bits. INMSEL: u4, - /// Input plus selection bit. + /// Input plus selection bit. INPSEL: u3, - /// Comparator 1 noninverting input selector for window mode. - WINMODE: packed union { - raw: u1, - value: WindowMode, - }, + /// Comparator 1 noninverting input selector for window mode. + WINMODE: WindowMode, reserved14: u2, - /// Comparator 1 output selector. - WINOUT: packed union { - raw: u1, - value: WindowOut, - }, - /// Polarity selection bit. - POLARITY: packed union { - raw: u1, - value: Polarity, - }, - /// Hysteresis selection bits. - HYST: packed union { - raw: u2, - value: HYST, - }, - /// Power Mode. - PWRMODE: packed union { - raw: u2, - value: PWRMODE, - }, - /// Blanking source selection bits. - BLANKSEL: packed union { - raw: u5, - value: BLANKING, - }, + /// Comparator 1 output selector. + WINOUT: WindowOut, + /// Polarity selection bit. + POLARITY: Polarity, + /// Hysteresis selection bits. + HYST: HYST, + /// Power Mode. + PWRMODE: PWRMODE, + /// Blanking source selection bits. + BLANKSEL: BLANKING, reserved30: u5, - /// Output status bit. + /// Output status bit. VALUE: u1, - /// Register lock bit. + /// Register lock bit. LOCK: u1, }), }; @@ -315410,13 +314636,13 @@ pub const types = struct { pub const comp_u5 = struct { pub const Blanking = enum(u5) { - /// No blanking. + /// No blanking. NoBlanking = 0x0, - /// Check data sheet for blanking options + /// Check data sheet for blanking options Blank1 = 0x1, - /// Check data sheet for blanking options + /// Check data sheet for blanking options Blank2 = 0x2, - /// Check data sheet for blanking options + /// Check data sheet for blanking options Blank3 = 0x4, _, }; @@ -315429,105 +314655,84 @@ pub const types = struct { }; pub const INM = enum(u4) { - /// Inverting input set to 1/4 VRef + /// Inverting input set to 1/4 VRef QuarterVRef = 0x0, - /// Inverting input set to 1/2 VRef + /// Inverting input set to 1/2 VRef HalfVRef = 0x1, - /// Inverting input set to 3/4 VRef + /// Inverting input set to 3/4 VRef ThreeQuarterVRef = 0x2, - /// Inverting input set to VRef + /// Inverting input set to VRef VRef = 0x3, - /// Inverting input set to DAC1 output + /// Inverting input set to DAC1 output DAC1 = 0x4, - /// Inverting input set to DAC2 output + /// Inverting input set to DAC2 output DAC2 = 0x5, - /// Inverting input set to IO1 (PB7) + /// Inverting input set to IO1 (PB7) INM1 = 0x6, - /// Inverting input set to IO2 (PB3) + /// Inverting input set to IO2 (PB3) INM2 = 0x7, _, }; pub const Polarity = enum(u1) { - /// Output is not inverted. + /// Output is not inverted. NotInverted = 0x0, - /// Output is inverted. + /// Output is inverted. Inverted = 0x1, }; pub const PowerMode = enum(u2) { - /// High speed / full power. + /// High speed / full power. HighSpeed = 0x0, - /// Medium speed / medium power. + /// Medium speed / medium power. MediumSpeed = 0x1, - /// Very-low speed / ultra-low power. + /// Very-low speed / ultra-low power. UltraLow = 0x3, _, }; pub const WindowMode = enum(u1) { - /// Signal selected with INPSEL[2:0] bitfield of this register. + /// Signal selected with INPSEL[2:0] bitfield of this register. ThisInpsel = 0x0, - /// Signal selected with INPSEL[2:0] bitfield of the other register (required for window mode). + /// Signal selected with INPSEL[2:0] bitfield of the other register (required for window mode). OtherInpsel = 0x1, }; pub const WindowOut = enum(u1) { - /// Comparator 1 value. + /// Comparator 1 value. COMP1_VALUE = 0x0, - /// Comparator 1 value XOR comparator 2 value (required for window mode). + /// Comparator 1 value XOR comparator 2 value (required for window mode). @"COMP1_VALUE XOR COMP2_VALUE" = 0x1, }; - /// Comparator. + /// Comparator. pub const COMP = extern struct { - /// Comparator control and status register. + /// Comparator control and status register. CSR: mmio.Mmio(packed struct(u32) { - /// Enable + /// Enable EN: u1, reserved4: u3, - /// Input minus selection bits. - INMSEL: packed union { - raw: u4, - value: INM, - }, - /// Input plus selection bit. + /// Input minus selection bits. + INMSEL: INM, + /// Input plus selection bit. INPSEL: u3, - /// Comparator 1 noninverting input selector for window mode. - WINMODE: packed union { - raw: u1, - value: WindowMode, - }, + /// Comparator 1 noninverting input selector for window mode. + WINMODE: WindowMode, reserved14: u2, - /// Comparator 1 output selector. - WINOUT: packed union { - raw: u1, - value: WindowOut, - }, - /// Polarity selection bit. - POLARITY: packed union { - raw: u1, - value: Polarity, - }, - /// Hysteresis selection bits. - HYST: packed union { - raw: u2, - value: Hysteresis, - }, - /// Power Mode. - PWRMODE: packed union { - raw: u2, - value: PowerMode, - }, - /// Blanking source selection bits. - BLANKSEL: packed union { - raw: u5, - value: Blanking, - }, + /// Comparator 1 output selector. + WINOUT: WindowOut, + /// Polarity selection bit. + POLARITY: Polarity, + /// Hysteresis selection bits. + HYST: Hysteresis, + /// Power Mode. + PWRMODE: PowerMode, + /// Blanking source selection bits. + BLANKSEL: Blanking, reserved30: u5, - /// Output status bit. + /// Output status bit. VALUE: u1, - /// Register lock bit. + /// Register lock bit. LOCK: u1, }), }; @@ -315536,15 +314741,15 @@ pub const types = struct { pub const comp_v1 = struct { pub const BLANKSEL = enum(u5) { None = 0x0, - /// TIM1 OC4 + /// TIM1 OC4 Tim1Oc4 = 0x1, - /// TIM1 OC5 + /// TIM1 OC5 Tim1Oc5 = 0x2, - /// TIM2 OC3 + /// TIM2 OC3 Tim2Oc3 = 0x4, - /// TIM3 OC3 + /// TIM3 OC3 Tim3Oc3 = 0x8, - /// TIM15 OC2 + /// TIM15 OC2 Tim15Oc2 = 0x10, _, }; @@ -315567,47 +314772,35 @@ pub const types = struct { _, }; - /// Comparator v1. (RM0444 18) + /// Comparator v1. (RM0444 18) pub const COMP = extern struct { - /// Comparator control and status register. + /// Comparator control and status register. CSR: mmio.Mmio(packed struct(u32) { - /// COMP enable bit. + /// COMP enable bit. EN: u1, reserved4: u3, - /// Comparator signal selector for inverting input INM. + /// Comparator signal selector for inverting input INM. INMSEL: u4, - /// Comparator signal selector for non-inverting input INP. + /// Comparator signal selector for non-inverting input INP. INPSEL: u2, reserved11: u1, - /// Comparator non-inverting input selector for window mode. + /// Comparator non-inverting input selector for window mode. WINMODE: u1, reserved14: u2, - /// Comparator output selector. + /// Comparator output selector. WINOUT: u1, - /// Comparator polarity selector. - POLARITY: packed union { - raw: u1, - value: POLARITY, - }, - /// Comparator hysteresis selector. - HYST: packed union { - raw: u2, - value: HYST, - }, - /// Comparator power mode selector. - PWRMODE: packed union { - raw: u2, - value: PWRMODE, - }, - /// Comparator blanking source selector. - BLANKSEL: packed union { - raw: u5, - value: BLANKSEL, - }, + /// Comparator polarity selector. + POLARITY: POLARITY, + /// Comparator hysteresis selector. + HYST: HYST, + /// Comparator power mode selector. + PWRMODE: PWRMODE, + /// Comparator blanking source selector. + BLANKSEL: BLANKSEL, reserved30: u5, - /// Comparator output status. (READ ONLY) + /// Comparator output status. (READ ONLY) VALUE_DO_NOT_SET: u1, - /// CSR register lock. + /// CSR register lock. LOCK: u1, }), }; @@ -315616,62 +314809,56 @@ pub const types = struct { pub const comp_v2 = struct { pub const HYST = enum(u3) { None = 0x0, - /// 10mV hysteresis + /// 10mV hysteresis Hyst10m = 0x1, - /// 20mV hysteresis + /// 20mV hysteresis Hyst20m = 0x2, - /// 30mV hysteresis + /// 30mV hysteresis Hyst30m = 0x3, - /// 40mV hysteresis + /// 40mV hysteresis Hyst40m = 0x4, - /// 50mV hysteresis + /// 50mV hysteresis Hyst50m = 0x5, - /// 60mV hysteresis + /// 60mV hysteresis Hyst60m = 0x6, - /// 70mV hysteresis + /// 70mV hysteresis Hyst70m = 0x7, }; pub const POLARITY = enum(u1) { - /// Non-inverted polarity + /// Non-inverted polarity NonInverted = 0x0, - /// Inverted polarity + /// Inverted polarity Inverted = 0x1, }; - /// Comparator v2. (RM0440 24) + /// Comparator v2. (RM0440 24) pub const COMP = extern struct { - /// Comparator control and status register. + /// Comparator control and status register. CSR: mmio.Mmio(packed struct(u32) { - /// COMP enable bit. + /// COMP enable bit. EN: u1, reserved4: u3, - /// Comparator signal selector for inverting input INM. (RM0440 24.3.2 Table 197) + /// Comparator signal selector for inverting input INM. (RM0440 24.3.2 Table 197) INMSEL: u3, reserved8: u1, - /// Comparator signal selector for non-inverting input INP. (RM0440 24.3.2 Table 196) + /// Comparator signal selector for non-inverting input INP. (RM0440 24.3.2 Table 196) INPSEL: u1, reserved15: u6, - /// Comparator polarity selector. - POLARITY: packed union { - raw: u1, - value: POLARITY, - }, - /// Comparator hysteresis selector. - HYST: packed union { - raw: u3, - value: HYST, - }, - /// Comparator blanking source selector. (RM0440 24.3.6 Table 198) + /// Comparator polarity selector. + POLARITY: POLARITY, + /// Comparator hysteresis selector. + HYST: HYST, + /// Comparator blanking source selector. (RM0440 24.3.6 Table 198) BLANKSEL: u3, - /// Vrefint resistor bridge enable. (RM0440 24.6) + /// Vrefint resistor bridge enable. (RM0440 24.6) BRGEN: u1, - /// Vrefint scaled input enable. (RM0440 24.6) + /// Vrefint scaled input enable. (RM0440 24.6) SCALEN: u1, reserved30: u6, - /// Comparator output status. (READ ONLY) + /// Comparator output status. (READ ONLY) VALUE_DO_NOT_SET: u1, - /// CSR register lock. + /// CSR register lock. LOCK: u1, }), }; @@ -315679,11 +314866,11 @@ pub const types = struct { pub const comp_v3 = struct { pub const BLANKING = enum(u3) { - /// No blanking. + /// No blanking. NoBlanking = 0x0, - /// TIM1 OC5 selected as blanking source. + /// TIM1 OC5 selected as blanking source. TIM1OC5 = 0x1, - /// TIM2 OC3 selected as blanking source. + /// TIM2 OC3 selected as blanking source. TIM2OC3 = 0x2, _, }; @@ -315696,67 +314883,55 @@ pub const types = struct { }; pub const POLARITY = enum(u1) { - /// Output is not inverted. + /// Output is not inverted. NotInverted = 0x0, - /// Output is inverted. + /// Output is inverted. Inverted = 0x1, }; pub const PWRMODE = enum(u2) { - /// High speed / full power. + /// High speed / full power. HighSpeed = 0x0, - /// Medium speed / medium power. + /// Medium speed / medium power. MediumSpeed = 0x1, - /// Low speed / low power. + /// Low speed / low power. LowSpeed = 0x2, - /// Very-low speed / ultra-low power. + /// Very-low speed / ultra-low power. VeryLowSpeed = 0x3, }; - /// Comparator. + /// Comparator. pub const COMP = extern struct { - /// Comparator control and status register. + /// Comparator control and status register. CSR: mmio.Mmio(packed struct(u32) { - /// Enable + /// Enable EN: u1, reserved2: u1, - /// Power Mode. - PWRMODE: packed union { - raw: u2, - value: PWRMODE, - }, - /// Input minus selection bits. + /// Power Mode. + PWRMODE: PWRMODE, + /// Input minus selection bits. INMSEL: u3, - /// Input plus selection bit. + /// Input plus selection bit. INPSEL: u2, reserved15: u6, - /// Polarity selection bit. - POLARITY: packed union { - raw: u1, - value: POLARITY, - }, - /// Hysteresis selection bits. - HYST: packed union { - raw: u2, - value: HYST, - }, - /// Blanking source selection bits. - BLANKING: packed union { - raw: u3, - value: BLANKING, - }, + /// Polarity selection bit. + POLARITY: POLARITY, + /// Hysteresis selection bits. + HYST: HYST, + /// Blanking source selection bits. + BLANKING: BLANKING, reserved22: u1, - /// Scaler bridge enable. + /// Scaler bridge enable. BRGEN: u1, - /// Voltage scaler enable bit. + /// Voltage scaler enable bit. SCALEN: u1, reserved25: u1, - /// Input minus extended selection bits. + /// Input minus extended selection bits. INMESEL: u2, reserved30: u3, - /// Output status bit. + /// Output status bit. VALUE: u1, - /// Register lock bit. + /// Register lock bit. LOCK: u1, }), }; @@ -315764,163 +314939,142 @@ pub const types = struct { pub const cordic_v1 = struct { pub const FUNC = enum(u4) { - /// Cosine function. + /// Cosine function. Cosine = 0x0, - /// Sine function. + /// Sine function. Sine = 0x1, - /// Phase function. + /// Phase function. Phase = 0x2, - /// Modulus function. + /// Modulus function. Modulus = 0x3, - /// Arctangent function. + /// Arctangent function. Arctangent = 0x4, - /// Hyperbolic Cosine function. + /// Hyperbolic Cosine function. HyperbolicCosine = 0x5, - /// Hyperbolic Sine function. + /// Hyperbolic Sine function. HyperbolicSine = 0x6, - /// Arctanh function. + /// Arctanh function. Arctanh = 0x7, - /// Natural Logarithm function. + /// Natural Logarithm function. NaturalLogarithm = 0x8, - /// Square Root function. + /// Square Root function. SquareRoot = 0x9, _, }; pub const Num = enum(u1) { - /// 1 input/output + /// 1 input/output Num1 = 0x0, - /// 2 input/output + /// 2 input/output Num2 = 0x1, }; pub const PRECISION = enum(u4) { - /// 4 iterations. + /// 4 iterations. Iters4 = 0x1, - /// 8 iterations. + /// 8 iterations. Iters8 = 0x2, - /// 12 iterations. + /// 12 iterations. Iters12 = 0x3, - /// 16 iterations. + /// 16 iterations. Iters16 = 0x4, - /// 20 iterations. + /// 20 iterations. Iters20 = 0x5, - /// 24 iterations. + /// 24 iterations. Iters24 = 0x6, - /// 28 iterations. + /// 28 iterations. Iters28 = 0x7, - /// 32 iterations. + /// 32 iterations. Iters32 = 0x8, - /// 36 iterations. + /// 36 iterations. Iters36 = 0x9, - /// 40 iterations. + /// 40 iterations. Iters40 = 0xa, - /// 44 iterations. + /// 44 iterations. Iters44 = 0xb, - /// 48 iterations. + /// 48 iterations. Iters48 = 0xc, - /// 52 iterations. + /// 52 iterations. Iters52 = 0xd, - /// 56 iterations. + /// 56 iterations. Iters56 = 0xe, - /// 60 iterations. + /// 60 iterations. Iters60 = 0xf, _, }; pub const Scale = enum(u3) { - /// Argument multiplied by 1, result multiplied by 1 + /// Argument multiplied by 1, result multiplied by 1 A1_R1 = 0x0, - /// Argument multiplied by 1/2, result multiplied by 2 + /// Argument multiplied by 1/2, result multiplied by 2 A1o2_R2 = 0x1, - /// Argument multiplied by 1/4, result multiplied by 4 + /// Argument multiplied by 1/4, result multiplied by 4 A1o4_R4 = 0x2, - /// Argument multiplied by 1/8, result multiplied by 8 + /// Argument multiplied by 1/8, result multiplied by 8 A1o8_R8 = 0x3, - /// Argument multiplied by 1/16, result multiplied by 16 + /// Argument multiplied by 1/16, result multiplied by 16 A1o16_R16 = 0x4, - /// Argument multiplied by 1/32, result multiplied by 32 + /// Argument multiplied by 1/32, result multiplied by 32 A1o32_R32 = 0x5, - /// Argument multiplied by 1/64, result multiplied by 64 + /// Argument multiplied by 1/64, result multiplied by 64 A1o64_R64 = 0x6, - /// Argument multiplied by 1/128, result multiplied by 128 + /// Argument multiplied by 1/128, result multiplied by 128 A1o128_R128 = 0x7, }; pub const Size = enum(u1) { - /// Use 32 bit input/output values. + /// Use 32 bit input/output values. Bits32 = 0x0, - /// Use 16 bit input/output values. + /// Use 16 bit input/output values. Bits16 = 0x1, }; - /// CORDIC co-processor. + /// CORDIC co-processor. pub const CORDIC = extern struct { - /// Control and status register. + /// Control and status register. CSR: mmio.Mmio(packed struct(u32) { - /// Function. - FUNC: packed union { - raw: u4, - value: FUNC, - }, - /// Precision required (number of iterations/cycles), where PRECISION = (number of iterations/4). - PRECISION: packed union { - raw: u4, - value: PRECISION, - }, - /// Scaling factor. Input value has been multiplied by 2^(-n) before for argument. Output value will need to be multiplied by 2^n later for results. - SCALE: packed union { - raw: u3, - value: Scale, - }, + /// Function. + FUNC: FUNC, + /// Precision required (number of iterations/cycles), where PRECISION = (number of iterations/4). + PRECISION: PRECISION, + /// Scaling factor. Input value has been multiplied by 2^(-n) before for argument. Output value will need to be multiplied by 2^n later for results. + SCALE: Scale, reserved16: u5, - /// Enable interrupt. + /// Enable interrupt. IEN: u1, - /// Enable DMA wread channel. + /// Enable DMA wread channel. DMAREN: u1, - /// Enable DMA write channel. + /// Enable DMA write channel. DMAWEN: u1, - /// Number of results in the RDATA register. - NRES: packed union { - raw: u1, - value: Num, - }, - /// Number of arguments expected by the WDATA register. - NARGS: packed union { - raw: u1, - value: Num, - }, - /// Width of output data. - RESSIZE: packed union { - raw: u1, - value: Size, - }, - /// Width of input data. - ARGSIZE: packed union { - raw: u1, - value: Size, - }, + /// Number of results in the RDATA register. + NRES: Num, + /// Number of arguments expected by the WDATA register. + NARGS: Num, + /// Width of output data. + RESSIZE: Size, + /// Width of input data. + ARGSIZE: Size, reserved31: u8, - /// Result ready flag. + /// Result ready flag. RRDY: u1, }), - /// Argument register. + /// Argument register. WDATA: u32, - /// Result register. + /// Result register. RDATA: u32, }; }; pub const crc_v1 = struct { - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC = extern struct { - /// Data register + /// Data register DR: u32, - /// Independent Data register + /// Independent Data register IDR: u32, - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// RESET bit + /// RESET bit RESET: u1, padding: u31, }), @@ -315929,218 +315083,197 @@ pub const types = struct { pub const crc_v2 = struct { pub const POLYSIZE = enum(u2) { - /// 32-bit polynomial + /// 32-bit polynomial Polysize32 = 0x0, - /// 16-bit polynomial + /// 16-bit polynomial Polysize16 = 0x1, - /// 8-bit polynomial + /// 8-bit polynomial Polysize8 = 0x2, - /// 7-bit polynomial + /// 7-bit polynomial Polysize7 = 0x3, }; pub const REV_IN = enum(u2) { - /// Bit order not affected + /// Bit order not affected Normal = 0x0, - /// Bit reversal done by byte + /// Bit reversal done by byte Byte = 0x1, - /// Bit reversal done by half-word + /// Bit reversal done by half-word HalfWord = 0x2, - /// Bit reversal done by word + /// Bit reversal done by word Word = 0x3, }; pub const REV_OUT = enum(u1) { - /// Bit order not affected + /// Bit order not affected Normal = 0x0, - /// Bit reversed output + /// Bit reversed output Reversed = 0x1, }; - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC = extern struct { - /// Data register - half-word sized + /// Data register - half-word sized DR16: u32, - /// Independent Data register + /// Independent Data register IDR: u32, - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// RESET bit + /// RESET bit RESET: u1, reserved3: u2, - /// Polynomial size - POLYSIZE: packed union { - raw: u2, - value: POLYSIZE, - }, - /// Reverse input data - REV_IN: packed union { - raw: u2, - value: REV_IN, - }, - /// Reverse output data - REV_OUT: packed union { - raw: u1, - value: REV_OUT, - }, + /// Polynomial size + POLYSIZE: POLYSIZE, + /// Reverse input data + REV_IN: REV_IN, + /// Reverse output data + REV_OUT: REV_OUT, padding: u24, }), reserved16: [4]u8, - /// Initial CRC value + /// Initial CRC value INIT: u32, }; }; pub const crc_v3 = struct { pub const POLYSIZE = enum(u2) { - /// 32-bit polynomial + /// 32-bit polynomial Polysize32 = 0x0, - /// 16-bit polynomial + /// 16-bit polynomial Polysize16 = 0x1, - /// 8-bit polynomial + /// 8-bit polynomial Polysize8 = 0x2, - /// 7-bit polynomial + /// 7-bit polynomial Polysize7 = 0x3, }; pub const REV_IN = enum(u2) { - /// Bit order not affected + /// Bit order not affected Normal = 0x0, - /// Bit reversal done by byte + /// Bit reversal done by byte Byte = 0x1, - /// Bit reversal done by half-word + /// Bit reversal done by half-word HalfWord = 0x2, - /// Bit reversal done by word + /// Bit reversal done by word Word = 0x3, }; pub const REV_OUT = enum(u1) { - /// Bit order not affected + /// Bit order not affected Normal = 0x0, - /// Bit reversed output + /// Bit reversed output Reversed = 0x1, }; - /// Cyclic Redundancy Check calculation unit + /// Cyclic Redundancy Check calculation unit pub const CRC = extern struct { - /// Data register - half-word sized + /// Data register - half-word sized DR16: u32, - /// Independent Data register + /// Independent Data register IDR: u32, - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// RESET bit + /// RESET bit RESET: u1, reserved3: u2, - /// Polynomial size - POLYSIZE: packed union { - raw: u2, - value: POLYSIZE, - }, - /// Reverse input data - REV_IN: packed union { - raw: u2, - value: REV_IN, - }, - /// Reverse output data - REV_OUT: packed union { - raw: u1, - value: REV_OUT, - }, + /// Polynomial size + POLYSIZE: POLYSIZE, + /// Reverse input data + REV_IN: REV_IN, + /// Reverse output data + REV_OUT: REV_OUT, padding: u24, }), reserved16: [4]u8, - /// Initial CRC value + /// Initial CRC value INIT: u32, - /// CRC polynomial + /// CRC polynomial POL: u32, }; }; pub const crs_v1 = struct { pub const SYNCSRC = enum(u2) { - /// GPIO selected as SYNC signal source + /// GPIO selected as SYNC signal source GPIO = 0x0, - /// LSE selected as SYNC signal source + /// LSE selected as SYNC signal source LSE = 0x1, - /// USB SOF selected as SYNC signal source + /// USB SOF selected as SYNC signal source USB = 0x2, _, }; - /// Clock recovery system + /// Clock recovery system pub const CRS = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// SYNC event OK interrupt enable + /// SYNC event OK interrupt enable SYNCOKIE: u1, - /// SYNC warning interrupt enable + /// SYNC warning interrupt enable SYNCWARNIE: u1, - /// Synchronization or trimming error interrupt enable + /// Synchronization or trimming error interrupt enable ERRIE: u1, - /// Expected SYNC interrupt enable + /// Expected SYNC interrupt enable ESYNCIE: u1, reserved5: u1, - /// Frequency error counter enable + /// Frequency error counter enable CEN: u1, - /// Automatic trimming enable + /// Automatic trimming enable AUTOTRIMEN: u1, - /// Generate software SYNC event + /// Generate software SYNC event SWSYNC: u1, - /// HSI48 oscillator smooth trimming + /// HSI48 oscillator smooth trimming TRIM: u6, padding: u18, }), - /// configuration register + /// configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// Counter reload value + /// Counter reload value RELOAD: u16, - /// Frequency error limit + /// Frequency error limit FELIM: u8, - /// SYNC divider + /// SYNC divider SYNCDIV: u3, reserved28: u1, - /// SYNC signal source selection - SYNCSRC: packed union { - raw: u2, - value: SYNCSRC, - }, + /// SYNC signal source selection + SYNCSRC: SYNCSRC, reserved31: u1, - /// SYNC polarity selection + /// SYNC polarity selection SYNCPOL: u1, }), - /// interrupt and status register + /// interrupt and status register ISR: mmio.Mmio(packed struct(u32) { - /// SYNC event OK flag + /// SYNC event OK flag SYNCOKF: u1, - /// SYNC warning flag + /// SYNC warning flag SYNCWARNF: u1, - /// Error flag + /// Error flag ERRF: u1, - /// Expected SYNC flag + /// Expected SYNC flag ESYNCF: u1, reserved8: u4, - /// SYNC error + /// SYNC error SYNCERR: u1, - /// SYNC missed + /// SYNC missed SYNCMISS: u1, - /// Trimming overflow or underflow + /// Trimming overflow or underflow TRIMOVF: u1, reserved15: u4, - /// Frequency error direction + /// Frequency error direction FEDIR: u1, - /// Frequency error capture + /// Frequency error capture FECAP: u16, }), - /// interrupt flag clear register + /// interrupt flag clear register ICR: mmio.Mmio(packed struct(u32) { - /// SYNC event OK clear flag + /// SYNC event OK clear flag SYNCOKC: u1, - /// SYNC warning clear flag + /// SYNC warning clear flag SYNCWARNC: u1, - /// Error clear flag + /// Error clear flag ERRC: u1, - /// Expected SYNC clear flag + /// Expected SYNC clear flag ESYNCC: u1, padding: u28, }), @@ -316148,521 +315281,515 @@ pub const types = struct { }; pub const cryp_v1 = struct { - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP = extern struct { - /// control register. + /// control register. CR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Algorithm direction. + /// Algorithm direction. ALGODIR: u1, - /// Algorithm mode. + /// Algorithm mode. ALGOMODE: u3, - /// Data type selection. + /// Data type selection. DATATYPE: u2, - /// Key size selection (AES mode only). + /// Key size selection (AES mode only). KEYSIZE: u2, reserved14: u4, - /// FIFO flush. + /// FIFO flush. FFLUSH: u1, - /// Cryptographic processor enable. + /// Cryptographic processor enable. CRYPEN: u1, padding: u16, }), - /// status register. + /// status register. SR: mmio.Mmio(packed struct(u32) { - /// Input FIFO empty. + /// Input FIFO empty. IFEM: u1, - /// Input FIFO not full. + /// Input FIFO not full. IFNF: u1, - /// Output FIFO not empty. + /// Output FIFO not empty. OFNE: u1, - /// Output FIFO full. + /// Output FIFO full. OFFU: u1, - /// Busy bit. + /// Busy bit. BUSY: u1, padding: u27, }), - /// data input register. + /// data input register. DIN: u32, - /// data output register. + /// data output register. DOUT: u32, - /// DMA control register. + /// DMA control register. DMACR: mmio.Mmio(packed struct(u32) { - /// DMA input enable. + /// DMA input enable. DIEN: u1, - /// DMA output enable. + /// DMA output enable. DOEN: u1, padding: u30, }), - /// interrupt mask set/clear register. + /// interrupt mask set/clear register. IMSCR: mmio.Mmio(packed struct(u32) { - /// Input FIFO service interrupt mask. + /// Input FIFO service interrupt mask. INIM: u1, - /// Output FIFO service interrupt mask. + /// Output FIFO service interrupt mask. OUTIM: u1, padding: u30, }), - /// raw interrupt status register. + /// raw interrupt status register. RISR: mmio.Mmio(packed struct(u32) { - /// Input FIFO service raw interrupt status. + /// Input FIFO service raw interrupt status. INRIS: u1, - /// Output FIFO service raw interrupt status. + /// Output FIFO service raw interrupt status. OUTRIS: u1, padding: u30, }), - /// masked interrupt status register. + /// masked interrupt status register. MISR: mmio.Mmio(packed struct(u32) { - /// Input FIFO service masked interrupt status. + /// Input FIFO service masked interrupt status. INMIS: u1, - /// Output FIFO service masked interrupt status. + /// Output FIFO service masked interrupt status. OUTMIS: u1, padding: u30, }), - /// Cluster KEY%s, containing K?LR, K?RR. + /// Cluster KEY%s, containing K?LR, K?RR. KEY: u32, reserved64: [28]u8, - /// Cluster INIT%s, containing IV?LR, IV?RR. + /// Cluster INIT%s, containing IV?LR, IV?RR. INIT: u32, }; - /// Cluster INIT%s, containing IV?LR, IV?RR. + /// Cluster INIT%s, containing IV?LR, IV?RR. pub const INIT = extern struct { - /// initialization vector registers. + /// initialization vector registers. IVLR: u32, - /// initialization vector registers. + /// initialization vector registers. IVRR: u32, }; - /// Cluster KEY%s, containing K?LR, K?RR. + /// Cluster KEY%s, containing K?LR, K?RR. pub const KEY = extern struct { - /// key registers. + /// key registers. KLR: u32, - /// key registers. + /// key registers. KRR: u32, }; }; pub const cryp_v2 = struct { - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP = extern struct { - /// control register. + /// control register. CR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Algorithm direction. + /// Algorithm direction. ALGODIR: u1, - /// Algorithm mode. + /// Algorithm mode. ALGOMODE0: u3, - /// Data type selection. + /// Data type selection. DATATYPE: u2, - /// Key size selection (AES mode only). + /// Key size selection (AES mode only). KEYSIZE: u2, reserved14: u4, - /// FIFO flush. + /// FIFO flush. FFLUSH: u1, - /// Cryptographic processor enable. + /// Cryptographic processor enable. CRYPEN: u1, - /// GCM_CCMPH. + /// GCM_CCMPH. GCM_CCMPH: u2, reserved19: u1, - /// ALGOMODE. + /// ALGOMODE. ALGOMODE3: u1, padding: u12, }), - /// status register. + /// status register. SR: mmio.Mmio(packed struct(u32) { - /// Input FIFO empty. + /// Input FIFO empty. IFEM: u1, - /// Input FIFO not full. + /// Input FIFO not full. IFNF: u1, - /// Output FIFO not empty. + /// Output FIFO not empty. OFNE: u1, - /// Output FIFO full. + /// Output FIFO full. OFFU: u1, - /// Busy bit. + /// Busy bit. BUSY: u1, padding: u27, }), - /// data input register. + /// data input register. DIN: u32, - /// data output register. + /// data output register. DOUT: u32, - /// DMA control register. + /// DMA control register. DMACR: mmio.Mmio(packed struct(u32) { - /// DMA input enable. + /// DMA input enable. DIEN: u1, - /// DMA output enable. + /// DMA output enable. DOEN: u1, padding: u30, }), - /// interrupt mask set/clear register. + /// interrupt mask set/clear register. IMSCR: mmio.Mmio(packed struct(u32) { - /// Input FIFO service interrupt mask. + /// Input FIFO service interrupt mask. INIM: u1, - /// Output FIFO service interrupt mask. + /// Output FIFO service interrupt mask. OUTIM: u1, padding: u30, }), - /// raw interrupt status register. + /// raw interrupt status register. RISR: mmio.Mmio(packed struct(u32) { - /// Input FIFO service raw interrupt status. + /// Input FIFO service raw interrupt status. INRIS: u1, - /// Output FIFO service raw interrupt status. + /// Output FIFO service raw interrupt status. OUTRIS: u1, padding: u30, }), - /// masked interrupt status register. + /// masked interrupt status register. MISR: mmio.Mmio(packed struct(u32) { - /// Input FIFO service masked interrupt status. + /// Input FIFO service masked interrupt status. INMIS: u1, - /// Output FIFO service masked interrupt status. + /// Output FIFO service masked interrupt status. OUTMIS: u1, padding: u30, }), - /// Cluster KEY%s, containing K?LR, K?RR. + /// Cluster KEY%s, containing K?LR, K?RR. KEY: u32, reserved64: [28]u8, - /// Cluster INIT%s, containing IV?LR, IV?RR. + /// Cluster INIT%s, containing IV?LR, IV?RR. INIT: u32, reserved80: [12]u8, - /// context swap register. + /// context swap register. CSGCMCCMR: [8]u32, - /// context swap register. + /// context swap register. CSGCMR: [8]u32, }; - /// Cluster INIT%s, containing IV?LR, IV?RR. + /// Cluster INIT%s, containing IV?LR, IV?RR. pub const INIT = extern struct { - /// initialization vector registers. + /// initialization vector registers. IVLR: u32, - /// initialization vector registers. + /// initialization vector registers. IVRR: u32, }; - /// Cluster KEY%s, containing K?LR, K?RR. + /// Cluster KEY%s, containing K?LR, K?RR. pub const KEY = extern struct { - /// key registers. + /// key registers. KLR: u32, - /// key registers. + /// key registers. KRR: u32, }; }; pub const cryp_v3 = struct { - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP = extern struct { - /// control register. + /// control register. CR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Algorithm direction. + /// Algorithm direction. ALGODIR: u1, - /// Algorithm mode. + /// Algorithm mode. ALGOMODE0: u3, - /// Data type selection. + /// Data type selection. DATATYPE: u2, - /// Key size selection (AES mode only). + /// Key size selection (AES mode only). KEYSIZE: u2, reserved14: u4, - /// FIFO flush. + /// FIFO flush. FFLUSH: u1, - /// Cryptographic processor enable. + /// Cryptographic processor enable. CRYPEN: u1, - /// GCM_CCMPH. + /// GCM_CCMPH. GCM_CCMPH: u2, reserved19: u1, - /// ALGOMODE. + /// ALGOMODE. ALGOMODE3: u1, - /// Number of Padding Bytes in Last Block of payload. + /// Number of Padding Bytes in Last Block of payload. NPBLB: u4, padding: u8, }), - /// status register. + /// status register. SR: mmio.Mmio(packed struct(u32) { - /// Input FIFO empty. + /// Input FIFO empty. IFEM: u1, - /// Input FIFO not full. + /// Input FIFO not full. IFNF: u1, - /// Output FIFO not empty. + /// Output FIFO not empty. OFNE: u1, - /// Output FIFO full. + /// Output FIFO full. OFFU: u1, - /// Busy bit. + /// Busy bit. BUSY: u1, padding: u27, }), - /// data input register. + /// data input register. DIN: u32, - /// data output register. + /// data output register. DOUT: u32, - /// DMA control register. + /// DMA control register. DMACR: mmio.Mmio(packed struct(u32) { - /// DMA input enable. + /// DMA input enable. DIEN: u1, - /// DMA output enable. + /// DMA output enable. DOEN: u1, padding: u30, }), - /// interrupt mask set/clear register. + /// interrupt mask set/clear register. IMSCR: mmio.Mmio(packed struct(u32) { - /// Input FIFO service interrupt mask. + /// Input FIFO service interrupt mask. INIM: u1, - /// Output FIFO service interrupt mask. + /// Output FIFO service interrupt mask. OUTIM: u1, padding: u30, }), - /// raw interrupt status register. + /// raw interrupt status register. RISR: mmio.Mmio(packed struct(u32) { - /// Input FIFO service raw interrupt status. + /// Input FIFO service raw interrupt status. INRIS: u1, - /// Output FIFO service raw interrupt status. + /// Output FIFO service raw interrupt status. OUTRIS: u1, padding: u30, }), - /// masked interrupt status register. + /// masked interrupt status register. MISR: mmio.Mmio(packed struct(u32) { - /// Input FIFO service masked interrupt status. + /// Input FIFO service masked interrupt status. INMIS: u1, - /// Output FIFO service masked interrupt status. + /// Output FIFO service masked interrupt status. OUTMIS: u1, padding: u30, }), - /// Cluster KEY%s, containing K?LR, K?RR. + /// Cluster KEY%s, containing K?LR, K?RR. KEY: u32, reserved64: [28]u8, - /// Cluster INIT%s, containing IV?LR, IV?RR. + /// Cluster INIT%s, containing IV?LR, IV?RR. INIT: u32, reserved80: [12]u8, - /// context swap register. + /// context swap register. CSGCMCCMR: [8]u32, - /// context swap register. + /// context swap register. CSGCMR: [8]u32, }; - /// Cluster INIT%s, containing IV?LR, IV?RR. + /// Cluster INIT%s, containing IV?LR, IV?RR. pub const INIT = extern struct { - /// initialization vector registers. + /// initialization vector registers. IVLR: u32, - /// initialization vector registers. + /// initialization vector registers. IVRR: u32, }; - /// Cluster KEY%s, containing K?LR, K?RR. + /// Cluster KEY%s, containing K?LR, K?RR. pub const KEY = extern struct { - /// key registers. + /// key registers. KLR: u32, - /// key registers. + /// key registers. KRR: u32, }; }; pub const cryp_v4 = struct { pub const KMOD = enum(u2) { - /// Normal-key mode. Key registers are freely usable. + /// Normal-key mode. Key registers are freely usable. Normal = 0x0, - /// Shared-key mode. If shared-key mode is properly initialized in SAES peripheral, the CRYP peripheral automatically loads its key registers with the data stored in the SAES key registers. The key value is available in CRYP key registers when BUSY bit is cleared and KEYVALID is set in the CRYP_SR register. Key error flag KERF is set otherwise in the CRYP_SR register. + /// Shared-key mode. If shared-key mode is properly initialized in SAES peripheral, the CRYP peripheral automatically loads its key registers with the data stored in the SAES key registers. The key value is available in CRYP key registers when BUSY bit is cleared and KEYVALID is set in the CRYP_SR register. Key error flag KERF is set otherwise in the CRYP_SR register. Shared = 0x2, _, }; - /// Cryptographic processor. + /// Cryptographic processor. pub const CRYP = extern struct { - /// control register. + /// control register. CR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Algorithm direction. + /// Algorithm direction. ALGODIR: u1, - /// Algorithm mode. + /// Algorithm mode. ALGOMODE0: u3, - /// Data type selection. + /// Data type selection. DATATYPE: u2, - /// Key size selection (AES mode only). + /// Key size selection (AES mode only). KEYSIZE: u2, reserved14: u4, - /// FIFO flush. + /// FIFO flush. FFLUSH: u1, - /// Cryptographic processor enable. + /// Cryptographic processor enable. CRYPEN: u1, - /// GCM_CCMPH. + /// GCM_CCMPH. GCM_CCMPH: u2, reserved19: u1, - /// ALGOMODE. + /// ALGOMODE. ALGOMODE3: u1, - /// Number of Padding Bytes in Last Block of payload. + /// Number of Padding Bytes in Last Block of payload. NPBLB: u4, - /// Key mode selection This bitfield defines how the CRYP key can be used by the application. KEYSIZE must be correctly initialized when setting KMOD[1:0] different from zero. Others: Reserved Attempts to write the bitfield are ignored when BUSY is set. - KMOD: packed union { - raw: u2, - value: KMOD, - }, + /// Key mode selection This bitfield defines how the CRYP key can be used by the application. KEYSIZE must be correctly initialized when setting KMOD[1:0] different from zero. Others: Reserved Attempts to write the bitfield are ignored when BUSY is set. + KMOD: KMOD, reserved31: u5, - /// CRYP peripheral software reset Setting the bit resets the CRYP peripheral, putting all registers to their default values, except the IPRST bit itself. This bit must be kept cleared while writing any configuration registers. + /// CRYP peripheral software reset Setting the bit resets the CRYP peripheral, putting all registers to their default values, except the IPRST bit itself. This bit must be kept cleared while writing any configuration registers. IPRST: u1, }), - /// status register. + /// status register. SR: mmio.Mmio(packed struct(u32) { - /// Input FIFO empty. + /// Input FIFO empty. IFEM: u1, - /// Input FIFO not full. + /// Input FIFO not full. IFNF: u1, - /// Output FIFO not empty. + /// Output FIFO not empty. OFNE: u1, - /// Output FIFO full. + /// Output FIFO full. OFFU: u1, - /// Busy bit. + /// Busy bit. BUSY: u1, reserved6: u1, - /// Key error flag This read-only bit is set by hardware when key information failed to load into key registers. KERF is triggered upon any of the following errors: CRYP_KxR/LR register write does not respect the correct order (refer to Section 60.4.16: CRYP key registers for details). CRYP fails to load the key shared by SAES peripheral (KMOD = 0x2). KERF must be cleared by the application software, otherwise KEYVALID cannot be set. It can be done through IPRST bit of CRYP_CR, or when a correct key writing sequence starts. + /// Key error flag This read-only bit is set by hardware when key information failed to load into key registers. KERF is triggered upon any of the following errors: CRYP_KxR/LR register write does not respect the correct order (refer to Section 60.4.16: CRYP key registers for details). CRYP fails to load the key shared by SAES peripheral (KMOD = 0x2). KERF must be cleared by the application software, otherwise KEYVALID cannot be set. It can be done through IPRST bit of CRYP_CR, or when a correct key writing sequence starts. KERF: u1, - /// Key valid flag This read-only bit is set by hardware when the key of size defined by KEYSIZE is loaded in CRYP_KxR/LR key registers. The CRYPEN bit can only be set when KEYVALID is set. In normal mode when KMOD[1:0] is at zero, the key must be written in the key registers in the correct sequence, otherwise the KERF flag is set and KEYVALID remains cleared. When KMOD[1:0] is different from zero, the BUSY flag is automatically set by CRYP. When the key is loaded successfully, BUSY is cleared and KEYVALID set. Upon an error, KERF is set, BUSY cleared and KEYVALID remains cleared. If set, KERF must be cleared, otherwise KEYVALID cannot be set. For further information on key loading, refer to Section 60.4.16: CRYP key registers. + /// Key valid flag This read-only bit is set by hardware when the key of size defined by KEYSIZE is loaded in CRYP_KxR/LR key registers. The CRYPEN bit can only be set when KEYVALID is set. In normal mode when KMOD[1:0] is at zero, the key must be written in the key registers in the correct sequence, otherwise the KERF flag is set and KEYVALID remains cleared. When KMOD[1:0] is different from zero, the BUSY flag is automatically set by CRYP. When the key is loaded successfully, BUSY is cleared and KEYVALID set. Upon an error, KERF is set, BUSY cleared and KEYVALID remains cleared. If set, KERF must be cleared, otherwise KEYVALID cannot be set. For further information on key loading, refer to Section 60.4.16: CRYP key registers. KEYVALID: u1, padding: u24, }), - /// data input register. + /// data input register. DIN: u32, - /// data output register. + /// data output register. DOUT: u32, - /// DMA control register. + /// DMA control register. DMACR: mmio.Mmio(packed struct(u32) { - /// DMA input enable. + /// DMA input enable. DIEN: u1, - /// DMA output enable. + /// DMA output enable. DOEN: u1, padding: u30, }), - /// interrupt mask set/clear register. + /// interrupt mask set/clear register. IMSCR: mmio.Mmio(packed struct(u32) { - /// Input FIFO service interrupt mask. + /// Input FIFO service interrupt mask. INIM: u1, - /// Output FIFO service interrupt mask. + /// Output FIFO service interrupt mask. OUTIM: u1, padding: u30, }), - /// raw interrupt status register. + /// raw interrupt status register. RISR: mmio.Mmio(packed struct(u32) { - /// Input FIFO service raw interrupt status. + /// Input FIFO service raw interrupt status. INRIS: u1, - /// Output FIFO service raw interrupt status. + /// Output FIFO service raw interrupt status. OUTRIS: u1, padding: u30, }), - /// masked interrupt status register. + /// masked interrupt status register. MISR: mmio.Mmio(packed struct(u32) { - /// Input FIFO service masked interrupt status. + /// Input FIFO service masked interrupt status. INMIS: u1, - /// Output FIFO service masked interrupt status. + /// Output FIFO service masked interrupt status. OUTMIS: u1, padding: u30, }), - /// Cluster KEY%s, containing K?LR, K?RR. + /// Cluster KEY%s, containing K?LR, K?RR. KEY: u32, reserved64: [28]u8, - /// Cluster INIT%s, containing IV?LR, IV?RR. + /// Cluster INIT%s, containing IV?LR, IV?RR. INIT: u32, reserved80: [12]u8, - /// context swap register. + /// context swap register. CSGCMCCMR: [8]u32, - /// context swap register. + /// context swap register. CSGCMR: [8]u32, }; - /// Cluster INIT%s, containing IV?LR, IV?RR. + /// Cluster INIT%s, containing IV?LR, IV?RR. pub const INIT = extern struct { - /// initialization vector registers. + /// initialization vector registers. IVLR: u32, - /// initialization vector registers. + /// initialization vector registers. IVRR: u32, }; - /// Cluster KEY%s, containing K?LR, K?RR. + /// Cluster KEY%s, containing K?LR, K?RR. pub const KEY = extern struct { - /// key registers. + /// key registers. KLR: u32, - /// key registers. + /// key registers. KRR: u32, }; }; pub const dac_v1 = struct { pub const WAVE = enum(u2) { - /// Wave generation disabled + /// Wave generation disabled Disabled = 0x0, - /// Noise wave generation enabled + /// Noise wave generation enabled Noise = 0x1, - /// Triangle wave generation enabled + /// Triangle wave generation enabled Triangle = 0x2, _, }; - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// channel enable + /// channel enable EN: u1, - /// channel output buffer disable + /// channel output buffer disable BOFF: u1, - /// channel trigger enable + /// channel trigger enable TEN: u1, - /// channel trigger selection + /// channel trigger selection TSEL: u3, - /// channel noise/triangle wave generation enable - WAVE: packed union { - raw: u2, - value: WAVE, - }, - /// channel mask/amplitude selector + /// channel noise/triangle wave generation enable + WAVE: WAVE, + /// channel mask/amplitude selector MAMP: u4, - /// channel DMA enable + /// channel DMA enable DMAEN: u1, padding: u19, }), - /// software trigger register + /// software trigger register SWTRIGR: mmio.Mmio(packed struct(u32) { - /// channel software trigger + /// channel software trigger SWTRIG: u1, padding: u31, }), - /// channel 12-bit right-aligned data holding register + /// channel 12-bit right-aligned data holding register DHR12R: mmio.Mmio(packed struct(u32) { - /// channel 12-bit right-aligned data + /// channel 12-bit right-aligned data DHR: u12, padding: u20, }), - /// channel 12-bit left-aligned data holding register + /// channel 12-bit left-aligned data holding register DHR12L: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// channel 12-bit left-aligned data + /// channel 12-bit left-aligned data DHR: u12, padding: u16, }), - /// channel 8-bit right-aligned data holding register + /// channel 8-bit right-aligned data holding register DHR8R: mmio.Mmio(packed struct(u32) { - /// channel 8-bit right-aligned data + /// channel 8-bit right-aligned data DHR: u8, padding: u24, }), reserved32: [12]u8, - /// dual 12-bit right-aligned data holding register + /// dual 12-bit right-aligned data holding register DHR12RD: mmio.Mmio(packed struct(u32) { - /// channel 12-bit right-aligned data + /// channel 12-bit right-aligned data DHR: u12, padding: u20, }), - /// dual 12-bit left aligned data holding register + /// dual 12-bit left aligned data holding register DHR12LD: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// channel 12-bit left-aligned data + /// channel 12-bit left-aligned data DHR: u12, padding: u16, }), - /// dual 8-bit right aligned data holding register + /// dual 8-bit right aligned data holding register DHR8RD: mmio.Mmio(packed struct(u32) { - /// channel 8-bit right-aligned data + /// channel 8-bit right-aligned data DHR: u8, padding: u24, }), - /// channel data output register + /// channel data output register DOR: [2]mmio.Mmio(packed struct(u32) { - /// channel data output + /// channel data output DOR: u12, padding: u20, }), @@ -316671,95 +315798,92 @@ pub const types = struct { pub const dac_v2 = struct { pub const WAVE = enum(u2) { - /// Wave generation disabled + /// Wave generation disabled Disabled = 0x0, - /// Noise wave generation enabled + /// Noise wave generation enabled Noise = 0x1, - /// Triangle wave generation enabled + /// Triangle wave generation enabled Triangle = 0x2, _, }; - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// channel enable + /// channel enable EN: u1, - /// channel output buffer disable + /// channel output buffer disable BOFF: u1, - /// channel trigger enable + /// channel trigger enable TEN: u1, - /// channel trigger selection + /// channel trigger selection TSEL: u3, - /// channel noise/triangle wave generation enable - WAVE: packed union { - raw: u2, - value: WAVE, - }, - /// channel mask/amplitude selector + /// channel noise/triangle wave generation enable + WAVE: WAVE, + /// channel mask/amplitude selector MAMP: u4, - /// channel DMA enable + /// channel DMA enable DMAEN: u1, - /// channel DMA Underrun Interrupt enable + /// channel DMA Underrun Interrupt enable DMAUDRIE: u1, padding: u18, }), - /// software trigger register + /// software trigger register SWTRIGR: mmio.Mmio(packed struct(u32) { - /// channel software trigger + /// channel software trigger SWTRIG: u1, padding: u31, }), - /// channel 12-bit right-aligned data holding register + /// channel 12-bit right-aligned data holding register DHR12R: mmio.Mmio(packed struct(u32) { - /// channel 12-bit right-aligned data + /// channel 12-bit right-aligned data DHR: u12, padding: u20, }), - /// channel 12-bit left-aligned data holding register + /// channel 12-bit left-aligned data holding register DHR12L: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// channel 12-bit left-aligned data + /// channel 12-bit left-aligned data DHR: u12, padding: u16, }), - /// channel 8-bit right-aligned data holding register + /// channel 8-bit right-aligned data holding register DHR8R: mmio.Mmio(packed struct(u32) { - /// channel 8-bit right-aligned data + /// channel 8-bit right-aligned data DHR: u8, padding: u24, }), reserved32: [12]u8, - /// dual 12-bit right-aligned data holding register + /// dual 12-bit right-aligned data holding register DHR12RD: mmio.Mmio(packed struct(u32) { - /// channel 12-bit right-aligned data + /// channel 12-bit right-aligned data DHR: u12, padding: u20, }), - /// dual 12-bit left aligned data holding register + /// dual 12-bit left aligned data holding register DHR12LD: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// channel 12-bit left-aligned data + /// channel 12-bit left-aligned data DHR: u12, padding: u16, }), - /// dual 8-bit right aligned data holding register + /// dual 8-bit right aligned data holding register DHR8RD: mmio.Mmio(packed struct(u32) { - /// channel 8-bit right-aligned data + /// channel 8-bit right-aligned data DHR: u8, padding: u24, }), - /// channel data output register + /// channel data output register DOR: [2]mmio.Mmio(packed struct(u32) { - /// channel data output + /// channel data output DOR: u12, padding: u20, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved13: u13, - /// channel DMA underrun flag + /// channel DMA underrun flag DMAUDR: u1, padding: u18, }), @@ -316768,152 +315892,146 @@ pub const types = struct { pub const dac_v3 = struct { pub const MODE = enum(u3) { - /// Normal mode, external pin only, buffer enabled + /// Normal mode, external pin only, buffer enabled NORMAL_EXT_BUFEN = 0x0, - /// Normal mode, external pin and internal peripherals, buffer enabled + /// Normal mode, external pin and internal peripherals, buffer enabled NORMAL_EXT_INT_BUFEN = 0x1, - /// Normal mode, external pin only, buffer disabled + /// Normal mode, external pin only, buffer disabled NORMAL_EXT_BUFDIS = 0x2, - /// Normal mode, internal peripherals only, buffer disabled + /// Normal mode, internal peripherals only, buffer disabled NORMAL_INT_BUFDIS = 0x3, - /// Sample and hold mode, external pin only, buffer enabled + /// Sample and hold mode, external pin only, buffer enabled SAMPHOLD_EXT_BUFEN = 0x4, - /// Sample and hold mode, external pin and internal peripherals, buffer enabled + /// Sample and hold mode, external pin and internal peripherals, buffer enabled SAMPHOLD_EXT_INT_BUFEN = 0x5, - /// Sample and hold mode, external pin and internal peripherals, buffer disabled + /// Sample and hold mode, external pin and internal peripherals, buffer disabled SAMPHOLD_EXT_INT_BUFDIS = 0x6, - /// Sample and hold mode, internal peripherals only, buffer disabled + /// Sample and hold mode, internal peripherals only, buffer disabled SAMPHOLD_INT_BUFDIS = 0x7, }; pub const WAVE = enum(u2) { - /// Wave generation disabled + /// Wave generation disabled Disabled = 0x0, - /// Noise wave generation enabled + /// Noise wave generation enabled Noise = 0x1, - /// Triangle wave generation enabled + /// Triangle wave generation enabled Triangle = 0x2, _, }; - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// channel enable + /// channel enable EN: u1, reserved2: u1, - /// channel trigger enable + /// channel trigger enable TEN: u1, - /// channel trigger selection + /// channel trigger selection TSEL: u3, - /// channel noise/triangle wave generation enable - WAVE: packed union { - raw: u2, - value: WAVE, - }, - /// channel mask/amplitude selector + /// channel noise/triangle wave generation enable + WAVE: WAVE, + /// channel mask/amplitude selector MAMP: u4, - /// channel DMA enable + /// channel DMA enable DMAEN: u1, - /// channel DMA Underrun Interrupt enable + /// channel DMA Underrun Interrupt enable DMAUDRIE: u1, - /// DAC channel calibration enable + /// DAC channel calibration enable CEN: u1, padding: u17, }), - /// software trigger register + /// software trigger register SWTRIGR: mmio.Mmio(packed struct(u32) { - /// channel software trigger + /// channel software trigger SWTRIG: u1, padding: u31, }), - /// channel 12-bit right-aligned data holding register + /// channel 12-bit right-aligned data holding register DHR12R: mmio.Mmio(packed struct(u32) { - /// channel 12-bit right-aligned data + /// channel 12-bit right-aligned data DHR: u12, padding: u20, }), - /// channel 12-bit left-aligned data holding register + /// channel 12-bit left-aligned data holding register DHR12L: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// channel 12-bit left-aligned data + /// channel 12-bit left-aligned data DHR: u12, padding: u16, }), - /// channel 8-bit right-aligned data holding register + /// channel 8-bit right-aligned data holding register DHR8R: mmio.Mmio(packed struct(u32) { - /// channel 8-bit right-aligned data + /// channel 8-bit right-aligned data DHR: u8, padding: u24, }), reserved32: [12]u8, - /// dual 12-bit right-aligned data holding register + /// dual 12-bit right-aligned data holding register DHR12RD: mmio.Mmio(packed struct(u32) { - /// channel 12-bit right-aligned data + /// channel 12-bit right-aligned data DHR: u12, padding: u20, }), - /// dual 12-bit left aligned data holding register + /// dual 12-bit left aligned data holding register DHR12LD: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// channel 12-bit left-aligned data + /// channel 12-bit left-aligned data DHR: u12, padding: u16, }), - /// dual 8-bit right aligned data holding register + /// dual 8-bit right aligned data holding register DHR8RD: mmio.Mmio(packed struct(u32) { - /// channel 8-bit right-aligned data + /// channel 8-bit right-aligned data DHR: u8, padding: u24, }), - /// channel data output register + /// channel data output register DOR: [2]mmio.Mmio(packed struct(u32) { - /// channel data output + /// channel data output DOR: u12, padding: u20, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved13: u13, - /// channel DMA underrun flag + /// channel DMA underrun flag DMAUDR: u1, - /// channel calibration offset status + /// channel calibration offset status CAL_FLAG: u1, - /// channel busy writing sample time flag + /// channel busy writing sample time flag BWST: u1, padding: u16, }), - /// calibration control register + /// calibration control register CCR: mmio.Mmio(packed struct(u32) { - /// channel offset trimming value + /// channel offset trimming value OTRIM: u5, padding: u27, }), - /// mode control register + /// mode control register MCR: mmio.Mmio(packed struct(u32) { - /// DAC channel mode - MODE: packed union { - raw: u3, - value: MODE, - }, + /// DAC channel mode + MODE: MODE, padding: u29, }), - /// sample and hold sample time register + /// sample and hold sample time register SHSR: [2]mmio.Mmio(packed struct(u32) { - /// channel sample time + /// channel sample time TSAMPLE: u10, padding: u22, }), - /// sample and hold hold time register + /// sample and hold hold time register SHHR: mmio.Mmio(packed struct(u32) { - /// channel hold time + /// channel hold time THOLD: u10, padding: u22, }), - /// sample and hold refresh time register + /// sample and hold refresh time register SHRR: mmio.Mmio(packed struct(u32) { - /// channel refresh time + /// channel refresh time TREFRESH: u8, padding: u24, }), @@ -316922,151 +316040,145 @@ pub const types = struct { pub const dac_v4 = struct { pub const MODE = enum(u3) { - /// Normal mode, external pin only, buffer enabled + /// Normal mode, external pin only, buffer enabled NORMAL_EXT_BUFEN = 0x0, - /// Normal mode, external pin and internal peripherals, buffer enabled + /// Normal mode, external pin and internal peripherals, buffer enabled NORMAL_EXT_INT_BUFEN = 0x1, - /// Normal mode, external pin only, buffer disabled + /// Normal mode, external pin only, buffer disabled NORMAL_EXT_BUFDIS = 0x2, - /// Normal mode, internal peripherals only, buffer disabled + /// Normal mode, internal peripherals only, buffer disabled NORMAL_INT_BUFDIS = 0x3, - /// Sample and hold mode, external pin only, buffer enabled + /// Sample and hold mode, external pin only, buffer enabled SAMPHOLD_EXT_BUFEN = 0x4, - /// Sample and hold mode, external pin and internal peripherals, buffer enabled + /// Sample and hold mode, external pin and internal peripherals, buffer enabled SAMPHOLD_EXT_INT_BUFEN = 0x5, - /// Sample and hold mode, external pin and internal peripherals, buffer disabled + /// Sample and hold mode, external pin and internal peripherals, buffer disabled SAMPHOLD_EXT_INT_BUFDIS = 0x6, - /// Sample and hold mode, internal peripherals only, buffer disabled + /// Sample and hold mode, internal peripherals only, buffer disabled SAMPHOLD_INT_BUFDIS = 0x7, }; pub const WAVE = enum(u2) { - /// Wave generation disabled + /// Wave generation disabled Disabled = 0x0, - /// Noise wave generation enabled + /// Noise wave generation enabled Noise = 0x1, - /// Triangle wave generation enabled + /// Triangle wave generation enabled Triangle = 0x2, _, }; - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// channel enable + /// channel enable EN: u1, - /// channel trigger enable + /// channel trigger enable TEN: u1, - /// channel trigger selection + /// channel trigger selection TSEL: u4, - /// channel noise/triangle wave generation enable - WAVE: packed union { - raw: u2, - value: WAVE, - }, - /// channel mask/amplitude selector + /// channel noise/triangle wave generation enable + WAVE: WAVE, + /// channel mask/amplitude selector MAMP: u4, - /// channel DMA enable + /// channel DMA enable DMAEN: u1, - /// channel DMA Underrun Interrupt enable + /// channel DMA Underrun Interrupt enable DMAUDRIE: u1, - /// DAC channel calibration enable + /// DAC channel calibration enable CEN: u1, padding: u17, }), - /// software trigger register + /// software trigger register SWTRIGR: mmio.Mmio(packed struct(u32) { - /// channel software trigger + /// channel software trigger SWTRIG: u1, padding: u31, }), - /// channel 12-bit right-aligned data holding register + /// channel 12-bit right-aligned data holding register DHR12R: mmio.Mmio(packed struct(u32) { - /// channel 12-bit right-aligned data + /// channel 12-bit right-aligned data DHR: u12, padding: u20, }), - /// channel 12-bit left-aligned data holding register + /// channel 12-bit left-aligned data holding register DHR12L: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// channel 12-bit left-aligned data + /// channel 12-bit left-aligned data DHR: u12, padding: u16, }), - /// channel 8-bit right-aligned data holding register + /// channel 8-bit right-aligned data holding register DHR8R: mmio.Mmio(packed struct(u32) { - /// channel 8-bit right-aligned data + /// channel 8-bit right-aligned data DHR: u8, padding: u24, }), reserved32: [12]u8, - /// dual 12-bit right-aligned data holding register + /// dual 12-bit right-aligned data holding register DHR12RD: mmio.Mmio(packed struct(u32) { - /// channel 12-bit right-aligned data + /// channel 12-bit right-aligned data DHR: u12, padding: u20, }), - /// dual 12-bit left aligned data holding register + /// dual 12-bit left aligned data holding register DHR12LD: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// channel 12-bit left-aligned data + /// channel 12-bit left-aligned data DHR: u12, padding: u16, }), - /// dual 8-bit right aligned data holding register + /// dual 8-bit right aligned data holding register DHR8RD: mmio.Mmio(packed struct(u32) { - /// channel 8-bit right-aligned data + /// channel 8-bit right-aligned data DHR: u8, padding: u24, }), - /// channel data output register + /// channel data output register DOR: [2]mmio.Mmio(packed struct(u32) { - /// channel data output + /// channel data output DOR: u12, padding: u20, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved13: u13, - /// channel DMA underrun flag + /// channel DMA underrun flag DMAUDR: u1, - /// channel calibration offset status + /// channel calibration offset status CAL_FLAG: u1, - /// channel busy writing sample time flag + /// channel busy writing sample time flag BWST: u1, padding: u16, }), - /// calibration control register + /// calibration control register CCR: mmio.Mmio(packed struct(u32) { - /// channel offset trimming value + /// channel offset trimming value OTRIM: u5, padding: u27, }), - /// mode control register + /// mode control register MCR: mmio.Mmio(packed struct(u32) { - /// DAC channel mode - MODE: packed union { - raw: u3, - value: MODE, - }, + /// DAC channel mode + MODE: MODE, padding: u29, }), - /// sample and hold sample time register + /// sample and hold sample time register SHSR: [2]mmio.Mmio(packed struct(u32) { - /// channel sample time + /// channel sample time TSAMPLE: u10, padding: u22, }), - /// sample and hold hold time register + /// sample and hold hold time register SHHR: mmio.Mmio(packed struct(u32) { - /// channel hold time + /// channel hold time THOLD: u10, padding: u22, }), - /// sample and hold refresh time register + /// sample and hold refresh time register SHRR: mmio.Mmio(packed struct(u32) { - /// channel refresh time + /// channel refresh time TREFRESH: u8, padding: u24, }), @@ -317075,153 +316187,147 @@ pub const types = struct { pub const dac_v5 = struct { pub const MODE = enum(u3) { - /// Normal mode, external pin only, buffer enabled + /// Normal mode, external pin only, buffer enabled NORMAL_EXT_BUFEN = 0x0, - /// Normal mode, external pin and internal peripherals, buffer enabled + /// Normal mode, external pin and internal peripherals, buffer enabled NORMAL_EXT_INT_BUFEN = 0x1, - /// Normal mode, external pin only, buffer disabled + /// Normal mode, external pin only, buffer disabled NORMAL_EXT_BUFDIS = 0x2, - /// Normal mode, internal peripherals only, buffer disabled + /// Normal mode, internal peripherals only, buffer disabled NORMAL_INT_BUFDIS = 0x3, - /// Sample and hold mode, external pin only, buffer enabled + /// Sample and hold mode, external pin only, buffer enabled SAMPHOLD_EXT_BUFEN = 0x4, - /// Sample and hold mode, external pin and internal peripherals, buffer enabled + /// Sample and hold mode, external pin and internal peripherals, buffer enabled SAMPHOLD_EXT_INT_BUFEN = 0x5, - /// Sample and hold mode, external pin and internal peripherals, buffer disabled + /// Sample and hold mode, external pin and internal peripherals, buffer disabled SAMPHOLD_EXT_INT_BUFDIS = 0x6, - /// Sample and hold mode, internal peripherals only, buffer disabled + /// Sample and hold mode, internal peripherals only, buffer disabled SAMPHOLD_INT_BUFDIS = 0x7, }; pub const WAVE = enum(u2) { - /// Wave generation disabled + /// Wave generation disabled Disabled = 0x0, - /// Noise wave generation enabled + /// Noise wave generation enabled Noise = 0x1, - /// Triangle wave generation enabled + /// Triangle wave generation enabled Triangle = 0x2, _, }; - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// channel enable + /// channel enable EN: u1, - /// channel trigger enable + /// channel trigger enable TEN: u1, - /// channel trigger selection + /// channel trigger selection TSEL: u4, - /// channel noise/triangle wave generation enable - WAVE: packed union { - raw: u2, - value: WAVE, - }, - /// channel mask/amplitude selector + /// channel noise/triangle wave generation enable + WAVE: WAVE, + /// channel mask/amplitude selector MAMP: u4, - /// channel DMA enable + /// channel DMA enable DMAEN: u1, - /// channel DMA Underrun Interrupt enable + /// channel DMA Underrun Interrupt enable DMAUDRIE: u1, - /// DAC channel calibration enable + /// DAC channel calibration enable CEN: u1, - /// high frequency interface mode enable + /// high frequency interface mode enable HFSEL: u1, padding: u16, }), - /// software trigger register + /// software trigger register SWTRIGR: mmio.Mmio(packed struct(u32) { - /// channel software trigger + /// channel software trigger SWTRIG: u1, padding: u31, }), - /// channel 12-bit right-aligned data holding register + /// channel 12-bit right-aligned data holding register DHR12R: mmio.Mmio(packed struct(u32) { - /// channel 12-bit right-aligned data + /// channel 12-bit right-aligned data DHR: u12, padding: u20, }), - /// channel 12-bit left-aligned data holding register + /// channel 12-bit left-aligned data holding register DHR12L: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// channel 12-bit left-aligned data + /// channel 12-bit left-aligned data DHR: u12, padding: u16, }), - /// channel 8-bit right-aligned data holding register + /// channel 8-bit right-aligned data holding register DHR8R: mmio.Mmio(packed struct(u32) { - /// channel 8-bit right-aligned data + /// channel 8-bit right-aligned data DHR: u8, padding: u24, }), reserved32: [12]u8, - /// dual 12-bit right-aligned data holding register + /// dual 12-bit right-aligned data holding register DHR12RD: mmio.Mmio(packed struct(u32) { - /// channel 12-bit right-aligned data + /// channel 12-bit right-aligned data DHR: u12, padding: u20, }), - /// dual 12-bit left aligned data holding register + /// dual 12-bit left aligned data holding register DHR12LD: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// channel 12-bit left-aligned data + /// channel 12-bit left-aligned data DHR: u12, padding: u16, }), - /// dual 8-bit right aligned data holding register + /// dual 8-bit right aligned data holding register DHR8RD: mmio.Mmio(packed struct(u32) { - /// channel 8-bit right-aligned data + /// channel 8-bit right-aligned data DHR: u8, padding: u24, }), - /// channel data output register + /// channel data output register DOR: [2]mmio.Mmio(packed struct(u32) { - /// channel data output + /// channel data output DOR: u12, padding: u20, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved13: u13, - /// channel DMA underrun flag + /// channel DMA underrun flag DMAUDR: u1, - /// channel calibration offset status + /// channel calibration offset status CAL_FLAG: u1, - /// channel busy writing sample time flag + /// channel busy writing sample time flag BWST: u1, padding: u16, }), - /// calibration control register + /// calibration control register CCR: mmio.Mmio(packed struct(u32) { - /// channel offset trimming value + /// channel offset trimming value OTRIM: u5, padding: u27, }), - /// mode control register + /// mode control register MCR: mmio.Mmio(packed struct(u32) { - /// DAC channel mode - MODE: packed union { - raw: u3, - value: MODE, - }, + /// DAC channel mode + MODE: MODE, padding: u29, }), - /// sample and hold sample time register + /// sample and hold sample time register SHSR: [2]mmio.Mmio(packed struct(u32) { - /// channel sample time + /// channel sample time TSAMPLE: u10, padding: u22, }), - /// sample and hold hold time register + /// sample and hold hold time register SHHR: mmio.Mmio(packed struct(u32) { - /// channel hold time + /// channel hold time THOLD: u10, padding: u22, }), - /// sample and hold refresh time register + /// sample and hold refresh time register SHRR: mmio.Mmio(packed struct(u32) { - /// channel refresh time + /// channel refresh time TREFRESH: u8, padding: u24, }), @@ -317230,176 +316336,170 @@ pub const types = struct { pub const dac_v6 = struct { pub const MODE = enum(u3) { - /// Normal mode, external pin only, buffer enabled + /// Normal mode, external pin only, buffer enabled NORMAL_EXT_BUFEN = 0x0, - /// Normal mode, external pin and internal peripherals, buffer enabled + /// Normal mode, external pin and internal peripherals, buffer enabled NORMAL_EXT_INT_BUFEN = 0x1, - /// Normal mode, external pin only, buffer disabled + /// Normal mode, external pin only, buffer disabled NORMAL_EXT_BUFDIS = 0x2, - /// Normal mode, internal peripherals only, buffer disabled + /// Normal mode, internal peripherals only, buffer disabled NORMAL_INT_BUFDIS = 0x3, - /// Sample and hold mode, external pin only, buffer enabled + /// Sample and hold mode, external pin only, buffer enabled SAMPHOLD_EXT_BUFEN = 0x4, - /// Sample and hold mode, external pin and internal peripherals, buffer enabled + /// Sample and hold mode, external pin and internal peripherals, buffer enabled SAMPHOLD_EXT_INT_BUFEN = 0x5, - /// Sample and hold mode, external pin and internal peripherals, buffer disabled + /// Sample and hold mode, external pin and internal peripherals, buffer disabled SAMPHOLD_EXT_INT_BUFDIS = 0x6, - /// Sample and hold mode, internal peripherals only, buffer disabled + /// Sample and hold mode, internal peripherals only, buffer disabled SAMPHOLD_INT_BUFDIS = 0x7, }; pub const WAVE = enum(u2) { - /// Wave generation disabled + /// Wave generation disabled Disabled = 0x0, - /// Noise wave generation enabled + /// Noise wave generation enabled Noise = 0x1, - /// Triangle wave generation enabled + /// Triangle wave generation enabled Triangle = 0x2, _, }; - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// channel enable + /// channel enable EN: u1, - /// channel trigger enable + /// channel trigger enable TEN: u1, - /// channel trigger selection + /// channel trigger selection TSEL: u4, - /// channel noise/triangle wave generation enable - WAVE: packed union { - raw: u2, - value: WAVE, - }, - /// channel mask/amplitude selector + /// channel noise/triangle wave generation enable + WAVE: WAVE, + /// channel mask/amplitude selector MAMP: u4, - /// channel DMA enable + /// channel DMA enable DMAEN: u1, - /// channel DMA Underrun Interrupt enable + /// channel DMA Underrun Interrupt enable DMAUDRIE: u1, - /// DAC channel calibration enable + /// DAC channel calibration enable CEN: u1, padding: u17, }), - /// software trigger register + /// software trigger register SWTRIGR: mmio.Mmio(packed struct(u32) { - /// channel software trigger + /// channel software trigger SWTRIG: u1, reserved16: u15, - /// channel software trigger B + /// channel software trigger B SWTRIGB: u1, padding: u15, }), - /// channel 12-bit right-aligned data holding register + /// channel 12-bit right-aligned data holding register DHR12R: mmio.Mmio(packed struct(u32) { - /// channel 12-bit right-aligned data + /// channel 12-bit right-aligned data DHR: u12, reserved16: u4, - /// channel 12-bit right-aligned data B + /// channel 12-bit right-aligned data B DHRB: u12, padding: u4, }), - /// channel 12-bit left-aligned data holding register + /// channel 12-bit left-aligned data holding register DHR12L: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// channel 12-bit left-aligned data + /// channel 12-bit left-aligned data DHR: u12, reserved20: u4, - /// channel 12-bit left-aligned data B + /// channel 12-bit left-aligned data B DHRB: u12, }), - /// channel 8-bit right-aligned data holding register + /// channel 8-bit right-aligned data holding register DHR8R: mmio.Mmio(packed struct(u32) { - /// channel 8-bit right-aligned data + /// channel 8-bit right-aligned data DHR: u8, - /// channel 8-bit right-aligned data B + /// channel 8-bit right-aligned data B DHRB: u8, padding: u16, }), reserved32: [12]u8, - /// dual 12-bit right-aligned data holding register + /// dual 12-bit right-aligned data holding register DHR12RD: mmio.Mmio(packed struct(u32) { - /// channel 12-bit right-aligned data + /// channel 12-bit right-aligned data DHR: u12, padding: u20, }), - /// dual 12-bit left aligned data holding register + /// dual 12-bit left aligned data holding register DHR12LD: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// channel 12-bit left-aligned data + /// channel 12-bit left-aligned data DHR: u12, padding: u16, }), - /// dual 8-bit right aligned data holding register + /// dual 8-bit right aligned data holding register DHR8RD: mmio.Mmio(packed struct(u32) { - /// channel 8-bit right-aligned data + /// channel 8-bit right-aligned data DHR: u8, padding: u24, }), - /// channel data output register + /// channel data output register DOR: [2]mmio.Mmio(packed struct(u32) { - /// channel data output + /// channel data output DOR: u12, reserved16: u4, - /// channel data output B + /// channel data output B DORB: u12, padding: u4, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// channel ready status bit + /// channel ready status bit DACRDY: u1, - /// channel output register status bit + /// channel output register status bit DORSTAT: u1, - /// channel DMA underrun flag + /// channel DMA underrun flag DMAUDR: u1, - /// channel calibration offset status + /// channel calibration offset status CAL_FLAG: u1, - /// channel busy writing sample time flag + /// channel busy writing sample time flag BWST: u1, padding: u16, }), - /// calibration control register + /// calibration control register CCR: mmio.Mmio(packed struct(u32) { - /// channel offset trimming value + /// channel offset trimming value OTRIM: u5, padding: u27, }), - /// mode control register + /// mode control register MCR: mmio.Mmio(packed struct(u32) { - /// DAC channel mode - MODE: packed union { - raw: u3, - value: MODE, - }, + /// DAC channel mode + MODE: MODE, reserved8: u5, - /// channel DMA double data mode. + /// channel DMA double data mode. DMADOUBLE: u1, - /// enable signed format for DAC channel + /// enable signed format for DAC channel SINFORMAT: u1, reserved14: u4, - /// high frequency interface mode selection + /// high frequency interface mode selection HFSEL: u2, padding: u16, }), - /// sample and hold sample time register + /// sample and hold sample time register SHSR: [2]mmio.Mmio(packed struct(u32) { - /// channel sample time + /// channel sample time TSAMPLE: u10, padding: u22, }), - /// sample and hold hold time register + /// sample and hold hold time register SHHR: mmio.Mmio(packed struct(u32) { - /// channel hold time + /// channel hold time THOLD: u10, padding: u22, }), - /// sample and hold refresh time register + /// sample and hold refresh time register SHRR: mmio.Mmio(packed struct(u32) { - /// channel refresh time + /// channel refresh time TREFRESH: u8, padding: u24, }), @@ -317408,197 +316508,191 @@ pub const types = struct { pub const dac_v7 = struct { pub const MODE = enum(u3) { - /// Normal mode, external pin only, buffer enabled + /// Normal mode, external pin only, buffer enabled NORMAL_EXT_BUFEN = 0x0, - /// Normal mode, external pin and internal peripherals, buffer enabled + /// Normal mode, external pin and internal peripherals, buffer enabled NORMAL_EXT_INT_BUFEN = 0x1, - /// Normal mode, external pin only, buffer disabled + /// Normal mode, external pin only, buffer disabled NORMAL_EXT_BUFDIS = 0x2, - /// Normal mode, internal peripherals only, buffer disabled + /// Normal mode, internal peripherals only, buffer disabled NORMAL_INT_BUFDIS = 0x3, - /// Sample and hold mode, external pin only, buffer enabled + /// Sample and hold mode, external pin only, buffer enabled SAMPHOLD_EXT_BUFEN = 0x4, - /// Sample and hold mode, external pin and internal peripherals, buffer enabled + /// Sample and hold mode, external pin and internal peripherals, buffer enabled SAMPHOLD_EXT_INT_BUFEN = 0x5, - /// Sample and hold mode, external pin and internal peripherals, buffer disabled + /// Sample and hold mode, external pin and internal peripherals, buffer disabled SAMPHOLD_EXT_INT_BUFDIS = 0x6, - /// Sample and hold mode, internal peripherals only, buffer disabled + /// Sample and hold mode, internal peripherals only, buffer disabled SAMPHOLD_INT_BUFDIS = 0x7, }; pub const WAVE = enum(u2) { - /// Wave generation disabled + /// Wave generation disabled Disabled = 0x0, - /// Noise wave generation enabled + /// Noise wave generation enabled Noise = 0x1, - /// Triangle wave generation enabled + /// Triangle wave generation enabled Triangle = 0x2, - /// Sawtooth wave generation enabled + /// Sawtooth wave generation enabled Sawtooth = 0x3, }; - /// Digital-to-analog converter + /// Digital-to-analog converter pub const DAC = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// channel enable + /// channel enable EN: u1, - /// channel trigger enable + /// channel trigger enable TEN: u1, - /// channel trigger selection + /// channel trigger selection TSEL: u4, - /// channel noise/triangle wave generation enable - WAVE: packed union { - raw: u2, - value: WAVE, - }, - /// channel mask/amplitude selector + /// channel noise/triangle wave generation enable + WAVE: WAVE, + /// channel mask/amplitude selector MAMP: u4, - /// channel DMA enable + /// channel DMA enable DMAEN: u1, - /// channel DMA Underrun Interrupt enable + /// channel DMA Underrun Interrupt enable DMAUDRIE: u1, - /// DAC channel calibration enable + /// DAC channel calibration enable CEN: u1, padding: u17, }), - /// software trigger register + /// software trigger register SWTRIGR: mmio.Mmio(packed struct(u32) { - /// channel software trigger + /// channel software trigger SWTRIG: u1, reserved16: u15, - /// channel software trigger B + /// channel software trigger B SWTRIGB: u1, padding: u15, }), - /// channel 12-bit right-aligned data holding register + /// channel 12-bit right-aligned data holding register DHR12R: mmio.Mmio(packed struct(u32) { - /// channel 12-bit right-aligned data + /// channel 12-bit right-aligned data DHR: u12, reserved16: u4, - /// channel 12-bit right-aligned data B + /// channel 12-bit right-aligned data B DHRB: u12, padding: u4, }), - /// channel 12-bit left-aligned data holding register + /// channel 12-bit left-aligned data holding register DHR12L: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// channel 12-bit left-aligned data + /// channel 12-bit left-aligned data DHR: u12, reserved20: u4, - /// channel 12-bit left-aligned data B + /// channel 12-bit left-aligned data B DHRB: u12, }), - /// channel 8-bit right-aligned data holding register + /// channel 8-bit right-aligned data holding register DHR8R: mmio.Mmio(packed struct(u32) { - /// channel 8-bit right-aligned data + /// channel 8-bit right-aligned data DHR: u8, - /// channel 8-bit right-aligned data B + /// channel 8-bit right-aligned data B DHRB: u8, padding: u16, }), reserved32: [12]u8, - /// dual 12-bit right-aligned data holding register + /// dual 12-bit right-aligned data holding register DHR12RD: mmio.Mmio(packed struct(u32) { - /// channel 12-bit right-aligned data + /// channel 12-bit right-aligned data DHR: u12, padding: u20, }), - /// dual 12-bit left aligned data holding register + /// dual 12-bit left aligned data holding register DHR12LD: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// channel 12-bit left-aligned data + /// channel 12-bit left-aligned data DHR: u12, padding: u16, }), - /// dual 8-bit right aligned data holding register + /// dual 8-bit right aligned data holding register DHR8RD: mmio.Mmio(packed struct(u32) { - /// channel 8-bit right-aligned data + /// channel 8-bit right-aligned data DHR: u8, padding: u24, }), - /// channel data output register + /// channel data output register DOR: [2]mmio.Mmio(packed struct(u32) { - /// channel data output + /// channel data output DOR: u12, reserved16: u4, - /// channel data output B + /// channel data output B DORB: u12, padding: u4, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// channel ready status bit + /// channel ready status bit DACRDY: u1, - /// channel output register status bit + /// channel output register status bit DORSTAT: u1, - /// channel DMA underrun flag + /// channel DMA underrun flag DMAUDR: u1, - /// channel calibration offset status + /// channel calibration offset status CAL_FLAG: u1, - /// channel busy writing sample time flag + /// channel busy writing sample time flag BWST: u1, padding: u16, }), - /// calibration control register + /// calibration control register CCR: mmio.Mmio(packed struct(u32) { - /// channel offset trimming value + /// channel offset trimming value OTRIM: u5, padding: u27, }), - /// mode control register + /// mode control register MCR: mmio.Mmio(packed struct(u32) { - /// DAC channel mode - MODE: packed union { - raw: u3, - value: MODE, - }, + /// DAC channel mode + MODE: MODE, reserved8: u5, - /// channel DMA double data mode. + /// channel DMA double data mode. DMADOUBLE: u1, - /// enable signed format for DAC channel + /// enable signed format for DAC channel SINFORMAT: u1, reserved14: u4, - /// high frequency interface mode selection + /// high frequency interface mode selection HFSEL: u2, padding: u16, }), - /// sample and hold sample time register + /// sample and hold sample time register SHSR: [2]mmio.Mmio(packed struct(u32) { - /// channel sample time + /// channel sample time TSAMPLE: u10, padding: u22, }), - /// sample and hold hold time register + /// sample and hold hold time register SHHR: mmio.Mmio(packed struct(u32) { - /// channel hold time + /// channel hold time THOLD: u10, padding: u22, }), - /// sample and hold refresh time register + /// sample and hold refresh time register SHRR: mmio.Mmio(packed struct(u32) { - /// channel refresh time + /// channel refresh time TREFRESH: u8, padding: u24, }), reserved88: [8]u8, - /// Sawtooth register + /// Sawtooth register STR: [2]mmio.Mmio(packed struct(u32) { - /// channel sawtooth reset value. + /// channel sawtooth reset value. RSTDATA: u12, - /// channel sawtooth direction setting + /// channel sawtooth direction setting DIR: u1, reserved16: u3, - /// channel sawtooth increment value (12.4 bit format) + /// channel sawtooth increment value (12.4 bit format) INCDATA: u16, }), - /// Sawtooth Mode register + /// Sawtooth Mode register STMODR: mmio.Mmio(packed struct(u32) { - /// channel sawtooth reset trigger selection + /// channel sawtooth reset trigger selection STRSTTRIGSEL: u4, reserved8: u4, - /// channel sawtooth increment trigger selection + /// channel sawtooth increment trigger selection STINCTRIGSEL: u4, padding: u20, }), @@ -317606,53 +316700,53 @@ pub const types = struct { }; pub const dbgmcu_c0 = struct { - /// Debug support + /// Debug support pub const DBGMCU = extern struct { - /// MCU Device ID Code Register + /// MCU Device ID Code Register IDCODE: mmio.Mmio(packed struct(u32) { - /// Device Identifier + /// Device Identifier DEV_ID: u16, - /// Revision Identifier + /// Revision Identifier REV_ID: u16, }), - /// Debug MCU Configuration Register + /// Debug MCU Configuration Register CR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Debug Stop Mode + /// Debug Stop Mode DBG_STOP: u1, - /// Debug Standby Mode + /// Debug Standby Mode DBG_STANDBY: u1, padding: u29, }), - /// DBG APB freeze register 1 + /// DBG APB freeze register 1 APB1FZR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// TIM3 counter stopped when core is halted + /// TIM3 counter stopped when core is halted TIM3: u1, reserved10: u8, - /// Debug RTC stopped when Core is halted + /// Debug RTC stopped when Core is halted RTC: u1, - /// Debug Window Wachdog stopped when Core is halted + /// Debug Window Wachdog stopped when Core is halted WWDG: u1, - /// Debug Independent Wachdog stopped when Core is halted + /// Debug Independent Wachdog stopped when Core is halted IWDG: u1, reserved21: u8, - /// I2C1 SMBUS timeout mode stopped when core is halted + /// I2C1 SMBUS timeout mode stopped when core is halted I2C1: u1, padding: u10, }), - /// DBG APB freeze register 2 + /// DBG APB freeze register 2 APB2FZR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 + /// TIM1 TIM1: u1, reserved15: u3, - /// TIM14 + /// TIM14 TIM14: u1, reserved17: u1, - /// TIM16 + /// TIM16 TIM16: u1, - /// TIM17 + /// TIM17 TIM17: u1, padding: u13, }), @@ -317660,66 +316754,66 @@ pub const types = struct { }; pub const dbgmcu_f0 = struct { - /// Debug support + /// Debug support pub const DBGMCU = extern struct { - /// MCU Device ID Code Register + /// MCU Device ID Code Register IDCODE: mmio.Mmio(packed struct(u32) { - /// Device Identifier + /// Device Identifier DEV_ID: u12, - /// Division Identifier + /// Division Identifier DIV_ID: u4, - /// Revision Identifier + /// Revision Identifier REV_ID: u16, }), - /// Debug MCU Configuration Register + /// Debug MCU Configuration Register CR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Debug Stop Mode + /// Debug Stop Mode DBG_STOP: u1, - /// Debug Standby Mode + /// Debug Standby Mode DBG_STANDBY: u1, padding: u29, }), - /// Debug MCU APB1 freeze register + /// Debug MCU APB1 freeze register APB1_FZ: mmio.Mmio(packed struct(u32) { - /// TIM2 counter stopped when core is halted + /// TIM2 counter stopped when core is halted TIM2: u1, - /// TIM3 counter stopped when core is halted + /// TIM3 counter stopped when core is halted TIM3: u1, reserved4: u2, - /// TIM6 counter stopped when core is halted + /// TIM6 counter stopped when core is halted TIM6: u1, - /// TIM7 counter stopped when core is halted + /// TIM7 counter stopped when core is halted TIM7: u1, reserved8: u2, - /// TIM14 counter stopped when core is halted + /// TIM14 counter stopped when core is halted TIM14: u1, reserved10: u1, - /// Debug RTC stopped when core is halted + /// Debug RTC stopped when core is halted RTC: u1, - /// Debug window watchdog stopped when core is halted + /// Debug window watchdog stopped when core is halted WWDG: u1, - /// Debug independent watchdog stopped when core is halted + /// Debug independent watchdog stopped when core is halted IWDG: u1, reserved21: u8, - /// SMBUS timeout mode stopped when core is halted + /// SMBUS timeout mode stopped when core is halted DBG_I2C1_SMBUS_TIMEOUT: u1, reserved25: u3, - /// CAN stopped when core is halted + /// CAN stopped when core is halted CAN: u1, padding: u6, }), - /// Debug MCU APB2 freeze register + /// Debug MCU APB2 freeze register APB2_FZ: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 counter stopped when core is halted + /// TIM1 counter stopped when core is halted TIM1: u1, reserved16: u4, - /// TIM15 counter stopped when core is halted + /// TIM15 counter stopped when core is halted TIM15: u1, - /// TIM16 counter stopped when core is halted + /// TIM16 counter stopped when core is halted TIM16: u1, - /// TIM17 counter stopped when core is halted + /// TIM17 counter stopped when core is halted TIM17: u1, padding: u13, }), @@ -317727,68 +316821,68 @@ pub const types = struct { }; pub const dbgmcu_f1 = struct { - /// Debug support + /// Debug support pub const DBGMCU = extern struct { - /// DBGMCU_IDCODE + /// DBGMCU_IDCODE IDCODE: mmio.Mmio(packed struct(u32) { - /// DEV_ID + /// DEV_ID DEV_ID: u12, reserved16: u4, - /// REV_ID + /// REV_ID REV_ID: u16, }), - /// DBGMCU_CR + /// DBGMCU_CR CR: mmio.Mmio(packed struct(u32) { - /// DBG_SLEEP + /// DBG_SLEEP DBG_SLEEP: u1, - /// DBG_STOP + /// DBG_STOP DBG_STOP: u1, - /// DBG_STANDBY + /// DBG_STANDBY DBG_STANDBY: u1, reserved5: u2, - /// TRACE_IOEN + /// TRACE_IOEN TRACE_IOEN: u1, - /// TRACE_MODE + /// TRACE_MODE TRACE_MODE: u2, - /// IWDG + /// IWDG IWDG: u1, - /// WWDG + /// WWDG WWDG: u1, - /// TIM1 + /// TIM1 TIM1: u1, - /// TIM2 + /// TIM2 TIM2: u1, - /// TIM3 + /// TIM3 TIM3: u1, - /// TIM4 + /// TIM4 TIM4: u1, - /// CAN1 + /// CAN1 CAN1: u1, - /// DBG_I2C1_SMBUS_TIMEOUT + /// DBG_I2C1_SMBUS_TIMEOUT DBG_I2C1_SMBUS_TIMEOUT: u1, - /// DBG_I2C2_SMBUS_TIMEOUT + /// DBG_I2C2_SMBUS_TIMEOUT DBG_I2C2_SMBUS_TIMEOUT: u1, - /// TIM8 + /// TIM8 TIM8: u1, - /// TIM5 + /// TIM5 TIM5: u1, - /// TIM6 + /// TIM6 TIM6: u1, - /// TIM7 + /// TIM7 TIM7: u1, - /// CAN2 + /// CAN2 CAN2: u1, - /// TIM15 + /// TIM15 TIM15: u1, - /// TIM16 + /// TIM16 TIM16: u1, - /// TIM17 + /// TIM17 TIM17: u1, - /// TIM12 + /// TIM12 TIM12: u1, - /// TIM13 + /// TIM13 TIM13: u1, - /// TIM14 + /// TIM14 TIM14: u1, padding: u4, }), @@ -317796,84 +316890,84 @@ pub const types = struct { }; pub const dbgmcu_f2 = struct { - /// Debug support + /// Debug support pub const DBGMCU = extern struct { - /// IDCODE + /// IDCODE IDCODE: mmio.Mmio(packed struct(u32) { - /// DEV_ID + /// DEV_ID DEV_ID: u12, reserved16: u4, - /// REV_ID + /// REV_ID REV_ID: u16, }), - /// Control Register + /// Control Register CR: mmio.Mmio(packed struct(u32) { - /// DBG_SLEEP + /// DBG_SLEEP DBG_SLEEP: u1, - /// DBG_STOP + /// DBG_STOP DBG_STOP: u1, - /// DBG_STANDBY + /// DBG_STANDBY DBG_STANDBY: u1, reserved5: u2, - /// TRACE_IOEN + /// TRACE_IOEN TRACE_IOEN: u1, - /// TRACE_MODE + /// TRACE_MODE TRACE_MODE: u2, padding: u24, }), - /// Debug MCU APB1 Freeze registe + /// Debug MCU APB1 Freeze registe APB1_FZ: mmio.Mmio(packed struct(u32) { - /// TIM2 + /// TIM2 TIM2: u1, - /// TIM3 + /// TIM3 TIM3: u1, - /// TIM4 + /// TIM4 TIM4: u1, - /// TIM5 + /// TIM5 TIM5: u1, - /// TIM6 + /// TIM6 TIM6: u1, - /// TIM7 + /// TIM7 TIM7: u1, - /// TIM12 + /// TIM12 TIM12: u1, - /// TIM13 + /// TIM13 TIM13: u1, - /// TIM14 + /// TIM14 TIM14: u1, reserved10: u1, - /// RTC + /// RTC RTC: u1, - /// WWDG + /// WWDG WWDG: u1, - /// IWDEG + /// IWDEG IWDG: u1, reserved21: u8, - /// I2C1_SMBUS_TIMEOUT + /// I2C1_SMBUS_TIMEOUT I2C1_SMBUS_TIMEOUT: u1, - /// I2C2_SMBUS_TIMEOUT + /// I2C2_SMBUS_TIMEOUT I2C2_SMBUS_TIMEOUT: u1, - /// I2C3_SMBUS_TIMEOUT + /// I2C3_SMBUS_TIMEOUT I2C3_SMBUS_TIMEOUT: u1, reserved25: u1, - /// CAN1 + /// CAN1 CAN1: u1, - /// CAN2 + /// CAN2 CAN2: u1, padding: u5, }), - /// Debug MCU APB2 Freeze registe + /// Debug MCU APB2 Freeze registe APB2_FZ: mmio.Mmio(packed struct(u32) { - /// TIM1 counter stopped when core is halted + /// TIM1 counter stopped when core is halted TIM1: u1, - /// TIM8 counter stopped when core is halted + /// TIM8 counter stopped when core is halted TIM8: u1, reserved16: u14, - /// TIM9 counter stopped when core is halted + /// TIM9 counter stopped when core is halted TIM9: u1, - /// TIM10 counter stopped when core is halted + /// TIM10 counter stopped when core is halted TIM10: u1, - /// TIM11 counter stopped when core is halted + /// TIM11 counter stopped when core is halted TIM11: u1, padding: u13, }), @@ -317881,79 +316975,79 @@ pub const types = struct { }; pub const dbgmcu_f3 = struct { - /// Debug support + /// Debug support pub const DBGMCU = extern struct { - /// MCU Device ID Code Register + /// MCU Device ID Code Register IDCODE: mmio.Mmio(packed struct(u32) { - /// Device Identifier + /// Device Identifier DEV_ID: u12, reserved16: u4, - /// Revision Identifier + /// Revision Identifier REV_ID: u16, }), - /// Debug MCU Configuration Register + /// Debug MCU Configuration Register CR: mmio.Mmio(packed struct(u32) { - /// Debug Sleep mode + /// Debug Sleep mode DBG_SLEEP: u1, - /// Debug Stop Mode + /// Debug Stop Mode DBG_STOP: u1, - /// Debug Standby Mode + /// Debug Standby Mode DBG_STANDBY: u1, reserved5: u2, - /// Trace pin assignment control + /// Trace pin assignment control TRACE_IOEN: u1, - /// Trace pin assignment control + /// Trace pin assignment control TRACE_MODE: u2, padding: u24, }), - /// APB Low Freeze Register + /// APB Low Freeze Register APB1FZR: mmio.Mmio(packed struct(u32) { - /// Debug Timer 2 stopped when Core is halted + /// Debug Timer 2 stopped when Core is halted TIM2: u1, - /// Debug Timer 3 stopped when Core is halted + /// Debug Timer 3 stopped when Core is halted TIM3: u1, - /// Debug Timer 4 stopped when Core is halted + /// Debug Timer 4 stopped when Core is halted TIM4: u1, - /// Debug Timer 5 stopped when Core is halted + /// Debug Timer 5 stopped when Core is halted TIM5: u1, - /// Debug Timer 6 stopped when Core is halted + /// Debug Timer 6 stopped when Core is halted TIM6: u1, - /// Debug Timer 7 stopped when Core is halted + /// Debug Timer 7 stopped when Core is halted TIM7: u1, - /// Debug Timer 12 stopped when Core is halted + /// Debug Timer 12 stopped when Core is halted TIM12: u1, - /// Debug Timer 13 stopped when Core is halted + /// Debug Timer 13 stopped when Core is halted TIM13: u1, - /// Debug Timer 14 stopped when Core is halted + /// Debug Timer 14 stopped when Core is halted TIM14: u1, - /// Debug Timer 18 stopped when Core is halted + /// Debug Timer 18 stopped when Core is halted TIM18: u1, - /// Debug RTC stopped when Core is halted + /// Debug RTC stopped when Core is halted RTC: u1, - /// Debug Window Wachdog stopped when Core is halted + /// Debug Window Wachdog stopped when Core is halted WWDG: u1, - /// Debug Independent Wachdog stopped when Core is halted + /// Debug Independent Wachdog stopped when Core is halted IWDG: u1, reserved21: u8, - /// SMBUS timeout mode stopped when Core is halted + /// SMBUS timeout mode stopped when Core is halted I2C1_SMBUS_TIMEOUT: u1, - /// SMBUS timeout mode stopped when Core is halted + /// SMBUS timeout mode stopped when Core is halted I2C2_SMBUS_TIMEOUT: u1, reserved25: u2, - /// Debug CAN stopped when core is halted + /// Debug CAN stopped when core is halted CAN: u1, padding: u6, }), - /// APB High Freeze Register + /// APB High Freeze Register APB2FZR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Debug Timer 15 stopped when Core is halted + /// Debug Timer 15 stopped when Core is halted TIM15: u1, - /// Debug Timer 16 stopped when Core is halted + /// Debug Timer 16 stopped when Core is halted TIM16: u1, - /// Debug Timer 17 stopped when Core is halted + /// Debug Timer 17 stopped when Core is halted TIM17: u1, - /// Debug Timer 19 stopped when Core is halted + /// Debug Timer 19 stopped when Core is halted TIM19: u1, padding: u26, }), @@ -317961,85 +317055,85 @@ pub const types = struct { }; pub const dbgmcu_f4 = struct { - /// Debug support + /// Debug support pub const DBGMCU = extern struct { - /// IDCODE + /// IDCODE IDCODE: mmio.Mmio(packed struct(u32) { - /// DEV_ID + /// DEV_ID DEV_ID: u12, reserved16: u4, - /// REV_ID + /// REV_ID REV_ID: u16, }), - /// Control Register + /// Control Register CR: mmio.Mmio(packed struct(u32) { - /// DBG_SLEEP + /// DBG_SLEEP DBG_SLEEP: u1, - /// DBG_STOP + /// DBG_STOP DBG_STOP: u1, - /// DBG_STANDBY + /// DBG_STANDBY DBG_STANDBY: u1, reserved5: u2, - /// TRACE_IOEN + /// TRACE_IOEN TRACE_IOEN: u1, - /// TRACE_MODE + /// TRACE_MODE TRACE_MODE: u2, padding: u24, }), - /// Debug MCU APB1 Freeze registe + /// Debug MCU APB1 Freeze registe APB1FZR: mmio.Mmio(packed struct(u32) { - /// TIM2 + /// TIM2 TIM2: u1, - /// TIM3 + /// TIM3 TIM3: u1, - /// TIM4 + /// TIM4 TIM4: u1, - /// TIM5 + /// TIM5 TIM5: u1, - /// TIM6 + /// TIM6 TIM6: u1, - /// TIM7 + /// TIM7 TIM7: u1, - /// TIM12 + /// TIM12 TIM12: u1, - /// TIM13 + /// TIM13 TIM13: u1, - /// TIM14 + /// TIM14 TIM14: u1, reserved10: u1, - /// RTC stopped when Core is halted + /// RTC stopped when Core is halted RTC: u1, - /// WWDG + /// WWDG WWDG: u1, - /// IWDEG + /// IWDEG IWDG: u1, reserved21: u8, - /// I2C1_SMBUS_TIMEOUT + /// I2C1_SMBUS_TIMEOUT I2C1_SMBUS_TIMEOUT: u1, - /// I2C2_SMBUS_TIMEOUT + /// I2C2_SMBUS_TIMEOUT I2C2_SMBUS_TIMEOUT: u1, - /// I2C3SMBUS_TIMEOUT + /// I2C3SMBUS_TIMEOUT I2C3_SMBUS_TIMEOUT: u1, - /// SMBUS timeout mode stopped when Core is halted + /// SMBUS timeout mode stopped when Core is halted I2CFMP_SMBUS_TIMEOUT: u1, - /// CAN1 + /// CAN1 CAN1: u1, - /// CAN2 + /// CAN2 CAN2: u1, padding: u5, }), - /// Debug MCU APB2 Freeze registe + /// Debug MCU APB2 Freeze registe APB2FZR: mmio.Mmio(packed struct(u32) { - /// TIM1 counter stopped when core is halted + /// TIM1 counter stopped when core is halted TIM1: u1, - /// TIM8 counter stopped when core is halted + /// TIM8 counter stopped when core is halted TIM8: u1, reserved16: u14, - /// TIM9 counter stopped when core is halted + /// TIM9 counter stopped when core is halted TIM9: u1, - /// TIM10 counter stopped when core is halted + /// TIM10 counter stopped when core is halted TIM10: u1, - /// TIM11 counter stopped when core is halted + /// TIM11 counter stopped when core is halted TIM11: u1, padding: u13, }), @@ -318047,88 +317141,88 @@ pub const types = struct { }; pub const dbgmcu_f7 = struct { - /// Debug support + /// Debug support pub const DBGMCU = extern struct { - /// IDCODE + /// IDCODE IDCODE: mmio.Mmio(packed struct(u32) { - /// DEV_ID + /// DEV_ID DEV_ID: u12, reserved16: u4, - /// REV_ID + /// REV_ID REV_ID: u16, }), - /// Control Register + /// Control Register CR: mmio.Mmio(packed struct(u32) { - /// DBG_SLEEP + /// DBG_SLEEP DBG_SLEEP: u1, - /// DBG_STOP + /// DBG_STOP DBG_STOP: u1, - /// DBG_STANDBY + /// DBG_STANDBY DBG_STANDBY: u1, reserved5: u2, - /// TRACE_IOEN + /// TRACE_IOEN TRACE_IOEN: u1, - /// TRACE_MODE + /// TRACE_MODE TRACE_MODE: u2, padding: u24, }), - /// Debug MCU APB1 Freeze register + /// Debug MCU APB1 Freeze register APB1FZR: mmio.Mmio(packed struct(u32) { - /// TIM2 + /// TIM2 TIM2: u1, - /// TIM3 + /// TIM3 TIM3: u1, - /// TIM4 + /// TIM4 TIM4: u1, - /// TIM5 + /// TIM5 TIM5: u1, - /// TIM6 + /// TIM6 TIM6: u1, - /// TIM7 + /// TIM7 TIM7: u1, - /// TIM12 + /// TIM12 TIM12: u1, - /// TIM13 + /// TIM13 TIM13: u1, - /// TIM14 + /// TIM14 TIM14: u1, - /// LPTIM1 + /// LPTIM1 LPTIM1: u1, - /// RTC + /// RTC RTC: u1, - /// WWDG + /// WWDG WWDG: u1, - /// IWDG + /// IWDG IWDG: u1, - /// CAN3 + /// CAN3 CAN3: u1, reserved21: u7, - /// DBG_I2C1_SMBUS_TIMEOUT + /// DBG_I2C1_SMBUS_TIMEOUT DBG_I2C1_SMBUS_TIMEOUT: u1, - /// DBG_I2C2_SMBUS_TIMEOUT + /// DBG_I2C2_SMBUS_TIMEOUT DBG_I2C2_SMBUS_TIMEOUT: u1, - /// DBG_I2C3_SMBUS_TIMEOUT + /// DBG_I2C3_SMBUS_TIMEOUT DBG_I2C3_SMBUS_TIMEOUT: u1, - /// DBG_I2C4SMBUS_TIMEOUT + /// DBG_I2C4SMBUS_TIMEOUT DBG_I2C4_SMBUS_TIMEOUT: u1, - /// CAN1 + /// CAN1 CAN1: u1, - /// CAN2 + /// CAN2 CAN2: u1, padding: u5, }), - /// Debug MCU APB2 Freeze register + /// Debug MCU APB2 Freeze register APB2FZR: mmio.Mmio(packed struct(u32) { - /// TIM1 counter stopped when core is halted + /// TIM1 counter stopped when core is halted TIM1: u1, - /// TIM8 counter stopped when core is halted + /// TIM8 counter stopped when core is halted TIM8: u1, reserved16: u14, - /// TIM9 counter stopped when core is halted + /// TIM9 counter stopped when core is halted TIM9: u1, - /// TIM10 counter stopped when core is halted + /// TIM10 counter stopped when core is halted TIM10: u1, - /// TIM11 counter stopped when core is halted + /// TIM11 counter stopped when core is halted TIM11: u1, padding: u13, }), @@ -318136,64 +317230,64 @@ pub const types = struct { }; pub const dbgmcu_g0 = struct { - /// Debug support + /// Debug support pub const DBGMCU = extern struct { - /// MCU Device ID Code Register + /// MCU Device ID Code Register IDCODE: mmio.Mmio(packed struct(u32) { - /// Device Identifier + /// Device Identifier DEV_ID: u16, - /// Revision Identifier + /// Revision Identifier REV_ID: u16, }), - /// Debug MCU Configuration Register + /// Debug MCU Configuration Register CR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Debug Stop Mode + /// Debug Stop Mode DBG_STOP: u1, - /// Debug Standby Mode + /// Debug Standby Mode DBG_STANDBY: u1, padding: u29, }), - /// DBG APB freeze register 1 + /// DBG APB freeze register 1 APB1FZR: mmio.Mmio(packed struct(u32) { - /// Debug Timer 2 stopped when Core is halted + /// Debug Timer 2 stopped when Core is halted TIM2: u1, - /// TIM3 counter stopped when core is halted + /// TIM3 counter stopped when core is halted TIM3: u1, reserved4: u2, - /// Debug Timer 6 stopped when Core is halted + /// Debug Timer 6 stopped when Core is halted TIM6: u1, - /// TIM7 counter stopped when core is halted + /// TIM7 counter stopped when core is halted TIM7: u1, reserved10: u4, - /// Debug RTC stopped when Core is halted + /// Debug RTC stopped when Core is halted RTC: u1, - /// Debug Window Wachdog stopped when Core is halted + /// Debug Window Wachdog stopped when Core is halted WWDG: u1, - /// Debug Independent Wachdog stopped when Core is halted + /// Debug Independent Wachdog stopped when Core is halted IWDG: u1, reserved21: u8, - /// I2C1 SMBUS timeout mode stopped when core is halted + /// I2C1 SMBUS timeout mode stopped when core is halted I2C1: u1, reserved30: u8, - /// Clocking of LPTIMER2 counter when the core is halted + /// Clocking of LPTIMER2 counter when the core is halted LPTIM2: u1, - /// Clocking of LPTIMER1 counter when the core is halted + /// Clocking of LPTIMER1 counter when the core is halted LPTIM1: u1, }), - /// DBG APB freeze register 2 + /// DBG APB freeze register 2 APB2FZR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 + /// TIM1 TIM1: u1, reserved15: u3, - /// TIM14 + /// TIM14 TIM14: u1, - /// TIM15 + /// TIM15 TIM15: u1, - /// TIM16 + /// TIM16 TIM16: u1, - /// TIM17 + /// TIM17 TIM17: u1, padding: u13, }), @@ -318201,95 +317295,95 @@ pub const types = struct { }; pub const dbgmcu_g4 = struct { - /// Debug support + /// Debug support pub const DBGMCU = extern struct { - /// MCU Device ID Code Register + /// MCU Device ID Code Register IDCODE: mmio.Mmio(packed struct(u32) { - /// Device Identifier + /// Device Identifier DEV_ID: u16, - /// Revision Identifier + /// Revision Identifier REV_ID: u16, }), - /// Debug MCU Configuration Register + /// Debug MCU Configuration Register CR: mmio.Mmio(packed struct(u32) { - /// Debug Sleep Mode + /// Debug Sleep Mode DBG_SLEEP: u1, - /// Debug Stop Mode + /// Debug Stop Mode DBG_STOP: u1, - /// Debug Standby Mode + /// Debug Standby Mode DBG_STANDBY: u1, reserved5: u2, - /// Trace pin assignment control + /// Trace pin assignment control TRACE_IOEN: u1, - /// Trace pin assignment control + /// Trace pin assignment control TRACE_MODE: u2, padding: u24, }), - /// APB Low Freeze Register 1 + /// APB Low Freeze Register 1 APB1LFZR: mmio.Mmio(packed struct(u32) { - /// Debug Timer 2 stopped when Core is halted + /// Debug Timer 2 stopped when Core is halted TIM2: u1, - /// TIM3 counter stopped when core is halted + /// TIM3 counter stopped when core is halted TIM3: u1, - /// TIM4 counter stopped when core is halted + /// TIM4 counter stopped when core is halted TIM4: u1, - /// TIM5 counter stopped when core is halted + /// TIM5 counter stopped when core is halted TIM5: u1, - /// Debug Timer 6 stopped when Core is halted + /// Debug Timer 6 stopped when Core is halted TIM6: u1, - /// TIM7 counter stopped when core is halted + /// TIM7 counter stopped when core is halted TIM7: u1, reserved10: u4, - /// Debug RTC stopped when Core is halted + /// Debug RTC stopped when Core is halted RTC: u1, - /// Debug Window Wachdog stopped when Core is halted + /// Debug Window Wachdog stopped when Core is halted WWDG: u1, - /// Debug Independent Wachdog stopped when Core is halted + /// Debug Independent Wachdog stopped when Core is halted IWDG: u1, reserved21: u8, - /// I2C1 SMBUS timeout mode stopped when core is halted + /// I2C1 SMBUS timeout mode stopped when core is halted I2C1: u1, - /// I2C2 SMBUS timeout mode stopped when core is halted + /// I2C2 SMBUS timeout mode stopped when core is halted I2C2: u1, reserved30: u7, - /// I2C3 SMBUS timeout mode stopped when core is halted + /// I2C3 SMBUS timeout mode stopped when core is halted I2C3: u1, - /// LPTIM1 counter stopped when core is halted + /// LPTIM1 counter stopped when core is halted LPTIMER: u1, }), - /// APB Low Freeze Register 2 + /// APB Low Freeze Register 2 APB1HFZR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// I2C4 + /// I2C4 I2C4: u1, padding: u30, }), - /// APB High Freeze Register + /// APB High Freeze Register APB2FZR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 counter stopped when core is halted + /// TIM1 counter stopped when core is halted TIM1: u1, reserved13: u1, - /// TIM8 counter stopped when core is halted + /// TIM8 counter stopped when core is halted TIM8: u1, reserved16: u2, - /// TIM15 counter stopped when core is halted + /// TIM15 counter stopped when core is halted TIM15: u1, - /// TIM16 counter stopped when core is halted + /// TIM16 counter stopped when core is halted TIM16: u1, - /// TIM17 counter stopped when core is halted + /// TIM17 counter stopped when core is halted TIM17: u1, reserved20: u1, - /// TIM20counter stopped when core is halted + /// TIM20counter stopped when core is halted TIM20: u1, reserved26: u5, - /// HRTIM0 + /// HRTIM0 HRTIM0: u1, - /// HRTIM0 + /// HRTIM0 HRTIM1: u1, - /// HRTIM0 + /// HRTIM0 HRTIM2: u1, - /// HRTIM0 + /// HRTIM0 HRTIM3: u1, padding: u2, }), @@ -318297,211 +317391,211 @@ pub const types = struct { }; pub const dbgmcu_h5 = struct { - /// Microcontroller debug unit. + /// Microcontroller debug unit. pub const DBGMCU = extern struct { - /// DBGMCU identity code register. + /// DBGMCU identity code register. IDCODE: mmio.Mmio(packed struct(u32) { - /// device identification. + /// device identification. DEV_ID: u12, reserved16: u4, - /// revision. + /// revision. REV_ID: u16, }), - /// DBGMCU configuration register. + /// DBGMCU configuration register. CR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Allows debug in Stop mode All clocks are disabled automatically in Stop mode. All active clocks and oscillators continue to run during Stop mode, allowing full debug capability. On exit from Stop mode, the clock settings are set to the Stop mode exit state. + /// Allows debug in Stop mode All clocks are disabled automatically in Stop mode. All active clocks and oscillators continue to run during Stop mode, allowing full debug capability. On exit from Stop mode, the clock settings are set to the Stop mode exit state. STOP: u1, - /// Allows debug in Standby mode All clocks are disabled and the core powered down automatically in Standby mode. All active clocks and oscillators continue to run during Standby mode, and the core supply is maintained, allowing full debug capability. On exit from Standby mode, a system reset is performed. + /// Allows debug in Standby mode All clocks are disabled and the core powered down automatically in Standby mode. All active clocks and oscillators continue to run during Standby mode, and the core supply is maintained, allowing full debug capability. On exit from Standby mode, a system reset is performed. STANDBY: u1, reserved4: u1, - /// trace pin enable. + /// trace pin enable. TRACE_IOEN: u1, - /// trace port and clock enable. This bit enables the trace port clock, TRACECK. + /// trace port and clock enable. This bit enables the trace port clock, TRACECK. TRACE_EN: u1, - /// trace pin assignment. + /// trace pin assignment. TRACE_MODE: u2, reserved16: u8, - /// Debug credentials reset type This bit selects which type of reset is used to revoke the debug authentication credentials. + /// Debug credentials reset type This bit selects which type of reset is used to revoke the debug authentication credentials. DCRT: u1, padding: u15, }), - /// DBGMCU APB1L peripheral freeze register. + /// DBGMCU APB1L peripheral freeze register. APB1LFZR: mmio.Mmio(packed struct(u32) { - /// TIM2 stop in debug. + /// TIM2 stop in debug. TIM2_STOP: u1, - /// TIM3 stop in debug. + /// TIM3 stop in debug. TIM3_STOP: u1, - /// TIM4 stop in debug. + /// TIM4 stop in debug. TIM4_STOP: u1, - /// TIM5 stop in debug. + /// TIM5 stop in debug. TIM5_STOP: u1, - /// TIM6 stop in debug. + /// TIM6 stop in debug. TIM6_STOP: u1, - /// TIM7 stop in debug. + /// TIM7 stop in debug. TIM7_STOP: u1, - /// TIM12 stop in debug. + /// TIM12 stop in debug. TIM12_STOP: u1, - /// TIM13 stop in debug. + /// TIM13 stop in debug. TIM13_STOP: u1, - /// TIM14 stop in debug. + /// TIM14 stop in debug. TIM14_STOP: u1, reserved11: u2, - /// WWDG stop in debug. + /// WWDG stop in debug. WWDG_STOP: u1, - /// IWDG stop in debug. + /// IWDG stop in debug. IWDG_STOP: u1, reserved21: u8, - /// I2C1 SMBUS timeout stop in debug. + /// I2C1 SMBUS timeout stop in debug. I2C1_STOP: u1, - /// I2C2 SMBUS timeout stop in debug. + /// I2C2 SMBUS timeout stop in debug. I2C2_STOP: u1, - /// I3C1 SCL stall counter stop in debug. + /// I3C1 SCL stall counter stop in debug. I3C1_STOP: u1, padding: u8, }), - /// DBGMCU APB1H peripheral freeze register. + /// DBGMCU APB1H peripheral freeze register. APB1HFZR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// LPTIM2 stop in debug. + /// LPTIM2 stop in debug. LPTIM2_STOP: u1, padding: u26, }), - /// DBGMCU APB2 peripheral freeze register. + /// DBGMCU APB2 peripheral freeze register. APB2FZR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 stop in debug. + /// TIM1 stop in debug. TIM1_STOP: u1, reserved13: u1, - /// TIM8 stop in debug. + /// TIM8 stop in debug. TIM8_STOP: u1, reserved16: u2, - /// TIM15 stop in debug. + /// TIM15 stop in debug. TIM15_STOP: u1, - /// TIM16 stop in debug. + /// TIM16 stop in debug. TIM16_STOP: u1, - /// TIM17 stop in debug. + /// TIM17 stop in debug. TIM17_STOP: u1, padding: u13, }), - /// DBGMCU APB3 peripheral freeze register. + /// DBGMCU APB3 peripheral freeze register. APB3FZR: mmio.Mmio(packed struct(u32) { reserved10: u10, - /// I2C3 SMBUS timeout stop in debug. + /// I2C3 SMBUS timeout stop in debug. I2C3_STOP: u1, - /// I2C4 SMBUS timeout stop in debug. + /// I2C4 SMBUS timeout stop in debug. I2C4_STOP: u1, reserved17: u5, - /// LPTIM1 stop in debug. + /// LPTIM1 stop in debug. LPTIM1_STOP: u1, - /// LPTIM3 stop in debug. + /// LPTIM3 stop in debug. LPTIM3_STOP: u1, - /// LPTIM4 stop in debug. + /// LPTIM4 stop in debug. LPTIM4_STOP: u1, - /// LPTIM5 stop in debug. + /// LPTIM5 stop in debug. LPTIM5_STOP: u1, - /// LPTIM6 stop in debug. + /// LPTIM6 stop in debug. LPTIM6_STOP: u1, reserved30: u8, - /// RTC stop in debug. + /// RTC stop in debug. RTC_STOP: u1, padding: u1, }), reserved32: [8]u8, - /// DBGMCU AHB1 peripheral freeze register. + /// DBGMCU AHB1 peripheral freeze register. AHB1FZR: mmio.Mmio(packed struct(u32) { - /// GPDMA1 channel 0 stop in debug. + /// GPDMA1 channel 0 stop in debug. GPDMA1_STOP: u1, reserved16: u15, - /// GPDMA2 channel 0 stop in debug. + /// GPDMA2 channel 0 stop in debug. GPDMA2_STOP: u1, padding: u15, }), reserved252: [216]u8, - /// DBGMCU status register. + /// DBGMCU status register. SR: mmio.Mmio(packed struct(u32) { - /// Bit n identifies whether access port AP n is present in device Bit n = 0: APn absent Bit n = 1: APn present. + /// Bit n identifies whether access port AP n is present in device Bit n = 0: APn absent Bit n = 1: APn present. AP_PRESENT: u16, - /// Bit n identifies whether access port AP n is open (can be accessed via the debug port) or locked (debug access to the AP is blocked) Bit n = 0: APn locked Bit n = 1: APn enabled. + /// Bit n identifies whether access port AP n is open (can be accessed via the debug port) or locked (debug access to the AP is blocked) Bit n = 0: APn locked Bit n = 1: APn enabled. AP_ENABLED: u16, }), - /// DBGMCU debug authentication mailbox host register. + /// DBGMCU debug authentication mailbox host register. AUTH_HOST: u32, - /// DBGMCU debug authentication mailbox device register. + /// DBGMCU debug authentication mailbox device register. AUTH_DEVICE: u32, - /// DBGMCU debug authentication mailbox acknowledge register. + /// DBGMCU debug authentication mailbox acknowledge register. AUTH_ACK: mmio.Mmio(packed struct(u32) { - /// Host to device acknowledge. The device sets this bit to indicate that it has placed a message in the DBGMCU_DBG_AUTH_DEVICE register. It should be reset by the host after reading the message. + /// Host to device acknowledge. The device sets this bit to indicate that it has placed a message in the DBGMCU_DBG_AUTH_DEVICE register. It should be reset by the host after reading the message. HOST_ACK: u1, - /// Device to device acknowledge. The host sets this bit to indicate that it has placed a message in the DBGMCU_DBG_AUTH_HOST register. It is reset by the device after reading the message. + /// Device to device acknowledge. The host sets this bit to indicate that it has placed a message in the DBGMCU_DBG_AUTH_HOST register. It is reset by the device after reading the message. DEV_ACK: u1, padding: u30, }), reserved4048: [3780]u8, - /// DBGMCU CoreSight peripheral identity register 4. + /// DBGMCU CoreSight peripheral identity register 4. PIDR4: mmio.Mmio(packed struct(u32) { - /// JEP106 continuation code. + /// JEP106 continuation code. JEP106CON: u4, - /// register file size. + /// register file size. SIZE: u4, padding: u24, }), reserved4064: [12]u8, - /// DBGMCU CoreSight peripheral identity register 0. + /// DBGMCU CoreSight peripheral identity register 0. PIDR0: mmio.Mmio(packed struct(u32) { - /// part number bits [7:0]. + /// part number bits [7:0]. PARTNUM: u8, padding: u24, }), - /// DBGMCU CoreSight peripheral identity register 1. + /// DBGMCU CoreSight peripheral identity register 1. PIDR1: mmio.Mmio(packed struct(u32) { - /// part number bits [11:8]. + /// part number bits [11:8]. PARTNUM: u4, - /// JEP106 identity code bits [3:0]. + /// JEP106 identity code bits [3:0]. JEP106ID: u4, padding: u24, }), - /// DBGMCU CoreSight peripheral identity register 2. + /// DBGMCU CoreSight peripheral identity register 2. PIDR2: mmio.Mmio(packed struct(u32) { - /// JEP106 identity code bits [6:4]. + /// JEP106 identity code bits [6:4]. JEP106ID: u3, - /// JEDEC assigned value. + /// JEDEC assigned value. JEDEC: u1, - /// component revision number. + /// component revision number. REVISION: u4, padding: u24, }), - /// DBGMCU CoreSight peripheral identity register 3. + /// DBGMCU CoreSight peripheral identity register 3. PIDR3: mmio.Mmio(packed struct(u32) { - /// customer modified. + /// customer modified. CMOD: u4, - /// metal fix version. + /// metal fix version. REVAND: u4, padding: u24, }), - /// DBGMCU CoreSight component identity register 0. + /// DBGMCU CoreSight component identity register 0. CIDR0: mmio.Mmio(packed struct(u32) { - /// component identification bits [7:0]. + /// component identification bits [7:0]. PREAMBLE: u8, padding: u24, }), - /// DBGMCU CoreSight component identity register 1. + /// DBGMCU CoreSight component identity register 1. CIDR1: mmio.Mmio(packed struct(u32) { - /// component identification bits [11:8]. + /// component identification bits [11:8]. PREAMBLE: u4, - /// component identification bits [15:12] - component class. + /// component identification bits [15:12] - component class. CLASS: u4, padding: u24, }), - /// DBGMCU CoreSight component identity register 2. + /// DBGMCU CoreSight component identity register 2. CIDR2: mmio.Mmio(packed struct(u32) { - /// component identification bits [23:16]. + /// component identification bits [23:16]. PREAMBLE: u8, padding: u24, }), - /// DBGMCU CoreSight component identity register 3. + /// DBGMCU CoreSight component identity register 3. CIDR3: mmio.Mmio(packed struct(u32) { - /// component identification bits [31:24]. + /// component identification bits [31:24]. PREAMBLE: u8, padding: u24, }), @@ -318509,115 +317603,115 @@ pub const types = struct { }; pub const dbgmcu_h7 = struct { - /// Debug support + /// Debug support pub const DBGMCU = extern struct { - /// Identity code + /// Identity code IDC: mmio.Mmio(packed struct(u32) { - /// Device ID + /// Device ID DEV_ID: u12, reserved16: u4, - /// Revision ID + /// Revision ID REV_ID: u16, }), - /// Configuration register + /// Configuration register CR: mmio.Mmio(packed struct(u32) { - /// Allow debug in D1 Sleep mode + /// Allow debug in D1 Sleep mode DBGSLEEP_D1: u1, - /// Allow debug in D1 Stop mode + /// Allow debug in D1 Stop mode DBGSTOP_D1: u1, - /// Allow debug in D1 Standby mode + /// Allow debug in D1 Standby mode DBGSTBY_D1: u1, reserved20: u17, - /// Trace clock enable enable + /// Trace clock enable enable TRACECLKEN: u1, - /// D1 debug clock enable enable + /// D1 debug clock enable enable D1DBGCKEN: u1, - /// D3 debug clock enable enable + /// D3 debug clock enable enable D3DBGCKEN: u1, reserved28: u5, - /// External trigger output enable + /// External trigger output enable TRGOEN: u1, padding: u3, }), reserved52: [44]u8, - /// APB3 peripheral freeze register + /// APB3 peripheral freeze register APB3FZR1: mmio.Mmio(packed struct(u32) { reserved6: u6, - /// WWDG1 stop in debug mode + /// WWDG1 stop in debug mode WWDG1: u1, padding: u25, }), reserved60: [4]u8, - /// APB1L peripheral freeze register + /// APB1L peripheral freeze register APB1LFZR1: mmio.Mmio(packed struct(u32) { - /// TIM2 stop in debug mode + /// TIM2 stop in debug mode TIM2: u1, - /// TIM3 stop in debug mode + /// TIM3 stop in debug mode TIM3: u1, - /// TIM4 stop in debug mode + /// TIM4 stop in debug mode TIM4: u1, - /// TIM5 stop in debug mode + /// TIM5 stop in debug mode TIM5: u1, - /// TIM6 stop in debug mode + /// TIM6 stop in debug mode TIM6: u1, - /// TIM7 stop in debug mode + /// TIM7 stop in debug mode TIM7: u1, - /// TIM12 stop in debug mode + /// TIM12 stop in debug mode TIM12: u1, - /// TIM13 stop in debug mode + /// TIM13 stop in debug mode TIM13: u1, - /// TIM14 stop in debug mode + /// TIM14 stop in debug mode TIM14: u1, - /// LPTIM1 stop in debug mode + /// LPTIM1 stop in debug mode LPTIM1: u1, reserved21: u11, - /// I2C1 SMBUS timeout stop in debug mode + /// I2C1 SMBUS timeout stop in debug mode I2C1: u1, - /// I2C2 SMBUS timeout stop in debug mode + /// I2C2 SMBUS timeout stop in debug mode I2C2: u1, - /// I2C3 SMBUS timeout stop in debug mode + /// I2C3 SMBUS timeout stop in debug mode I2C3: u1, padding: u8, }), reserved76: [12]u8, - /// APB2 peripheral freeze register + /// APB2 peripheral freeze register APB2FZR1: mmio.Mmio(packed struct(u32) { - /// TIM1 stop in debug mode + /// TIM1 stop in debug mode TIM1: u1, - /// TIM8 stop in debug mode + /// TIM8 stop in debug mode TIM8: u1, reserved16: u14, - /// TIM15 stop in debug mode + /// TIM15 stop in debug mode TIM15: u1, - /// TIM16 stop in debug mode + /// TIM16 stop in debug mode TIM16: u1, - /// TIM17 stop in debug mode + /// TIM17 stop in debug mode TIM17: u1, reserved29: u10, - /// HRTIM stop in debug mode + /// HRTIM stop in debug mode HRTIM: u1, padding: u2, }), reserved84: [4]u8, - /// APB4 peripheral freeze register + /// APB4 peripheral freeze register APB4FZR1: mmio.Mmio(packed struct(u32) { reserved7: u7, - /// I2C4 SMBUS timeout stop in debug mode + /// I2C4 SMBUS timeout stop in debug mode I2C4: u1, reserved9: u1, - /// LPTIM2 stop in debug mode + /// LPTIM2 stop in debug mode LPTIM2: u1, - /// LPTIM3 stop in debug mode + /// LPTIM3 stop in debug mode LPTIM3: u1, - /// LPTIM4 stop in debug mode + /// LPTIM4 stop in debug mode LPTIM4: u1, - /// LPTIM5 stop in debug mode + /// LPTIM5 stop in debug mode LPTIM5: u1, reserved16: u3, - /// RTC stop in debug mode + /// RTC stop in debug mode RTC: u1, reserved18: u1, - /// Independent watchdog for D1 stop in debug mode + /// Independent watchdog for D1 stop in debug mode IWDG1: u1, padding: u13, }), @@ -318625,56 +317719,56 @@ pub const types = struct { }; pub const dbgmcu_l0 = struct { - /// Debug support + /// Debug support pub const DBGMCU = extern struct { - /// MCU Device ID Code Register + /// MCU Device ID Code Register IDCODE: mmio.Mmio(packed struct(u32) { - /// Device Identifier + /// Device Identifier DEV_ID: u12, reserved16: u4, - /// Revision Identifier + /// Revision Identifier REV_ID: u16, }), - /// Debug MCU Configuration Register + /// Debug MCU Configuration Register CR: mmio.Mmio(packed struct(u32) { - /// Debug Sleep Mode + /// Debug Sleep Mode DBG_SLEEP: u1, - /// Debug Stop Mode + /// Debug Stop Mode DBG_STOP: u1, - /// Debug Standby Mode + /// Debug Standby Mode DBG_STANDBY: u1, padding: u29, }), - /// APB Low Freeze Register + /// APB Low Freeze Register APB1FZR: mmio.Mmio(packed struct(u32) { - /// Debug Timer 2 stopped when Core is halted + /// Debug Timer 2 stopped when Core is halted TIM2: u1, reserved4: u3, - /// Debug Timer 6 stopped when Core is halted + /// Debug Timer 6 stopped when Core is halted TIM6: u1, reserved10: u5, - /// Debug RTC stopped when Core is halted + /// Debug RTC stopped when Core is halted RTC: u1, - /// Debug Window Wachdog stopped when Core is halted + /// Debug Window Wachdog stopped when Core is halted WWDG: u1, - /// Debug Independent Wachdog stopped when Core is halted + /// Debug Independent Wachdog stopped when Core is halted IWDG: u1, reserved21: u8, - /// I2C1 SMBUS timeout mode stopped when core is halted + /// I2C1 SMBUS timeout mode stopped when core is halted I2C1: u1, - /// I2C2 SMBUS timeout mode stopped when core is halted + /// I2C2 SMBUS timeout mode stopped when core is halted I2C2: u1, reserved31: u8, - /// LPTIM1 counter stopped when core is halted + /// LPTIM1 counter stopped when core is halted LPTIM: u1, }), - /// APB High Freeze Register + /// APB High Freeze Register APB2FZR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Debug Timer 21 stopped when Core is halted + /// Debug Timer 21 stopped when Core is halted TIM21: u1, reserved6: u3, - /// Debug Timer 22 stopped when Core is halted + /// Debug Timer 22 stopped when Core is halted TIM22: u1, padding: u25, }), @@ -318682,67 +317776,67 @@ pub const types = struct { }; pub const dbgmcu_l1 = struct { - /// debug support + /// debug support pub const DBGMCU = extern struct { - /// DBGMCU_IDCODE + /// DBGMCU_IDCODE IDCODE: mmio.Mmio(packed struct(u32) { - /// Device identifier + /// Device identifier DEV_ID: u12, reserved16: u4, - /// Revision identifie + /// Revision identifie REV_ID: u16, }), - /// Debug MCU configuration register + /// Debug MCU configuration register CR: mmio.Mmio(packed struct(u32) { - /// Debug Sleep mode + /// Debug Sleep mode DBG_SLEEP: u1, - /// Debug Stop mode + /// Debug Stop mode DBG_STOP: u1, - /// Debug Standby mode + /// Debug Standby mode DBG_STANDBY: u1, reserved5: u2, - /// Trace pin assignment control + /// Trace pin assignment control TRACE_IOEN: u1, - /// Trace pin assignment control + /// Trace pin assignment control TRACE_MODE: u2, padding: u24, }), - /// Debug MCU APB1 freeze register1 + /// Debug MCU APB1 freeze register1 APB1_FZ: mmio.Mmio(packed struct(u32) { - /// TIM2 counter stopped when core is halted + /// TIM2 counter stopped when core is halted DBG_TIM2_STOP: u1, - /// TIM3 counter stopped when core is halted + /// TIM3 counter stopped when core is halted DBG_TIM3_STOP: u1, - /// TIM4 counter stopped when core is halted + /// TIM4 counter stopped when core is halted DBG_TIM4_STOP: u1, - /// TIM5 counter stopped when core is halted + /// TIM5 counter stopped when core is halted DBG_TIM5_STOP: u1, - /// TIM6 counter stopped when core is halted + /// TIM6 counter stopped when core is halted DBG_TIM6_STOP: u1, - /// TIM7 counter stopped when core is halted + /// TIM7 counter stopped when core is halted DBG_TIM7_STOP: u1, reserved10: u4, - /// Debug RTC stopped when core is halted + /// Debug RTC stopped when core is halted DBG_RTC_STOP: u1, - /// Debug window watchdog stopped when core is halted + /// Debug window watchdog stopped when core is halted DBG_WWDG_STOP: u1, - /// Debug independent watchdog stopped when core is halted + /// Debug independent watchdog stopped when core is halted DBG_IWDG_STOP: u1, reserved21: u8, - /// SMBUS timeout mode stopped when core is halted + /// SMBUS timeout mode stopped when core is halted DBG_I2C1_SMBUS_TIMEOUT: u1, - /// SMBUS timeout mode stopped when core is halted + /// SMBUS timeout mode stopped when core is halted DBG_I2C2_SMBUS_TIMEOUT: u1, padding: u9, }), - /// Debug MCU APB1 freeze register 2 + /// Debug MCU APB1 freeze register 2 APB2_FZ: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// TIM counter stopped when core is halted + /// TIM counter stopped when core is halted DBG_TIM9_STOP: u1, - /// TIM counter stopped when core is halted + /// TIM counter stopped when core is halted DBG_TIM10_STOP: u1, - /// TIM counter stopped when core is halted + /// TIM counter stopped when core is halted DBG_TIM11_STOP: u1, padding: u27, }), @@ -318750,86 +317844,86 @@ pub const types = struct { }; pub const dbgmcu_l4 = struct { - /// MCU debug component + /// MCU debug component pub const DBGMCU = extern struct { - /// DBGMCU_IDCODE + /// DBGMCU_IDCODE IDCODE: mmio.Mmio(packed struct(u32) { - /// Device identifier + /// Device identifier DEV_ID: u16, - /// Revision identifie + /// Revision identifie REV_ID: u16, }), - /// Debug MCU configuration register + /// Debug MCU configuration register CR: mmio.Mmio(packed struct(u32) { - /// Debug Sleep mode + /// Debug Sleep mode DBG_SLEEP: u1, - /// Debug Stop mode + /// Debug Stop mode DBG_STOP: u1, - /// Debug Standby mode + /// Debug Standby mode DBG_STANDBY: u1, reserved5: u2, - /// Trace pin assignment control + /// Trace pin assignment control TRACE_IOEN: u1, - /// Trace pin assignment control + /// Trace pin assignment control TRACE_MODE: u2, padding: u24, }), - /// Debug MCU APB1 freeze register1 + /// Debug MCU APB1 freeze register1 APB1FZR1: mmio.Mmio(packed struct(u32) { - /// TIM2 counter stopped when core is halted + /// TIM2 counter stopped when core is halted TIM2: u1, - /// TIM3 counter stopped when core is halted + /// TIM3 counter stopped when core is halted TIM3: u1, - /// TIM4 counter stopped when core is halted + /// TIM4 counter stopped when core is halted TIM4: u1, - /// TIM5 counter stopped when core is halted + /// TIM5 counter stopped when core is halted TIM5: u1, - /// TIM6 counter stopped when core is halted + /// TIM6 counter stopped when core is halted TIM6: u1, - /// TIM7 counter stopped when core is halted + /// TIM7 counter stopped when core is halted TIM7: u1, reserved10: u4, - /// RTC counter stopped when core is halted + /// RTC counter stopped when core is halted RTC: u1, - /// Window watchdog counter stopped when core is halted + /// Window watchdog counter stopped when core is halted WWDG: u1, - /// Independent watchdog counter stopped when core is halted + /// Independent watchdog counter stopped when core is halted IWDG: u1, reserved21: u8, - /// I2C1 SMBUS timeout counter stopped when core is halted + /// I2C1 SMBUS timeout counter stopped when core is halted I2C1: u1, - /// I2C2 SMBUS timeout counter stopped when core is halted + /// I2C2 SMBUS timeout counter stopped when core is halted I2C2: u1, - /// I2C3 SMBUS timeout counter stopped when core is halted + /// I2C3 SMBUS timeout counter stopped when core is halted I2C3: u1, reserved25: u1, - /// bxCAN stopped when core is halted + /// bxCAN stopped when core is halted CAN: u1, reserved31: u5, - /// LPTIM1 counter stopped when core is halted + /// LPTIM1 counter stopped when core is halted LPTIM1: u1, }), - /// Debug MCU APB1 freeze register 2 + /// Debug MCU APB1 freeze register 2 APB1FZR2: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// LPTIM2 counter stopped when core is halted + /// LPTIM2 counter stopped when core is halted LPTIM2: u1, padding: u26, }), - /// Debug MCU APB2 freeze register + /// Debug MCU APB2 freeze register APB2FZR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 counter stopped when core is halted + /// TIM1 counter stopped when core is halted TIM1: u1, reserved13: u1, - /// TIM8 counter stopped when core is halted + /// TIM8 counter stopped when core is halted TIM8: u1, reserved16: u2, - /// TIM15 counter stopped when core is halted + /// TIM15 counter stopped when core is halted TIM15: u1, - /// TIM16 counter stopped when core is halted + /// TIM16 counter stopped when core is halted TIM16: u1, - /// TIM17 counter stopped when core is halted + /// TIM17 counter stopped when core is halted TIM17: u1, padding: u13, }), @@ -318837,90 +317931,90 @@ pub const types = struct { }; pub const dbgmcu_l5 = struct { - /// MCU debug component + /// MCU debug component pub const DBGMCU = extern struct { - /// DBGMCU_IDCODE + /// DBGMCU_IDCODE IDCODE: mmio.Mmio(packed struct(u32) { - /// Device identifier + /// Device identifier DEV_ID: u12, reserved16: u4, - /// Revision identifie + /// Revision identifie REV_ID: u16, }), - /// Debug MCU configuration register + /// Debug MCU configuration register CR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Debug Stop mode + /// Debug Stop mode DBG_STOP: u1, - /// Debug Standby mode + /// Debug Standby mode DBG_STANDBY: u1, reserved4: u1, - /// Trace pin assignment control + /// Trace pin assignment control TRACE_IOEN: u1, - /// Trace port and clock enable + /// Trace port and clock enable TRACE_EN: u1, - /// Trace pin assignment control + /// Trace pin assignment control TRACE_MODE: u2, padding: u24, }), - /// Debug MCU APB1 freeze register1 + /// Debug MCU APB1 freeze register1 APB1FZR1: mmio.Mmio(packed struct(u32) { - /// TIM2 counter stopped when core is halted + /// TIM2 counter stopped when core is halted TIM2: u1, - /// TIM3 counter stopped when core is halted + /// TIM3 counter stopped when core is halted TIM3: u1, - /// TIM4 counter stopped when core is halted + /// TIM4 counter stopped when core is halted TIM4: u1, - /// TIM5 counter stopped when core is halted + /// TIM5 counter stopped when core is halted TIM5: u1, - /// TIM6 counter stopped when core is halted + /// TIM6 counter stopped when core is halted TIM6: u1, - /// TIM7 counter stopped when core is halted + /// TIM7 counter stopped when core is halted TIM7: u1, reserved10: u4, - /// RTC counter stopped when core is halted + /// RTC counter stopped when core is halted RTC: u1, - /// Window watchdog counter stopped when core is halted + /// Window watchdog counter stopped when core is halted WWDG: u1, - /// Independent watchdog counter stopped when core is halted + /// Independent watchdog counter stopped when core is halted IWDG: u1, reserved21: u8, - /// I2C1 SMBUS timeout counter stopped when core is halted + /// I2C1 SMBUS timeout counter stopped when core is halted I2C1: u1, - /// I2C2 SMBUS timeout counter stopped when core is halted + /// I2C2 SMBUS timeout counter stopped when core is halted I2C2: u1, - /// I2C3 SMBUS timeout counter stopped when core is halted + /// I2C3 SMBUS timeout counter stopped when core is halted I2C3: u1, reserved31: u7, - /// LPTIM1 counter stopped when core is halted + /// LPTIM1 counter stopped when core is halted LPTIM1: u1, }), - /// Debug MCU APB1 freeze register 2 + /// Debug MCU APB1 freeze register 2 APB1FZR2: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// I2C4 counter stopped when core is halted + /// I2C4 counter stopped when core is halted I2C4: u1, reserved5: u3, - /// LPTIM2 counter stopped when core is halted + /// LPTIM2 counter stopped when core is halted LPTIM2: u1, - /// LPTIM3 counter stopped when core is halted + /// LPTIM3 counter stopped when core is halted LPTIM3: u1, padding: u25, }), - /// Debug MCU APB2 freeze register + /// Debug MCU APB2 freeze register APB2FZR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 counter stopped when core is halted + /// TIM1 counter stopped when core is halted TIM1: u1, reserved13: u1, - /// TIM8 counter stopped when core is halted + /// TIM8 counter stopped when core is halted TIM8: u1, reserved16: u2, - /// TIM15 counter stopped when core is halted + /// TIM15 counter stopped when core is halted TIM15: u1, - /// TIM16 counter stopped when core is halted + /// TIM16 counter stopped when core is halted TIM16: u1, - /// TIM17 counter stopped when core is halted + /// TIM17 counter stopped when core is halted TIM17: u1, padding: u13, }), @@ -318928,236 +318022,236 @@ pub const types = struct { }; pub const dbgmcu_u5 = struct { - /// MCU debug component + /// MCU debug component pub const DBGMCU = extern struct { - /// DBGMCU_IDCODE + /// DBGMCU_IDCODE IDCODE: mmio.Mmio(packed struct(u32) { - /// Device dentification + /// Device dentification DEV_ID: u12, reserved16: u4, - /// Revision + /// Revision REV_ID: u16, }), - /// Debug MCU configuration register + /// Debug MCU configuration register CR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Debug Stop mode + /// Debug Stop mode DBG_STOP: u1, - /// Debug Standby mode + /// Debug Standby mode DBG_STANDBY: u1, reserved4: u1, - /// Trace pin assignment control + /// Trace pin assignment control TRACE_IOEN: u1, - /// trace port and clock enable + /// trace port and clock enable TRACE_EN: u1, - /// Trace pin assignment control + /// Trace pin assignment control TRACE_MODE: u2, padding: u24, }), - /// Debug MCU APB1L peripheral freeze register + /// Debug MCU APB1L peripheral freeze register APB1LFZR: mmio.Mmio(packed struct(u32) { - /// TIM2 stop in debug + /// TIM2 stop in debug DBG_TIM2_STOP: u1, - /// TIM3 stop in debug + /// TIM3 stop in debug DBG_TIM3_STOP: u1, - /// TIM4 stop in debug + /// TIM4 stop in debug DBG_TIM4_STOP: u1, - /// TIM5 stop in debug + /// TIM5 stop in debug DBG_TIM5_STOP: u1, - /// TIM6 stop in debug + /// TIM6 stop in debug DBG_TIM6_STOP: u1, - /// TIM7 stop in debug + /// TIM7 stop in debug DBG_TIM7_STOP: u1, reserved11: u5, - /// Window watchdog counter stop in debug + /// Window watchdog counter stop in debug DBG_WWDG_STOP: u1, - /// Independent watchdog counter stop in debug + /// Independent watchdog counter stop in debug DBG_IWDG_STOP: u1, reserved21: u8, - /// I2C1 SMBUS timeout stop in debug + /// I2C1 SMBUS timeout stop in debug DBG_I2C1_STOP: u1, - /// I2C2 SMBUS timeout stop in debug + /// I2C2 SMBUS timeout stop in debug DBG_I2C2_STOP: u1, padding: u9, }), - /// Debug MCU APB1H peripheral freeze register + /// Debug MCU APB1H peripheral freeze register APB1HFZR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// I2C4 stop in debug + /// I2C4 stop in debug DBG_I2C4_STOP: u1, reserved5: u3, - /// LPTIM2 stop in debug + /// LPTIM2 stop in debug DBG_LPTIM2_STOP: u1, padding: u26, }), - /// Debug MCU APB2 peripheral freeze register + /// Debug MCU APB2 peripheral freeze register APB2FZR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 counter stopped when core is halted + /// TIM1 counter stopped when core is halted DBG_TIM1_STOP: u1, reserved13: u1, - /// TIM8 stop in debug + /// TIM8 stop in debug DBG_TIM8_STOP: u1, reserved16: u2, - /// TIM15 counter stopped when core is halted + /// TIM15 counter stopped when core is halted DBG_TIM15_STOP: u1, - /// TIM16 counter stopped when core is halted + /// TIM16 counter stopped when core is halted DBG_TIM16_STOP: u1, - /// DBG_TIM17_STOP + /// DBG_TIM17_STOP DBG_TIM17_STOP: u1, padding: u13, }), - /// Debug MCU APB3 peripheral freeze register + /// Debug MCU APB3 peripheral freeze register APB3FZR: mmio.Mmio(packed struct(u32) { reserved10: u10, - /// I2C3 stop in debug + /// I2C3 stop in debug DBG_I2C3_STOP: u1, reserved17: u6, - /// LPTIM1 stop in debug + /// LPTIM1 stop in debug DBG_LPTIM1_STOP: u1, - /// LPTIM3 stop in debug + /// LPTIM3 stop in debug DBG_LPTIM3_STOP: u1, - /// LPTIM4 stop in debug + /// LPTIM4 stop in debug DBG_LPTIM4_STOP: u1, reserved30: u10, - /// RTC stop in debug + /// RTC stop in debug DBG_RTC_STOP: u1, padding: u1, }), reserved32: [8]u8, - /// Debug MCU AHB1 peripheral freeze register + /// Debug MCU AHB1 peripheral freeze register AHB1FZR: mmio.Mmio(packed struct(u32) { - /// GPDMA channel 0 stop in debug + /// GPDMA channel 0 stop in debug DBG_GPDMA0_STOP: u1, - /// GPDMA channel 1 stop in debug + /// GPDMA channel 1 stop in debug DBG_GPDMA1_STOP: u1, - /// GPDMA channel 2 stop in debug + /// GPDMA channel 2 stop in debug DBG_GPDMA2_STOP: u1, - /// GPDMA channel 3 stop in debug + /// GPDMA channel 3 stop in debug DBG_GPDMA3_STOP: u1, - /// GPDMA channel 4 stop in debug + /// GPDMA channel 4 stop in debug DBG_GPDMA4_STOP: u1, - /// GPDMA channel 5 stop in debug + /// GPDMA channel 5 stop in debug DBG_GPDMA5_STOP: u1, - /// GPDMA channel 6 stop in debug + /// GPDMA channel 6 stop in debug DBG_GPDMA6_STOP: u1, - /// GPDMA channel 7 stop in debug + /// GPDMA channel 7 stop in debug DBG_GPDMA7_STOP: u1, - /// GPDMA channel 8 stop in debug + /// GPDMA channel 8 stop in debug DBG_GPDMA8_STOP: u1, - /// GPDMA channel 9 stop in debug + /// GPDMA channel 9 stop in debug DBG_GPDMA9_STOP: u1, - /// GPDMA channel 10 stop in debug + /// GPDMA channel 10 stop in debug DBG_GPDMA10_STOP: u1, - /// GPDMA channel 11 stop in debug + /// GPDMA channel 11 stop in debug DBG_GPDMA11_STOP: u1, - /// GPDMA channel 12 stop in debug + /// GPDMA channel 12 stop in debug DBG_GPDMA12_STOP: u1, - /// GPDMA channel 13 stop in debug + /// GPDMA channel 13 stop in debug DBG_GPDMA13_STOP: u1, - /// GPDMA channel 14 stop in debug + /// GPDMA channel 14 stop in debug DBG_GPDMA14_STOP: u1, - /// GPDMA channel 15 stop in debug + /// GPDMA channel 15 stop in debug DBG_GPDMA15_STOP: u1, padding: u16, }), reserved40: [4]u8, - /// Debug MCU AHB3 peripheral freeze register + /// Debug MCU AHB3 peripheral freeze register AHB3FZR: mmio.Mmio(packed struct(u32) { - /// LPDMA channel 0 stop in debug + /// LPDMA channel 0 stop in debug DBG_LPDMA0_STOP: u1, - /// LPDMA channel 1 stop in debug + /// LPDMA channel 1 stop in debug DBG_LPDMA1_STOP: u1, - /// LPDMA channel 2 stop in debug + /// LPDMA channel 2 stop in debug DBG_LPDMA2_STOP: u1, - /// LPDMA channel 3 stop in debug + /// LPDMA channel 3 stop in debug DBG_LPDMA3_STOP: u1, padding: u28, }), reserved252: [208]u8, - /// DBGMCU status register + /// DBGMCU status register DBGMCU_SR: mmio.Mmio(packed struct(u32) { - /// Bit n identifies whether access port AP n is present in device Bit n = 0: APn absent Bit n = 1: APn present + /// Bit n identifies whether access port AP n is present in device Bit n = 0: APn absent Bit n = 1: APn present AP_PRESENT: u8, - /// DECLARATION TO BE CONFIRMED by PRODUCT OWNER! Bit n identifies whether access port AP n is open (can be accessed via the debug port) or locked (debug access to the AP is blocked) Bit n = 0: APn locked Bit n = 1: APn enabled + /// DECLARATION TO BE CONFIRMED by PRODUCT OWNER! Bit n identifies whether access port AP n is open (can be accessed via the debug port) or locked (debug access to the AP is blocked) Bit n = 0: APn locked Bit n = 1: APn enabled AP_LOCKED: u8, padding: u16, }), - /// DBGMCU debug host authentication register + /// DBGMCU debug host authentication register DBGMCU_DBG_AUTH_HOST: mmio.Mmio(packed struct(u32) { - /// Device authentication key The device specific 64-bit authentication key (OEM key) must be written to this register (in two successive 32-bit writes, least significant word first) to permit RDP regression. Writing a wrong key locks access to the device and prevent code execution from the Flash memory. + /// Device authentication key The device specific 64-bit authentication key (OEM key) must be written to this register (in two successive 32-bit writes, least significant word first) to permit RDP regression. Writing a wrong key locks access to the device and prevent code execution from the Flash memory. AUTH_KEY: u32, }), - /// DBGMCU debug device authentication register + /// DBGMCU debug device authentication register DBGMCU_DBG_AUTH_DEVICE: mmio.Mmio(packed struct(u32) { - /// Device specific ID Device specific ID used for RDP regression. + /// Device specific ID Device specific ID used for RDP regression. AUTH_ID: u32, }), reserved4048: [3784]u8, - /// Debug MCU CoreSight peripheral identity register 4 + /// Debug MCU CoreSight peripheral identity register 4 PIDR4: mmio.Mmio(packed struct(u32) { - /// JEP106 continuation code + /// JEP106 continuation code JEP106CON: u4, - /// register file size + /// register file size KCOUNT_4: u4, padding: u24, }), reserved4064: [12]u8, - /// Debug MCU CoreSight peripheral identity register 0 + /// Debug MCU CoreSight peripheral identity register 0 PIDR0: mmio.Mmio(packed struct(u32) { - /// part number bits [7:0] + /// part number bits [7:0] PARTNUM: u8, padding: u24, }), - /// Debug MCU CoreSight peripheral identity register 1 + /// Debug MCU CoreSight peripheral identity register 1 PIDR1: mmio.Mmio(packed struct(u32) { - /// part number bits [11:8] + /// part number bits [11:8] PARTNUM: u4, - /// JEP106 identity code bits [3:0] + /// JEP106 identity code bits [3:0] JEP106ID: u4, padding: u24, }), - /// Debug MCU CoreSight peripheral identity register 2 + /// Debug MCU CoreSight peripheral identity register 2 PIDR2: mmio.Mmio(packed struct(u32) { - /// JEP106 identity code bits [6:4] + /// JEP106 identity code bits [6:4] JEP106ID: u3, - /// JEDEC assigned value + /// JEDEC assigned value JEDEC: u1, - /// component revision number + /// component revision number REVISION: u4, padding: u24, }), - /// Debug MCU CoreSight peripheral identity register 3 + /// Debug MCU CoreSight peripheral identity register 3 PIDR3: mmio.Mmio(packed struct(u32) { - /// customer modified + /// customer modified CMOD: u4, - /// metal fix version + /// metal fix version REVAND: u4, padding: u24, }), - /// Debug MCU CoreSight component identity register 0 + /// Debug MCU CoreSight component identity register 0 CIDR0: mmio.Mmio(packed struct(u32) { - /// component identification bits [7:0] + /// component identification bits [7:0] PREAMBLE: u8, padding: u24, }), - /// Debug MCU CoreSight component identity register 1 + /// Debug MCU CoreSight component identity register 1 CIDR1: mmio.Mmio(packed struct(u32) { - /// component identification bits [11:8] + /// component identification bits [11:8] PREAMBLE: u4, - /// component identification bits [15:12] - component class + /// component identification bits [15:12] - component class CLASS: u4, padding: u24, }), - /// Debug MCU CoreSight component identity register 2 + /// Debug MCU CoreSight component identity register 2 CIDR2: mmio.Mmio(packed struct(u32) { - /// component identification bits [23:16] + /// component identification bits [23:16] PREAMBLE: u8, padding: u24, }), - /// Debug MCU CoreSight component identity register 3 + /// Debug MCU CoreSight component identity register 3 CIDR3: mmio.Mmio(packed struct(u32) { - /// component identification bits [31:24] + /// component identification bits [31:24] PREAMBLE: u8, padding: u24, }), @@ -319165,97 +318259,97 @@ pub const types = struct { }; pub const dbgmcu_wb = struct { - /// Debug support + /// Debug support pub const DBGMCU = extern struct { - /// MCU Device ID Code Register + /// MCU Device ID Code Register IDCODE: mmio.Mmio(packed struct(u32) { - /// Device Identifier + /// Device Identifier DEV_ID: u12, reserved16: u4, - /// Revision Identifier + /// Revision Identifier REV_ID: u16, }), - /// Debug MCU Configuration Register + /// Debug MCU Configuration Register CR: mmio.Mmio(packed struct(u32) { - /// Debug Sleep Mode + /// Debug Sleep Mode DBG_SLEEP: u1, - /// Debug Stop Mode + /// Debug Stop Mode DBG_STOP: u1, - /// Debug Standby Mode + /// Debug Standby Mode DBG_STANDBY: u1, reserved5: u2, - /// Trace port and clock enable + /// Trace port and clock enable TRACE_IOEN: u1, reserved28: u22, - /// External trigger output enable + /// External trigger output enable TRGOEN: u1, padding: u3, }), reserved60: [52]u8, - /// APB1 Low Freeze Register CPU1 + /// APB1 Low Freeze Register CPU1 APB1FZR1: mmio.Mmio(packed struct(u32) { - /// Debug Timer 2 stopped when Core is halted + /// Debug Timer 2 stopped when Core is halted TIM2: u1, reserved10: u9, - /// RTC counter stopped when core is halted + /// RTC counter stopped when core is halted RTC: u1, - /// WWDG counter stopped when core is halted + /// WWDG counter stopped when core is halted WWDG: u1, - /// IWDG counter stopped when core is halted + /// IWDG counter stopped when core is halted IWDG: u1, reserved21: u8, - /// Debug I2C1 SMBUS timeout stopped when Core is halted + /// Debug I2C1 SMBUS timeout stopped when Core is halted I2C1: u1, reserved23: u1, - /// Debug I2C3 SMBUS timeout stopped when core is halted + /// Debug I2C3 SMBUS timeout stopped when core is halted I2C3: u1, reserved31: u7, - /// Debug LPTIM1 stopped when Core is halted + /// Debug LPTIM1 stopped when Core is halted LPTIM1: u1, }), - /// APB1 Low Freeze Register CPU2 + /// APB1 Low Freeze Register CPU2 C2AP_B1FZR1: mmio.Mmio(packed struct(u32) { - /// LPTIM2 counter stopped when core is halted + /// LPTIM2 counter stopped when core is halted LPTIM2: u1, reserved10: u9, - /// RTC counter stopped when core is halted + /// RTC counter stopped when core is halted RTC: u1, reserved12: u1, - /// IWDG stopped when core is halted + /// IWDG stopped when core is halted IWDG: u1, reserved21: u8, - /// I2C1 SMBUS timeout stopped when core is halted + /// I2C1 SMBUS timeout stopped when core is halted I2C1: u1, reserved23: u1, - /// I2C3 SMBUS timeout stopped when core is halted + /// I2C3 SMBUS timeout stopped when core is halted I2C3: u1, reserved31: u7, - /// LPTIM1 counter stopped when core is halted + /// LPTIM1 counter stopped when core is halted LPTIM1: u1, }), - /// APB1 High Freeze Register CPU1 + /// APB1 High Freeze Register CPU1 APB1FZR2: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// LPTIM2 counter stopped when core is halted + /// LPTIM2 counter stopped when core is halted LPTIM2: u1, padding: u26, }), - /// APB1 High Freeze Register CPU2 + /// APB1 High Freeze Register CPU2 C2APB1FZR2: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// LPTIM2 counter stopped when core is halted + /// LPTIM2 counter stopped when core is halted LPTIM2: u1, padding: u26, }), - /// APB2 Freeze Register CPU1 + /// APB2 Freeze Register CPU1 APB2FZR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 counter stopped when core is halted + /// TIM1 counter stopped when core is halted TIM1: u1, reserved17: u5, - /// TIM16 counter stopped when core is halted + /// TIM16 counter stopped when core is halted TIM16: u1, - /// TIM17 counter stopped when core is halted + /// TIM17 counter stopped when core is halted TIM17: u1, padding: u13, }), @@ -319263,195 +318357,195 @@ pub const types = struct { }; pub const dbgmcu_wba = struct { - /// Microcontroller debug unit + /// Microcontroller debug unit pub const DBGMCU = extern struct { - /// identity code register + /// identity code register IDCODE: mmio.Mmio(packed struct(u32) { - /// Device ID + /// Device ID DEV_ID: u12, reserved16: u4, - /// Revision ID + /// Revision ID REV_ID: u16, }), - /// status and configuration register + /// status and configuration register CR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Allows debug in Stop mode Write access can be protected by PWR_SECCFGR.LPMSEC. The CPU debug and clocks remain active and the HSI oscillators is used as system clock during Stop debug mode, allowing CPU debug capability. On exit from Stop mode, the clock settings are set to the Stop mode exit state. + /// Allows debug in Stop mode Write access can be protected by PWR_SECCFGR.LPMSEC. The CPU debug and clocks remain active and the HSI oscillators is used as system clock during Stop debug mode, allowing CPU debug capability. On exit from Stop mode, the clock settings are set to the Stop mode exit state. DBG_STOP: u1, - /// Allows debug in Standby mode Write access can be protected by PWR_SECCFGR.LPMSEC. The CPU debug and clocks remain active and the HSI oscillator is used as system clock, the supply and SRAM memory content is maintained during Standby debug mode, allowing CPU debug capability. On exit from Standby mode, a standby reset is performed. + /// Allows debug in Standby mode Write access can be protected by PWR_SECCFGR.LPMSEC. The CPU debug and clocks remain active and the HSI oscillator is used as system clock, the supply and SRAM memory content is maintained during Standby debug mode, allowing CPU debug capability. On exit from Standby mode, a standby reset is performed. DBG_STANDBY: u1, reserved16: u13, - /// Device low power mode selected 10x: Standby mode others reserved + /// Device low power mode selected 10x: Standby mode others reserved LPMS: u3, - /// Device Stop flag + /// Device Stop flag STOPF: u1, - /// Device Standby flag + /// Device Standby flag SBF: u1, reserved24: u3, - /// CPU Sleep + /// CPU Sleep CS: u1, - /// CPU DeepSleep + /// CPU DeepSleep CDS: u1, padding: u6, }), - /// APB1L peripheral freeze register + /// APB1L peripheral freeze register APB1LFZR: mmio.Mmio(packed struct(u32) { - /// TIM2 stop in CPU debug Write access can be protected by GTZC_TZSC.TIM2SEC. + /// TIM2 stop in CPU debug Write access can be protected by GTZC_TZSC.TIM2SEC. DBG_TIM2_STOP: u1, - /// TIM3 stop in CPU debug Write access can be protected by GTZC_TZSC.TIM3SEC. + /// TIM3 stop in CPU debug Write access can be protected by GTZC_TZSC.TIM3SEC. DBG_TIM3_STOP: u1, reserved11: u9, - /// WWDG stop in CPU debug Write access can be protected by GTZC_TZSC.WWDGSEC + /// WWDG stop in CPU debug Write access can be protected by GTZC_TZSC.WWDGSEC DBG_WWDG_STOP: u1, - /// IWDG stop in CPU debug Write access can be protected by GTZC_TZSC.IWDGSEC. + /// IWDG stop in CPU debug Write access can be protected by GTZC_TZSC.IWDGSEC. DBG_IWDG_STOP: u1, reserved21: u8, - /// I2C1 SMBUS timeout stop in CPU debug Write access can be protected by GTZC_TZSC.I2C1SEC. + /// I2C1 SMBUS timeout stop in CPU debug Write access can be protected by GTZC_TZSC.I2C1SEC. DBG_I2C1_STOP: u1, padding: u10, }), - /// APB1H peripheral freeze register + /// APB1H peripheral freeze register APB1HFZR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// LPTIM2 stop in CPU debug Write access can be protected by GTZC_TZSC.LPTIM2SEC. + /// LPTIM2 stop in CPU debug Write access can be protected by GTZC_TZSC.LPTIM2SEC. DBG_LPTIM2_STOP: u1, padding: u26, }), - /// APB2 peripheral freeze register + /// APB2 peripheral freeze register APB2FZR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 stop in CPU debug Write access can be protected by GTZC_TZSC.TIM1SEC. + /// TIM1 stop in CPU debug Write access can be protected by GTZC_TZSC.TIM1SEC. DBG_TIM1_STOP: u1, reserved17: u5, - /// TIM16 stop in CPU debug Write access can be protected by GTZC_TZSC.TIM16SEC. + /// TIM16 stop in CPU debug Write access can be protected by GTZC_TZSC.TIM16SEC. DBG_TIM16_STOP: u1, - /// TIM17 stop in CPU debug Write access can be protected by GTZC_TZSC.TIM17SEC. + /// TIM17 stop in CPU debug Write access can be protected by GTZC_TZSC.TIM17SEC. DBG_TIM17_STOP: u1, padding: u13, }), reserved36: [16]u8, - /// APB7 peripheral freeze register + /// APB7 peripheral freeze register APB7FZR: mmio.Mmio(packed struct(u32) { reserved10: u10, - /// I2C3 stop in CPU debug Access can be protected by GTZC_TZSC.I2C3SEC. + /// I2C3 stop in CPU debug Access can be protected by GTZC_TZSC.I2C3SEC. DBG_I2C3_STOP: u1, reserved17: u6, - /// LPTIM1 stop in CPU debug Access can be protected by GTZC_TZSC.LPTIM1SEC. + /// LPTIM1 stop in CPU debug Access can be protected by GTZC_TZSC.LPTIM1SEC. DBG_LPTIM1_STOP: u1, reserved30: u12, - /// RTC stop in CPU debug Access can be protected by GTZC_TZSC.TIM17SEC. Can only be accessed secure when one or more features in the RTC or TAMP is/are secure. + /// RTC stop in CPU debug Access can be protected by GTZC_TZSC.TIM17SEC. Can only be accessed secure when one or more features in the RTC or TAMP is/are secure. DBG_RTC_STOP: u1, padding: u1, }), - /// AHB1 peripheral freeze register + /// AHB1 peripheral freeze register AHB1FZR: mmio.Mmio(packed struct(u32) { - /// GPDMA 1 channel 0 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC0. + /// GPDMA 1 channel 0 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC0. DBG_GPDMA1_CH0_STOP: u1, - /// GPDMA 1 channel 1 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC1. + /// GPDMA 1 channel 1 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC1. DBG_GPDMA1_CH1_STOP: u1, - /// GPDMA 1 channel 2 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC2. + /// GPDMA 1 channel 2 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC2. DBG_GPDMA1_CH2_STOP: u1, - /// GPDMA 1 channel 3 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC3. + /// GPDMA 1 channel 3 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC3. DBG_GPDMA1_CH3_STOP: u1, - /// GPDMA 1 channel 4 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC4. + /// GPDMA 1 channel 4 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC4. DBG_GPDMA1_CH4_STOP: u1, - /// GPDMA 1 channel 5 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC5. + /// GPDMA 1 channel 5 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC5. DBG_GPDMA1_CH5_STOP: u1, - /// GPDMA 1 channel 6 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC6. + /// GPDMA 1 channel 6 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC6. DBG_GPDMA1_CH6_STOP: u1, - /// GPDMA 1 channel 7 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC7. + /// GPDMA 1 channel 7 stop in CPU debug Write access can be protected by GPDMA_SECCFGR.SEC7. DBG_GPDMA1_CH7_STOP: u1, padding: u24, }), reserved252: [208]u8, - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Bit n identifies whether access port APn is present in device Bit n�=�0: APn absent Bit n�=�1: APn present + /// Bit n identifies whether access port APn is present in device Bit n�=�0: APn absent Bit n�=�1: APn present AP_PRESENT: u16, - /// Bit n identifies whether access port APn is open (can be accessed via the debug port) or locked (debug access to the APn is blocked, except for access) Bit n�=�0: APn locked (except for access to DBGMCU) Bit n�=�1: APn enabled + /// Bit n identifies whether access port APn is open (can be accessed via the debug port) or locked (debug access to the APn is blocked, except for access) Bit n�=�0: APn locked (except for access to DBGMCU) Bit n�=�1: APn enabled AP_ENABLED: u16, }), - /// debug host authentication register + /// debug host authentication register DBG_AUTH_HOST: mmio.Mmio(packed struct(u32) { - /// Device authentication key The device specific 64-bit authentication key (OEMn key) must be written to this register (in two successive 32-bit writes, least significant word first) to permit RDP regression. Writing a wrong key locks access to the device and prevent code execution from the Flash memory. + /// Device authentication key The device specific 64-bit authentication key (OEMn key) must be written to this register (in two successive 32-bit writes, least significant word first) to permit RDP regression. Writing a wrong key locks access to the device and prevent code execution from the Flash memory. AUTH_KEY: u32, }), - /// debug device authentication register + /// debug device authentication register DBG_AUTH_DEVICE: mmio.Mmio(packed struct(u32) { - /// Device specific ID Device specific ID used for RDP regression. + /// Device specific ID Device specific ID used for RDP regression. AUTH_ID: u32, }), reserved2012: [1748]u8, - /// part number codification register + /// part number codification register PNCR: mmio.Mmio(packed struct(u32) { - /// Part number codification + /// Part number codification CODIFICATION: u32, }), reserved4048: [2032]u8, - /// CoreSight peripheral identity register 4 + /// CoreSight peripheral identity register 4 PIDR4: mmio.Mmio(packed struct(u32) { - /// JEP106 continuation code + /// JEP106 continuation code JEP106CON: u4, - /// Register file size + /// Register file size F4KCOUNT: u4, padding: u24, }), reserved4064: [12]u8, - /// CoreSight peripheral identity register 0 + /// CoreSight peripheral identity register 0 PIDR0: mmio.Mmio(packed struct(u32) { - /// Part number bits [7:0] + /// Part number bits [7:0] PARTNUM: u8, padding: u24, }), - /// CoreSight peripheral identity register 1 + /// CoreSight peripheral identity register 1 PIDR1: mmio.Mmio(packed struct(u32) { - /// Part number bits [11:8] + /// Part number bits [11:8] PARTNUM: u4, - /// JEP106 identity code bits [3:0] + /// JEP106 identity code bits [3:0] JEP106ID: u4, padding: u24, }), - /// CoreSight peripheral identity register 2 + /// CoreSight peripheral identity register 2 PIDR2: mmio.Mmio(packed struct(u32) { - /// JEP106 identity code bits [6:4] + /// JEP106 identity code bits [6:4] JEP106ID: u3, - /// JEDEC assigned value + /// JEDEC assigned value JEDEC: u1, - /// Component revision number + /// Component revision number REVISION: u4, padding: u24, }), - /// CoreSight peripheral identity register 3 + /// CoreSight peripheral identity register 3 PIDR3: mmio.Mmio(packed struct(u32) { - /// Customer modified + /// Customer modified CMOD: u4, - /// Metal fix version + /// Metal fix version REVAND: u4, padding: u24, }), - /// CoreSight component identity register 0 + /// CoreSight component identity register 0 CIDR0: mmio.Mmio(packed struct(u32) { - /// Component ID bits [7:0] + /// Component ID bits [7:0] PREAMBLE: u8, padding: u24, }), - /// CoreSight peripheral identity register 1 + /// CoreSight peripheral identity register 1 CIDR1: mmio.Mmio(packed struct(u32) { - /// Component ID bits [11:8] + /// Component ID bits [11:8] PREAMBLE: u4, - /// Component ID bits [15:12] - component class + /// Component ID bits [15:12] - component class CLASS: u4, padding: u24, }), - /// CoreSight component identity register 2 + /// CoreSight component identity register 2 CIDR2: mmio.Mmio(packed struct(u32) { - /// Component ID bits [23:16] + /// Component ID bits [23:16] PREAMBLE: u8, padding: u24, }), - /// CoreSight component identity register 3 + /// CoreSight component identity register 3 CIDR3: mmio.Mmio(packed struct(u32) { - /// Component ID bits [31:24] + /// Component ID bits [31:24] PREAMBLE: u8, padding: u24, }), @@ -319459,109 +318553,109 @@ pub const types = struct { }; pub const dbgmcu_wl = struct { - /// Microcontroller Debug Unit + /// Microcontroller Debug Unit pub const DBGMCU = extern struct { - /// Identity Code Register + /// Identity Code Register IDCODER: mmio.Mmio(packed struct(u32) { - /// Device ID + /// Device ID DEV_ID: u12, reserved16: u4, - /// Revision + /// Revision REV_ID: u16, }), - /// Configuration Register + /// Configuration Register CR: mmio.Mmio(packed struct(u32) { - /// Allow debug in SLEEP mode + /// Allow debug in SLEEP mode DBG_SLEEP: u1, - /// Allow debug in STOP mode + /// Allow debug in STOP mode DBG_STOP: u1, - /// Allow debug in STANDBY mode + /// Allow debug in STANDBY mode DBG_STANDBY: u1, padding: u29, }), reserved60: [52]u8, - /// CPU1 APB1 Peripheral Freeze Register 1 + /// CPU1 APB1 Peripheral Freeze Register 1 APB1FZR1: mmio.Mmio(packed struct(u32) { - /// TIM2 stop in CPU1 debug + /// TIM2 stop in CPU1 debug TIM2: u1, reserved10: u9, - /// RTC stop in CPU1 debug + /// RTC stop in CPU1 debug RTC: u1, - /// WWDG stop in CPU1 debug + /// WWDG stop in CPU1 debug WWDG: u1, - /// IWDG stop in CPU1 debug + /// IWDG stop in CPU1 debug IWDG: u1, reserved21: u8, - /// I2C1 SMBUS timeout stop in CPU1 debug + /// I2C1 SMBUS timeout stop in CPU1 debug I2C1: u1, - /// I2C2 SMBUS timeout stop in CPU1 debug + /// I2C2 SMBUS timeout stop in CPU1 debug I2C2: u1, - /// I2C3 SMBUS timeout stop in CPU1 debug + /// I2C3 SMBUS timeout stop in CPU1 debug I2C3: u1, reserved31: u7, - /// LPTIM1 stop in CPU1 debug + /// LPTIM1 stop in CPU1 debug LPTIM1: u1, }), - /// CPU2 APB1 Peripheral Freeze Register 1 [dual core device + /// CPU2 APB1 Peripheral Freeze Register 1 [dual core device C2APB1FZR1: mmio.Mmio(packed struct(u32) { - /// TIM2 + /// TIM2 TIM2: u1, reserved10: u9, - /// RTC + /// RTC RTC: u1, reserved12: u1, - /// IWDG + /// IWDG IWDG: u1, reserved21: u8, - /// I2C1 + /// I2C1 I2C1: u1, - /// I2C2 + /// I2C2 I2C2: u1, - /// I2C3 + /// I2C3 I2C3: u1, reserved31: u7, - /// LPTIM1 + /// LPTIM1 LPTIM1: u1, }), - /// CPU1 APB1 Peripheral Freeze Register 2 + /// CPU1 APB1 Peripheral Freeze Register 2 APB1FZR2: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// LPTIM2 + /// LPTIM2 LPTIM2: u1, - /// LPTIM3 + /// LPTIM3 LPTIM3: u1, padding: u25, }), - /// CPU2 APB1 Peripheral Freeze Register 2 [dual core device + /// CPU2 APB1 Peripheral Freeze Register 2 [dual core device C2APB1FZR2: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// LPTIM2 + /// LPTIM2 LPTIM2: u1, - /// LPTIM3 + /// LPTIM3 LPTIM3: u1, padding: u25, }), - /// CPU1 APB2 Peripheral Freeze Register + /// CPU1 APB2 Peripheral Freeze Register APB2FZR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 + /// TIM1 TIM1: u1, reserved17: u5, - /// TIM16 + /// TIM16 TIM16: u1, - /// TIM17 + /// TIM17 TIM17: u1, padding: u13, }), - /// CPU2 APB2 Peripheral Freeze Register [dual core device + /// CPU2 APB2 Peripheral Freeze Register [dual core device C2APB2FZR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 + /// TIM1 TIM1: u1, reserved17: u5, - /// TIM16 + /// TIM16 TIM16: u1, - /// TIM17 + /// TIM17 TIM17: u1, padding: u13, }), @@ -319569,255 +318663,255 @@ pub const types = struct { }; pub const dcache_v1 = struct { - /// Data cache. + /// Data cache. pub const DCACHE = extern struct { - /// DCACHE control register. + /// DCACHE control register. CR: mmio.Mmio(packed struct(u32) { - /// enable. + /// enable. EN: u1, - /// full cache invalidation Can be set by software, only when EN = 1. Cleared by hardware when the BUSYF flag is set (during full cache invalidation operation). Writing 0 has no effect. + /// full cache invalidation Can be set by software, only when EN = 1. Cleared by hardware when the BUSYF flag is set (during full cache invalidation operation). Writing 0 has no effect. CACHEINV: u1, reserved8: u6, - /// cache command maintenance operation (cleans and/or invalidates an address range) Can be set and cleared by software, only when no maintenance command is ongoing (BUSYCMDF = 0). others: reserved. + /// cache command maintenance operation (cleans and/or invalidates an address range) Can be set and cleared by software, only when no maintenance command is ongoing (BUSYCMDF = 0). others: reserved. CACHECMD: u3, - /// starts maintenance command (maintenance operation defined in CACHECMD). Can be set by software, only when EN = 1, BUSYCMDF = 0, BUSYF = 0 and CACHECMD = 0b001, 0b010 or 0b011. Cleared by hardware when the BUSYCMDF flag is set (during cache maintenance operation). Writing 0 has no effect. + /// starts maintenance command (maintenance operation defined in CACHECMD). Can be set by software, only when EN = 1, BUSYCMDF = 0, BUSYF = 0 and CACHECMD = 0b001, 0b010 or 0b011. Cleared by hardware when the BUSYCMDF flag is set (during cache maintenance operation). Writing 0 has no effect. STARTCMD: u1, reserved16: u4, - /// read-hit monitor enable. + /// read-hit monitor enable. RHITMEN: u1, - /// read-miss monitor enable. + /// read-miss monitor enable. RMISSMEN: u1, - /// read-hit monitor reset. + /// read-hit monitor reset. RHITMRST: u1, - /// read-miss monitor reset. + /// read-miss monitor reset. RMISSMRST: u1, - /// write-hit monitor enable. + /// write-hit monitor enable. WHITMEN: u1, - /// write-miss monitor enable. + /// write-miss monitor enable. WMISSMEN: u1, - /// write-hit monitor reset. + /// write-hit monitor reset. WHITMRST: u1, - /// write-miss monitor reset. + /// write-miss monitor reset. WMISSMRST: u1, reserved31: u7, - /// output burst type for cache master port read accesses Write access is always done in INCR burst type. + /// output burst type for cache master port read accesses Write access is always done in INCR burst type. HBURST: u1, }), - /// DCACHE status register. + /// DCACHE status register. SR: mmio.Mmio(packed struct(u32) { - /// full invalidate busy flag. + /// full invalidate busy flag. BUSYF: u1, - /// full invalidate busy end flag Cleared by writing DCACHE_FCR.CBSYENDF = 1. + /// full invalidate busy end flag Cleared by writing DCACHE_FCR.CBSYENDF = 1. BSYENDF: u1, - /// cache error flag Cleared by writing DCACHE_FCR.CERRF = 1. + /// cache error flag Cleared by writing DCACHE_FCR.CERRF = 1. ERRF: u1, - /// command busy flag. + /// command busy flag. BUSYCMDF: u1, - /// command end flag Cleared by writing DCACHE_FCR.CCMDENDF = 1. + /// command end flag Cleared by writing DCACHE_FCR.CCMDENDF = 1. CMDENDF: u1, padding: u27, }), - /// DCACHE interrupt enable register. + /// DCACHE interrupt enable register. IER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// interrupt enable on busy end Set by SW to enable an interrupt generation at the end of a cache full invalidate operation. + /// interrupt enable on busy end Set by SW to enable an interrupt generation at the end of a cache full invalidate operation. BSYENDIE: u1, - /// interrupt enable on cache error Set by software to enable an interrupt generation in case of cache functional error (eviction or clean operation write-back error). + /// interrupt enable on cache error Set by software to enable an interrupt generation in case of cache functional error (eviction or clean operation write-back error). ERRIE: u1, reserved4: u1, - /// interrupt enable on command end Set by software to enable an interrupt generation at the end of a cache command (clean and/or invalidate an address range). + /// interrupt enable on command end Set by software to enable an interrupt generation at the end of a cache command (clean and/or invalidate an address range). CMDENDIE: u1, padding: u27, }), - /// DCACHE flag clear register. + /// DCACHE flag clear register. FCR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// clear full invalidate busy end flag Set by software. + /// clear full invalidate busy end flag Set by software. CBSYENDF: u1, - /// clear cache error flag Set by software. + /// clear cache error flag Set by software. CERRF: u1, reserved4: u1, - /// clear command end flag Set by software. + /// clear command end flag Set by software. CCMDENDF: u1, padding: u27, }), - /// DCACHE read-hit monitor register. + /// DCACHE read-hit monitor register. RHMONR: u32, - /// DCACHE read-miss monitor register. + /// DCACHE read-miss monitor register. RMMONR: mmio.Mmio(packed struct(u32) { - /// cache read-miss monitor counter. + /// cache read-miss monitor counter. RMISSMON: u16, padding: u16, }), reserved32: [8]u8, - /// DCACHE write-hit monitor register. + /// DCACHE write-hit monitor register. WHMONR: u32, - /// DCACHE write-miss monitor register. + /// DCACHE write-miss monitor register. WMMONR: mmio.Mmio(packed struct(u32) { - /// cache write-miss monitor counter. + /// cache write-miss monitor counter. WMISSMON: u16, padding: u16, }), - /// DCACHE command range start address register. + /// DCACHE command range start address register. CMDRSADDRR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// start address of range to which the cache maintenance command specified in DCACHE_CR.CACHECMD field applies This register must be set before DCACHE_CR.CACHECMD is written.. + /// start address of range to which the cache maintenance command specified in DCACHE_CR.CACHECMD field applies This register must be set before DCACHE_CR.CACHECMD is written.. CMDSTARTADDR: u28, }), - /// DCACHE command range end address register. + /// DCACHE command range end address register. CMDREADDRR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// end address of range to which the cache maintenance command specified in DCACHE_CR.CACHECMD field applies This register must be set before DCACHE_CR.CACHECMD is written. + /// end address of range to which the cache maintenance command specified in DCACHE_CR.CACHECMD field applies This register must be set before DCACHE_CR.CACHECMD is written. CMDENDADDR: u28, }), }; }; pub const dcmi_v1 = struct { - /// Digital camera interface + /// Digital camera interface pub const DCMI = extern struct { - /// control register 1 + /// control register 1 CR: mmio.Mmio(packed struct(u32) { - /// Capture enable + /// Capture enable CAPTURE: u1, - /// Capture mode + /// Capture mode CM: u1, - /// Crop feature + /// Crop feature CROP: u1, - /// JPEG format + /// JPEG format JPEG: u1, - /// Embedded synchronization select + /// Embedded synchronization select ESS: u1, - /// Pixel clock polarity + /// Pixel clock polarity PCKPOL: u1, - /// Horizontal synchronization polarity + /// Horizontal synchronization polarity HSPOL: u1, - /// Vertical synchronization polarity + /// Vertical synchronization polarity VSPOL: u1, - /// Frame capture rate control + /// Frame capture rate control FCRC: u2, - /// Extended data mode + /// Extended data mode EDM: u2, reserved14: u2, - /// DCMI enable + /// DCMI enable ENABLE: u1, padding: u17, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// HSYNC + /// HSYNC HSYNC: u1, - /// VSYNC + /// VSYNC VSYNC: u1, - /// FIFO not empty + /// FIFO not empty FNE: u1, padding: u29, }), - /// raw interrupt status register + /// raw interrupt status register RIS: mmio.Mmio(packed struct(u32) { - /// Capture complete raw interrupt status + /// Capture complete raw interrupt status FRAME_RIS: u1, - /// Overrun raw interrupt status + /// Overrun raw interrupt status OVR_RIS: u1, - /// Synchronization error raw interrupt status + /// Synchronization error raw interrupt status ERR_RIS: u1, - /// VSYNC raw interrupt status + /// VSYNC raw interrupt status VSYNC_RIS: u1, - /// Line raw interrupt status + /// Line raw interrupt status LINE_RIS: u1, padding: u27, }), - /// interrupt enable register + /// interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// Capture complete interrupt enable + /// Capture complete interrupt enable FRAME_IE: u1, - /// Overrun interrupt enable + /// Overrun interrupt enable OVR_IE: u1, - /// Synchronization error interrupt enable + /// Synchronization error interrupt enable ERR_IE: u1, - /// VSYNC interrupt enable + /// VSYNC interrupt enable VSYNC_IE: u1, - /// Line interrupt enable + /// Line interrupt enable LINE_IE: u1, padding: u27, }), - /// masked interrupt status register + /// masked interrupt status register MIS: mmio.Mmio(packed struct(u32) { - /// Capture complete masked interrupt status + /// Capture complete masked interrupt status FRAME_MIS: u1, - /// Overrun masked interrupt status + /// Overrun masked interrupt status OVR_MIS: u1, - /// Synchronization error masked interrupt status + /// Synchronization error masked interrupt status ERR_MIS: u1, - /// VSYNC masked interrupt status + /// VSYNC masked interrupt status VSYNC_MIS: u1, - /// Line masked interrupt status + /// Line masked interrupt status LINE_MIS: u1, padding: u27, }), - /// interrupt clear register + /// interrupt clear register ICR: mmio.Mmio(packed struct(u32) { - /// Capture complete interrupt status clear + /// Capture complete interrupt status clear FRAME_ISC: u1, - /// Overrun interrupt status clear + /// Overrun interrupt status clear OVR_ISC: u1, - /// Synchronization error interrupt status clear + /// Synchronization error interrupt status clear ERR_ISC: u1, - /// Vertical synch interrupt status clear + /// Vertical synch interrupt status clear VSYNC_ISC: u1, - /// line interrupt status clear + /// line interrupt status clear LINE_ISC: u1, padding: u27, }), - /// embedded synchronization code register + /// embedded synchronization code register ESCR: mmio.Mmio(packed struct(u32) { - /// Frame start delimiter code + /// Frame start delimiter code FSC: u8, - /// Line start delimiter code + /// Line start delimiter code LSC: u8, - /// Line end delimiter code + /// Line end delimiter code LEC: u8, - /// Frame end delimiter code + /// Frame end delimiter code FEC: u8, }), - /// embedded synchronization unmask register + /// embedded synchronization unmask register ESUR: mmio.Mmio(packed struct(u32) { - /// Frame start delimiter unmask + /// Frame start delimiter unmask FSU: u8, - /// Line start delimiter unmask + /// Line start delimiter unmask LSU: u8, - /// Line end delimiter unmask + /// Line end delimiter unmask LEU: u8, - /// Frame end delimiter unmask + /// Frame end delimiter unmask FEU: u8, }), - /// crop window start + /// crop window start CWSTRT: mmio.Mmio(packed struct(u32) { - /// Horizontal offset count + /// Horizontal offset count HOFFCNT: u14, reserved16: u2, - /// Vertical start line count + /// Vertical start line count VST: u13, padding: u3, }), - /// crop window size + /// crop window size CWSIZE: mmio.Mmio(packed struct(u32) { - /// Capture count + /// Capture count CAPCNT: u14, reserved16: u2, - /// Vertical line count + /// Vertical line count VLINE: u14, padding: u2, }), - /// data register + /// data register DR: mmio.Mmio(packed struct(u32) { - /// Data byte 0 + /// Data byte 0 Byte0: u8, - /// Data byte 1 + /// Data byte 1 Byte1: u8, - /// Data byte 2 + /// Data byte 2 Byte2: u8, - /// Data byte 3 + /// Data byte 3 Byte3: u8, }), }; @@ -319825,449 +318919,395 @@ pub const types = struct { pub const dma2d_v1 = struct { pub const ABORT = enum(u1) { - /// Transfer abort requested + /// Transfer abort requested AbortRequest = 0x1, _, }; pub const BGPFCCR_AM = enum(u2) { - /// No modification of alpha channel + /// No modification of alpha channel NoModify = 0x0, - /// Replace with value in ALPHA[7:0] + /// Replace with value in ALPHA[7:0] Replace = 0x1, - /// Multiply with value in ALPHA[7:0] + /// Multiply with value in ALPHA[7:0] Multiply = 0x2, _, }; pub const BGPFCCR_CCM = enum(u1) { - /// CLUT color format ARGB8888 + /// CLUT color format ARGB8888 ARGB8888 = 0x0, - /// CLUT color format RGB888 + /// CLUT color format RGB888 RGB888 = 0x1, }; pub const BGPFCCR_CM = enum(u4) { - /// Color mode ARGB8888 + /// Color mode ARGB8888 ARGB8888 = 0x0, - /// Color mode RGB888 + /// Color mode RGB888 RGB888 = 0x1, - /// Color mode RGB565 + /// Color mode RGB565 RGB565 = 0x2, - /// Color mode ARGB1555 + /// Color mode ARGB1555 ARGB1555 = 0x3, - /// Color mode ARGB4444 + /// Color mode ARGB4444 ARGB4444 = 0x4, - /// Color mode L8 + /// Color mode L8 L8 = 0x5, - /// Color mode AL44 + /// Color mode AL44 AL44 = 0x6, - /// Color mode AL88 + /// Color mode AL88 AL88 = 0x7, - /// Color mode L4 + /// Color mode L4 L4 = 0x8, - /// Color mode A8 + /// Color mode A8 A8 = 0x9, - /// Color mode A4 + /// Color mode A4 A4 = 0xa, _, }; pub const BGPFCCR_START = enum(u1) { - /// Start the automatic loading of the CLUT + /// Start the automatic loading of the CLUT Start = 0x1, _, }; pub const CAECIF = enum(u1) { - /// Clear the CAEIF flag in the ISR register + /// Clear the CAEIF flag in the ISR register Clear = 0x1, _, }; pub const CCEIF = enum(u1) { - /// Clear the CEIF flag in the ISR register + /// Clear the CEIF flag in the ISR register Clear = 0x1, _, }; pub const CCTCIF = enum(u1) { - /// Clear the CTCIF flag in the ISR register + /// Clear the CTCIF flag in the ISR register Clear = 0x1, _, }; pub const CR_START = enum(u1) { - /// Launch the DMA2D + /// Launch the DMA2D Start = 0x1, _, }; pub const CTCIF = enum(u1) { - /// Clear the TCIF flag in the ISR register + /// Clear the TCIF flag in the ISR register Clear = 0x1, _, }; pub const CTEIF = enum(u1) { - /// Clear the TEIF flag in the ISR register + /// Clear the TEIF flag in the ISR register Clear = 0x1, _, }; pub const CTWIF = enum(u1) { - /// Clear the TWIF flag in the ISR register + /// Clear the TWIF flag in the ISR register Clear = 0x1, _, }; pub const FGPFCCR_AM = enum(u2) { - /// No modification of alpha channel + /// No modification of alpha channel NoModify = 0x0, - /// Replace with value in ALPHA[7:0] + /// Replace with value in ALPHA[7:0] Replace = 0x1, - /// Multiply with value in ALPHA[7:0] + /// Multiply with value in ALPHA[7:0] Multiply = 0x2, _, }; pub const FGPFCCR_CCM = enum(u1) { - /// CLUT color format ARGB8888 + /// CLUT color format ARGB8888 ARGB8888 = 0x0, - /// CLUT color format RGB888 + /// CLUT color format RGB888 RGB888 = 0x1, }; pub const FGPFCCR_CM = enum(u4) { - /// Color mode ARGB8888 + /// Color mode ARGB8888 ARGB8888 = 0x0, - /// Color mode RGB888 + /// Color mode RGB888 RGB888 = 0x1, - /// Color mode RGB565 + /// Color mode RGB565 RGB565 = 0x2, - /// Color mode ARGB1555 + /// Color mode ARGB1555 ARGB1555 = 0x3, - /// Color mode ARGB4444 + /// Color mode ARGB4444 ARGB4444 = 0x4, - /// Color mode L8 + /// Color mode L8 L8 = 0x5, - /// Color mode AL44 + /// Color mode AL44 AL44 = 0x6, - /// Color mode AL88 + /// Color mode AL88 AL88 = 0x7, - /// Color mode L4 + /// Color mode L4 L4 = 0x8, - /// Color mode A8 + /// Color mode A8 A8 = 0x9, - /// Color mode A4 + /// Color mode A4 A4 = 0xa, _, }; pub const FGPFCCR_START = enum(u1) { - /// Start the automatic loading of the CLUT + /// Start the automatic loading of the CLUT Start = 0x1, _, }; pub const MODE = enum(u2) { - /// Memory-to-memory (FG fetch only) + /// Memory-to-memory (FG fetch only) MemoryToMemory = 0x0, - /// Memory-to-memory with PFC (FG fetch only with FG PFC active) + /// Memory-to-memory with PFC (FG fetch only with FG PFC active) MemoryToMemoryPFC = 0x1, - /// Memory-to-memory with blending (FG and BG fetch with PFC and blending) + /// Memory-to-memory with blending (FG and BG fetch with PFC and blending) MemoryToMemoryPFCBlending = 0x2, - /// Register-to-memory + /// Register-to-memory RegisterToMemory = 0x3, }; pub const OPFCCR_CM = enum(u3) { - /// ARGB8888 + /// ARGB8888 ARGB8888 = 0x0, - /// RGB888 + /// RGB888 RGB888 = 0x1, - /// RGB565 + /// RGB565 RGB565 = 0x2, - /// ARGB1555 + /// ARGB1555 ARGB1555 = 0x3, - /// ARGB4444 + /// ARGB4444 ARGB4444 = 0x4, _, }; - /// DMA2D controller + /// DMA2D controller pub const DMA2D = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// Start - START: packed union { - raw: u1, - value: CR_START, - }, - /// Suspend + /// Start + START: CR_START, + /// Suspend SUSP: u1, - /// Abort - ABORT: packed union { - raw: u1, - value: ABORT, - }, + /// Abort + ABORT: ABORT, reserved8: u5, - /// Transfer error interrupt enable + /// Transfer error interrupt enable TEIE: u1, - /// Transfer complete interrupt enable + /// Transfer complete interrupt enable TCIE: u1, - /// Transfer watermark interrupt enable + /// Transfer watermark interrupt enable TWIE: u1, - /// CLUT access error interrupt enable + /// CLUT access error interrupt enable CAEIE: u1, - /// CLUT transfer complete interrupt enable + /// CLUT transfer complete interrupt enable CTCIE: u1, - /// Configuration Error Interrupt Enable + /// Configuration Error Interrupt Enable CEIE: u1, reserved16: u2, - /// DMA2D mode - MODE: packed union { - raw: u2, - value: MODE, - }, + /// DMA2D mode + MODE: MODE, padding: u14, }), - /// Interrupt Status Register + /// Interrupt Status Register ISR: mmio.Mmio(packed struct(u32) { - /// Transfer error interrupt flag + /// Transfer error interrupt flag TEIF: u1, - /// Transfer complete interrupt flag + /// Transfer complete interrupt flag TCIF: u1, - /// Transfer watermark interrupt flag + /// Transfer watermark interrupt flag TWIF: u1, - /// CLUT access error interrupt flag + /// CLUT access error interrupt flag CAEIF: u1, - /// CLUT transfer complete interrupt flag + /// CLUT transfer complete interrupt flag CTCIF: u1, - /// Configuration error interrupt flag + /// Configuration error interrupt flag CEIF: u1, padding: u26, }), - /// interrupt flag clear register + /// interrupt flag clear register IFCR: mmio.Mmio(packed struct(u32) { - /// Clear Transfer error interrupt flag - CTEIF: packed union { - raw: u1, - value: CTEIF, - }, - /// Clear transfer complete interrupt flag - CTCIF: packed union { - raw: u1, - value: CTCIF, - }, - /// Clear transfer watermark interrupt flag - CTWIF: packed union { - raw: u1, - value: CTWIF, - }, - /// Clear CLUT access error interrupt flag - CAECIF: packed union { - raw: u1, - value: CAECIF, - }, - /// Clear CLUT transfer complete interrupt flag - CCTCIF: packed union { - raw: u1, - value: CCTCIF, - }, - /// Clear configuration error interrupt flag - CCEIF: packed union { - raw: u1, - value: CCEIF, - }, + /// Clear Transfer error interrupt flag + CTEIF: CTEIF, + /// Clear transfer complete interrupt flag + CTCIF: CTCIF, + /// Clear transfer watermark interrupt flag + CTWIF: CTWIF, + /// Clear CLUT access error interrupt flag + CAECIF: CAECIF, + /// Clear CLUT transfer complete interrupt flag + CCTCIF: CCTCIF, + /// Clear configuration error interrupt flag + CCEIF: CCEIF, padding: u26, }), - /// foreground memory address register + /// foreground memory address register FGMAR: mmio.Mmio(packed struct(u32) { - /// Memory address + /// Memory address MA: u32, }), - /// foreground offset register + /// foreground offset register FGOR: mmio.Mmio(packed struct(u32) { - /// Line offset + /// Line offset LO: u14, padding: u18, }), - /// background memory address register + /// background memory address register BGMAR: mmio.Mmio(packed struct(u32) { - /// Memory address + /// Memory address MA: u32, }), - /// background offset register + /// background offset register BGOR: mmio.Mmio(packed struct(u32) { - /// Line offset + /// Line offset LO: u14, padding: u18, }), - /// foreground PFC control register + /// foreground PFC control register FGPFCCR: mmio.Mmio(packed struct(u32) { - /// Color mode - CM: packed union { - raw: u4, - value: FGPFCCR_CM, - }, - /// CLUT color mode - CCM: packed union { - raw: u1, - value: FGPFCCR_CCM, - }, - /// Start - START: packed union { - raw: u1, - value: FGPFCCR_START, - }, + /// Color mode + CM: FGPFCCR_CM, + /// CLUT color mode + CCM: FGPFCCR_CCM, + /// Start + START: FGPFCCR_START, reserved8: u2, - /// CLUT size + /// CLUT size CS: u8, - /// Alpha mode - AM: packed union { - raw: u2, - value: FGPFCCR_AM, - }, + /// Alpha mode + AM: FGPFCCR_AM, reserved24: u6, - /// Alpha value + /// Alpha value ALPHA: u8, }), - /// foreground color register + /// foreground color register FGCOLR: mmio.Mmio(packed struct(u32) { - /// Blue Value + /// Blue Value BLUE: u8, - /// Green Value + /// Green Value GREEN: u8, - /// Red Value + /// Red Value RED: u8, padding: u8, }), - /// background PFC control register + /// background PFC control register BGPFCCR: mmio.Mmio(packed struct(u32) { - /// Color mode - CM: packed union { - raw: u4, - value: BGPFCCR_CM, - }, - /// CLUT Color mode - CCM: packed union { - raw: u1, - value: BGPFCCR_CCM, - }, - /// Start - START: packed union { - raw: u1, - value: BGPFCCR_START, - }, + /// Color mode + CM: BGPFCCR_CM, + /// CLUT Color mode + CCM: BGPFCCR_CCM, + /// Start + START: BGPFCCR_START, reserved8: u2, - /// CLUT size + /// CLUT size CS: u8, - /// Alpha mode - AM: packed union { - raw: u2, - value: BGPFCCR_AM, - }, + /// Alpha mode + AM: BGPFCCR_AM, reserved24: u6, - /// Alpha value + /// Alpha value ALPHA: u8, }), - /// background color register + /// background color register BGCOLR: mmio.Mmio(packed struct(u32) { - /// Blue Value + /// Blue Value BLUE: u8, - /// Green Value + /// Green Value GREEN: u8, - /// Red Value + /// Red Value RED: u8, padding: u8, }), - /// foreground CLUT memory address register + /// foreground CLUT memory address register FGCMAR: mmio.Mmio(packed struct(u32) { - /// Memory Address + /// Memory Address MA: u32, }), - /// background CLUT memory address register + /// background CLUT memory address register BGCMAR: mmio.Mmio(packed struct(u32) { - /// Memory address + /// Memory address MA: u32, }), - /// output PFC control register + /// output PFC control register OPFCCR: mmio.Mmio(packed struct(u32) { - /// Color mode - CM: packed union { - raw: u3, - value: OPFCCR_CM, - }, + /// Color mode + CM: OPFCCR_CM, padding: u29, }), - /// output color register + /// output color register OCOLR: mmio.Mmio(packed struct(u32) { - /// Blue Value + /// Blue Value BLUE: u8, - /// Green Value + /// Green Value GREEN: u8, - /// Red Value + /// Red Value RED: u8, - /// Alpha Channel Value + /// Alpha Channel Value APLHA: u8, }), - /// output memory address register + /// output memory address register OMAR: mmio.Mmio(packed struct(u32) { - /// Memory Address + /// Memory Address MA: u32, }), - /// output offset register + /// output offset register OOR: mmio.Mmio(packed struct(u32) { - /// Line Offset + /// Line Offset LO: u14, padding: u18, }), - /// number of line register + /// number of line register NLR: mmio.Mmio(packed struct(u32) { - /// Number of lines + /// Number of lines NL: u16, - /// Pixel per lines + /// Pixel per lines PL: u14, padding: u2, }), - /// line watermark register + /// line watermark register LWR: mmio.Mmio(packed struct(u32) { - /// Line watermark + /// Line watermark LW: u16, padding: u16, }), - /// AHB master timer configuration register + /// AHB master timer configuration register AMTCR: mmio.Mmio(packed struct(u32) { - /// Enable + /// Enable EN: u1, reserved8: u7, - /// Dead Time + /// Dead Time DT: u8, padding: u16, }), reserved1024: [944]u8, - /// FGCLUT + /// FGCLUT FGCLUT: mmio.Mmio(packed struct(u32) { - /// BLUE + /// BLUE BLUE: u8, - /// GREEN + /// GREEN GREEN: u8, - /// RED + /// RED RED: u8, - /// APLHA + /// APLHA APLHA: u8, }), reserved2048: [1020]u8, - /// BGCLUT + /// BGCLUT BGCLUT: mmio.Mmio(packed struct(u32) { - /// BLUE + /// BLUE BLUE: u8, - /// GREEN + /// GREEN GREEN: u8, - /// RED + /// RED RED: u8, - /// APLHA + /// APLHA APLHA: u8, }), }; @@ -320275,515 +319315,440 @@ pub const types = struct { pub const dma2d_v2 = struct { pub const ABORT = enum(u1) { - /// Transfer abort requested + /// Transfer abort requested AbortRequest = 0x1, _, }; pub const BGPFCCR_AI = enum(u1) { - /// Regular alpha + /// Regular alpha RegularAlpha = 0x0, - /// Inverted alpha + /// Inverted alpha InvertedAlpha = 0x1, }; pub const BGPFCCR_AM = enum(u2) { - /// No modification of alpha channel + /// No modification of alpha channel NoModify = 0x0, - /// Replace with value in ALPHA[7:0] + /// Replace with value in ALPHA[7:0] Replace = 0x1, - /// Multiply with value in ALPHA[7:0] + /// Multiply with value in ALPHA[7:0] Multiply = 0x2, _, }; pub const BGPFCCR_CCM = enum(u1) { - /// CLUT color format ARGB8888 + /// CLUT color format ARGB8888 ARGB8888 = 0x0, - /// CLUT color format RGB888 + /// CLUT color format RGB888 RGB888 = 0x1, }; pub const BGPFCCR_CM = enum(u4) { - /// Color mode ARGB8888 + /// Color mode ARGB8888 ARGB8888 = 0x0, - /// Color mode RGB888 + /// Color mode RGB888 RGB888 = 0x1, - /// Color mode RGB565 + /// Color mode RGB565 RGB565 = 0x2, - /// Color mode ARGB1555 + /// Color mode ARGB1555 ARGB1555 = 0x3, - /// Color mode ARGB4444 + /// Color mode ARGB4444 ARGB4444 = 0x4, - /// Color mode L8 + /// Color mode L8 L8 = 0x5, - /// Color mode AL44 + /// Color mode AL44 AL44 = 0x6, - /// Color mode AL88 + /// Color mode AL88 AL88 = 0x7, - /// Color mode L4 + /// Color mode L4 L4 = 0x8, - /// Color mode A8 + /// Color mode A8 A8 = 0x9, - /// Color mode A4 + /// Color mode A4 A4 = 0xa, _, }; pub const BGPFCCR_RBS = enum(u1) { - /// No Red Blue Swap (RGB or ARGB) + /// No Red Blue Swap (RGB or ARGB) Regular = 0x0, - /// Red Blue Swap (BGR or ABGR) + /// Red Blue Swap (BGR or ABGR) Swap = 0x1, }; pub const BGPFCCR_START = enum(u1) { - /// Start the automatic loading of the CLUT + /// Start the automatic loading of the CLUT Start = 0x1, _, }; pub const CAECIF = enum(u1) { - /// Clear the CAEIF flag in the ISR register + /// Clear the CAEIF flag in the ISR register Clear = 0x1, _, }; pub const CCEIF = enum(u1) { - /// Clear the CEIF flag in the ISR register + /// Clear the CEIF flag in the ISR register Clear = 0x1, _, }; pub const CCTCIF = enum(u1) { - /// Clear the CTCIF flag in the ISR register + /// Clear the CTCIF flag in the ISR register Clear = 0x1, _, }; pub const CR_START = enum(u1) { - /// Launch the DMA2D + /// Launch the DMA2D Start = 0x1, _, }; pub const CTCIF = enum(u1) { - /// Clear the TCIF flag in the ISR register + /// Clear the TCIF flag in the ISR register Clear = 0x1, _, }; pub const CTEIF = enum(u1) { - /// Clear the TEIF flag in the ISR register + /// Clear the TEIF flag in the ISR register Clear = 0x1, _, }; pub const CTWIF = enum(u1) { - /// Clear the TWIF flag in the ISR register + /// Clear the TWIF flag in the ISR register Clear = 0x1, _, }; pub const FGPFCCR_AI = enum(u1) { - /// Regular alpha + /// Regular alpha RegularAlpha = 0x0, - /// Inverted alpha + /// Inverted alpha InvertedAlpha = 0x1, }; pub const FGPFCCR_AM = enum(u2) { - /// No modification of alpha channel + /// No modification of alpha channel NoModify = 0x0, - /// Replace with value in ALPHA[7:0] + /// Replace with value in ALPHA[7:0] Replace = 0x1, - /// Multiply with value in ALPHA[7:0] + /// Multiply with value in ALPHA[7:0] Multiply = 0x2, _, }; pub const FGPFCCR_CCM = enum(u1) { - /// CLUT color format ARGB8888 + /// CLUT color format ARGB8888 ARGB8888 = 0x0, - /// CLUT color format RGB888 + /// CLUT color format RGB888 RGB888 = 0x1, }; pub const FGPFCCR_CM = enum(u4) { - /// Color mode ARGB8888 + /// Color mode ARGB8888 ARGB8888 = 0x0, - /// Color mode RGB888 + /// Color mode RGB888 RGB888 = 0x1, - /// Color mode RGB565 + /// Color mode RGB565 RGB565 = 0x2, - /// Color mode ARGB1555 + /// Color mode ARGB1555 ARGB1555 = 0x3, - /// Color mode ARGB4444 + /// Color mode ARGB4444 ARGB4444 = 0x4, - /// Color mode L8 + /// Color mode L8 L8 = 0x5, - /// Color mode AL44 + /// Color mode AL44 AL44 = 0x6, - /// Color mode AL88 + /// Color mode AL88 AL88 = 0x7, - /// Color mode L4 + /// Color mode L4 L4 = 0x8, - /// Color mode A8 + /// Color mode A8 A8 = 0x9, - /// Color mode A4 + /// Color mode A4 A4 = 0xa, - /// Color mode YCbCr + /// Color mode YCbCr YCbCr = 0xb, _, }; pub const FGPFCCR_RBS = enum(u1) { - /// No Red Blue Swap (RGB or ARGB) + /// No Red Blue Swap (RGB or ARGB) Regular = 0x0, - /// Red Blue Swap (BGR or ABGR) + /// Red Blue Swap (BGR or ABGR) Swap = 0x1, }; pub const FGPFCCR_START = enum(u1) { - /// Start the automatic loading of the CLUT + /// Start the automatic loading of the CLUT Start = 0x1, _, }; pub const MODE = enum(u2) { - /// Memory-to-memory (FG fetch only) + /// Memory-to-memory (FG fetch only) MemoryToMemory = 0x0, - /// Memory-to-memory with PFC (FG fetch only with FG PFC active) + /// Memory-to-memory with PFC (FG fetch only with FG PFC active) MemoryToMemoryPFC = 0x1, - /// Memory-to-memory with blending (FG and BG fetch with PFC and blending) + /// Memory-to-memory with blending (FG and BG fetch with PFC and blending) MemoryToMemoryPFCBlending = 0x2, - /// Register-to-memory + /// Register-to-memory RegisterToMemory = 0x3, }; pub const OPFCCR_AI = enum(u1) { - /// Regular alpha + /// Regular alpha RegularAlpha = 0x0, - /// Inverted alpha + /// Inverted alpha InvertedAlpha = 0x1, }; pub const OPFCCR_CM = enum(u3) { - /// ARGB8888 + /// ARGB8888 ARGB8888 = 0x0, - /// RGB888 + /// RGB888 RGB888 = 0x1, - /// RGB565 + /// RGB565 RGB565 = 0x2, - /// ARGB1555 + /// ARGB1555 ARGB1555 = 0x3, - /// ARGB4444 + /// ARGB4444 ARGB4444 = 0x4, _, }; pub const OPFCCR_RBS = enum(u1) { - /// No Red Blue Swap (RGB or ARGB) + /// No Red Blue Swap (RGB or ARGB) Regular = 0x0, - /// Red Blue Swap (BGR or ABGR) + /// Red Blue Swap (BGR or ABGR) Swap = 0x1, }; pub const SB = enum(u1) { - /// Regular byte order + /// Regular byte order Regular = 0x0, - /// Bytes are swapped two by two + /// Bytes are swapped two by two SwapBytes = 0x1, }; - /// DMA2D + /// DMA2D pub const DMA2D = extern struct { - /// DMA2D control register + /// DMA2D control register CR: mmio.Mmio(packed struct(u32) { - /// Start This bit can be used to launch the DMA2D according to the parameters loaded in the various configuration registers - START: packed union { - raw: u1, - value: CR_START, - }, - /// Suspend This bit can be used to suspend the current transfer. This bit is set and reset by software. It is automatically reset by hardware when the START bit is reset. + /// Start This bit can be used to launch the DMA2D according to the parameters loaded in the various configuration registers + START: CR_START, + /// Suspend This bit can be used to suspend the current transfer. This bit is set and reset by software. It is automatically reset by hardware when the START bit is reset. SUSP: u1, - /// Abort This bit can be used to abort the current transfer. This bit is set by software and is automatically reset by hardware when the START bit is reset. - ABORT: packed union { - raw: u1, - value: ABORT, - }, + /// Abort This bit can be used to abort the current transfer. This bit is set by software and is automatically reset by hardware when the START bit is reset. + ABORT: ABORT, reserved8: u5, - /// Transfer error interrupt enable This bit is set and cleared by software. + /// Transfer error interrupt enable This bit is set and cleared by software. TEIE: u1, - /// Transfer complete interrupt enable This bit is set and cleared by software. + /// Transfer complete interrupt enable This bit is set and cleared by software. TCIE: u1, - /// Transfer watermark interrupt enable This bit is set and cleared by software. + /// Transfer watermark interrupt enable This bit is set and cleared by software. TWIE: u1, - /// CLUT access error interrupt enable This bit is set and cleared by software. + /// CLUT access error interrupt enable This bit is set and cleared by software. CAEIE: u1, - /// CLUT transfer complete interrupt enable This bit is set and cleared by software. + /// CLUT transfer complete interrupt enable This bit is set and cleared by software. CTCIE: u1, - /// Configuration Error Interrupt Enable This bit is set and cleared by software. + /// Configuration Error Interrupt Enable This bit is set and cleared by software. CEIE: u1, reserved16: u2, - /// DMA2D mode This bit is set and cleared by software. It cannot be modified while a transfer is ongoing. - MODE: packed union { - raw: u2, - value: MODE, - }, + /// DMA2D mode This bit is set and cleared by software. It cannot be modified while a transfer is ongoing. + MODE: MODE, padding: u14, }), - /// DMA2D Interrupt Status Register + /// DMA2D Interrupt Status Register ISR: mmio.Mmio(packed struct(u32) { - /// Transfer error interrupt flag This bit is set when an error occurs during a DMA transfer (data transfer or automatic CLUT loading). + /// Transfer error interrupt flag This bit is set when an error occurs during a DMA transfer (data transfer or automatic CLUT loading). TEIF: u1, - /// Transfer complete interrupt flag This bit is set when a DMA2D transfer operation is complete (data transfer only). + /// Transfer complete interrupt flag This bit is set when a DMA2D transfer operation is complete (data transfer only). TCIF: u1, - /// Transfer watermark interrupt flag This bit is set when the last pixel of the watermarked line has been transferred. + /// Transfer watermark interrupt flag This bit is set when the last pixel of the watermarked line has been transferred. TWIF: u1, - /// CLUT access error interrupt flag This bit is set when the CPU accesses the CLUT while the CLUT is being automatically copied from a system memory to the internal DMA2D. + /// CLUT access error interrupt flag This bit is set when the CPU accesses the CLUT while the CLUT is being automatically copied from a system memory to the internal DMA2D. CAEIF: u1, - /// CLUT transfer complete interrupt flag This bit is set when the CLUT copy from a system memory area to the internal DMA2D memory is complete. + /// CLUT transfer complete interrupt flag This bit is set when the CLUT copy from a system memory area to the internal DMA2D memory is complete. CTCIF: u1, - /// Configuration error interrupt flag This bit is set when the START bit of DMA2D_CR, DMA2DFGPFCCR or DMA2D_BGPFCCR is set and a wrong configuration has been programmed. + /// Configuration error interrupt flag This bit is set when the START bit of DMA2D_CR, DMA2DFGPFCCR or DMA2D_BGPFCCR is set and a wrong configuration has been programmed. CEIF: u1, padding: u26, }), - /// DMA2D interrupt flag clear register + /// DMA2D interrupt flag clear register IFCR: mmio.Mmio(packed struct(u32) { - /// Clear Transfer error interrupt flag Programming this bit to 1 clears the TEIF flag in the DMA2D_ISR register - CTEIF: packed union { - raw: u1, - value: CTEIF, - }, - /// Clear transfer complete interrupt flag Programming this bit to 1 clears the TCIF flag in the DMA2D_ISR register - CTCIF: packed union { - raw: u1, - value: CTCIF, - }, - /// Clear transfer watermark interrupt flag Programming this bit to 1 clears the TWIF flag in the DMA2D_ISR register - CTWIF: packed union { - raw: u1, - value: CTWIF, - }, - /// Clear CLUT access error interrupt flag Programming this bit to 1 clears the CAEIF flag in the DMA2D_ISR register - CAECIF: packed union { - raw: u1, - value: CAECIF, - }, - /// Clear CLUT transfer complete interrupt flag Programming this bit to 1 clears the CTCIF flag in the DMA2D_ISR register - CCTCIF: packed union { - raw: u1, - value: CCTCIF, - }, - /// Clear configuration error interrupt flag Programming this bit to 1 clears the CEIF flag in the DMA2D_ISR register - CCEIF: packed union { - raw: u1, - value: CCEIF, - }, + /// Clear Transfer error interrupt flag Programming this bit to 1 clears the TEIF flag in the DMA2D_ISR register + CTEIF: CTEIF, + /// Clear transfer complete interrupt flag Programming this bit to 1 clears the TCIF flag in the DMA2D_ISR register + CTCIF: CTCIF, + /// Clear transfer watermark interrupt flag Programming this bit to 1 clears the TWIF flag in the DMA2D_ISR register + CTWIF: CTWIF, + /// Clear CLUT access error interrupt flag Programming this bit to 1 clears the CAEIF flag in the DMA2D_ISR register + CAECIF: CAECIF, + /// Clear CLUT transfer complete interrupt flag Programming this bit to 1 clears the CTCIF flag in the DMA2D_ISR register + CCTCIF: CCTCIF, + /// Clear configuration error interrupt flag Programming this bit to 1 clears the CEIF flag in the DMA2D_ISR register + CCEIF: CCEIF, padding: u26, }), - /// DMA2D foreground memory address register + /// DMA2D foreground memory address register FGMAR: mmio.Mmio(packed struct(u32) { - /// Memory address Address of the data used for the foreground image. This register can only be written when data transfers are disabled. Once the data transfer has started, this register is read-only. The address alignment must match the image format selected e.g. a 32-bit per pixel format must be 32-bit aligned, a 16-bit per pixel format must be 16-bit aligned and a 4-bit per pixel format must be 8-bit aligned. + /// Memory address Address of the data used for the foreground image. This register can only be written when data transfers are disabled. Once the data transfer has started, this register is read-only. The address alignment must match the image format selected e.g. a 32-bit per pixel format must be 32-bit aligned, a 16-bit per pixel format must be 16-bit aligned and a 4-bit per pixel format must be 8-bit aligned. MA: u32, }), - /// DMA2D foreground offset register + /// DMA2D foreground offset register FGOR: mmio.Mmio(packed struct(u32) { - /// Line offset Line offset used for the foreground expressed in pixel. This value is used to generate the address. It is added at the end of each line to determine the starting address of the next line. These bits can only be written when data transfers are disabled. Once a data transfer has started, they become read-only. If the image format is 4-bit per pixel, the line offset must be even. + /// Line offset Line offset used for the foreground expressed in pixel. This value is used to generate the address. It is added at the end of each line to determine the starting address of the next line. These bits can only be written when data transfers are disabled. Once a data transfer has started, they become read-only. If the image format is 4-bit per pixel, the line offset must be even. LO: u16, padding: u16, }), - /// DMA2D background memory address register + /// DMA2D background memory address register BGMAR: mmio.Mmio(packed struct(u32) { - /// Memory address Address of the data used for the background image. This register can only be written when data transfers are disabled. Once a data transfer has started, this register is read-only. The address alignment must match the image format selected e.g. a 32-bit per pixel format must be 32-bit aligned, a 16-bit per pixel format must be 16-bit aligned and a 4-bit per pixel format must be 8-bit aligned. + /// Memory address Address of the data used for the background image. This register can only be written when data transfers are disabled. Once a data transfer has started, this register is read-only. The address alignment must match the image format selected e.g. a 32-bit per pixel format must be 32-bit aligned, a 16-bit per pixel format must be 16-bit aligned and a 4-bit per pixel format must be 8-bit aligned. MA: u32, }), - /// DMA2D background offset register + /// DMA2D background offset register BGOR: mmio.Mmio(packed struct(u32) { - /// Line offset Line offset used for the background image (expressed in pixel). This value is used for the address generation. It is added at the end of each line to determine the starting address of the next line. These bits can only be written when data transfers are disabled. Once data transfer has started, they become read-only. If the image format is 4-bit per pixel, the line offset must be even. + /// Line offset Line offset used for the background image (expressed in pixel). This value is used for the address generation. It is added at the end of each line to determine the starting address of the next line. These bits can only be written when data transfers are disabled. Once data transfer has started, they become read-only. If the image format is 4-bit per pixel, the line offset must be even. LO: u16, padding: u16, }), - /// DMA2D foreground PFC control register + /// DMA2D foreground PFC control register FGPFCCR: mmio.Mmio(packed struct(u32) { - /// Color mode These bits defines the color format of the foreground image. They can only be written when data transfers are disabled. Once the transfer has started, they are read-only. others: meaningless - CM: packed union { - raw: u4, - value: FGPFCCR_CM, - }, - /// CLUT color mode This bit defines the color format of the CLUT. It can only be written when the transfer is disabled. Once the CLUT transfer has started, this bit is read-only. - CCM: packed union { - raw: u1, - value: FGPFCCR_CCM, - }, - /// Start This bit can be set to start the automatic loading of the CLUT. It is automatically reset: ** at the end of the transfer ** when the transfer is aborted by the user application by setting the ABORT bit in DMA2D_CR ** when a transfer error occurs ** when the transfer has not started due to a configuration error or another transfer operation already ongoing (data transfer or automatic background CLUT transfer). - START: packed union { - raw: u1, - value: FGPFCCR_START, - }, + /// Color mode These bits defines the color format of the foreground image. They can only be written when data transfers are disabled. Once the transfer has started, they are read-only. others: meaningless + CM: FGPFCCR_CM, + /// CLUT color mode This bit defines the color format of the CLUT. It can only be written when the transfer is disabled. Once the CLUT transfer has started, this bit is read-only. + CCM: FGPFCCR_CCM, + /// Start This bit can be set to start the automatic loading of the CLUT. It is automatically reset: ** at the end of the transfer ** when the transfer is aborted by the user application by setting the ABORT bit in DMA2D_CR ** when a transfer error occurs ** when the transfer has not started due to a configuration error or another transfer operation already ongoing (data transfer or automatic background CLUT transfer). + START: FGPFCCR_START, reserved8: u2, - /// CLUT size These bits define the size of the CLUT used for the foreground image. Once the CLUT transfer has started, this field is read-only. The number of CLUT entries is equal to CS[7:0] + 1. + /// CLUT size These bits define the size of the CLUT used for the foreground image. Once the CLUT transfer has started, this field is read-only. The number of CLUT entries is equal to CS[7:0] + 1. CS: u8, - /// Alpha mode These bits select the alpha channel value to be used for the foreground image. They can only be written data the transfer are disabled. Once the transfer has started, they become read-only. other configurations are meaningless - AM: packed union { - raw: u2, - value: FGPFCCR_AM, - }, - /// Chroma Sub-Sampling These bits define the chroma sub-sampling mode for YCbCr color mode. Once the transfer has started, these bits are read-only. others: meaningless + /// Alpha mode These bits select the alpha channel value to be used for the foreground image. They can only be written data the transfer are disabled. Once the transfer has started, they become read-only. other configurations are meaningless + AM: FGPFCCR_AM, + /// Chroma Sub-Sampling These bits define the chroma sub-sampling mode for YCbCr color mode. Once the transfer has started, these bits are read-only. others: meaningless CSS: u2, - /// Alpha Inverted This bit inverts the alpha value. Once the transfer has started, this bit is read-only. - AI: packed union { - raw: u1, - value: FGPFCCR_AI, - }, - /// Red Blue Swap This bit allows to swap the R & B to support BGR or ABGR color formats. Once the transfer has started, this bit is read-only. - RBS: packed union { - raw: u1, - value: FGPFCCR_RBS, - }, + /// Alpha Inverted This bit inverts the alpha value. Once the transfer has started, this bit is read-only. + AI: FGPFCCR_AI, + /// Red Blue Swap This bit allows to swap the R & B to support BGR or ABGR color formats. Once the transfer has started, this bit is read-only. + RBS: FGPFCCR_RBS, reserved24: u2, - /// Alpha value These bits define a fixed alpha channel value which can replace the original alpha value or be multiplied by the original alpha value according to the alpha mode selected through the AM[1:0] bits. These bits can only be written when data transfers are disabled. Once a transfer has started, they become read-only. + /// Alpha value These bits define a fixed alpha channel value which can replace the original alpha value or be multiplied by the original alpha value according to the alpha mode selected through the AM[1:0] bits. These bits can only be written when data transfers are disabled. Once a transfer has started, they become read-only. ALPHA: u8, }), - /// DMA2D foreground color register + /// DMA2D foreground color register FGCOLR: mmio.Mmio(packed struct(u32) { - /// Blue Value These bits defines the blue value for the A4 or A8 mode of the foreground image. They can only be written when data transfers are disabled. Once the transfer has started, They are read-only. + /// Blue Value These bits defines the blue value for the A4 or A8 mode of the foreground image. They can only be written when data transfers are disabled. Once the transfer has started, They are read-only. BLUE: u8, - /// Green Value These bits defines the green value for the A4 or A8 mode of the foreground image. They can only be written when data transfers are disabled. Once the transfer has started, They are read-only. + /// Green Value These bits defines the green value for the A4 or A8 mode of the foreground image. They can only be written when data transfers are disabled. Once the transfer has started, They are read-only. GREEN: u8, - /// Red Value These bits defines the red value for the A4 or A8 mode of the foreground image. They can only be written when data transfers are disabled. Once the transfer has started, they are read-only. + /// Red Value These bits defines the red value for the A4 or A8 mode of the foreground image. They can only be written when data transfers are disabled. Once the transfer has started, they are read-only. RED: u8, padding: u8, }), - /// DMA2D background PFC control register + /// DMA2D background PFC control register BGPFCCR: mmio.Mmio(packed struct(u32) { - /// Color mode These bits define the color format of the foreground image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. others: meaningless - CM: packed union { - raw: u4, - value: BGPFCCR_CM, - }, - /// CLUT Color mode These bits define the color format of the CLUT. This register can only be written when the transfer is disabled. Once the CLUT transfer has started, this bit is read-only. - CCM: packed union { - raw: u1, - value: BGPFCCR_CCM, - }, - /// Start This bit is set to start the automatic loading of the CLUT. This bit is automatically reset: ** at the end of the transfer ** when the transfer is aborted by the user application by setting the ABORT bit in the DMA2D_CR ** when a transfer error occurs ** when the transfer has not started due to a configuration error or another transfer operation already on going (data transfer or automatic BackGround CLUT transfer). - START: packed union { - raw: u1, - value: BGPFCCR_START, - }, + /// Color mode These bits define the color format of the foreground image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. others: meaningless + CM: BGPFCCR_CM, + /// CLUT Color mode These bits define the color format of the CLUT. This register can only be written when the transfer is disabled. Once the CLUT transfer has started, this bit is read-only. + CCM: BGPFCCR_CCM, + /// Start This bit is set to start the automatic loading of the CLUT. This bit is automatically reset: ** at the end of the transfer ** when the transfer is aborted by the user application by setting the ABORT bit in the DMA2D_CR ** when a transfer error occurs ** when the transfer has not started due to a configuration error or another transfer operation already on going (data transfer or automatic BackGround CLUT transfer). + START: BGPFCCR_START, reserved8: u2, - /// CLUT size These bits define the size of the CLUT used for the BG. Once the CLUT transfer has started, this field is read-only. The number of CLUT entries is equal to CS[7:0] + 1. + /// CLUT size These bits define the size of the CLUT used for the BG. Once the CLUT transfer has started, this field is read-only. The number of CLUT entries is equal to CS[7:0] + 1. CS: u8, - /// Alpha mode These bits define which alpha channel value to be used for the background image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. others: meaningless - AM: packed union { - raw: u2, - value: BGPFCCR_AM, - }, + /// Alpha mode These bits define which alpha channel value to be used for the background image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. others: meaningless + AM: BGPFCCR_AM, reserved20: u2, - /// Alpha Inverted This bit inverts the alpha value. Once the transfer has started, this bit is read-only. - AI: packed union { - raw: u1, - value: BGPFCCR_AI, - }, - /// Red Blue Swap This bit allows to swap the R & B to support BGR or ABGR color formats. Once the transfer has started, this bit is read-only. - RBS: packed union { - raw: u1, - value: BGPFCCR_RBS, - }, + /// Alpha Inverted This bit inverts the alpha value. Once the transfer has started, this bit is read-only. + AI: BGPFCCR_AI, + /// Red Blue Swap This bit allows to swap the R & B to support BGR or ABGR color formats. Once the transfer has started, this bit is read-only. + RBS: BGPFCCR_RBS, reserved24: u2, - /// Alpha value These bits define a fixed alpha channel value which can replace the original alpha value or be multiplied with the original alpha value according to the alpha mode selected with bits AM[1: 0]. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. + /// Alpha value These bits define a fixed alpha channel value which can replace the original alpha value or be multiplied with the original alpha value according to the alpha mode selected with bits AM[1: 0]. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. ALPHA: u8, }), - /// DMA2D background color register + /// DMA2D background color register BGCOLR: mmio.Mmio(packed struct(u32) { - /// Blue Value These bits define the blue value for the A4 or A8 mode of the background. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. + /// Blue Value These bits define the blue value for the A4 or A8 mode of the background. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. BLUE: u8, - /// Green Value These bits define the green value for the A4 or A8 mode of the background. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. + /// Green Value These bits define the green value for the A4 or A8 mode of the background. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. GREEN: u8, - /// Red Value These bits define the red value for the A4 or A8 mode of the background. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. + /// Red Value These bits define the red value for the A4 or A8 mode of the background. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. RED: u8, padding: u8, }), - /// DMA2D foreground CLUT memory address register + /// DMA2D foreground CLUT memory address register FGCMAR: mmio.Mmio(packed struct(u32) { - /// Memory Address Address of the data used for the CLUT address dedicated to the foreground image. This register can only be written when no transfer is ongoing. Once the CLUT transfer has started, this register is read-only. If the foreground CLUT format is 32-bit, the address must be 32-bit aligned. + /// Memory Address Address of the data used for the CLUT address dedicated to the foreground image. This register can only be written when no transfer is ongoing. Once the CLUT transfer has started, this register is read-only. If the foreground CLUT format is 32-bit, the address must be 32-bit aligned. MA: u32, }), - /// DMA2D background CLUT memory address register + /// DMA2D background CLUT memory address register BGCMAR: mmio.Mmio(packed struct(u32) { - /// Memory address Address of the data used for the CLUT address dedicated to the background image. This register can only be written when no transfer is on going. Once the CLUT transfer has started, this register is read-only. If the background CLUT format is 32-bit, the address must be 32-bit aligned. + /// Memory address Address of the data used for the CLUT address dedicated to the background image. This register can only be written when no transfer is on going. Once the CLUT transfer has started, this register is read-only. If the background CLUT format is 32-bit, the address must be 32-bit aligned. MA: u32, }), - /// DMA2D output PFC control register + /// DMA2D output PFC control register OPFCCR: mmio.Mmio(packed struct(u32) { - /// Color mode These bits define the color format of the output image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. others: meaningless - CM: packed union { - raw: u3, - value: OPFCCR_CM, - }, + /// Color mode These bits define the color format of the output image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. others: meaningless + CM: OPFCCR_CM, reserved8: u5, - /// Swap Bytes - SB: packed union { - raw: u1, - value: SB, - }, + /// Swap Bytes + SB: SB, reserved20: u11, - /// Alpha Inverted This bit inverts the alpha value. Once the transfer has started, this bit is read-only. - AI: packed union { - raw: u1, - value: OPFCCR_AI, - }, - /// Red Blue Swap This bit allows to swap the R & B to support BGR or ABGR color formats. Once the transfer has started, this bit is read-only. - RBS: packed union { - raw: u1, - value: OPFCCR_RBS, - }, + /// Alpha Inverted This bit inverts the alpha value. Once the transfer has started, this bit is read-only. + AI: OPFCCR_AI, + /// Red Blue Swap This bit allows to swap the R & B to support BGR or ABGR color formats. Once the transfer has started, this bit is read-only. + RBS: OPFCCR_RBS, padding: u10, }), - /// DMA2D output color register + /// DMA2D output color register OCOLR: mmio.Mmio(packed struct(u32) { - /// Blue Value These bits define the blue value of the output image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. + /// Blue Value These bits define the blue value of the output image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. BLUE: u8, - /// Green Value These bits define the green value of the output image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. + /// Green Value These bits define the green value of the output image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. GREEN: u8, - /// Red Value These bits define the red value of the output image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. + /// Red Value These bits define the red value of the output image. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. RED: u8, - /// Alpha Channel Value These bits define the alpha channel of the output color. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. + /// Alpha Channel Value These bits define the alpha channel of the output color. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. ALPHA: u8, }), - /// DMA2D output memory address register + /// DMA2D output memory address register OMAR: mmio.Mmio(packed struct(u32) { - /// Memory Address Address of the data used for the output FIFO. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. The address alignment must match the image format selected e.g. a 32-bit per pixel format must be 32-bit aligned and a 16-bit per pixel format must be 16-bit aligned. + /// Memory Address Address of the data used for the output FIFO. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. The address alignment must match the image format selected e.g. a 32-bit per pixel format must be 32-bit aligned and a 16-bit per pixel format must be 16-bit aligned. MA: u32, }), - /// DMA2D output offset register + /// DMA2D output offset register OOR: mmio.Mmio(packed struct(u32) { - /// Line Offset Line offset used for the output (expressed in pixels). This value is used for the address generation. It is added at the end of each line to determine the starting address of the next line. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. + /// Line Offset Line offset used for the output (expressed in pixels). This value is used for the address generation. It is added at the end of each line to determine the starting address of the next line. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. LO: u16, padding: u16, }), - /// DMA2D number of line register + /// DMA2D number of line register NLR: mmio.Mmio(packed struct(u32) { - /// Number of lines Number of lines of the area to be transferred. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. + /// Number of lines Number of lines of the area to be transferred. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. NL: u16, - /// Pixel per lines Number of pixels per lines of the area to be transferred. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. If any of the input image format is 4-bit per pixel, pixel per lines must be even. + /// Pixel per lines Number of pixels per lines of the area to be transferred. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. If any of the input image format is 4-bit per pixel, pixel per lines must be even. PL: u14, padding: u2, }), - /// DMA2D line watermark register + /// DMA2D line watermark register LWR: mmio.Mmio(packed struct(u32) { - /// Line watermark These bits allow to configure the line watermark for interrupt generation. An interrupt is raised when the last pixel of the watermarked line has been transferred. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. + /// Line watermark These bits allow to configure the line watermark for interrupt generation. An interrupt is raised when the last pixel of the watermarked line has been transferred. These bits can only be written when data transfers are disabled. Once the transfer has started, they are read-only. LW: u16, padding: u16, }), - /// DMA2D AXI master timer configuration register + /// DMA2D AXI master timer configuration register AMTCR: mmio.Mmio(packed struct(u32) { - /// Enable Enables the dead time functionality. + /// Enable Enables the dead time functionality. EN: u1, reserved8: u7, - /// Dead Time Dead time value in the AXI clock cycle inserted between two consecutive accesses on the AXI master port. These bits represent the minimum guaranteed number of cycles between two consecutive AXI accesses. + /// Dead Time Dead time value in the AXI clock cycle inserted between two consecutive accesses on the AXI master port. These bits represent the minimum guaranteed number of cycles between two consecutive AXI accesses. DT: u8, padding: u16, }), @@ -320792,240 +319757,204 @@ pub const types = struct { pub const dma_v1 = struct { pub const BURST = enum(u2) { - /// Single transfer + /// Single transfer Single = 0x0, - /// Incremental burst of 4 beats + /// Incremental burst of 4 beats INCR4 = 0x1, - /// Incremental burst of 8 beats + /// Incremental burst of 8 beats INCR8 = 0x2, - /// Incremental burst of 16 beats + /// Incremental burst of 16 beats INCR16 = 0x3, }; pub const CT = enum(u1) { - /// The current target memory is Memory 0 + /// The current target memory is Memory 0 Memory0 = 0x0, - /// The current target memory is Memory 1 + /// The current target memory is Memory 1 Memory1 = 0x1, }; pub const DIR = enum(u2) { - /// Peripheral-to-memory + /// Peripheral-to-memory PeripheralToMemory = 0x0, - /// Memory-to-peripheral + /// Memory-to-peripheral MemoryToPeripheral = 0x1, - /// Memory-to-memory + /// Memory-to-memory MemoryToMemory = 0x2, _, }; pub const DMDIS = enum(u1) { - /// Direct mode is enabled + /// Direct mode is enabled Enabled = 0x0, - /// Direct mode is disabled + /// Direct mode is disabled Disabled = 0x1, }; pub const FS = enum(u3) { - /// 0 < fifo_level < 1/4 + /// 0 < fifo_level < 1/4 Quarter1 = 0x0, - /// 1/4 <= fifo_level < 1/2 + /// 1/4 <= fifo_level < 1/2 Quarter2 = 0x1, - /// 1/2 <= fifo_level < 3/4 + /// 1/2 <= fifo_level < 3/4 Quarter3 = 0x2, - /// 3/4 <= fifo_level < full + /// 3/4 <= fifo_level < full Quarter4 = 0x3, - /// FIFO is empty + /// FIFO is empty Empty = 0x4, - /// FIFO is full + /// FIFO is full Full = 0x5, _, }; pub const FTH = enum(u2) { - /// 1/4 full FIFO + /// 1/4 full FIFO Quarter = 0x0, - /// 1/2 full FIFO + /// 1/2 full FIFO Half = 0x1, - /// 3/4 full FIFO + /// 3/4 full FIFO ThreeQuarters = 0x2, - /// Full FIFO + /// Full FIFO Full = 0x3, }; pub const PFCTRL = enum(u1) { - /// The DMA is the flow controller + /// The DMA is the flow controller DMA = 0x0, - /// The peripheral is the flow controller + /// The peripheral is the flow controller Peripheral = 0x1, }; pub const PINCOS = enum(u1) { - /// The offset size for the peripheral address calculation is linked to the PSIZE + /// The offset size for the peripheral address calculation is linked to the PSIZE PSIZE = 0x0, - /// The offset size for the peripheral address calculation is fixed to 4 (32-bit alignment) + /// The offset size for the peripheral address calculation is fixed to 4 (32-bit alignment) Fixed4 = 0x1, }; pub const PL = enum(u2) { - /// Low + /// Low Low = 0x0, - /// Medium + /// Medium Medium = 0x1, - /// High + /// High High = 0x2, - /// Very high + /// Very high VeryHigh = 0x3, }; pub const SIZE = enum(u2) { - /// Byte (8-bit) + /// Byte (8-bit) Bits8 = 0x0, - /// Half-word (16-bit) + /// Half-word (16-bit) Bits16 = 0x1, - /// Word (32-bit) + /// Word (32-bit) Bits32 = 0x2, _, }; - /// DMA controller + /// DMA controller pub const DMA = extern struct { - /// low interrupt status register + /// low interrupt status register ISR: [2]mmio.Mmio(packed struct(u32) { - /// Stream x FIFO error interrupt flag (x=3..0) + /// Stream x FIFO error interrupt flag (x=3..0) FEIF: u1, reserved2: u1, - /// Stream x direct mode error interrupt flag (x=3..0) + /// Stream x direct mode error interrupt flag (x=3..0) DMEIF: u1, - /// Stream x transfer error interrupt flag (x=3..0) + /// Stream x transfer error interrupt flag (x=3..0) TEIF: u1, - /// Stream x half transfer interrupt flag (x=3..0) + /// Stream x half transfer interrupt flag (x=3..0) HTIF: u1, - /// Stream x transfer complete interrupt flag (x = 3..0) + /// Stream x transfer complete interrupt flag (x = 3..0) TCIF: u1, padding: u26, }), - /// low interrupt flag clear register + /// low interrupt flag clear register IFCR: [2]mmio.Mmio(packed struct(u32) { - /// Stream x FIFO error interrupt flag (x=3..0) + /// Stream x FIFO error interrupt flag (x=3..0) FEIF: u1, reserved2: u1, - /// Stream x direct mode error interrupt flag (x=3..0) + /// Stream x direct mode error interrupt flag (x=3..0) DMEIF: u1, - /// Stream x transfer error interrupt flag (x=3..0) + /// Stream x transfer error interrupt flag (x=3..0) TEIF: u1, - /// Stream x half transfer interrupt flag (x=3..0) + /// Stream x half transfer interrupt flag (x=3..0) HTIF: u1, - /// Stream x transfer complete interrupt flag (x = 3..0) + /// Stream x transfer complete interrupt flag (x = 3..0) TCIF: u1, padding: u26, }), - /// Stream cluster: S?CR, S?NDTR, S?M0AR, S?M1AR and S?FCR registers + /// Stream cluster: S?CR, S?NDTR, S?M0AR, S?M1AR and S?FCR registers ST: u32, }; - /// Stream cluster: S?CR, S?NDTR, S?M0AR, S?M1AR and S?FCR registers + /// Stream cluster: S?CR, S?NDTR, S?M0AR, S?M1AR and S?FCR registers pub const ST = extern struct { - /// stream x configuration register + /// stream x configuration register CR: mmio.Mmio(packed struct(u32) { - /// Stream enable / flag stream ready when read low + /// Stream enable / flag stream ready when read low EN: u1, - /// Direct mode error interrupt enable + /// Direct mode error interrupt enable DMEIE: u1, - /// Transfer error interrupt enable + /// Transfer error interrupt enable TEIE: u1, - /// Half transfer interrupt enable + /// Half transfer interrupt enable HTIE: u1, - /// Transfer complete interrupt enable + /// Transfer complete interrupt enable TCIE: u1, - /// Peripheral flow controller - PFCTRL: packed union { - raw: u1, - value: PFCTRL, - }, - /// Data transfer direction - DIR: packed union { - raw: u2, - value: DIR, - }, - /// Circular mode enabled + /// Peripheral flow controller + PFCTRL: PFCTRL, + /// Data transfer direction + DIR: DIR, + /// Circular mode enabled CIRC: u1, - /// Peripheral increment mode enabled + /// Peripheral increment mode enabled PINC: u1, - /// Memory increment mode enabled + /// Memory increment mode enabled MINC: u1, - /// Peripheral data size - PSIZE: packed union { - raw: u2, - value: SIZE, - }, - /// Memory data size - MSIZE: packed union { - raw: u2, - value: SIZE, - }, - /// Peripheral increment offset size - PINCOS: packed union { - raw: u1, - value: PINCOS, - }, - /// Priority level - PL: packed union { - raw: u2, - value: PL, - }, - /// Double buffer mode enabled + /// Peripheral data size + PSIZE: SIZE, + /// Memory data size + MSIZE: SIZE, + /// Peripheral increment offset size + PINCOS: PINCOS, + /// Priority level + PL: PL, + /// Double buffer mode enabled DBM: u1, - /// Current target (only in double buffer mode) - CT: packed union { - raw: u1, - value: CT, - }, - /// Enable bufferable transfers + /// Current target (only in double buffer mode) + CT: CT, + /// Enable bufferable transfers TRBUFF: u1, - /// Peripheral burst transfer configuration - PBURST: packed union { - raw: u2, - value: BURST, - }, - /// Memory burst transfer configuration - MBURST: packed union { - raw: u2, - value: BURST, - }, + /// Peripheral burst transfer configuration + PBURST: BURST, + /// Memory burst transfer configuration + MBURST: BURST, padding: u7, }), - /// stream x number of data register + /// stream x number of data register NDTR: mmio.Mmio(packed struct(u32) { - /// Number of data items to transfer + /// Number of data items to transfer NDT: u16, padding: u16, }), - /// stream x peripheral address register + /// stream x peripheral address register PAR: u32, - /// stream x memory 0 address register + /// stream x memory 0 address register M0AR: u32, - /// stream x memory 1 address register + /// stream x memory 1 address register M1AR: u32, - /// stream x FIFO control register + /// stream x FIFO control register FCR: mmio.Mmio(packed struct(u32) { - /// FIFO threshold selection - FTH: packed union { - raw: u2, - value: FTH, - }, - /// Direct mode disable - DMDIS: packed union { - raw: u1, - value: DMDIS, - }, - /// FIFO status - FS: packed union { - raw: u3, - value: FS, - }, + /// FIFO threshold selection + FTH: FTH, + /// Direct mode disable + DMDIS: DMDIS, + /// FIFO status + FS: FS, reserved7: u1, - /// FIFO error interrupt enable + /// FIFO error interrupt enable FEIE: u1, padding: u24, }), @@ -321034,241 +319963,205 @@ pub const types = struct { pub const dma_v2 = struct { pub const BURST = enum(u2) { - /// Single transfer + /// Single transfer Single = 0x0, - /// Incremental burst of 4 beats + /// Incremental burst of 4 beats INCR4 = 0x1, - /// Incremental burst of 8 beats + /// Incremental burst of 8 beats INCR8 = 0x2, - /// Incremental burst of 16 beats + /// Incremental burst of 16 beats INCR16 = 0x3, }; pub const CT = enum(u1) { - /// The current target memory is Memory 0 + /// The current target memory is Memory 0 Memory0 = 0x0, - /// The current target memory is Memory 1 + /// The current target memory is Memory 1 Memory1 = 0x1, }; pub const DIR = enum(u2) { - /// Peripheral-to-memory + /// Peripheral-to-memory PeripheralToMemory = 0x0, - /// Memory-to-peripheral + /// Memory-to-peripheral MemoryToPeripheral = 0x1, - /// Memory-to-memory + /// Memory-to-memory MemoryToMemory = 0x2, _, }; pub const DMDIS = enum(u1) { - /// Direct mode is enabled + /// Direct mode is enabled Enabled = 0x0, - /// Direct mode is disabled + /// Direct mode is disabled Disabled = 0x1, }; pub const FS = enum(u3) { - /// 0 < fifo_level < 1/4 + /// 0 < fifo_level < 1/4 Quarter1 = 0x0, - /// 1/4 <= fifo_level < 1/2 + /// 1/4 <= fifo_level < 1/2 Quarter2 = 0x1, - /// 1/2 <= fifo_level < 3/4 + /// 1/2 <= fifo_level < 3/4 Quarter3 = 0x2, - /// 3/4 <= fifo_level < full + /// 3/4 <= fifo_level < full Quarter4 = 0x3, - /// FIFO is empty + /// FIFO is empty Empty = 0x4, - /// FIFO is full + /// FIFO is full Full = 0x5, _, }; pub const FTH = enum(u2) { - /// 1/4 full FIFO + /// 1/4 full FIFO Quarter = 0x0, - /// 1/2 full FIFO + /// 1/2 full FIFO Half = 0x1, - /// 3/4 full FIFO + /// 3/4 full FIFO ThreeQuarters = 0x2, - /// Full FIFO + /// Full FIFO Full = 0x3, }; pub const PFCTRL = enum(u1) { - /// The DMA is the flow controller + /// The DMA is the flow controller DMA = 0x0, - /// The peripheral is the flow controller + /// The peripheral is the flow controller Peripheral = 0x1, }; pub const PINCOS = enum(u1) { - /// The offset size for the peripheral address calculation is linked to the PSIZE + /// The offset size for the peripheral address calculation is linked to the PSIZE PSIZE = 0x0, - /// The offset size for the peripheral address calculation is fixed to 4 (32-bit alignment) + /// The offset size for the peripheral address calculation is fixed to 4 (32-bit alignment) Fixed4 = 0x1, }; pub const PL = enum(u2) { - /// Low + /// Low Low = 0x0, - /// Medium + /// Medium Medium = 0x1, - /// High + /// High High = 0x2, - /// Very high + /// Very high VeryHigh = 0x3, }; pub const SIZE = enum(u2) { - /// Byte (8-bit) + /// Byte (8-bit) Bits8 = 0x0, - /// Half-word (16-bit) + /// Half-word (16-bit) Bits16 = 0x1, - /// Word (32-bit) + /// Word (32-bit) Bits32 = 0x2, _, }; - /// DMA controller + /// DMA controller pub const DMA = extern struct { - /// low interrupt status register + /// low interrupt status register ISR: [2]mmio.Mmio(packed struct(u32) { - /// Stream x FIFO error interrupt flag (x=3..0) + /// Stream x FIFO error interrupt flag (x=3..0) FEIF: u1, reserved2: u1, - /// Stream x direct mode error interrupt flag (x=3..0) + /// Stream x direct mode error interrupt flag (x=3..0) DMEIF: u1, - /// Stream x transfer error interrupt flag (x=3..0) + /// Stream x transfer error interrupt flag (x=3..0) TEIF: u1, - /// Stream x half transfer interrupt flag (x=3..0) + /// Stream x half transfer interrupt flag (x=3..0) HTIF: u1, - /// Stream x transfer complete interrupt flag (x = 3..0) + /// Stream x transfer complete interrupt flag (x = 3..0) TCIF: u1, padding: u26, }), - /// low interrupt flag clear register + /// low interrupt flag clear register IFCR: [2]mmio.Mmio(packed struct(u32) { - /// Stream x FIFO error interrupt flag (x=3..0) + /// Stream x FIFO error interrupt flag (x=3..0) FEIF: u1, reserved2: u1, - /// Stream x direct mode error interrupt flag (x=3..0) + /// Stream x direct mode error interrupt flag (x=3..0) DMEIF: u1, - /// Stream x transfer error interrupt flag (x=3..0) + /// Stream x transfer error interrupt flag (x=3..0) TEIF: u1, - /// Stream x half transfer interrupt flag (x=3..0) + /// Stream x half transfer interrupt flag (x=3..0) HTIF: u1, - /// Stream x transfer complete interrupt flag (x = 3..0) + /// Stream x transfer complete interrupt flag (x = 3..0) TCIF: u1, padding: u26, }), - /// Stream cluster: S?CR, S?NDTR, S?M0AR, S?M1AR and S?FCR registers + /// Stream cluster: S?CR, S?NDTR, S?M0AR, S?M1AR and S?FCR registers ST: u32, }; - /// Stream cluster: S?CR, S?NDTR, S?M0AR, S?M1AR and S?FCR registers + /// Stream cluster: S?CR, S?NDTR, S?M0AR, S?M1AR and S?FCR registers pub const ST = extern struct { - /// stream x configuration register + /// stream x configuration register CR: mmio.Mmio(packed struct(u32) { - /// Stream enable / flag stream ready when read low + /// Stream enable / flag stream ready when read low EN: u1, - /// Direct mode error interrupt enable + /// Direct mode error interrupt enable DMEIE: u1, - /// Transfer error interrupt enable + /// Transfer error interrupt enable TEIE: u1, - /// Half transfer interrupt enable + /// Half transfer interrupt enable HTIE: u1, - /// Transfer complete interrupt enable + /// Transfer complete interrupt enable TCIE: u1, - /// Peripheral flow controller - PFCTRL: packed union { - raw: u1, - value: PFCTRL, - }, - /// Data transfer direction - DIR: packed union { - raw: u2, - value: DIR, - }, - /// Circular mode enabled + /// Peripheral flow controller + PFCTRL: PFCTRL, + /// Data transfer direction + DIR: DIR, + /// Circular mode enabled CIRC: u1, - /// Peripheral increment mode enabled + /// Peripheral increment mode enabled PINC: u1, - /// Memory increment mode enabled + /// Memory increment mode enabled MINC: u1, - /// Peripheral data size - PSIZE: packed union { - raw: u2, - value: SIZE, - }, - /// Memory data size - MSIZE: packed union { - raw: u2, - value: SIZE, - }, - /// Peripheral increment offset size - PINCOS: packed union { - raw: u1, - value: PINCOS, - }, - /// Priority level - PL: packed union { - raw: u2, - value: PL, - }, - /// Double buffer mode enabled + /// Peripheral data size + PSIZE: SIZE, + /// Memory data size + MSIZE: SIZE, + /// Peripheral increment offset size + PINCOS: PINCOS, + /// Priority level + PL: PL, + /// Double buffer mode enabled DBM: u1, - /// Current target (only in double buffer mode) - CT: packed union { - raw: u1, - value: CT, - }, + /// Current target (only in double buffer mode) + CT: CT, reserved21: u1, - /// Peripheral burst transfer configuration - PBURST: packed union { - raw: u2, - value: BURST, - }, - /// Memory burst transfer configuration - MBURST: packed union { - raw: u2, - value: BURST, - }, - /// Channel selection + /// Peripheral burst transfer configuration + PBURST: BURST, + /// Memory burst transfer configuration + MBURST: BURST, + /// Channel selection CHSEL: u4, padding: u3, }), - /// stream x number of data register + /// stream x number of data register NDTR: mmio.Mmio(packed struct(u32) { - /// Number of data items to transfer + /// Number of data items to transfer NDT: u16, padding: u16, }), - /// stream x peripheral address register + /// stream x peripheral address register PAR: u32, - /// stream x memory 0 address register + /// stream x memory 0 address register M0AR: u32, - /// stream x memory 1 address register + /// stream x memory 1 address register M1AR: u32, - /// stream x FIFO control register + /// stream x FIFO control register FCR: mmio.Mmio(packed struct(u32) { - /// FIFO threshold selection - FTH: packed union { - raw: u2, - value: FTH, - }, - /// Direct mode disable - DMDIS: packed union { - raw: u1, - value: DMDIS, - }, - /// FIFO status - FS: packed union { - raw: u3, - value: FS, - }, + /// FIFO threshold selection + FTH: FTH, + /// Direct mode disable + DMDIS: DMDIS, + /// FIFO status + FS: FS, reserved7: u1, - /// FIFO error interrupt enable + /// FIFO error interrupt enable FEIE: u1, padding: u24, }), @@ -321277,83 +320170,77 @@ pub const types = struct { pub const dmamux_v1 = struct { pub const POL = enum(u2) { - /// No event, i.e. no synchronization nor detection + /// No event, i.e. no synchronization nor detection NoEdge = 0x0, - /// Rising edge + /// Rising edge RisingEdge = 0x1, - /// Falling edge + /// Falling edge FallingEdge = 0x2, - /// Rising and falling edges + /// Rising and falling edges BothEdges = 0x3, }; - /// DMAMUX + /// DMAMUX pub const DMAMUX = extern struct { - /// DMAMux - DMA request line multiplexer channel x control register + /// DMAMux - DMA request line multiplexer channel x control register CCR: [16]mmio.Mmio(packed struct(u32) { - /// Input DMA request line selected + /// Input DMA request line selected DMAREQ_ID: u8, - /// Interrupt enable at synchronization event overrun + /// Interrupt enable at synchronization event overrun SOIE: u1, - /// Event generation enable/disable + /// Event generation enable/disable EGE: u1, reserved16: u6, - /// Synchronous operating mode enable/disable + /// Synchronous operating mode enable/disable SE: u1, - /// Synchronization event type selector Defines the synchronization event on the selected synchronization input: - SPOL: packed union { - raw: u2, - value: POL, - }, - /// Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset. + /// Synchronization event type selector Defines the synchronization event on the selected synchronization input: + SPOL: POL, + /// Number of DMA requests to forward Defines the number of DMA requests forwarded before output event is generated. In synchronous mode, it also defines the number of DMA requests to forward after a synchronization event, then stop forwarding. The actual number of DMA requests forwarded is NBREQ+1. Note: This field can only be written when both SE and EGE bits are reset. NBREQ: u5, - /// Synchronization input selected + /// Synchronization input selected SYNC_ID: u5, padding: u3, }), reserved128: [64]u8, - /// DMAMUX request line multiplexer interrupt channel status register + /// DMAMUX request line multiplexer interrupt channel status register CSR: mmio.Mmio(packed struct(u32) { - /// Synchronization overrun event flag + /// Synchronization overrun event flag SOF: u1, padding: u31, }), - /// DMAMUX request line multiplexer interrupt clear flag register + /// DMAMUX request line multiplexer interrupt clear flag register CFR: mmio.Mmio(packed struct(u32) { - /// Synchronization overrun event flag + /// Synchronization overrun event flag SOF: u1, padding: u31, }), reserved256: [120]u8, - /// DMAMux - DMA request generator channel x control register + /// DMAMux - DMA request generator channel x control register RGCR: [8]mmio.Mmio(packed struct(u32) { - /// DMA request trigger input selected + /// DMA request trigger input selected SIG_ID: u5, reserved8: u3, - /// Interrupt enable at trigger event overrun + /// Interrupt enable at trigger event overrun OIE: u1, reserved16: u7, - /// DMA request generator channel enable/disable + /// DMA request generator channel enable/disable GE: u1, - /// DMA request generator trigger event type selection Defines the trigger event on the selected DMA request trigger input - GPOL: packed union { - raw: u2, - value: POL, - }, - /// Number of DMA requests to generate Defines the number of DMA requests generated after a trigger event, then stop generating. The actual number of generated DMA requests is GNBREQ+1. Note: This field can only be written when GE bit is reset. + /// DMA request generator trigger event type selection Defines the trigger event on the selected DMA request trigger input + GPOL: POL, + /// Number of DMA requests to generate Defines the number of DMA requests generated after a trigger event, then stop generating. The actual number of generated DMA requests is GNBREQ+1. Note: This field can only be written when GE bit is reset. GNBREQ: u5, padding: u8, }), reserved320: [32]u8, - /// DMAMux - DMA request generator status register + /// DMAMux - DMA request generator status register RGSR: mmio.Mmio(packed struct(u32) { - /// Trigger event overrun flag The flag is set when a trigger event occurs on DMA request generator channel x, while the DMA request generator counter value is lower than GNBREQ. The flag is cleared by writing 1 to the corresponding COFx bit in DMAMUX_RGCFR register. + /// Trigger event overrun flag The flag is set when a trigger event occurs on DMA request generator channel x, while the DMA request generator counter value is lower than GNBREQ. The flag is cleared by writing 1 to the corresponding COFx bit in DMAMUX_RGCFR register. OF: u1, padding: u31, }), - /// DMAMux - DMA request generator clear flag register + /// DMAMux - DMA request generator clear flag register RGCFR: mmio.Mmio(packed struct(u32) { - /// Trigger event overrun flag The flag is set when a trigger event occurs on DMA request generator channel x, while the DMA request generator counter value is lower than GNBREQ. The flag is cleared by writing 1 to the corresponding COFx bit in DMAMUX_RGCFR register. + /// Trigger event overrun flag The flag is set when a trigger event occurs on DMA request generator channel x, while the DMA request generator counter value is lower than GNBREQ. The flag is cleared by writing 1 to the corresponding COFx bit in DMAMUX_RGCFR register. OF: u1, padding: u31, }), @@ -321361,950 +320248,950 @@ pub const types = struct { }; pub const dsihost_u5 = struct { - /// DSI Host. + /// DSI Host. pub const DSIHOST = extern struct { - /// DSI Host version register. + /// DSI Host version register. VR: mmio.Mmio(packed struct(u32) { - /// Version of the DSI Host This read-only register contains the version of the DSI Host. + /// Version of the DSI Host This read-only register contains the version of the DSI Host. VERSION: u32, }), - /// DSI Host control register. + /// DSI Host control register. CR: mmio.Mmio(packed struct(u32) { - /// Enable This bit configures the DSI Host in either power-up mode or to reset. + /// Enable This bit configures the DSI Host in either power-up mode or to reset. EN: u1, padding: u31, }), - /// DSI Host clock control register. + /// DSI Host clock control register. CCR: mmio.Mmio(packed struct(u32) { - /// TX escape clock division This field indicates the division factor for the TX escape clock source (lanebyteclk). The values 0 and 1 stop the TX_ESC clock generation. + /// TX escape clock division This field indicates the division factor for the TX escape clock source (lanebyteclk). The values 0 and 1 stop the TX_ESC clock generation. TXECKDIV: u8, - /// Timeout clock division This field indicates the division factor for the timeout clock used as the timing unit in the configuration of HS to LP and LP to HS transition error. + /// Timeout clock division This field indicates the division factor for the timeout clock used as the timing unit in the configuration of HS to LP and LP to HS transition error. TOCKDIV: u8, padding: u16, }), - /// DSI Host LTDC VCID register. + /// DSI Host LTDC VCID register. LVCIDR: mmio.Mmio(packed struct(u32) { - /// Virtual channel ID These bits configure the virtual channel ID for the LTDC interface traffic. + /// Virtual channel ID These bits configure the virtual channel ID for the LTDC interface traffic. VCID: u2, padding: u30, }), - /// DSI Host LTDC color coding register. + /// DSI Host LTDC color coding register. LCOLCR: mmio.Mmio(packed struct(u32) { - /// Color coding This field configures the DPI color coding. Others: Reserved. + /// Color coding This field configures the DPI color coding. Others: Reserved. COLC: u4, reserved8: u4, - /// Loosely packet enable This bit enables the loosely packed variant to 18-bit configuration. + /// Loosely packet enable This bit enables the loosely packed variant to 18-bit configuration. LPE: u1, padding: u23, }), - /// DSI Host LTDC polarity configuration register. + /// DSI Host LTDC polarity configuration register. LPCR: mmio.Mmio(packed struct(u32) { - /// Data enable polarity This bit configures the polarity of data enable pin. + /// Data enable polarity This bit configures the polarity of data enable pin. DEP: u1, - /// VSYNC polarity This bit configures the polarity of VSYNC pin. + /// VSYNC polarity This bit configures the polarity of VSYNC pin. VSP: u1, - /// HSYNC polarity This bit configures the polarity of HSYNC pin. + /// HSYNC polarity This bit configures the polarity of HSYNC pin. HSP: u1, padding: u29, }), - /// DSI Host low-power mode configuration register. + /// DSI Host low-power mode configuration register. LPMCR: mmio.Mmio(packed struct(u32) { - /// VACT largest packet size This field is used for the transmission of commands in low-power mode. It defines the size, in bytes, of the largest packet that can fit in a line during VACT regions. + /// VACT largest packet size This field is used for the transmission of commands in low-power mode. It defines the size, in bytes, of the largest packet that can fit in a line during VACT regions. VLPSIZE: u8, reserved16: u8, - /// Largest packet size This field is used for the transmission of commands in low-power mode. It defines the size, in bytes, of the largest packet that can fit in a line during VSA, VBP and VFP regions. + /// Largest packet size This field is used for the transmission of commands in low-power mode. It defines the size, in bytes, of the largest packet that can fit in a line during VSA, VBP and VFP regions. LPSIZE: u8, padding: u8, }), reserved44: [16]u8, - /// DSI Host protocol configuration register. + /// DSI Host protocol configuration register. PCR: mmio.Mmio(packed struct(u32) { - /// EoTp transmission enable This bit enables the EoTP transmission. + /// EoTp transmission enable This bit enables the EoTP transmission. ETTXE: u1, - /// EoTp reception enable This bit enables the EoTp reception. + /// EoTp reception enable This bit enables the EoTp reception. ETRXE: u1, - /// Bus-turn-around enable This bit enables the bus-turn-around (BTA) request. + /// Bus-turn-around enable This bit enables the bus-turn-around (BTA) request. BTAE: u1, - /// ECC reception enable This bit enables the ECC reception, error correction and reporting. + /// ECC reception enable This bit enables the ECC reception, error correction and reporting. ECCRXE: u1, - /// CRC reception enable This bit enables the CRC reception and error reporting. + /// CRC reception enable This bit enables the CRC reception and error reporting. CRCRXE: u1, - /// EoTp transmission in low-power enable This bit enables the EoTP transmission in low-power. + /// EoTp transmission in low-power enable This bit enables the EoTP transmission in low-power. ETTXLPE: u1, padding: u26, }), - /// DSI Host generic VCID register. + /// DSI Host generic VCID register. GVCIDR: mmio.Mmio(packed struct(u32) { - /// Virtual channel ID for reception This field indicates the generic interface read-back virtual channel identification. + /// Virtual channel ID for reception This field indicates the generic interface read-back virtual channel identification. VCIDRX: u2, reserved16: u14, - /// Virtual channel ID for transmission This field indicates the generic interface virtual channel identification where the generic packet is automatically generated and transmitted. + /// Virtual channel ID for transmission This field indicates the generic interface virtual channel identification where the generic packet is automatically generated and transmitted. VCIDTX: u2, padding: u14, }), - /// DSI Host mode configuration register. + /// DSI Host mode configuration register. MCR: mmio.Mmio(packed struct(u32) { - /// Command mode This bit configures the DSI Host in either video or command mode. + /// Command mode This bit configures the DSI Host in either video or command mode. CMDM: u1, padding: u31, }), - /// DSI Host video mode configuration register. + /// DSI Host video mode configuration register. VMCR: mmio.Mmio(packed struct(u32) { - /// Video mode type This field configures the video mode transmission type : 1x: Burst mode. + /// Video mode type This field configures the video mode transmission type : 1x: Burst mode. VMT: u2, reserved8: u6, - /// Low-power vertical sync active enable This bit enables to return to low-power inside the vertical sync time (VSA) period when timing allows. + /// Low-power vertical sync active enable This bit enables to return to low-power inside the vertical sync time (VSA) period when timing allows. LPVSAE: u1, - /// Low-power vertical back-porch enable This bit enables to return to low-power inside the vertical back-porch (VBP) period when timing allows. + /// Low-power vertical back-porch enable This bit enables to return to low-power inside the vertical back-porch (VBP) period when timing allows. LPVBPE: u1, - /// Low-power vertical front-porch enable This bit enables to return to low-power inside the vertical front-porch (VFP) period when timing allows. + /// Low-power vertical front-porch enable This bit enables to return to low-power inside the vertical front-porch (VFP) period when timing allows. LPVFPE: u1, - /// Low-power vertical active enable This bit enables to return to low-power inside the vertical active (VACT) period when timing allows. + /// Low-power vertical active enable This bit enables to return to low-power inside the vertical active (VACT) period when timing allows. LPVAE: u1, - /// Low-power horizontal back-porch enable This bit enables the return to low-power inside the horizontal back-porch (HBP) period when timing allows. + /// Low-power horizontal back-porch enable This bit enables the return to low-power inside the horizontal back-porch (HBP) period when timing allows. LPHBPE: u1, - /// Low-power horizontal front-porch enable This bit enables the return to low-power inside the horizontal front-porch (HFP) period when timing allows. + /// Low-power horizontal front-porch enable This bit enables the return to low-power inside the horizontal front-porch (HFP) period when timing allows. LPHFPE: u1, - /// Frame bus-turn-around acknowledge enable This bit enables the request for an acknowledge response at the end of a frame. + /// Frame bus-turn-around acknowledge enable This bit enables the request for an acknowledge response at the end of a frame. FBTAAE: u1, - /// Low-power command enable This bit enables the command transmission only in low-power mode. + /// Low-power command enable This bit enables the command transmission only in low-power mode. LPCE: u1, - /// Pattern generator enable This bit enables the video mode pattern generator. + /// Pattern generator enable This bit enables the video mode pattern generator. PGE: u1, reserved20: u3, - /// Pattern generator mode This bit configures the pattern generator mode. + /// Pattern generator mode This bit configures the pattern generator mode. PGM: u1, reserved24: u3, - /// Pattern generator orientation This bit configures the color bar orientation. + /// Pattern generator orientation This bit configures the color bar orientation. PGO: u1, padding: u7, }), - /// DSI Host video packet configuration register. + /// DSI Host video packet configuration register. VPCR: mmio.Mmio(packed struct(u32) { - /// Video packet size This field configures the number of pixels in a single video packet. For 18-bit not loosely packed data types, this number must be a multiple of 4. For YCbCr data types, it must be a multiple of 2 as described in the DSI specification. + /// Video packet size This field configures the number of pixels in a single video packet. For 18-bit not loosely packed data types, this number must be a multiple of 4. For YCbCr data types, it must be a multiple of 2 as described in the DSI specification. VPSIZE: u14, padding: u18, }), - /// DSI Host video chunks configuration register. + /// DSI Host video chunks configuration register. VCCR: mmio.Mmio(packed struct(u32) { - /// Number of chunks This register configures the number of chunks to be transmitted during a line period (a chunk consists of a video packet and a null packet). If set to 0 or 1, the video line is transmitted in a single packet. If set to 1, the packet is part of a chunk, so a null packet follows it if NPSIZE > 0. Otherwise, multiple chunks are used to transmit each video line. + /// Number of chunks This register configures the number of chunks to be transmitted during a line period (a chunk consists of a video packet and a null packet). If set to 0 or 1, the video line is transmitted in a single packet. If set to 1, the packet is part of a chunk, so a null packet follows it if NPSIZE > 0. Otherwise, multiple chunks are used to transmit each video line. NUMC: u13, padding: u19, }), - /// DSI Host video null packet configuration register. + /// DSI Host video null packet configuration register. VNPCR: mmio.Mmio(packed struct(u32) { - /// Null packet size This field configures the number of bytes inside a null packet. Setting to 0 disables the null packets. + /// Null packet size This field configures the number of bytes inside a null packet. Setting to 0 disables the null packets. NPSIZE: u13, padding: u19, }), - /// DSI Host video HSA configuration register. + /// DSI Host video HSA configuration register. VHSACR: mmio.Mmio(packed struct(u32) { - /// Horizontal synchronism active duration This fields configures the horizontal synchronism active period in lane byte clock cycles. + /// Horizontal synchronism active duration This fields configures the horizontal synchronism active period in lane byte clock cycles. HSA: u12, padding: u20, }), - /// DSI Host video HBP configuration register. + /// DSI Host video HBP configuration register. VHBPCR: mmio.Mmio(packed struct(u32) { - /// Horizontal back-porch duration This fields configures the horizontal back-porch period in lane byte clock cycles. + /// Horizontal back-porch duration This fields configures the horizontal back-porch period in lane byte clock cycles. HBP: u12, padding: u20, }), - /// DSI Host video line configuration register. + /// DSI Host video line configuration register. VLCR: mmio.Mmio(packed struct(u32) { - /// Horizontal line duration This fields configures the total of the horizontal line period (HSA+HBP+HACT+HFP) counted in lane byte clock cycles. + /// Horizontal line duration This fields configures the total of the horizontal line period (HSA+HBP+HACT+HFP) counted in lane byte clock cycles. HLINE: u15, padding: u17, }), - /// DSI Host video VSA configuration register. + /// DSI Host video VSA configuration register. VVSACR: mmio.Mmio(packed struct(u32) { - /// Vertical synchronism active duration This fields configures the vertical synchronism active period measured in number of horizontal lines. + /// Vertical synchronism active duration This fields configures the vertical synchronism active period measured in number of horizontal lines. VSA: u10, padding: u22, }), - /// DSI Host video VBP configuration register. + /// DSI Host video VBP configuration register. VVBPCR: mmio.Mmio(packed struct(u32) { - /// Vertical back-porch duration This fields configures the vertical back-porch period measured in number of horizontal lines. + /// Vertical back-porch duration This fields configures the vertical back-porch period measured in number of horizontal lines. VBP: u10, padding: u22, }), - /// DSI Host video VFP configuration register. + /// DSI Host video VFP configuration register. VVFPCR: mmio.Mmio(packed struct(u32) { - /// Vertical front-porch duration This fields configures the vertical front-porch period measured in number of horizontal lines. + /// Vertical front-porch duration This fields configures the vertical front-porch period measured in number of horizontal lines. VFP: u10, padding: u22, }), - /// DSI Host video VA configuration register. + /// DSI Host video VA configuration register. VVACR: mmio.Mmio(packed struct(u32) { - /// Vertical active duration This fields configures the vertical active period measured in number of horizontal lines. + /// Vertical active duration This fields configures the vertical active period measured in number of horizontal lines. VA: u14, padding: u18, }), - /// DSI Host LTDC command configuration register. + /// DSI Host LTDC command configuration register. LCCR: mmio.Mmio(packed struct(u32) { - /// Command size This field configures the maximum allowed size for an LTDC write memory command, measured in pixels. Automatic partitioning of data obtained from LTDC is permanently enabled. + /// Command size This field configures the maximum allowed size for an LTDC write memory command, measured in pixels. Automatic partitioning of data obtained from LTDC is permanently enabled. CMDSIZE: u16, padding: u16, }), - /// DSI Host command mode configuration register. + /// DSI Host command mode configuration register. CMCR: mmio.Mmio(packed struct(u32) { - /// Tearing effect acknowledge request enable This bit enables the tearing effect acknowledge request:. + /// Tearing effect acknowledge request enable This bit enables the tearing effect acknowledge request:. TEARE: u1, - /// Acknowledge request enable This bit enables the acknowledge request after each packet transmission:. + /// Acknowledge request enable This bit enables the acknowledge request after each packet transmission:. ARE: u1, reserved8: u6, - /// Generic short write zero parameters transmission This bit configures the generic short write packet with zero parameters command transmission type:. + /// Generic short write zero parameters transmission This bit configures the generic short write packet with zero parameters command transmission type:. GSW0TX: u1, - /// Generic short write one parameters transmission This bit configures the generic short write packet with one parameters command transmission type:. + /// Generic short write one parameters transmission This bit configures the generic short write packet with one parameters command transmission type:. GSW1TX: u1, - /// Generic short write two parameters transmission This bit configures the generic short write packet with two parameters command transmission type:. + /// Generic short write two parameters transmission This bit configures the generic short write packet with two parameters command transmission type:. GSW2TX: u1, - /// Generic short read zero parameters transmission This bit configures the generic short read packet with zero parameters command transmission type:. + /// Generic short read zero parameters transmission This bit configures the generic short read packet with zero parameters command transmission type:. GSR0TX: u1, - /// Generic short read one parameters transmission This bit configures the generic short read packet with one parameters command transmission type:. + /// Generic short read one parameters transmission This bit configures the generic short read packet with one parameters command transmission type:. GSR1TX: u1, - /// Generic short read two parameters transmission This bit configures the generic short read packet with two parameters command transmission type:. + /// Generic short read two parameters transmission This bit configures the generic short read packet with two parameters command transmission type:. GSR2TX: u1, - /// Generic long write transmission This bit configures the generic long write packet command transmission type :. + /// Generic long write transmission This bit configures the generic long write packet command transmission type :. GLWTX: u1, reserved16: u1, - /// DCS short write zero parameter transmission This bit configures the DCS short write packet with zero parameter command transmission type:. + /// DCS short write zero parameter transmission This bit configures the DCS short write packet with zero parameter command transmission type:. DSW0TX: u1, - /// DCS short read one parameter transmission This bit configures the DCS short read packet with one parameter command transmission type:. + /// DCS short read one parameter transmission This bit configures the DCS short read packet with one parameter command transmission type:. DSW1TX: u1, - /// DCS short read zero parameter transmission This bit configures the DCS short read packet with zero parameter command transmission type:. + /// DCS short read zero parameter transmission This bit configures the DCS short read packet with zero parameter command transmission type:. DSR0TX: u1, - /// DCS long write transmission This bit configures the DCS long write packet command transmission type:. + /// DCS long write transmission This bit configures the DCS long write packet command transmission type:. DLWTX: u1, reserved24: u4, - /// Maximum read packet size This bit configures the maximum read packet size command transmission type:. + /// Maximum read packet size This bit configures the maximum read packet size command transmission type:. MRDPS: u1, padding: u7, }), - /// DSI Host generic header configuration register. + /// DSI Host generic header configuration register. GHCR: mmio.Mmio(packed struct(u32) { - /// Type This field configures the packet data type of the header packet. + /// Type This field configures the packet data type of the header packet. DT: u6, - /// Channel This field configures the virtual channel ID of the header packet. + /// Channel This field configures the virtual channel ID of the header packet. VCID: u2, - /// WordCount LSB This field configures the less significant byte of the header packet word count for long packets, or data 0 for short packets. + /// WordCount LSB This field configures the less significant byte of the header packet word count for long packets, or data 0 for short packets. WCLSB: u8, - /// WordCount MSB This field configures the most significant byte of the header packet's word count for long packets, or data 1 for short packets. + /// WordCount MSB This field configures the most significant byte of the header packet's word count for long packets, or data 1 for short packets. WCMSB: u8, padding: u8, }), - /// DSI Host generic payload data register. + /// DSI Host generic payload data register. GPDR: mmio.Mmio(packed struct(u32) { - /// Payload byte 1 This field indicates the byte 1 of the packet payload. + /// Payload byte 1 This field indicates the byte 1 of the packet payload. DATA1: u8, - /// Payload byte 2 This field indicates the byte 2 of the packet payload. + /// Payload byte 2 This field indicates the byte 2 of the packet payload. DATA2: u8, - /// Payload byte 3 This field indicates the byte 3 of the packet payload. + /// Payload byte 3 This field indicates the byte 3 of the packet payload. DATA3: u8, - /// Payload byte 4 This field indicates the byte 4 of the packet payload. + /// Payload byte 4 This field indicates the byte 4 of the packet payload. DATA4: u8, }), - /// DSI Host generic packet status register. + /// DSI Host generic packet status register. GPSR: mmio.Mmio(packed struct(u32) { - /// Command FIFO empty This bit indicates the empty status of the generic command FIFO:. + /// Command FIFO empty This bit indicates the empty status of the generic command FIFO:. CMDFE: u1, - /// Command FIFO full This bit indicates the full status of the generic command FIFO:. + /// Command FIFO full This bit indicates the full status of the generic command FIFO:. CMDFF: u1, - /// Payload write FIFO empty This bit indicates the empty status of the generic write payload FIFO:. + /// Payload write FIFO empty This bit indicates the empty status of the generic write payload FIFO:. PWRFE: u1, - /// Payload write FIFO full This bit indicates the full status of the generic write payload FIFO:. + /// Payload write FIFO full This bit indicates the full status of the generic write payload FIFO:. PWRFF: u1, - /// Payload read FIFO empty This bit indicates the empty status of the generic read payload FIFO:. + /// Payload read FIFO empty This bit indicates the empty status of the generic read payload FIFO:. PRDFE: u1, - /// Payload read FIFO full This bit indicates the full status of the generic read payload FIFO:. + /// Payload read FIFO full This bit indicates the full status of the generic read payload FIFO:. PRDFF: u1, - /// Read command busy This bit is set when a read command is issued and cleared when the entire response is stored in the FIFO:. + /// Read command busy This bit is set when a read command is issued and cleared when the entire response is stored in the FIFO:. RCB: u1, reserved16: u9, - /// Command buffer empty This bit indicates the empty status of the generic payload internal buffer:. + /// Command buffer empty This bit indicates the empty status of the generic payload internal buffer:. CMDBE: u1, - /// Command buffer full This bit indicates the full status of the generic command internal buffer:. + /// Command buffer full This bit indicates the full status of the generic command internal buffer:. CMDBF: u1, - /// Payload buffer empty This bit indicates the empty status of the generic payload internal buffer:. + /// Payload buffer empty This bit indicates the empty status of the generic payload internal buffer:. PBE: u1, - /// Payload buffer full This bit indicates the full status of the generic payload internal buffer:. + /// Payload buffer full This bit indicates the full status of the generic payload internal buffer:. PBF: u1, padding: u12, }), - /// DSI Host timeout counter configuration register 0. + /// DSI Host timeout counter configuration register 0. TCCR0: mmio.Mmio(packed struct(u32) { - /// Low-power reception timeout counter This field configures the timeout counter that triggers a low-power reception timeout contention detection (measured in TOCKDIV cycles). + /// Low-power reception timeout counter This field configures the timeout counter that triggers a low-power reception timeout contention detection (measured in TOCKDIV cycles). LPRX_TOCNT: u16, - /// High-speed transmission timeout counter This field configures the timeout counter that triggers a high-speed transmission timeout contention detection (measured in TOCKDIV cycles). If using the non-burst mode and there is no enough time to switch from high-speed to low-power and back in the period from one line data finishing to the next line sync start, the DSI link returns the low-power state once per frame, then configure the TOCKDIV and HSTX_TOCNT to be in accordance with: HSTX_TOCNT * lanebyteclkperiod * TOCKDIV ≥ the time of one FRAME data transmission * (1 + 10%) In burst mode, RGB pixel packets are time-compressed, leaving more time during a scan line. Therefore, if in burst mode and there is enough time to switch from high-speed to low-power and back in the period from one line data finishing to the next line sync start, the DSI link can return low-power mode and back in this time interval to save power. For this, configure the TOCKDIV and HSTX_TOCNT to be in accordance with: HSTX_TOCNT * lanebyteclkperiod * TOCKDIV ≥ the time of one LINE data transmission * (1 + 10%). + /// High-speed transmission timeout counter This field configures the timeout counter that triggers a high-speed transmission timeout contention detection (measured in TOCKDIV cycles). If using the non-burst mode and there is no enough time to switch from high-speed to low-power and back in the period from one line data finishing to the next line sync start, the DSI link returns the low-power state once per frame, then configure the TOCKDIV and HSTX_TOCNT to be in accordance with: HSTX_TOCNT * lanebyteclkperiod * TOCKDIV ≥ the time of one FRAME data transmission * (1 + 10%) In burst mode, RGB pixel packets are time-compressed, leaving more time during a scan line. Therefore, if in burst mode and there is enough time to switch from high-speed to low-power and back in the period from one line data finishing to the next line sync start, the DSI link can return low-power mode and back in this time interval to save power. For this, configure the TOCKDIV and HSTX_TOCNT to be in accordance with: HSTX_TOCNT * lanebyteclkperiod * TOCKDIV ≥ the time of one LINE data transmission * (1 + 10%). HSTX_TOCNT: u16, }), - /// DSI Host timeout counter configuration register 1. + /// DSI Host timeout counter configuration register 1. TCCR1: mmio.Mmio(packed struct(u32) { - /// High-speed read timeout counter This field sets a period for which the DSI Host keeps the link still, after sending a high-speed read operation. This period is measured in cycles of lanebyteclk. The counting starts when the D-PHY enters the Stop state and causes no interrupts. + /// High-speed read timeout counter This field sets a period for which the DSI Host keeps the link still, after sending a high-speed read operation. This period is measured in cycles of lanebyteclk. The counting starts when the D-PHY enters the Stop state and causes no interrupts. HSRD_TOCNT: u16, padding: u16, }), - /// DSI Host timeout counter configuration register 2. + /// DSI Host timeout counter configuration register 2. TCCR2: mmio.Mmio(packed struct(u32) { - /// Low-power read timeout counter This field sets a period for which the DSI Host keeps the link still, after sending a low-power read operation. This period is measured in cycles of lanebyteclk. The counting starts when the D-PHY enters the Stop state and causes no interrupts. + /// Low-power read timeout counter This field sets a period for which the DSI Host keeps the link still, after sending a low-power read operation. This period is measured in cycles of lanebyteclk. The counting starts when the D-PHY enters the Stop state and causes no interrupts. LPRD_TOCNT: u16, padding: u16, }), - /// DSI Host timeout counter configuration register 3. + /// DSI Host timeout counter configuration register 3. TCCR3: mmio.Mmio(packed struct(u32) { - /// High-speed write timeout counter This field sets a period for which the DSI Host keeps the link inactive after sending a high-speed write operation. This period is measured in cycles of lanebyteclk. The counting starts when the D-PHY enters the Stop state and causes no interrupts. + /// High-speed write timeout counter This field sets a period for which the DSI Host keeps the link inactive after sending a high-speed write operation. This period is measured in cycles of lanebyteclk. The counting starts when the D-PHY enters the Stop state and causes no interrupts. HSWR_TOCNT: u16, reserved24: u8, - /// Presp mode When set to 1, this bit ensures that the peripheral response timeout caused by HSWR_TOCNT is used only once per LTDC frame in command mode, when both the following conditions are met: dpivsync_edpiwms has risen and fallen. Packets originated from LTDC in command mode have been transmitted and its FIFO is empty again. In this scenario no non-LTDC command requests are sent to the D-PHY, even if there is traffic from generic interface ready to be sent, making it return to stop state. When it does so, PRESP_TO counter is activated and only when it finishes does the controller send any other traffic that is ready. + /// Presp mode When set to 1, this bit ensures that the peripheral response timeout caused by HSWR_TOCNT is used only once per LTDC frame in command mode, when both the following conditions are met: dpivsync_edpiwms has risen and fallen. Packets originated from LTDC in command mode have been transmitted and its FIFO is empty again. In this scenario no non-LTDC command requests are sent to the D-PHY, even if there is traffic from generic interface ready to be sent, making it return to stop state. When it does so, PRESP_TO counter is activated and only when it finishes does the controller send any other traffic that is ready. PM: u1, padding: u7, }), - /// DSI Host timeout counter configuration register 4. + /// DSI Host timeout counter configuration register 4. TCCR4: mmio.Mmio(packed struct(u32) { - /// Low-power write timeout counter This field sets a period for which the DSI Host keeps the link still, after sending a low-power write operation. This period is measured in cycles of lanebyteclk. The counting starts when the D-PHY enters the Stop state and causes no interrupts. + /// Low-power write timeout counter This field sets a period for which the DSI Host keeps the link still, after sending a low-power write operation. This period is measured in cycles of lanebyteclk. The counting starts when the D-PHY enters the Stop state and causes no interrupts. LPWR_TOCNT: u16, padding: u16, }), - /// DSI Host timeout counter configuration register 5. + /// DSI Host timeout counter configuration register 5. TCCR5: mmio.Mmio(packed struct(u32) { - /// Bus-turn-around timeout counter This field sets a period for which the DSI Host keeps the link still, after completing a bus-turn-around. This period is measured in cycles of lanebyteclk. The counting starts when the D‑PHY enters the Stop state and causes no interrupts. + /// Bus-turn-around timeout counter This field sets a period for which the DSI Host keeps the link still, after completing a bus-turn-around. This period is measured in cycles of lanebyteclk. The counting starts when the D‑PHY enters the Stop state and causes no interrupts. BTA_TOCNT: u16, padding: u16, }), reserved148: [4]u8, - /// DSI Host clock lane configuration register. + /// DSI Host clock lane configuration register. CLCR: mmio.Mmio(packed struct(u32) { - /// D-PHY clock control This bit controls the D-PHY clock state:. + /// D-PHY clock control This bit controls the D-PHY clock state:. DPCC: u1, - /// Automatic clock lane control This bit enables the automatic mechanism to stop providing clock in the clock lane when time allows. + /// Automatic clock lane control This bit enables the automatic mechanism to stop providing clock in the clock lane when time allows. ACR: u1, padding: u30, }), - /// DSI Host clock lane timer configuration register. + /// DSI Host clock lane timer configuration register. CLTCR: mmio.Mmio(packed struct(u32) { - /// Low-power to high-speed time This field configures the maximum time that the D-PHY clock lane takes to go from low‑power to high-speed transmission measured in lane byte clock cycles. + /// Low-power to high-speed time This field configures the maximum time that the D-PHY clock lane takes to go from low‑power to high-speed transmission measured in lane byte clock cycles. LP2HS_TIME: u10, reserved16: u6, - /// High-speed to low-power time This field configures the maximum time that the D-PHY clock lane takes to go from high‑speed to low-power transmission measured in lane byte clock cycles. + /// High-speed to low-power time This field configures the maximum time that the D-PHY clock lane takes to go from high‑speed to low-power transmission measured in lane byte clock cycles. HS2LP_TIME: u10, padding: u6, }), - /// DSI Host data lane timer configuration register. + /// DSI Host data lane timer configuration register. DLTCR: mmio.Mmio(packed struct(u32) { - /// Low-power to high-speed time This field configures the maximum time that the D-PHY data lanes take to go from low-power to high-speed transmission measured in lane byte clock cycles. + /// Low-power to high-speed time This field configures the maximum time that the D-PHY data lanes take to go from low-power to high-speed transmission measured in lane byte clock cycles. LP2HS_TIME: u10, reserved16: u6, - /// High-speed to low-power time This field configures the maximum time that the D-PHY data lanes take to go from high-speed to low-power transmission measured in lane byte clock cycles. + /// High-speed to low-power time This field configures the maximum time that the D-PHY data lanes take to go from high-speed to low-power transmission measured in lane byte clock cycles. HS2LP_TIME: u10, padding: u6, }), - /// DSI Host PHY control register. + /// DSI Host PHY control register. PCTLR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Digital enable When set to 0, this bit places the digital section of the D-PHY in the reset state. + /// Digital enable When set to 0, this bit places the digital section of the D-PHY in the reset state. DEN: u1, - /// Clock enable This bit enables the D-PHY clock lane module:. + /// Clock enable This bit enables the D-PHY clock lane module:. CKE: u1, padding: u29, }), - /// DSI Host PHY configuration register. + /// DSI Host PHY configuration register. PCONFR: mmio.Mmio(packed struct(u32) { - /// Number of lanes This field configures the number of active data lanes: Others: Reserved. + /// Number of lanes This field configures the number of active data lanes: Others: Reserved. NL: u2, reserved8: u6, - /// Stop wait time This field configures the minimum wait period to request a high-speed transmission after the Stop state. + /// Stop wait time This field configures the minimum wait period to request a high-speed transmission after the Stop state. SW_TIME: u8, padding: u16, }), - /// DSI Host PHY ULPS control register. + /// DSI Host PHY ULPS control register. PUCR: mmio.Mmio(packed struct(u32) { - /// ULPS request on clock lane ULPS mode request on clock lane. + /// ULPS request on clock lane ULPS mode request on clock lane. URCL: u1, - /// ULPS exit on clock lane ULPS mode exit on clock lane. + /// ULPS exit on clock lane ULPS mode exit on clock lane. UECL: u1, - /// ULPS request on data lane ULPS mode request on all active data lanes. + /// ULPS request on data lane ULPS mode request on all active data lanes. URDL: u1, - /// ULPS exit on data lane ULPS mode exit on all active data lanes. + /// ULPS exit on data lane ULPS mode exit on all active data lanes. UEDL: u1, padding: u28, }), - /// DSI Host PHY TX triggers configuration register. + /// DSI Host PHY TX triggers configuration register. PTTCR: mmio.Mmio(packed struct(u32) { - /// Transmission trigger Escape mode transmit trigger 0-3. Only one bit of TX_TRIG is asserted at any given time. + /// Transmission trigger Escape mode transmit trigger 0-3. Only one bit of TX_TRIG is asserted at any given time. TX_TRIG: u4, padding: u28, }), - /// DSI Host PHY status register. + /// DSI Host PHY status register. PSR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// PHY direction This bit indicates the status of phydirection D-PHY signal. + /// PHY direction This bit indicates the status of phydirection D-PHY signal. PD: u1, - /// PHY stop state clock lane This bit indicates the status of phystopstateclklane D-PHY signal. + /// PHY stop state clock lane This bit indicates the status of phystopstateclklane D-PHY signal. PSSC: u1, - /// ULPS active not clock lane This bit indicates the status of ulpsactivenotclklane D-PHY signal. + /// ULPS active not clock lane This bit indicates the status of ulpsactivenotclklane D-PHY signal. UANC: u1, - /// PHY stop state lane 0 This bit indicates the status of phystopstate0lane D-PHY signal. + /// PHY stop state lane 0 This bit indicates the status of phystopstate0lane D-PHY signal. PSS0: u1, - /// ULPS active not lane 1 This bit indicates the status of ulpsactivenot0lane D-PHY signal. + /// ULPS active not lane 1 This bit indicates the status of ulpsactivenot0lane D-PHY signal. UAN0: u1, - /// RX ULPS escape lane 0 This bit indicates the status of rxulpsesc0lane D-PHY signal. + /// RX ULPS escape lane 0 This bit indicates the status of rxulpsesc0lane D-PHY signal. RUE0: u1, - /// PHY stop state lane 1 This bit indicates the status of phystopstate1lane D-PHY signal. + /// PHY stop state lane 1 This bit indicates the status of phystopstate1lane D-PHY signal. PSS1: u1, - /// ULPS active not lane 1 This bit indicates the status of ulpsactivenot1lane D-PHY signal. + /// ULPS active not lane 1 This bit indicates the status of ulpsactivenot1lane D-PHY signal. UAN1: u1, padding: u23, }), reserved188: [8]u8, - /// DSI Host interrupt and status register 0. + /// DSI Host interrupt and status register 0. ISR0: mmio.Mmio(packed struct(u32) { - /// Acknowledge error 0 This bit retrieves the SoT error from the acknowledge error report. + /// Acknowledge error 0 This bit retrieves the SoT error from the acknowledge error report. AE0: u1, - /// Acknowledge error 1 This bit retrieves the SoT sync error from the acknowledge error report. + /// Acknowledge error 1 This bit retrieves the SoT sync error from the acknowledge error report. AE1: u1, - /// Acknowledge error 2 This bit retrieves the EoT sync error from the acknowledge error report. + /// Acknowledge error 2 This bit retrieves the EoT sync error from the acknowledge error report. AE2: u1, - /// Acknowledge error 3 This bit retrieves the escape mode entry command error from the acknowledge error report. + /// Acknowledge error 3 This bit retrieves the escape mode entry command error from the acknowledge error report. AE3: u1, - /// Acknowledge error 4 This bit retrieves the LP transmit sync error from the acknowledge error report. + /// Acknowledge error 4 This bit retrieves the LP transmit sync error from the acknowledge error report. AE4: u1, - /// Acknowledge error 5 This bit retrieves the peripheral timeout error from the acknowledge error report. + /// Acknowledge error 5 This bit retrieves the peripheral timeout error from the acknowledge error report. AE5: u1, - /// Acknowledge error 6 This bit retrieves the false control error from the acknowledge error report. + /// Acknowledge error 6 This bit retrieves the false control error from the acknowledge error report. AE6: u1, - /// Acknowledge error 7 This bit retrieves the reserved (specific to the device) from the acknowledge error report. + /// Acknowledge error 7 This bit retrieves the reserved (specific to the device) from the acknowledge error report. AE7: u1, - /// Acknowledge error 8 This bit retrieves the ECC error, single-bit (detected and corrected) from the acknowledge error report. + /// Acknowledge error 8 This bit retrieves the ECC error, single-bit (detected and corrected) from the acknowledge error report. AE8: u1, - /// Acknowledge error 9 This bit retrieves the ECC error, multi-bit (detected, not corrected) from the acknowledge error report. + /// Acknowledge error 9 This bit retrieves the ECC error, multi-bit (detected, not corrected) from the acknowledge error report. AE9: u1, - /// Acknowledge error 10 This bit retrieves the checksum error (long packet only) from the acknowledge error report. + /// Acknowledge error 10 This bit retrieves the checksum error (long packet only) from the acknowledge error report. AE10: u1, - /// Acknowledge error 11 This bit retrieves the not recognized DSI data type from the acknowledge error report. + /// Acknowledge error 11 This bit retrieves the not recognized DSI data type from the acknowledge error report. AE11: u1, - /// Acknowledge error 12 This bit retrieves the DSI VC ID Invalid from the acknowledge error report. + /// Acknowledge error 12 This bit retrieves the DSI VC ID Invalid from the acknowledge error report. AE12: u1, - /// Acknowledge error 13 This bit retrieves the invalid transmission length from the acknowledge error report. + /// Acknowledge error 13 This bit retrieves the invalid transmission length from the acknowledge error report. AE13: u1, - /// Acknowledge error 14 This bit retrieves the reserved (specific to the device) from the acknowledge error report. + /// Acknowledge error 14 This bit retrieves the reserved (specific to the device) from the acknowledge error report. AE14: u1, - /// Acknowledge error 15 This bit retrieves the DSI protocol violation from the acknowledge error report. + /// Acknowledge error 15 This bit retrieves the DSI protocol violation from the acknowledge error report. AE15: u1, - /// PHY error 0 This bit indicates the ErrEsc escape entry error from lane 0. + /// PHY error 0 This bit indicates the ErrEsc escape entry error from lane 0. PE0: u1, - /// PHY error 1 This bit indicates the ErrSyncEsc low-power transmission synchronization error from lane 0. + /// PHY error 1 This bit indicates the ErrSyncEsc low-power transmission synchronization error from lane 0. PE1: u1, - /// PHY error 2 This bit indicates the ErrControl error from lane 0. + /// PHY error 2 This bit indicates the ErrControl error from lane 0. PE2: u1, - /// PHY error 3 This bit indicates the LP0 contention error ErrContentionLP0 from lane 0. + /// PHY error 3 This bit indicates the LP0 contention error ErrContentionLP0 from lane 0. PE3: u1, - /// PHY error 4 This bit indicates the LP1 contention error ErrContentionLP1 from lane 0. + /// PHY error 4 This bit indicates the LP1 contention error ErrContentionLP1 from lane 0. PE4: u1, padding: u11, }), - /// DSI Host interrupt and status register 1. + /// DSI Host interrupt and status register 1. ISR1: mmio.Mmio(packed struct(u32) { - /// Timeout high-speed transmission This bit indicates that the high-speed transmission timeout counter reached the end and contention is detected. + /// Timeout high-speed transmission This bit indicates that the high-speed transmission timeout counter reached the end and contention is detected. TOHSTX: u1, - /// Timeout low-power reception This bit indicates that the low-power reception timeout counter reached the end and contention is detected. + /// Timeout low-power reception This bit indicates that the low-power reception timeout counter reached the end and contention is detected. TOLPRX: u1, - /// ECC single-bit error This bit indicates that the ECC single error is detected and corrected in a received packet. + /// ECC single-bit error This bit indicates that the ECC single error is detected and corrected in a received packet. ECCSE: u1, - /// ECC multi-bit error This bit indicates that the ECC multiple error is detected in a received packet. + /// ECC multi-bit error This bit indicates that the ECC multiple error is detected in a received packet. ECCME: u1, - /// CRC error This bit indicates that the CRC error is detected in the received packet payload. + /// CRC error This bit indicates that the CRC error is detected in the received packet payload. CRCE: u1, - /// Packet size error This bit indicates that the packet size error is detected during the packet reception. + /// Packet size error This bit indicates that the packet size error is detected during the packet reception. PSE: u1, - /// EoTp error This bit indicates that the EoTp packet is not received at the end of the incoming peripheral transmission. + /// EoTp error This bit indicates that the EoTp packet is not received at the end of the incoming peripheral transmission. EOTPE: u1, - /// LTDC payload write error This bit indicates that during a DPI pixel line storage, the payload FIFO becomes full and the data stored is corrupted. + /// LTDC payload write error This bit indicates that during a DPI pixel line storage, the payload FIFO becomes full and the data stored is corrupted. LPWRE: u1, - /// Generic command write error This bit indicates that the system tried to write a command through the generic interface and the FIFO is full. Therefore, the command is not written. + /// Generic command write error This bit indicates that the system tried to write a command through the generic interface and the FIFO is full. Therefore, the command is not written. GCWRE: u1, - /// Generic payload write error This bit indicates that the system tried to write a payload data through the generic interface and the FIFO is full. Therefore, the payload is not written. + /// Generic payload write error This bit indicates that the system tried to write a payload data through the generic interface and the FIFO is full. Therefore, the payload is not written. GPWRE: u1, - /// Generic payload transmit error This bit indicates that during a generic interface packet build, the payload FIFO becomes empty and corrupt data is sent. + /// Generic payload transmit error This bit indicates that during a generic interface packet build, the payload FIFO becomes empty and corrupt data is sent. GPTXE: u1, - /// Generic payload read error This bit indicates that during a DCS read data, the payload FIFO becomes empty and the data sent to the interface is corrupted. + /// Generic payload read error This bit indicates that during a DCS read data, the payload FIFO becomes empty and the data sent to the interface is corrupted. GPRDE: u1, - /// Generic payload receive error This bit indicates that during a generic interface packet read back, the payload FIFO becomes full and the received data is corrupted. + /// Generic payload receive error This bit indicates that during a generic interface packet read back, the payload FIFO becomes full and the received data is corrupted. GPRXE: u1, reserved19: u6, - /// Payload buffer underflow error This bit indicates that underflow has occurred when reading payload to build DSI packet for video mode. + /// Payload buffer underflow error This bit indicates that underflow has occurred when reading payload to build DSI packet for video mode. PBUE: u1, padding: u12, }), - /// DSI Host interrupt enable register 0. + /// DSI Host interrupt enable register 0. IER0: mmio.Mmio(packed struct(u32) { - /// Acknowledge error 0 interrupt enable This bit enables the interrupt generation on acknowledge error 0. + /// Acknowledge error 0 interrupt enable This bit enables the interrupt generation on acknowledge error 0. AE0IE: u1, - /// Acknowledge error 1 interrupt enable This bit enables the interrupt generation on acknowledge error 1. + /// Acknowledge error 1 interrupt enable This bit enables the interrupt generation on acknowledge error 1. AE1IE: u1, - /// Acknowledge error 2 interrupt enable This bit enables the interrupt generation on acknowledge error 2. + /// Acknowledge error 2 interrupt enable This bit enables the interrupt generation on acknowledge error 2. AE2IE: u1, - /// Acknowledge error 3 interrupt enable This bit enables the interrupt generation on acknowledge error 3. + /// Acknowledge error 3 interrupt enable This bit enables the interrupt generation on acknowledge error 3. AE3IE: u1, - /// Acknowledge error 4 interrupt enable This bit enables the interrupt generation on acknowledge error 4. + /// Acknowledge error 4 interrupt enable This bit enables the interrupt generation on acknowledge error 4. AE4IE: u1, - /// Acknowledge error 5 interrupt enable This bit enables the interrupt generation on acknowledge error 5. + /// Acknowledge error 5 interrupt enable This bit enables the interrupt generation on acknowledge error 5. AE5IE: u1, - /// Acknowledge error 6 interrupt enable This bit enables the interrupt generation on acknowledge error 6. + /// Acknowledge error 6 interrupt enable This bit enables the interrupt generation on acknowledge error 6. AE6IE: u1, - /// Acknowledge error 7 interrupt enable This bit enables the interrupt generation on acknowledge error 7. + /// Acknowledge error 7 interrupt enable This bit enables the interrupt generation on acknowledge error 7. AE7IE: u1, - /// Acknowledge error 8 interrupt enable This bit enables the interrupt generation on acknowledge error 8. + /// Acknowledge error 8 interrupt enable This bit enables the interrupt generation on acknowledge error 8. AE8IE: u1, - /// Acknowledge error 9 interrupt enable This bit enables the interrupt generation on acknowledge error 9. + /// Acknowledge error 9 interrupt enable This bit enables the interrupt generation on acknowledge error 9. AE9IE: u1, - /// Acknowledge error 10 interrupt enable This bit enables the interrupt generation on acknowledge error 10. + /// Acknowledge error 10 interrupt enable This bit enables the interrupt generation on acknowledge error 10. AE10IE: u1, - /// Acknowledge error 11 interrupt enable This bit enables the interrupt generation on acknowledge error 11. + /// Acknowledge error 11 interrupt enable This bit enables the interrupt generation on acknowledge error 11. AE11IE: u1, - /// Acknowledge error 12 interrupt enable This bit enables the interrupt generation on acknowledge error 12. + /// Acknowledge error 12 interrupt enable This bit enables the interrupt generation on acknowledge error 12. AE12IE: u1, - /// Acknowledge error 13 interrupt enable This bit enables the interrupt generation on acknowledge error 13. + /// Acknowledge error 13 interrupt enable This bit enables the interrupt generation on acknowledge error 13. AE13IE: u1, - /// Acknowledge error 14 interrupt enable This bit enables the interrupt generation on acknowledge error 14. + /// Acknowledge error 14 interrupt enable This bit enables the interrupt generation on acknowledge error 14. AE14IE: u1, - /// Acknowledge error 15 interrupt enable This bit enables the interrupt generation on acknowledge error 15. + /// Acknowledge error 15 interrupt enable This bit enables the interrupt generation on acknowledge error 15. AE15IE: u1, - /// PHY error 0 interrupt enable This bit enables the interrupt generation on PHY error 0. + /// PHY error 0 interrupt enable This bit enables the interrupt generation on PHY error 0. PE0IE: u1, - /// PHY error 1 interrupt enable This bit enables the interrupt generation on PHY error 1. + /// PHY error 1 interrupt enable This bit enables the interrupt generation on PHY error 1. PE1IE: u1, - /// PHY error 2 interrupt enable This bit enables the interrupt generation on PHY error 2. + /// PHY error 2 interrupt enable This bit enables the interrupt generation on PHY error 2. PE2IE: u1, - /// PHY error 3 interrupt enable This bit enables the interrupt generation on PHY error 4. + /// PHY error 3 interrupt enable This bit enables the interrupt generation on PHY error 4. PE3IE: u1, - /// PHY error 4 interrupt enable This bit enables the interrupt generation on PHY error 4. + /// PHY error 4 interrupt enable This bit enables the interrupt generation on PHY error 4. PE4IE: u1, padding: u11, }), - /// DSI Host interrupt enable register 1. + /// DSI Host interrupt enable register 1. IER1: mmio.Mmio(packed struct(u32) { - /// Timeout high-speed transmission interrupt enable This bit enables the interrupt generation on timeout high-speed transmission. + /// Timeout high-speed transmission interrupt enable This bit enables the interrupt generation on timeout high-speed transmission. TOHSTXIE: u1, - /// Timeout low-power reception interrupt enable This bit enables the interrupt generation on timeout low-power reception. + /// Timeout low-power reception interrupt enable This bit enables the interrupt generation on timeout low-power reception. TOLPRXIE: u1, - /// ECC single-bit error interrupt enable This bit enables the interrupt generation on ECC single-bit error. + /// ECC single-bit error interrupt enable This bit enables the interrupt generation on ECC single-bit error. ECCSEIE: u1, - /// ECC multi-bit error interrupt enable This bit enables the interrupt generation on ECC multi-bit error. + /// ECC multi-bit error interrupt enable This bit enables the interrupt generation on ECC multi-bit error. ECCMEIE: u1, - /// CRC error interrupt enable This bit enables the interrupt generation on CRC error. + /// CRC error interrupt enable This bit enables the interrupt generation on CRC error. CRCEIE: u1, - /// Packet size error interrupt enable This bit enables the interrupt generation on packet size error. + /// Packet size error interrupt enable This bit enables the interrupt generation on packet size error. PSEIE: u1, - /// EoTp error interrupt enable This bit enables the interrupt generation on EoTp error. + /// EoTp error interrupt enable This bit enables the interrupt generation on EoTp error. EOTPEIE: u1, - /// LTDC payload write error interrupt enable This bit enables the interrupt generation on LTDC payload write error. + /// LTDC payload write error interrupt enable This bit enables the interrupt generation on LTDC payload write error. LPWREIE: u1, - /// Generic command write error interrupt enable This bit enables the interrupt generation on generic command write error. + /// Generic command write error interrupt enable This bit enables the interrupt generation on generic command write error. GCWREIE: u1, - /// Generic payload write error interrupt enable This bit enables the interrupt generation on generic payload write error. + /// Generic payload write error interrupt enable This bit enables the interrupt generation on generic payload write error. GPWREIE: u1, - /// Generic payload transmit error interrupt enable This bit enables the interrupt generation on generic payload transmit error. + /// Generic payload transmit error interrupt enable This bit enables the interrupt generation on generic payload transmit error. GPTXEIE: u1, - /// Generic payload read error interrupt enable This bit enables the interrupt generation on generic payload read error. + /// Generic payload read error interrupt enable This bit enables the interrupt generation on generic payload read error. GPRDEIE: u1, - /// Generic payload receive error interrupt enable This bit enables the interrupt generation on generic payload receive error. + /// Generic payload receive error interrupt enable This bit enables the interrupt generation on generic payload receive error. GPRXEIE: u1, reserved19: u6, - /// Payload buffer underflow error interrupt enable This bit enables the interrupt generation on payload buffer underflow error. + /// Payload buffer underflow error interrupt enable This bit enables the interrupt generation on payload buffer underflow error. PBUEIE: u1, padding: u12, }), reserved216: [12]u8, - /// DSI Host force interrupt register 0. + /// DSI Host force interrupt register 0. FIR0: mmio.Mmio(packed struct(u32) { - /// Force acknowledge error 0 Writing one to this bit forces an acknowledge error 0. + /// Force acknowledge error 0 Writing one to this bit forces an acknowledge error 0. FAE0: u1, - /// Force acknowledge error 1 Writing one to this bit forces an acknowledge error 1. + /// Force acknowledge error 1 Writing one to this bit forces an acknowledge error 1. FAE1: u1, - /// Force acknowledge error 2 Writing one to this bit forces an acknowledge error 2. + /// Force acknowledge error 2 Writing one to this bit forces an acknowledge error 2. FAE2: u1, - /// Force acknowledge error 3 Writing one to this bit forces an acknowledge error 3. + /// Force acknowledge error 3 Writing one to this bit forces an acknowledge error 3. FAE3: u1, - /// Force acknowledge error 4 Writing one to this bit forces an acknowledge error 4. + /// Force acknowledge error 4 Writing one to this bit forces an acknowledge error 4. FAE4: u1, - /// Force acknowledge error 5 Writing one to this bit forces an acknowledge error 5. + /// Force acknowledge error 5 Writing one to this bit forces an acknowledge error 5. FAE5: u1, - /// Force acknowledge error 6 Writing one to this bit forces an acknowledge error 6. + /// Force acknowledge error 6 Writing one to this bit forces an acknowledge error 6. FAE6: u1, - /// Force acknowledge error 7 Writing one to this bit forces an acknowledge error 7. + /// Force acknowledge error 7 Writing one to this bit forces an acknowledge error 7. FAE7: u1, - /// Force acknowledge error 8 Writing one to this bit forces an acknowledge error 8. + /// Force acknowledge error 8 Writing one to this bit forces an acknowledge error 8. FAE8: u1, - /// Force acknowledge error 9 Writing one to this bit forces an acknowledge error 9. + /// Force acknowledge error 9 Writing one to this bit forces an acknowledge error 9. FAE9: u1, - /// Force acknowledge error 10 Writing one to this bit forces an acknowledge error 10. + /// Force acknowledge error 10 Writing one to this bit forces an acknowledge error 10. FAE10: u1, - /// Force acknowledge error 11 Writing one to this bit forces an acknowledge error 11. + /// Force acknowledge error 11 Writing one to this bit forces an acknowledge error 11. FAE11: u1, - /// Force acknowledge error 12 Writing one to this bit forces an acknowledge error 12. + /// Force acknowledge error 12 Writing one to this bit forces an acknowledge error 12. FAE12: u1, - /// Force acknowledge error 13 Writing one to this bit forces an acknowledge error 13. + /// Force acknowledge error 13 Writing one to this bit forces an acknowledge error 13. FAE13: u1, - /// Force acknowledge error 14 Writing one to this bit forces an acknowledge error 14. + /// Force acknowledge error 14 Writing one to this bit forces an acknowledge error 14. FAE14: u1, - /// Force acknowledge error 15 Writing one to this bit forces an acknowledge error 15. + /// Force acknowledge error 15 Writing one to this bit forces an acknowledge error 15. FAE15: u1, - /// Force PHY error 0 Writing one to this bit forces a PHY error 0. + /// Force PHY error 0 Writing one to this bit forces a PHY error 0. FPE0: u1, - /// Force PHY error 1 Writing one to this bit forces a PHY error 1. + /// Force PHY error 1 Writing one to this bit forces a PHY error 1. FPE1: u1, - /// Force PHY error 2 Writing one to this bit forces a PHY error 2. + /// Force PHY error 2 Writing one to this bit forces a PHY error 2. FPE2: u1, - /// Force PHY error 3 Writing one to this bit forces a PHY error 3. + /// Force PHY error 3 Writing one to this bit forces a PHY error 3. FPE3: u1, - /// Force PHY error 4 Writing one to this bit forces a PHY error 4. + /// Force PHY error 4 Writing one to this bit forces a PHY error 4. FPE4: u1, padding: u11, }), - /// DSI Host force interrupt register 1. + /// DSI Host force interrupt register 1. FIR1: mmio.Mmio(packed struct(u32) { - /// Force timeout high-speed transmission Writing one to this bit forces a timeout high-speed transmission. + /// Force timeout high-speed transmission Writing one to this bit forces a timeout high-speed transmission. FTOHSTX: u1, - /// Force timeout low-power reception Writing one to this bit forces a timeout low-power reception. + /// Force timeout low-power reception Writing one to this bit forces a timeout low-power reception. FTOLPRX: u1, - /// Force ECC single-bit error Writing one to this bit forces a ECC single-bit error. + /// Force ECC single-bit error Writing one to this bit forces a ECC single-bit error. FECCSE: u1, - /// Force ECC multi-bit error Writing one to this bit forces a ECC multi-bit error. + /// Force ECC multi-bit error Writing one to this bit forces a ECC multi-bit error. FECCME: u1, - /// Force CRC error Writing one to this bit forces a CRC error. + /// Force CRC error Writing one to this bit forces a CRC error. FCRCE: u1, - /// Force packet size error Writing one to this bit forces a packet size error. + /// Force packet size error Writing one to this bit forces a packet size error. FPSE: u1, - /// Force EoTp error Writing one to this bit forces a EoTp error. + /// Force EoTp error Writing one to this bit forces a EoTp error. FEOTPE: u1, - /// Force LTDC payload write error Writing one to this bit forces a LTDC payload write error. + /// Force LTDC payload write error Writing one to this bit forces a LTDC payload write error. FLPWRE: u1, - /// Force generic command write error Writing one to this bit forces a generic command write error. + /// Force generic command write error Writing one to this bit forces a generic command write error. FGCWRE: u1, - /// Force generic payload write error Writing one to this bit forces a generic payload write error. + /// Force generic payload write error Writing one to this bit forces a generic payload write error. FGPWRE: u1, - /// Force generic payload transmit error Writing one to this bit forces a generic payload transmit error. + /// Force generic payload transmit error Writing one to this bit forces a generic payload transmit error. FGPTXE: u1, - /// Force generic payload read error Writing one to this bit forces a generic payload read error. + /// Force generic payload read error Writing one to this bit forces a generic payload read error. FGPRDE: u1, - /// Force generic payload receive error Writing one to this bit forces a generic payload receive error. + /// Force generic payload receive error Writing one to this bit forces a generic payload receive error. FGPRXE: u1, reserved19: u6, - /// Force payload buffer underflow error Writing one to this bit forces a payload undrflow error. + /// Force payload buffer underflow error Writing one to this bit forces a payload undrflow error. FPBUE: u1, padding: u12, }), reserved244: [20]u8, - /// DSI Host data lane timer read configuration register. + /// DSI Host data lane timer read configuration register. DLTRCR: mmio.Mmio(packed struct(u32) { - /// Maximum read time This field configures the maximum time required to perform a read command in lane byte clock cycles. This register can only be modified when no read command is in progress. + /// Maximum read time This field configures the maximum time required to perform a read command in lane byte clock cycles. This register can only be modified when no read command is in progress. MRD_TIME: u15, padding: u17, }), reserved256: [8]u8, - /// DSI Host video shadow control register. + /// DSI Host video shadow control register. VSCR: mmio.Mmio(packed struct(u32) { - /// Enable When set to 1, DSI Host LTDC interface receives the active configuration from the auxiliary registers. When this bit is set along with the UR bit, the auxiliary registers are automatically updated. + /// Enable When set to 1, DSI Host LTDC interface receives the active configuration from the auxiliary registers. When this bit is set along with the UR bit, the auxiliary registers are automatically updated. EN: u1, reserved8: u7, - /// Update register When set to 1, the LTDC registers are copied to the auxiliary registers. After copying, this bit is auto cleared. + /// Update register When set to 1, the LTDC registers are copied to the auxiliary registers. After copying, this bit is auto cleared. UR: u1, padding: u23, }), reserved268: [8]u8, - /// DSI Host LTDC current VCID register. + /// DSI Host LTDC current VCID register. LCVCIDR: mmio.Mmio(packed struct(u32) { - /// Virtual channel ID This field returns the virtual channel ID for the LTDC interface. + /// Virtual channel ID This field returns the virtual channel ID for the LTDC interface. VCID: u2, padding: u30, }), - /// DSI Host LTDC current color coding register. + /// DSI Host LTDC current color coding register. LCCCR: mmio.Mmio(packed struct(u32) { - /// Color coding This field returns the current LTDC interface color coding. 0110-1111: reserved If LTDC interface in command mode is chosen and currently works in the command mode (CMDM=1), then 0110-1111: 24-bit. + /// Color coding This field returns the current LTDC interface color coding. 0110-1111: reserved If LTDC interface in command mode is chosen and currently works in the command mode (CMDM=1), then 0110-1111: 24-bit. COLC: u4, reserved8: u4, - /// Loosely packed enable This bit returns the current state of the loosely packed variant to 18-bit configurations. + /// Loosely packed enable This bit returns the current state of the loosely packed variant to 18-bit configurations. LPE: u1, padding: u23, }), reserved280: [4]u8, - /// DSI Host low-power mode current configuration register. + /// DSI Host low-power mode current configuration register. LPMCCR: mmio.Mmio(packed struct(u32) { - /// VACT largest packet size This field returns the current size, in bytes, of the largest packet that can fit in a line during VACT regions, for the transmission of commands in low-power mode. + /// VACT largest packet size This field returns the current size, in bytes, of the largest packet that can fit in a line during VACT regions, for the transmission of commands in low-power mode. VLPSIZE: u8, reserved16: u8, - /// Largest packet size This field is returns the current size, in bytes, of the largest packet that can fit in a line during VSA, VBP and VFP regions, for the transmission of commands in low-power mode. + /// Largest packet size This field is returns the current size, in bytes, of the largest packet that can fit in a line during VSA, VBP and VFP regions, for the transmission of commands in low-power mode. LPSIZE: u8, padding: u8, }), reserved312: [28]u8, - /// DSI Host video mode current configuration register. + /// DSI Host video mode current configuration register. VMCCR: mmio.Mmio(packed struct(u32) { - /// Video mode type This field returns the current video mode transmission type: 1x: Burst mode. + /// Video mode type This field returns the current video mode transmission type: 1x: Burst mode. VMT: u2, - /// Low-power vertical sync time enable This bit returns the current state of return to low-power inside the vertical sync time (VSA) period when timing allows. + /// Low-power vertical sync time enable This bit returns the current state of return to low-power inside the vertical sync time (VSA) period when timing allows. LPVSAE: u1, - /// Low-power vertical back-porch enable This bit returns the current state of return to low-power inside the vertical back-porch (VBP) period when timing allows. + /// Low-power vertical back-porch enable This bit returns the current state of return to low-power inside the vertical back-porch (VBP) period when timing allows. LPVBPE: u1, - /// Low-power vertical front-porch enable This bit returns the current state of return to low-power inside the vertical front-porch (VFP) period when timing allows. + /// Low-power vertical front-porch enable This bit returns the current state of return to low-power inside the vertical front-porch (VFP) period when timing allows. LPVFPE: u1, - /// Low-power vertical active enable This bit returns the current state of return to low-power inside the vertical active (VACT) period when timing allows. + /// Low-power vertical active enable This bit returns the current state of return to low-power inside the vertical active (VACT) period when timing allows. LPVAE: u1, - /// Low-power horizontal back-porch enable This bit returns the current state of return to low-power inside the horizontal back-porch (HBP) period when timing allows. + /// Low-power horizontal back-porch enable This bit returns the current state of return to low-power inside the horizontal back-porch (HBP) period when timing allows. LPHBPE: u1, - /// Low-power horizontal front-porch enable This bit returns the current state of return to low-power inside the horizontal front-porch (HFP) period when timing allows. + /// Low-power horizontal front-porch enable This bit returns the current state of return to low-power inside the horizontal front-porch (HFP) period when timing allows. LPHFE: u1, - /// Frame BTA acknowledge enable This bit returns the current state of request for an acknowledge response at the end of a frame. + /// Frame BTA acknowledge enable This bit returns the current state of request for an acknowledge response at the end of a frame. FBTAAE: u1, - /// Low-power command enable This bit returns the current command transmission state in low-power mode. + /// Low-power command enable This bit returns the current command transmission state in low-power mode. LPCE: u1, padding: u22, }), - /// DSI Host video packet current configuration register. + /// DSI Host video packet current configuration register. VPCCR: mmio.Mmio(packed struct(u32) { - /// Video packet size This field returns the number of pixels in a single video packet. + /// Video packet size This field returns the number of pixels in a single video packet. VPSIZE: u14, padding: u18, }), - /// DSI Host video chunks current configuration register. + /// DSI Host video chunks current configuration register. VCCCR: mmio.Mmio(packed struct(u32) { - /// Number of chunks This field returns the number of chunks being transmitted during a line period. + /// Number of chunks This field returns the number of chunks being transmitted during a line period. NUMC: u13, padding: u19, }), - /// DSI Host video null packet current configuration register. + /// DSI Host video null packet current configuration register. VNPCCR: mmio.Mmio(packed struct(u32) { - /// Null packet size This field returns the number of bytes inside a null packet. + /// Null packet size This field returns the number of bytes inside a null packet. NPSIZE: u13, padding: u19, }), - /// DSI Host video HSA current configuration register. + /// DSI Host video HSA current configuration register. VHSACCR: mmio.Mmio(packed struct(u32) { - /// Horizontal synchronism active duration This fields returns the horizontal synchronism active period in lane byte clock cycles. + /// Horizontal synchronism active duration This fields returns the horizontal synchronism active period in lane byte clock cycles. HSA: u12, padding: u20, }), - /// DSI Host video HBP current configuration register. + /// DSI Host video HBP current configuration register. VHBPCCR: mmio.Mmio(packed struct(u32) { - /// Horizontal back-porch duration This field returns the horizontal back-porch period in lane byte clock cycles. + /// Horizontal back-porch duration This field returns the horizontal back-porch period in lane byte clock cycles. HBP: u12, padding: u20, }), - /// DSI Host video line current configuration register. + /// DSI Host video line current configuration register. VLCCR: mmio.Mmio(packed struct(u32) { - /// Horizontal line duration This field returns the current total of the horizontal line period (HSA+HBP+HACT+HFP) counted in lane byte clock cycles. + /// Horizontal line duration This field returns the current total of the horizontal line period (HSA+HBP+HACT+HFP) counted in lane byte clock cycles. HLINE: u15, padding: u17, }), - /// DSI Host video VSA current configuration register. + /// DSI Host video VSA current configuration register. VVSACCR: mmio.Mmio(packed struct(u32) { - /// Vertical synchronism active duration This field returns the current vertical synchronism active period measured in number of horizontal lines. + /// Vertical synchronism active duration This field returns the current vertical synchronism active period measured in number of horizontal lines. VSA: u10, padding: u22, }), - /// DSI Host video VBP current configuration register. + /// DSI Host video VBP current configuration register. VVBPCCR: mmio.Mmio(packed struct(u32) { - /// Vertical back-porch duration This field returns the current vertical back-porch period measured in number of horizontal lines. + /// Vertical back-porch duration This field returns the current vertical back-porch period measured in number of horizontal lines. VBP: u10, padding: u22, }), - /// DSI Host video VFP current configuration register. + /// DSI Host video VFP current configuration register. VVFPCCR: mmio.Mmio(packed struct(u32) { - /// Vertical front-porch duration This field returns the current vertical front-porch period measured in number of horizontal lines. + /// Vertical front-porch duration This field returns the current vertical front-porch period measured in number of horizontal lines. VFP: u10, padding: u22, }), - /// DSI Host video VA current configuration register. + /// DSI Host video VA current configuration register. VVACCR: mmio.Mmio(packed struct(u32) { - /// Vertical active duration This field returns the current vertical active period measured in number of horizontal lines. + /// Vertical active duration This field returns the current vertical active period measured in number of horizontal lines. VA: u14, padding: u18, }), reserved360: [4]u8, - /// DSI Host FIFO and buffer status register. + /// DSI Host FIFO and buffer status register. FBSR: mmio.Mmio(packed struct(u32) { - /// Video mode command write FIFO empty This bit indicates the empty status of the video mode write command FIFO:. + /// Video mode command write FIFO empty This bit indicates the empty status of the video mode write command FIFO:. VCWFE: u1, - /// Video mode command write FIFO full This bit indicates the full status of the video mode write command FIFO:. + /// Video mode command write FIFO full This bit indicates the full status of the video mode write command FIFO:. VCWFF: u1, - /// Video mode payload write FIFO empty This bit indicates the empty status of the video mode write payload FIFO:. + /// Video mode payload write FIFO empty This bit indicates the empty status of the video mode write payload FIFO:. VPWFE: u1, - /// Video mode payload write FIFO full This bit indicates the full status of the video mode write payload FIFO:. + /// Video mode payload write FIFO full This bit indicates the full status of the video mode write payload FIFO:. VPWFF: u1, - /// Adapted command mode command write FIFO empty This bit indicates the empty status of the adapted command mode write command FIFO:. + /// Adapted command mode command write FIFO empty This bit indicates the empty status of the adapted command mode write command FIFO:. ACWFE: u1, - /// Adapted command mode command write FIFO full This bit indicates the full status of the adapted command mode write command FIFO:. + /// Adapted command mode command write FIFO full This bit indicates the full status of the adapted command mode write command FIFO:. ACWFF: u1, - /// Adapted command mode payload write FIFO empty This bit indicates the empty status of the adapted command mode write payload FIFO:. + /// Adapted command mode payload write FIFO empty This bit indicates the empty status of the adapted command mode write payload FIFO:. APWFE: u1, - /// Adapted command mode payload write FIFO full This bit indicates the full status of the adapted command mode write payload FIFO:. + /// Adapted command mode payload write FIFO full This bit indicates the full status of the adapted command mode write payload FIFO:. APWFF: u1, reserved16: u8, - /// Video mode payload buffer empty This bit indicates the empty status of the video mode payload internal buffer:. + /// Video mode payload buffer empty This bit indicates the empty status of the video mode payload internal buffer:. VPBE: u1, - /// Video mode payload buffer full This bit indicates the full status of the video mode payload internal buffer:. + /// Video mode payload buffer full This bit indicates the full status of the video mode payload internal buffer:. VPBF: u1, reserved20: u2, - /// Adapted command mode command buffer empty This bit indicates the empty status of the adapted command mode command internal buffer:. + /// Adapted command mode command buffer empty This bit indicates the empty status of the adapted command mode command internal buffer:. ACBE: u1, - /// Adapted command mode command buffer full This bit indicates the full status of the adapted command mode command internal buffer:. + /// Adapted command mode command buffer full This bit indicates the full status of the adapted command mode command internal buffer:. ACBF: u1, - /// Adapted command mode payload buffer empty This bit indicates the empty status of the adapted command mode payload internal buffer:. + /// Adapted command mode payload buffer empty This bit indicates the empty status of the adapted command mode payload internal buffer:. APBE: u1, - /// Adapted command mode payload buffer full This bit indicates the full status of the adapted command mode payload internal buffer:. + /// Adapted command mode payload buffer full This bit indicates the full status of the adapted command mode payload internal buffer:. APBF: u1, padding: u8, }), reserved1024: [660]u8, - /// DSI Wrapper configuration register. + /// DSI Wrapper configuration register. WCFGR: mmio.Mmio(packed struct(u32) { - /// DSI mode This bit selects the mode for the video transmission. This bit must only be changed when DSI Host is stopped (CR.EN = 0). + /// DSI mode This bit selects the mode for the video transmission. This bit must only be changed when DSI Host is stopped (CR.EN = 0). DSIM: u1, - /// Color multiplexing This bit selects the color multiplexing used by DSI Host. This field must only be changed when DSI is stopped (WCR.DSIEN = 0 and CR.EN = 0). + /// Color multiplexing This bit selects the color multiplexing used by DSI Host. This field must only be changed when DSI is stopped (WCR.DSIEN = 0 and CR.EN = 0). COLMUX: u3, - /// TE source This bit selects the tearing effect (TE) source. This bit must only be changed when DSI Host is stopped (CR.EN = 0). + /// TE source This bit selects the tearing effect (TE) source. This bit must only be changed when DSI Host is stopped (CR.EN = 0). TESRC: u1, - /// TE polarity This bit selects the polarity of the external pin tearing effect (TE) source. This bit must only be changed when DSI Host is stopped (CR.EN = 0). + /// TE polarity This bit selects the polarity of the external pin tearing effect (TE) source. This bit must only be changed when DSI Host is stopped (CR.EN = 0). TEPOL: u1, - /// Automatic refresh This bit selects the refresh mode in DBI mode. This bit must only be changed when DSI Host is stopped (CR.EN = 0). + /// Automatic refresh This bit selects the refresh mode in DBI mode. This bit must only be changed when DSI Host is stopped (CR.EN = 0). AR: u1, - /// VSync polarity This bit selects the VSync edge on which the LTDC is halted. This bit must only be changed when DSI is stopped (WCR.DSIEN = 0 and CR.EN = 0). + /// VSync polarity This bit selects the VSync edge on which the LTDC is halted. This bit must only be changed when DSI is stopped (WCR.DSIEN = 0 and CR.EN = 0). VSPOL: u1, padding: u24, }), - /// DSI Wrapper control register. + /// DSI Wrapper control register. WCR: mmio.Mmio(packed struct(u32) { - /// Color mode This bit controls the display color mode in video mode. + /// Color mode This bit controls the display color mode in video mode. COLM: u1, - /// Shutdown This bit controls the display shutdown in video mode. + /// Shutdown This bit controls the display shutdown in video mode. SHTDN: u1, - /// LTDC enable This bit enables the LTDC for a frame transfer in adapted command mode. + /// LTDC enable This bit enables the LTDC for a frame transfer in adapted command mode. LTDCEN: u1, - /// DSI enable This bit enables the DSI Wrapper. + /// DSI enable This bit enables the DSI Wrapper. DSIEN: u1, padding: u28, }), - /// DSI Wrapper interrupt enable register. + /// DSI Wrapper interrupt enable register. WIER: mmio.Mmio(packed struct(u32) { - /// Tearing effect interrupt enable This bit enables the tearing effect interrupt. + /// Tearing effect interrupt enable This bit enables the tearing effect interrupt. TEIE: u1, - /// End of refresh interrupt enable This bit enables the end of refresh interrupt. + /// End of refresh interrupt enable This bit enables the end of refresh interrupt. ERIE: u1, reserved9: u7, - /// PLL lock interrupt enable This bit enables the PLL lock interrupt. + /// PLL lock interrupt enable This bit enables the PLL lock interrupt. PLLLIE: u1, - /// PLL unlock interrupt enable This bit enables the PLL unlock interrupt. + /// PLL unlock interrupt enable This bit enables the PLL unlock interrupt. PLLUIE: u1, padding: u21, }), - /// DSI Wrapper interrupt and status register. + /// DSI Wrapper interrupt and status register. WISR: mmio.Mmio(packed struct(u32) { - /// Tearing effect interrupt flag This bit is set when a tearing effect event occurs. + /// Tearing effect interrupt flag This bit is set when a tearing effect event occurs. TEIF: u1, - /// End of refresh interrupt flag This bit is set when the transfer of a frame in adapted command mode is finished. + /// End of refresh interrupt flag This bit is set when the transfer of a frame in adapted command mode is finished. ERIF: u1, - /// Busy flag This bit is set when the transfer of a frame in adapted command mode is ongoing. + /// Busy flag This bit is set when the transfer of a frame in adapted command mode is ongoing. BUSY: u1, reserved8: u5, - /// PLL lock status This bit is set when the PLL is locked and cleared when it is unlocked. + /// PLL lock status This bit is set when the PLL is locked and cleared when it is unlocked. PLLLS: u1, - /// PLL lock interrupt flag This bit is set when the PLL becomes locked. + /// PLL lock interrupt flag This bit is set when the PLL becomes locked. PLLLIF: u1, - /// PLL unlock interrupt flag This bit is set when the PLL becomes unlocked. + /// PLL unlock interrupt flag This bit is set when the PLL becomes unlocked. PLLUIF: u1, padding: u21, }), - /// DSI Wrapper interrupt flag clear register. + /// DSI Wrapper interrupt flag clear register. WIFCR: mmio.Mmio(packed struct(u32) { - /// Clear tearing effect interrupt flag Write 1 clears the TEIF flag in the WSR register. + /// Clear tearing effect interrupt flag Write 1 clears the TEIF flag in the WSR register. CTEIF: u1, - /// Clear end of refresh interrupt flag Write 1 clears the ERIF flag in the WSR register. + /// Clear end of refresh interrupt flag Write 1 clears the ERIF flag in the WSR register. CERIF: u1, reserved9: u7, - /// Clear PLL lock interrupt flag Write 1 clears the PLLLIF flag in the WSR register. + /// Clear PLL lock interrupt flag Write 1 clears the PLLLIF flag in the WSR register. CPLLLIF: u1, - /// Clear PLL unlock interrupt flag Write 1 clears the PLLUIF flag in the WSR register. + /// Clear PLL unlock interrupt flag Write 1 clears the PLLUIF flag in the WSR register. CPLLUIF: u1, padding: u21, }), reserved1048: [4]u8, - /// DSI Wrapper PHY configuration register 0. + /// DSI Wrapper PHY configuration register 0. WPCR0: mmio.Mmio(packed struct(u32) { reserved6: u6, - /// Swap clock lane pins This bit swaps the pins on clock lane. + /// Swap clock lane pins This bit swaps the pins on clock lane. SWCL: u1, - /// Swap data lane 0 pins This bit swaps the pins on data lane 0. + /// Swap data lane 0 pins This bit swaps the pins on data lane 0. SWDL0: u1, - /// Swap data lane 1 pins This bit swaps the pins on clock lane. + /// Swap data lane 1 pins This bit swaps the pins on clock lane. SWDL1: u1, reserved12: u3, - /// Force in TX Stop mode the clock lane This bit forces the clock lane in TX stop mode. It is used to initialize a lane module in transmit mode. It causes the lane module to immediately jump to transmit control mode and to begin transmitting a stop state (LP-11). It can be used to go back in TX mode after a wrong BTA sequence. + /// Force in TX Stop mode the clock lane This bit forces the clock lane in TX stop mode. It is used to initialize a lane module in transmit mode. It causes the lane module to immediately jump to transmit control mode and to begin transmitting a stop state (LP-11). It can be used to go back in TX mode after a wrong BTA sequence. FTXSMCL: u1, - /// Force in TX Stop mode the data lanes This bit forces the data lanes in TX stop mode. It is used to initialize a lane module in transmit mode. It causes the lane module to immediately jump to transmit control mode and to begin transmitting a stop state (LP-11). It can be used to go back in TX mode after a wrong BTA sequence. + /// Force in TX Stop mode the data lanes This bit forces the data lanes in TX stop mode. It is used to initialize a lane module in transmit mode. It causes the lane module to immediately jump to transmit control mode and to begin transmitting a stop state (LP-11). It can be used to go back in TX mode after a wrong BTA sequence. FTXSMDL: u1, padding: u18, }), reserved1072: [20]u8, - /// DSI Wrapper regulator and PLL control register. + /// DSI Wrapper regulator and PLL control register. WRPCR: mmio.Mmio(packed struct(u32) { - /// PLL enable This bit enables the D-PHY PLL. + /// PLL enable This bit enables the D-PHY PLL. PLLEN: u1, reserved2: u1, - /// PLL loop division factor This field configures the PLL loop division factor. 2: PLL loop divided by 2x2 ... 511: PLL loop divided by 511x2. + /// PLL loop division factor This field configures the PLL loop division factor. 2: PLL loop divided by 2x2 ... 511: PLL loop divided by 511x2. NDIV: u9, - /// PLL input division factor This field configures the PLL input division factor. 2: PLL input divided by 2 ... 511: PLL input divided by 511. + /// PLL input division factor This field configures the PLL input division factor. 2: PLL input divided by 2 ... 511: PLL input divided by 511. IDF: u9, - /// PLL output division factor This field configures the PLL output division factor. 2: PLL output divided by 2 ... 511: PLL output divided by 511. + /// PLL output division factor This field configures the PLL output division factor. 2: PLL output divided by 2 ... 511: PLL output divided by 511. ODF: u9, padding: u3, }), reserved2056: [980]u8, - /// DSI bias configuration register. + /// DSI bias configuration register. BCFGR: mmio.Mmio(packed struct(u32) { reserved6: u6, - /// Power-up This bit powers-up the reference bias for the MIPI D-PHY. + /// Power-up This bit powers-up the reference bias for the MIPI D-PHY. PWRUP: u1, padding: u25, }), reserved3076: [1016]u8, - /// DSI D-PHY clock band control register. + /// DSI D-PHY clock band control register. DPCBCR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Band control This field selects the frequency band used by the D-PHY. Others: Reserved. + /// Band control This field selects the frequency band used by the D-PHY. Others: Reserved. BC: u5, padding: u24, }), reserved3124: [44]u8, - /// DSI D-PHY clock skew rate control register. + /// DSI D-PHY clock skew rate control register. DPCSRCR: mmio.Mmio(packed struct(u32) { - /// Slew rate control This field selects the slew rate for HS-TX speed. Others: Reserved. + /// Slew rate control This field selects the slew rate for HS-TX speed. Others: Reserved. SRC: u8, padding: u24, }), reserved3184: [56]u8, - /// DSI D-PHY data lane 0 band control register. + /// DSI D-PHY data lane 0 band control register. DPDL0BCR: mmio.Mmio(packed struct(u32) { - /// Band control This field selects the frequency band used by the D-PHY. Others: Reserved. + /// Band control This field selects the frequency band used by the D-PHY. Others: Reserved. BC: u5, padding: u27, }), reserved3232: [44]u8, - /// DSI D-PHY data lane 0 skew rate control register. + /// DSI D-PHY data lane 0 skew rate control register. DPDL0SRCR: mmio.Mmio(packed struct(u32) { - /// Slew rate control This field selects the slew rate for HS-TX speed. Others: Reserved. + /// Slew rate control This field selects the slew rate for HS-TX speed. Others: Reserved. SRC: u8, padding: u24, }), reserved3336: [100]u8, - /// DSI D-PHY data lane 1 band control register. + /// DSI D-PHY data lane 1 band control register. DPDL1BCR: mmio.Mmio(packed struct(u32) { - /// Band control This field selects the frequency band used by the D-PHY. Others: Reserved. + /// Band control This field selects the frequency band used by the D-PHY. Others: Reserved. BC: u5, padding: u27, }), reserved3384: [44]u8, - /// DSI D-PHY data lane 1 skew rate control register. + /// DSI D-PHY data lane 1 skew rate control register. DPDL1SRCR: mmio.Mmio(packed struct(u32) { - /// Slew rate control This field selects the slew rate for HS-TX speed. Others: Reserved. + /// Slew rate control This field selects the slew rate for HS-TX speed. Others: Reserved. SRC: u8, padding: u24, }), @@ -322312,938 +321199,938 @@ pub const types = struct { }; pub const dsihost_v1 = struct { - /// DSI Host. + /// DSI Host. pub const DSIHOST = extern struct { - /// DSI Host Version Register. + /// DSI Host Version Register. VR: mmio.Mmio(packed struct(u32) { - /// Version of the DSI Host. + /// Version of the DSI Host. VERSION: u32, }), - /// DSI Host Control Register. + /// DSI Host Control Register. CR: mmio.Mmio(packed struct(u32) { - /// Enable. + /// Enable. EN: u1, padding: u31, }), - /// DSI HOST Clock Control Register. + /// DSI HOST Clock Control Register. CCR: mmio.Mmio(packed struct(u32) { - /// TX Escape Clock Division. + /// TX Escape Clock Division. TXECKDIV: u8, - /// Timeout Clock Division. + /// Timeout Clock Division. TOCKDIV: u8, padding: u16, }), - /// DSI Host LTDC VCID Register. + /// DSI Host LTDC VCID Register. LVCIDR: mmio.Mmio(packed struct(u32) { - /// Virtual Channel ID. + /// Virtual Channel ID. VCID: u2, padding: u30, }), - /// DSI Host LTDC Color Coding Register. + /// DSI Host LTDC Color Coding Register. LCOLCR: mmio.Mmio(packed struct(u32) { - /// Color Coding. + /// Color Coding. COLC: u4, reserved8: u4, - /// Loosely Packet Enable. + /// Loosely Packet Enable. LPE: u1, padding: u23, }), - /// DSI Host LTDC Polarity Configuration Register. + /// DSI Host LTDC Polarity Configuration Register. LPCR: mmio.Mmio(packed struct(u32) { - /// Data Enable Polarity. + /// Data Enable Polarity. DEP: u1, - /// VSYNC Polarity. + /// VSYNC Polarity. VSP: u1, - /// HSYNC Polarity. + /// HSYNC Polarity. HSP: u1, padding: u29, }), - /// DSI Host Low-Power mode Configuration Register. + /// DSI Host Low-Power mode Configuration Register. LPMCR: mmio.Mmio(packed struct(u32) { - /// VACT Largest Packet Size. + /// VACT Largest Packet Size. VLPSIZE: u8, reserved16: u8, - /// Largest Packet Size. + /// Largest Packet Size. LPSIZE: u8, padding: u8, }), reserved44: [16]u8, - /// DSI Host Protocol Configuration Register. + /// DSI Host Protocol Configuration Register. PCR: mmio.Mmio(packed struct(u32) { - /// EoTp Transmission Enable. + /// EoTp Transmission Enable. ETTXE: u1, - /// EoTp Reception Enable. + /// EoTp Reception Enable. ETRXE: u1, - /// Bus Turn Around Enable. + /// Bus Turn Around Enable. BTAE: u1, - /// ECC Reception Enable. + /// ECC Reception Enable. ECCRXE: u1, - /// CRC Reception Enable. + /// CRC Reception Enable. CRCRXE: u1, padding: u27, }), - /// DSI Host Generic VCID Register. + /// DSI Host Generic VCID Register. GVCIDR: mmio.Mmio(packed struct(u32) { - /// Virtual Channel ID. + /// Virtual Channel ID. VCID: u2, padding: u30, }), - /// DSI Host mode Configuration Register. + /// DSI Host mode Configuration Register. MCR: mmio.Mmio(packed struct(u32) { - /// Command mode. + /// Command mode. CMDM: u1, padding: u31, }), - /// DSI Host Video mode Configuration Register. + /// DSI Host Video mode Configuration Register. VMCR: mmio.Mmio(packed struct(u32) { - /// Video mode Type. + /// Video mode Type. VMT: u2, reserved8: u6, - /// Low-Power Vertical Sync Active Enable. + /// Low-Power Vertical Sync Active Enable. LPVSAE: u1, - /// Low-power Vertical Back-Porch Enable. + /// Low-power Vertical Back-Porch Enable. LPVBPE: u1, - /// Low-power Vertical Front-porch Enable. + /// Low-power Vertical Front-porch Enable. LPVFPE: u1, - /// Low-Power Vertical Active Enable. + /// Low-Power Vertical Active Enable. LPVAE: u1, - /// Low-Power Horizontal Back-Porch Enable. + /// Low-Power Horizontal Back-Porch Enable. LPHBPE: u1, - /// Low-Power Horizontal Front-Porch Enable. + /// Low-Power Horizontal Front-Porch Enable. LPHFPE: u1, - /// Frame Bus-Turn-Around Acknowledge Enable. + /// Frame Bus-Turn-Around Acknowledge Enable. FBTAAE: u1, - /// Low-Power Command Enable. + /// Low-Power Command Enable. LPCE: u1, - /// Pattern Generator Enable. + /// Pattern Generator Enable. PGE: u1, reserved20: u3, - /// Pattern Generator mode. + /// Pattern Generator mode. PGM: u1, reserved24: u3, - /// Pattern Generator Orientation. + /// Pattern Generator Orientation. PGO: u1, padding: u7, }), - /// DSI Host Video Packet Configuration Register. + /// DSI Host Video Packet Configuration Register. VPCR: mmio.Mmio(packed struct(u32) { - /// Video Packet Size. + /// Video Packet Size. VPSIZE: u14, padding: u18, }), - /// DSI Host Video Chunks Configuration Register. + /// DSI Host Video Chunks Configuration Register. VCCR: mmio.Mmio(packed struct(u32) { - /// Number of Chunks. + /// Number of Chunks. NUMC: u13, padding: u19, }), - /// DSI Host Video Null Packet Configuration Register. + /// DSI Host Video Null Packet Configuration Register. VNPCR: mmio.Mmio(packed struct(u32) { - /// Null Packet Size. + /// Null Packet Size. NPSIZE: u13, padding: u19, }), - /// DSI Host Video HSA Configuration Register. + /// DSI Host Video HSA Configuration Register. VHSACR: mmio.Mmio(packed struct(u32) { - /// Horizontal Synchronism Active duration. + /// Horizontal Synchronism Active duration. HSA: u12, padding: u20, }), - /// DSI Host Video HBP Configuration Register. + /// DSI Host Video HBP Configuration Register. VHBPCR: mmio.Mmio(packed struct(u32) { - /// Horizontal Back-Porch duration. + /// Horizontal Back-Porch duration. HBP: u12, padding: u20, }), - /// DSI Host Video Line Configuration Register. + /// DSI Host Video Line Configuration Register. VLCR: mmio.Mmio(packed struct(u32) { - /// Horizontal Line duration. + /// Horizontal Line duration. HLINE: u15, padding: u17, }), - /// DSI Host Video VSA Configuration Register. + /// DSI Host Video VSA Configuration Register. VVSACR: mmio.Mmio(packed struct(u32) { - /// Vertical Synchronism Active duration. + /// Vertical Synchronism Active duration. VSA: u10, padding: u22, }), - /// DSI Host Video VBP Configuration Register. + /// DSI Host Video VBP Configuration Register. VVBPCR: mmio.Mmio(packed struct(u32) { - /// Vertical Back-Porch duration. + /// Vertical Back-Porch duration. VBP: u10, padding: u22, }), - /// DSI Host Video VFP Configuration Register. + /// DSI Host Video VFP Configuration Register. VVFPCR: mmio.Mmio(packed struct(u32) { - /// Vertical Front-Porch duration. + /// Vertical Front-Porch duration. VFP: u10, padding: u22, }), - /// DSI Host Video VA Configuration Register. + /// DSI Host Video VA Configuration Register. VVACR: mmio.Mmio(packed struct(u32) { - /// Vertical Active duration. + /// Vertical Active duration. VA: u14, padding: u18, }), - /// DSI Host LTDC Command Configuration Register. + /// DSI Host LTDC Command Configuration Register. LCCR: mmio.Mmio(packed struct(u32) { - /// Command Size. + /// Command Size. CMDSIZE: u16, padding: u16, }), - /// DSI Host Command mode Configuration Register. + /// DSI Host Command mode Configuration Register. CMCR: mmio.Mmio(packed struct(u32) { - /// Tearing Effect Acknowledge Request Enable. + /// Tearing Effect Acknowledge Request Enable. TEARE: u1, - /// Acknowledge Request Enable. + /// Acknowledge Request Enable. ARE: u1, reserved8: u6, - /// Generic Short Write Zero parameters Transmission. + /// Generic Short Write Zero parameters Transmission. GSW0TX: u1, - /// Generic Short Write One parameters Transmission. + /// Generic Short Write One parameters Transmission. GSW1TX: u1, - /// Generic Short Write Two parameters Transmission. + /// Generic Short Write Two parameters Transmission. GSW2TX: u1, - /// Generic Short Read Zero parameters Transmission. + /// Generic Short Read Zero parameters Transmission. GSR0TX: u1, - /// Generic Short Read One parameters Transmission. + /// Generic Short Read One parameters Transmission. GSR1TX: u1, - /// Generic Short Read Two parameters Transmission. + /// Generic Short Read Two parameters Transmission. GSR2TX: u1, - /// Generic Long Write Transmission. + /// Generic Long Write Transmission. GLWTX: u1, reserved16: u1, - /// DCS Short Write Zero parameter Transmission. + /// DCS Short Write Zero parameter Transmission. DSW0TX: u1, - /// DCS Short Read One parameter Transmission. + /// DCS Short Read One parameter Transmission. DSW1TX: u1, - /// DCS Short Read Zero parameter Transmission. + /// DCS Short Read Zero parameter Transmission. DSR0TX: u1, - /// DCS Long Write Transmission. + /// DCS Long Write Transmission. DLWTX: u1, reserved24: u4, - /// Maximum Read Packet Size. + /// Maximum Read Packet Size. MRDPS: u1, padding: u7, }), - /// DSI Host Generic Header Configuration Register. + /// DSI Host Generic Header Configuration Register. GHCR: mmio.Mmio(packed struct(u32) { - /// Type. + /// Type. DT: u6, - /// Channel. + /// Channel. VCID: u2, - /// WordCount LSB. + /// WordCount LSB. WCLSB: u8, - /// WordCount MSB. + /// WordCount MSB. WCMSB: u8, padding: u8, }), - /// DSI Host Generic Payload Data Register. + /// DSI Host Generic Payload Data Register. GPDR: mmio.Mmio(packed struct(u32) { - /// Payload Byte 1. + /// Payload Byte 1. DATA1: u8, - /// Payload Byte 2. + /// Payload Byte 2. DATA2: u8, - /// Payload Byte 3. + /// Payload Byte 3. DATA3: u8, - /// Payload Byte 4. + /// Payload Byte 4. DATA4: u8, }), - /// DSI Host Generic Packet Status Register. + /// DSI Host Generic Packet Status Register. GPSR: mmio.Mmio(packed struct(u32) { - /// Command FIFO Empty. + /// Command FIFO Empty. CMDFE: u1, - /// Command FIFO Full. + /// Command FIFO Full. CMDFF: u1, - /// Payload Write FIFO Empty. + /// Payload Write FIFO Empty. PWRFE: u1, - /// Payload Write FIFO Full. + /// Payload Write FIFO Full. PWRFF: u1, - /// Payload Read FIFO Empty. + /// Payload Read FIFO Empty. PRDFE: u1, - /// Payload Read FIFO Full. + /// Payload Read FIFO Full. PRDFF: u1, - /// Read Command Busy. + /// Read Command Busy. RCB: u1, padding: u25, }), - /// DSI Host Timeout Counter Configuration Register 0. + /// DSI Host Timeout Counter Configuration Register 0. TCCR0: mmio.Mmio(packed struct(u32) { - /// Low-power Reception Timeout Counter. + /// Low-power Reception Timeout Counter. LPRX_TOCNT: u16, - /// High-Speed Transmission Timeout Counter. + /// High-Speed Transmission Timeout Counter. HSTX_TOCNT: u16, }), - /// DSI Host Timeout Counter Configuration Register 1. + /// DSI Host Timeout Counter Configuration Register 1. TCCR1: mmio.Mmio(packed struct(u32) { - /// High-Speed Read Timeout Counter. + /// High-Speed Read Timeout Counter. HSRD_TOCNT: u16, padding: u16, }), - /// DSI Host Timeout Counter Configuration Register 2. + /// DSI Host Timeout Counter Configuration Register 2. TCCR2: mmio.Mmio(packed struct(u32) { - /// Low-Power Read Timeout Counter. + /// Low-Power Read Timeout Counter. LPRD_TOCNT: u16, padding: u16, }), - /// DSI Host Timeout Counter Configuration Register 3. + /// DSI Host Timeout Counter Configuration Register 3. TCCR3: mmio.Mmio(packed struct(u32) { - /// High-Speed Write Timeout Counter. + /// High-Speed Write Timeout Counter. HSWR_TOCNT: u16, reserved24: u8, - /// Presp mode. + /// Presp mode. PM: u1, padding: u7, }), - /// DSI Host Timeout Counter Configuration Register 4. + /// DSI Host Timeout Counter Configuration Register 4. TCCR4: mmio.Mmio(packed struct(u32) { - /// Low-Power Write Timeout Counter. + /// Low-Power Write Timeout Counter. LSWR_TOCNT: u16, padding: u16, }), - /// DSI Host Timeout Counter Configuration Register 5. + /// DSI Host Timeout Counter Configuration Register 5. TCCR5: mmio.Mmio(packed struct(u32) { - /// Bus-Turn-Around Timeout Counter. + /// Bus-Turn-Around Timeout Counter. BTA_TOCNT: u16, padding: u16, }), reserved148: [4]u8, - /// DSI Host Clock Lane Configuration Register. + /// DSI Host Clock Lane Configuration Register. CLCR: mmio.Mmio(packed struct(u32) { - /// D-PHY Clock Control. + /// D-PHY Clock Control. DPCC: u1, - /// Automatic Clock lane Control. + /// Automatic Clock lane Control. ACR: u1, padding: u30, }), - /// DSI Host Clock Lane Timer Configuration Register. + /// DSI Host Clock Lane Timer Configuration Register. CLTCR: mmio.Mmio(packed struct(u32) { - /// Low-Power to High-Speed Time. + /// Low-Power to High-Speed Time. LP2HS_TIME: u10, reserved16: u6, - /// High-Speed to Low-Power Time. + /// High-Speed to Low-Power Time. HS2LP_TIME: u10, padding: u6, }), - /// DSI Host Data Lane Timer Configuration Register. + /// DSI Host Data Lane Timer Configuration Register. DLTCR: mmio.Mmio(packed struct(u32) { - /// Maximum Read Time. + /// Maximum Read Time. MRD_TIME: u15, reserved16: u1, - /// Low-Power To High-Speed Time. + /// Low-Power To High-Speed Time. LP2HS_TIME: u8, - /// High-Speed To Low-Power Time. + /// High-Speed To Low-Power Time. HS2LP_TIME: u8, }), - /// DSI Host PHY Control Register. + /// DSI Host PHY Control Register. PCTLR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Digital Enable. + /// Digital Enable. DEN: u1, - /// Clock Enable. + /// Clock Enable. CKE: u1, padding: u29, }), - /// DSI Host PHY Configuration Register. + /// DSI Host PHY Configuration Register. PCONFR: mmio.Mmio(packed struct(u32) { - /// Number of Lanes. + /// Number of Lanes. NL: u2, reserved8: u6, - /// Stop Wait Time. + /// Stop Wait Time. SW_TIME: u8, padding: u16, }), - /// DSI Host PHY ULPS Control Register. + /// DSI Host PHY ULPS Control Register. PUCR: mmio.Mmio(packed struct(u32) { - /// ULPS Request on Clock Lane. + /// ULPS Request on Clock Lane. URCL: u1, - /// ULPS Exit on Clock Lane. + /// ULPS Exit on Clock Lane. UECL: u1, - /// ULPS Request on Data Lane. + /// ULPS Request on Data Lane. URDL: u1, - /// ULPS Exit on Data Lane. + /// ULPS Exit on Data Lane. UEDL: u1, padding: u28, }), - /// DSI Host PHY TX Triggers Configuration Register. + /// DSI Host PHY TX Triggers Configuration Register. PTTCR: mmio.Mmio(packed struct(u32) { - /// Transmission Trigger. + /// Transmission Trigger. TX_TRIG: u4, padding: u28, }), - /// DSI Host PHY Status Register. + /// DSI Host PHY Status Register. PSR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// PHY Direction. + /// PHY Direction. PD: u1, - /// PHY Stop State Clock lane. + /// PHY Stop State Clock lane. PSSC: u1, - /// ULPS Active Not Clock lane. + /// ULPS Active Not Clock lane. UANC: u1, - /// PHY Stop State lane 0. + /// PHY Stop State lane 0. PSS0: u1, - /// ULPS Active Not lane 1. + /// ULPS Active Not lane 1. UAN0: u1, - /// RX ULPS Escape lane 0. + /// RX ULPS Escape lane 0. RUE0: u1, - /// PHY Stop State lane 1. + /// PHY Stop State lane 1. PSS1: u1, - /// ULPS Active Not lane 1. + /// ULPS Active Not lane 1. UAN1: u1, padding: u23, }), reserved188: [8]u8, - /// DSI Host Interrupt & Status Register 0. + /// DSI Host Interrupt & Status Register 0. ISR0: mmio.Mmio(packed struct(u32) { - /// Acknowledge Error 0. + /// Acknowledge Error 0. AE0: u1, - /// Acknowledge Error 1. + /// Acknowledge Error 1. AE1: u1, - /// Acknowledge Error 2. + /// Acknowledge Error 2. AE2: u1, - /// Acknowledge Error 3. + /// Acknowledge Error 3. AE3: u1, - /// Acknowledge Error 4. + /// Acknowledge Error 4. AE4: u1, - /// Acknowledge Error 5. + /// Acknowledge Error 5. AE5: u1, - /// Acknowledge Error 6. + /// Acknowledge Error 6. AE6: u1, - /// Acknowledge Error 7. + /// Acknowledge Error 7. AE7: u1, - /// Acknowledge Error 8. + /// Acknowledge Error 8. AE8: u1, - /// Acknowledge Error 9. + /// Acknowledge Error 9. AE9: u1, - /// Acknowledge Error 10. + /// Acknowledge Error 10. AE10: u1, - /// Acknowledge Error 11. + /// Acknowledge Error 11. AE11: u1, - /// Acknowledge Error 12. + /// Acknowledge Error 12. AE12: u1, - /// Acknowledge Error 13. + /// Acknowledge Error 13. AE13: u1, - /// Acknowledge Error 14. + /// Acknowledge Error 14. AE14: u1, - /// Acknowledge Error 15. + /// Acknowledge Error 15. AE15: u1, - /// PHY Error 0. + /// PHY Error 0. PE0: u1, - /// PHY Error 1. + /// PHY Error 1. PE1: u1, - /// PHY Error 2. + /// PHY Error 2. PE2: u1, - /// PHY Error 3. + /// PHY Error 3. PE3: u1, - /// PHY Error 4. + /// PHY Error 4. PE4: u1, padding: u11, }), - /// DSI Host Interrupt & Status Register 1. + /// DSI Host Interrupt & Status Register 1. ISR1: mmio.Mmio(packed struct(u32) { - /// Timeout High-Speed Transmission. + /// Timeout High-Speed Transmission. TOHSTX: u1, - /// Timeout Low-Power Reception. + /// Timeout Low-Power Reception. TOLPRX: u1, - /// ECC Single-bit Error. + /// ECC Single-bit Error. ECCSE: u1, - /// ECC Multi-bit Error. + /// ECC Multi-bit Error. ECCME: u1, - /// CRC Error. + /// CRC Error. CRCE: u1, - /// Packet Size Error. + /// Packet Size Error. PSE: u1, - /// EoTp Error. + /// EoTp Error. EOTPE: u1, - /// LTDC Payload Write Error. + /// LTDC Payload Write Error. LPWRE: u1, - /// Generic Command Write Error. + /// Generic Command Write Error. GCWRE: u1, - /// Generic Payload Write Error. + /// Generic Payload Write Error. GPWRE: u1, - /// Generic Payload Transmit Error. + /// Generic Payload Transmit Error. GPTXE: u1, - /// Generic Payload Read Error. + /// Generic Payload Read Error. GPRDE: u1, - /// Generic Payload Receive Error. + /// Generic Payload Receive Error. GPRXE: u1, padding: u19, }), - /// DSI Host Interrupt Enable Register 0. + /// DSI Host Interrupt Enable Register 0. IER0: mmio.Mmio(packed struct(u32) { - /// Acknowledge Error 0 Interrupt Enable. + /// Acknowledge Error 0 Interrupt Enable. AE0IE: u1, - /// Acknowledge Error 1 Interrupt Enable. + /// Acknowledge Error 1 Interrupt Enable. AE1IE: u1, - /// Acknowledge Error 2 Interrupt Enable. + /// Acknowledge Error 2 Interrupt Enable. AE2IE: u1, - /// Acknowledge Error 3 Interrupt Enable. + /// Acknowledge Error 3 Interrupt Enable. AE3IE: u1, - /// Acknowledge Error 4 Interrupt Enable. + /// Acknowledge Error 4 Interrupt Enable. AE4IE: u1, - /// Acknowledge Error 5 Interrupt Enable. + /// Acknowledge Error 5 Interrupt Enable. AE5IE: u1, - /// Acknowledge Error 6 Interrupt Enable. + /// Acknowledge Error 6 Interrupt Enable. AE6IE: u1, - /// Acknowledge Error 7 Interrupt Enable. + /// Acknowledge Error 7 Interrupt Enable. AE7IE: u1, - /// Acknowledge Error 8 Interrupt Enable. + /// Acknowledge Error 8 Interrupt Enable. AE8IE: u1, - /// Acknowledge Error 9 Interrupt Enable. + /// Acknowledge Error 9 Interrupt Enable. AE9IE: u1, - /// Acknowledge Error 10 Interrupt Enable. + /// Acknowledge Error 10 Interrupt Enable. AE10IE: u1, - /// Acknowledge Error 11 Interrupt Enable. + /// Acknowledge Error 11 Interrupt Enable. AE11IE: u1, - /// Acknowledge Error 12 Interrupt Enable. + /// Acknowledge Error 12 Interrupt Enable. AE12IE: u1, - /// Acknowledge Error 13 Interrupt Enable. + /// Acknowledge Error 13 Interrupt Enable. AE13IE: u1, - /// Acknowledge Error 14 Interrupt Enable. + /// Acknowledge Error 14 Interrupt Enable. AE14IE: u1, - /// Acknowledge Error 15 Interrupt Enable. + /// Acknowledge Error 15 Interrupt Enable. AE15IE: u1, - /// PHY Error 0 Interrupt Enable. + /// PHY Error 0 Interrupt Enable. PE0IE: u1, - /// PHY Error 1 Interrupt Enable. + /// PHY Error 1 Interrupt Enable. PE1IE: u1, - /// PHY Error 2 Interrupt Enable. + /// PHY Error 2 Interrupt Enable. PE2IE: u1, - /// PHY Error 3 Interrupt Enable. + /// PHY Error 3 Interrupt Enable. PE3IE: u1, - /// PHY Error 4 Interrupt Enable. + /// PHY Error 4 Interrupt Enable. PE4IE: u1, padding: u11, }), - /// DSI Host Interrupt Enable Register 1. + /// DSI Host Interrupt Enable Register 1. IER1: mmio.Mmio(packed struct(u32) { - /// Timeout High-Speed Transmission Interrupt Enable. + /// Timeout High-Speed Transmission Interrupt Enable. TOHSTXIE: u1, - /// Timeout Low-Power Reception Interrupt Enable. + /// Timeout Low-Power Reception Interrupt Enable. TOLPRXIE: u1, - /// ECC Single-bit Error Interrupt Enable. + /// ECC Single-bit Error Interrupt Enable. ECCSEIE: u1, - /// ECC Multi-bit Error Interrupt Enable. + /// ECC Multi-bit Error Interrupt Enable. ECCMEIE: u1, - /// CRC Error Interrupt Enable. + /// CRC Error Interrupt Enable. CRCEIE: u1, - /// Packet Size Error Interrupt Enable. + /// Packet Size Error Interrupt Enable. PSEIE: u1, - /// EoTp Error Interrupt Enable. + /// EoTp Error Interrupt Enable. EOTPEIE: u1, - /// LTDC Payload Write Error Interrupt Enable. + /// LTDC Payload Write Error Interrupt Enable. LPWREIE: u1, - /// Generic Command Write Error Interrupt Enable. + /// Generic Command Write Error Interrupt Enable. GCWREIE: u1, - /// Generic Payload Write Error Interrupt Enable. + /// Generic Payload Write Error Interrupt Enable. GPWREIE: u1, - /// Generic Payload Transmit Error Interrupt Enable. + /// Generic Payload Transmit Error Interrupt Enable. GPTXEIE: u1, - /// Generic Payload Read Error Interrupt Enable. + /// Generic Payload Read Error Interrupt Enable. GPRDEIE: u1, - /// Generic Payload Receive Error Interrupt Enable. + /// Generic Payload Receive Error Interrupt Enable. GPRXEIE: u1, padding: u19, }), reserved216: [12]u8, - /// DSI Host Force Interrupt Register 0. + /// DSI Host Force Interrupt Register 0. FIR0: mmio.Mmio(packed struct(u32) { - /// Force Acknowledge Error 0. + /// Force Acknowledge Error 0. FAE0: u1, - /// Force Acknowledge Error 1. + /// Force Acknowledge Error 1. FAE1: u1, - /// Force Acknowledge Error 2. + /// Force Acknowledge Error 2. FAE2: u1, - /// Force Acknowledge Error 3. + /// Force Acknowledge Error 3. FAE3: u1, - /// Force Acknowledge Error 4. + /// Force Acknowledge Error 4. FAE4: u1, - /// Force Acknowledge Error 5. + /// Force Acknowledge Error 5. FAE5: u1, - /// Force Acknowledge Error 6. + /// Force Acknowledge Error 6. FAE6: u1, - /// Force Acknowledge Error 7. + /// Force Acknowledge Error 7. FAE7: u1, - /// Force Acknowledge Error 8. + /// Force Acknowledge Error 8. FAE8: u1, - /// Force Acknowledge Error 9. + /// Force Acknowledge Error 9. FAE9: u1, - /// Force Acknowledge Error 10. + /// Force Acknowledge Error 10. FAE10: u1, - /// Force Acknowledge Error 11. + /// Force Acknowledge Error 11. FAE11: u1, - /// Force Acknowledge Error 12. + /// Force Acknowledge Error 12. FAE12: u1, - /// Force Acknowledge Error 13. + /// Force Acknowledge Error 13. FAE13: u1, - /// Force Acknowledge Error 14. + /// Force Acknowledge Error 14. FAE14: u1, - /// Force Acknowledge Error 15. + /// Force Acknowledge Error 15. FAE15: u1, - /// Force PHY Error 0. + /// Force PHY Error 0. FPE0: u1, - /// Force PHY Error 1. + /// Force PHY Error 1. FPE1: u1, - /// Force PHY Error 2. + /// Force PHY Error 2. FPE2: u1, - /// Force PHY Error 3. + /// Force PHY Error 3. FPE3: u1, - /// Force PHY Error 4. + /// Force PHY Error 4. FPE4: u1, padding: u11, }), - /// DSI Host Force Interrupt Register 1. + /// DSI Host Force Interrupt Register 1. FIR1: mmio.Mmio(packed struct(u32) { - /// Force Timeout High-Speed Transmission. + /// Force Timeout High-Speed Transmission. FTOHSTX: u1, - /// Force Timeout Low-Power Reception. + /// Force Timeout Low-Power Reception. FTOLPRX: u1, - /// Force ECC Single-bit Error. + /// Force ECC Single-bit Error. FECCSE: u1, - /// Force ECC Multi-bit Error. + /// Force ECC Multi-bit Error. FECCME: u1, - /// Force CRC Error. + /// Force CRC Error. FCRCE: u1, - /// Force Packet Size Error. + /// Force Packet Size Error. FPSE: u1, - /// Force EoTp Error. + /// Force EoTp Error. FEOTPE: u1, - /// Force LTDC Payload Write Error. + /// Force LTDC Payload Write Error. FLPWRE: u1, - /// Force Generic Command Write Error. + /// Force Generic Command Write Error. FGCWRE: u1, - /// Force Generic Payload Write Error. + /// Force Generic Payload Write Error. FGPWRE: u1, - /// Force Generic Payload Transmit Error. + /// Force Generic Payload Transmit Error. FGPTXE: u1, - /// Force Generic Payload Read Error. + /// Force Generic Payload Read Error. FGPRDE: u1, - /// Force Generic Payload Receive Error. + /// Force Generic Payload Receive Error. FGPRXE: u1, padding: u19, }), reserved256: [32]u8, - /// DSI Host Video Shadow Control Register. + /// DSI Host Video Shadow Control Register. VSCR: mmio.Mmio(packed struct(u32) { - /// Enable. + /// Enable. EN: u1, reserved8: u7, - /// Update Register. + /// Update Register. UR: u1, padding: u23, }), reserved268: [8]u8, - /// DSI Host LTDC Current VCID Register. + /// DSI Host LTDC Current VCID Register. LCVCIDR: mmio.Mmio(packed struct(u32) { - /// Virtual Channel ID. + /// Virtual Channel ID. VCID: u2, padding: u30, }), - /// DSI Host LTDC Current Color Coding Register. + /// DSI Host LTDC Current Color Coding Register. LCCCR: mmio.Mmio(packed struct(u32) { - /// Color Coding. + /// Color Coding. COLC: u4, reserved8: u4, - /// Loosely Packed Enable. + /// Loosely Packed Enable. LPE: u1, padding: u23, }), reserved280: [4]u8, - /// DSI Host Low-Power mode Current Configuration Register. + /// DSI Host Low-Power mode Current Configuration Register. LPMCCR: mmio.Mmio(packed struct(u32) { - /// VACT Largest Packet Size. + /// VACT Largest Packet Size. VLPSIZE: u8, reserved16: u8, - /// Largest Packet Size. + /// Largest Packet Size. LPSIZE: u8, padding: u8, }), reserved312: [28]u8, - /// DSI Host Video mode Current Configuration Register. + /// DSI Host Video mode Current Configuration Register. VMCCR: mmio.Mmio(packed struct(u32) { - /// Video mode Type. + /// Video mode Type. VMT: u2, - /// Low-Power Vertical Sync time Enable. + /// Low-Power Vertical Sync time Enable. LPVSAE: u1, - /// Low-power Vertical Back-Porch Enable. + /// Low-power Vertical Back-Porch Enable. LPVBPE: u1, - /// Low-power Vertical Front-Porch Enable. + /// Low-power Vertical Front-Porch Enable. LPVFPE: u1, - /// Low-Power Vertical Active Enable. + /// Low-Power Vertical Active Enable. LPVAE: u1, - /// Low-power Horizontal Back-Porch Enable. + /// Low-power Horizontal Back-Porch Enable. LPHBPE: u1, - /// Low-Power Horizontal Front-Porch Enable. + /// Low-Power Horizontal Front-Porch Enable. LPHFE: u1, - /// Frame BTA Acknowledge Enable. + /// Frame BTA Acknowledge Enable. FBTAAE: u1, - /// Low-Power Command Enable. + /// Low-Power Command Enable. LPCE: u1, padding: u22, }), - /// DSI Host Video Packet Current Configuration Register. + /// DSI Host Video Packet Current Configuration Register. VPCCR: mmio.Mmio(packed struct(u32) { - /// Video Packet Size. + /// Video Packet Size. VPSIZE: u14, padding: u18, }), - /// DSI Host Video Chunks Current Configuration Register. + /// DSI Host Video Chunks Current Configuration Register. VCCCR: mmio.Mmio(packed struct(u32) { - /// Number of Chunks. + /// Number of Chunks. NUMC: u13, padding: u19, }), - /// DSI Host Video Null Packet Current Configuration Register. + /// DSI Host Video Null Packet Current Configuration Register. VNPCCR: mmio.Mmio(packed struct(u32) { - /// Null Packet Size. + /// Null Packet Size. NPSIZE: u13, padding: u19, }), - /// DSI Host Video HSA Current Configuration Register. + /// DSI Host Video HSA Current Configuration Register. VHSACCR: mmio.Mmio(packed struct(u32) { - /// Horizontal Synchronism Active duration. + /// Horizontal Synchronism Active duration. HSA: u12, padding: u20, }), - /// DSI Host Video HBP Current Configuration Register. + /// DSI Host Video HBP Current Configuration Register. VHBPCCR: mmio.Mmio(packed struct(u32) { - /// Horizontal Back-Porch duration. + /// Horizontal Back-Porch duration. HBP: u12, padding: u20, }), - /// DSI Host Video Line Current Configuration Register. + /// DSI Host Video Line Current Configuration Register. VLCCR: mmio.Mmio(packed struct(u32) { - /// Horizontal Line duration. + /// Horizontal Line duration. HLINE: u15, padding: u17, }), - /// DSI Host Video VSA Current Configuration Register. + /// DSI Host Video VSA Current Configuration Register. VVSACCR: mmio.Mmio(packed struct(u32) { - /// Vertical Synchronism Active duration. + /// Vertical Synchronism Active duration. VSA: u10, padding: u22, }), - /// DSI Host Video VBP Current Configuration Register. + /// DSI Host Video VBP Current Configuration Register. VVBPCCR: mmio.Mmio(packed struct(u32) { - /// Vertical Back-Porch duration. + /// Vertical Back-Porch duration. VBP: u10, padding: u22, }), - /// DSI Host Video VFP Current Configuration Register. + /// DSI Host Video VFP Current Configuration Register. VVFPCCR: mmio.Mmio(packed struct(u32) { - /// Vertical Front-Porch duration. + /// Vertical Front-Porch duration. VFP: u10, padding: u22, }), - /// DSI Host Video VA Current Configuration Register. + /// DSI Host Video VA Current Configuration Register. VVACCR: mmio.Mmio(packed struct(u32) { - /// Vertical Active duration. + /// Vertical Active duration. VA: u14, padding: u18, }), reserved1024: [668]u8, - /// DSI Wrapper Configuration Register. + /// DSI Wrapper Configuration Register. WCFGR: mmio.Mmio(packed struct(u32) { - /// DSI Mode. + /// DSI Mode. DSIM: u1, - /// Color Multiplexing. + /// Color Multiplexing. COLMUX: u3, - /// TE Source. + /// TE Source. TESRC: u1, - /// TE Polarity. + /// TE Polarity. TEPOL: u1, - /// Automatic Refresh. + /// Automatic Refresh. AR: u1, - /// VSync Polarity. + /// VSync Polarity. VSPOL: u1, padding: u24, }), - /// DSI Wrapper Control Register. + /// DSI Wrapper Control Register. WCR: mmio.Mmio(packed struct(u32) { - /// Color Mode. + /// Color Mode. COLM: u1, - /// Shutdown. + /// Shutdown. SHTDN: u1, - /// LTDC Enable. + /// LTDC Enable. LTDCEN: u1, - /// DSI Enable. + /// DSI Enable. DSIEN: u1, padding: u28, }), - /// DSI Wrapper Interrupt Enable Register. + /// DSI Wrapper Interrupt Enable Register. WIER: mmio.Mmio(packed struct(u32) { - /// Tearing Effect Interrupt Enable. + /// Tearing Effect Interrupt Enable. TEIE: u1, - /// End of Refresh Interrupt Enable. + /// End of Refresh Interrupt Enable. ERIE: u1, reserved9: u7, - /// PLL Lock Interrupt Enable. + /// PLL Lock Interrupt Enable. PLLLIE: u1, - /// PLL Unlock Interrupt Enable. + /// PLL Unlock Interrupt Enable. PLLUIE: u1, reserved13: u2, - /// Regulator Ready Interrupt Enable. + /// Regulator Ready Interrupt Enable. RRIE: u1, padding: u18, }), - /// DSI Wrapper Interrupt & Status Register. + /// DSI Wrapper Interrupt & Status Register. WISR: mmio.Mmio(packed struct(u32) { - /// Tearing Effect Interrupt Flag. + /// Tearing Effect Interrupt Flag. TEIF: u1, - /// End of Refresh Interrupt Flag. + /// End of Refresh Interrupt Flag. ERIF: u1, - /// Busy Flag. + /// Busy Flag. BUSY: u1, reserved8: u5, - /// PLL Lock Status. + /// PLL Lock Status. PLLLS: u1, - /// PLL Lock Interrupt Flag. + /// PLL Lock Interrupt Flag. PLLLIF: u1, - /// PLL Unlock Interrupt Flag. + /// PLL Unlock Interrupt Flag. PLLUIF: u1, reserved12: u1, - /// Regulator Ready Status. + /// Regulator Ready Status. RRS: u1, - /// Regulator Ready Interrupt Flag. + /// Regulator Ready Interrupt Flag. RRIF: u1, padding: u18, }), - /// DSI Wrapper Interrupt Flag Clear Register. + /// DSI Wrapper Interrupt Flag Clear Register. WIFCR: mmio.Mmio(packed struct(u32) { - /// Clear Tearing Effect Interrupt Flag. + /// Clear Tearing Effect Interrupt Flag. CTEIF: u1, - /// Clear End of Refresh Interrupt Flag. + /// Clear End of Refresh Interrupt Flag. CERIF: u1, reserved9: u7, - /// Clear PLL Lock Interrupt Flag. + /// Clear PLL Lock Interrupt Flag. CPLLLIF: u1, - /// Clear PLL Unlock Interrupt Flag. + /// Clear PLL Unlock Interrupt Flag. CPLLUIF: u1, reserved13: u2, - /// Clear Regulator Ready Interrupt Flag. + /// Clear Regulator Ready Interrupt Flag. CRRIF: u1, padding: u18, }), reserved1048: [4]u8, - /// DSI Wrapper PHY Configuration Register 0. + /// DSI Wrapper PHY Configuration Register 0. WPCR0: mmio.Mmio(packed struct(u32) { - /// Unit Interval multiplied by 4. + /// Unit Interval multiplied by 4. UIX4: u6, - /// Swap Clock Lane pins. + /// Swap Clock Lane pins. SWCL: u1, - /// Swap Data Lane 0 pins. + /// Swap Data Lane 0 pins. SWDL0: u1, - /// Swap Data Lane 1 pins. + /// Swap Data Lane 1 pins. SWDL1: u1, - /// Invert Hight-Speed data signal on Clock Lane. + /// Invert Hight-Speed data signal on Clock Lane. HSICL: u1, - /// Invert the Hight-Speed data signal on Data Lane 0. + /// Invert the Hight-Speed data signal on Data Lane 0. HSIDL0: u1, - /// Invert the High-Speed data signal on Data Lane 1. + /// Invert the High-Speed data signal on Data Lane 1. HSIDL1: u1, - /// Force in TX Stop Mode the Clock Lane. + /// Force in TX Stop Mode the Clock Lane. FTXSMCL: u1, - /// Force in TX Stop Mode the Data Lanes. + /// Force in TX Stop Mode the Data Lanes. FTXSMDL: u1, - /// Contention Detection OFF on Data Lanes. + /// Contention Detection OFF on Data Lanes. CDOFFDL: u1, reserved16: u1, - /// Turn Disable Data Lanes. + /// Turn Disable Data Lanes. TDDL: u1, reserved18: u1, - /// Pull-Down Enable. + /// Pull-Down Enable. PDEN: u1, - /// custom time for tCLK-PREPARE Enable. + /// custom time for tCLK-PREPARE Enable. TCLKPREPEN: u1, - /// custom time for tCLK-ZERO Enable. + /// custom time for tCLK-ZERO Enable. TCLKZEROEN: u1, - /// custom time for tHS-PREPARE Enable. + /// custom time for tHS-PREPARE Enable. THSPREPEN: u1, - /// custom time for tHS-TRAIL Enable. + /// custom time for tHS-TRAIL Enable. THSTRAILEN: u1, - /// custom time for tHS-ZERO Enable. + /// custom time for tHS-ZERO Enable. THSZEROEN: u1, - /// custom time for tLPX for Data lanes Enable. + /// custom time for tLPX for Data lanes Enable. TLPXDEN: u1, - /// custom time for tHS-EXIT Enable. + /// custom time for tHS-EXIT Enable. THSEXITEN: u1, - /// custom time for tLPX for Clock lane Enable. + /// custom time for tLPX for Clock lane Enable. TLPXCEN: u1, - /// custom time for tCLK-POST Enable. + /// custom time for tCLK-POST Enable. TCLKPOSTEN: u1, padding: u4, }), - /// DSI Wrapper PHY Configuration Register 1. + /// DSI Wrapper PHY Configuration Register 1. WPCR1: mmio.Mmio(packed struct(u32) { - /// High-Speed Transmission Delay on Clock Lane. + /// High-Speed Transmission Delay on Clock Lane. HSTXDCL: u2, - /// High-Speed Transmission Delay on Data Lanes. + /// High-Speed Transmission Delay on Data Lanes. HSTXDLL: u2, reserved6: u2, - /// Low-Power transmission Slew Rate Compensation on Clock Lane. + /// Low-Power transmission Slew Rate Compensation on Clock Lane. LPSRCL: u2, - /// Low-Power transmission Slew Rate Compensation on Data Lanes. + /// Low-Power transmission Slew Rate Compensation on Data Lanes. LPSRDL: u2, reserved12: u2, - /// SDD Control. + /// SDD Control. SDCC: u1, reserved16: u3, - /// High-Speed Transmission Slew Rate Control on Clock Lane. + /// High-Speed Transmission Slew Rate Control on Clock Lane. HSTXSRCCL: u2, - /// High-Speed Transmission Slew Rate Control on Data Lanes. + /// High-Speed Transmission Slew Rate Control on Data Lanes. HSTXSRCDL: u2, reserved22: u2, - /// Forces LP Receiver in Low-Power Mode. + /// Forces LP Receiver in Low-Power Mode. FLPRXLPM: u1, reserved25: u2, - /// Low-Power RX low-pass Filtering Tuning. + /// Low-Power RX low-pass Filtering Tuning. LPRXFT: u2, padding: u5, }), - /// DSI Wrapper PHY Configuration Register 2. + /// DSI Wrapper PHY Configuration Register 2. WPCR2: mmio.Mmio(packed struct(u32) { - /// tCLK-PREPARE. + /// tCLK-PREPARE. TCLKPREP: u8, - /// tCLK-ZERO. + /// tCLK-ZERO. TCLKZEO: u8, - /// tHS-PREPARE. + /// tHS-PREPARE. THSPREP: u8, - /// tHSTRAIL. + /// tHSTRAIL. THSTRAIL: u8, }), - /// DSI Wrapper PHY Configuration Register 3. + /// DSI Wrapper PHY Configuration Register 3. WPCR3: mmio.Mmio(packed struct(u32) { - /// tHS-ZERO. + /// tHS-ZERO. THSZERO: u8, - /// tLPX for Data lanes. + /// tLPX for Data lanes. TLPXD: u8, - /// tHSEXIT. + /// tHSEXIT. THSEXIT: u8, - /// tLPXC for Clock lane. + /// tLPXC for Clock lane. TLPXC: u8, }), - /// DSI Wrapper PHY Configuration Register 4. + /// DSI Wrapper PHY Configuration Register 4. WPCR4: mmio.Mmio(packed struct(u32) { - /// tCLK-POST. + /// tCLK-POST. TCLKPOST: u8, padding: u24, }), reserved1072: [4]u8, - /// DSI Wrapper Regulator and PLL Control Register. + /// DSI Wrapper Regulator and PLL Control Register. WRPCR: mmio.Mmio(packed struct(u32) { - /// PLL Enable. + /// PLL Enable. PLLEN: u1, reserved2: u1, - /// PLL Loop Division Factor. + /// PLL Loop Division Factor. NDIV: u7, reserved11: u2, - /// PLL Input Division Factor. + /// PLL Input Division Factor. IDF: u4, reserved16: u1, - /// PLL Output Division Factor. + /// PLL Output Division Factor. ODF: u2, reserved24: u6, - /// Regulator Enable. + /// Regulator Enable. REGEN: u1, padding: u7, }), @@ -323251,1043 +322138,1043 @@ pub const types = struct { }; pub const dsihost_v2 = struct { - /// DSIHOST1. + /// DSIHOST1. pub const DSIHOST = extern struct { - /// DSI Host version register. + /// DSI Host version register. VR: mmio.Mmio(packed struct(u32) { - /// VERSION. + /// VERSION. VERSION: u32, }), - /// DSI Host control register. + /// DSI Host control register. CR: mmio.Mmio(packed struct(u32) { - /// EN. + /// EN. EN: u1, padding: u31, }), - /// DSI Host clock control register. + /// DSI Host clock control register. CCR: mmio.Mmio(packed struct(u32) { - /// TXECKDIV. + /// TXECKDIV. TXECKDIV: u8, - /// TOCKDIV. + /// TOCKDIV. TOCKDIV: u8, padding: u16, }), - /// DSI Host LTDC VCID register. + /// DSI Host LTDC VCID register. LVCIDR: mmio.Mmio(packed struct(u32) { - /// VCID. + /// VCID. VCID: u2, padding: u30, }), - /// DSI Host LTDC color coding register. + /// DSI Host LTDC color coding register. LCOLCR: mmio.Mmio(packed struct(u32) { - /// COLC. + /// COLC. COLC: u4, reserved8: u4, - /// LPE. + /// LPE. LPE: u1, padding: u23, }), - /// DSI Host LTDC polarity configuration register. + /// DSI Host LTDC polarity configuration register. LPCR: mmio.Mmio(packed struct(u32) { - /// DEP. + /// DEP. DEP: u1, - /// VSP. + /// VSP. VSP: u1, - /// HSP. + /// HSP. HSP: u1, padding: u29, }), - /// DSI Host low-power mode configuration register. + /// DSI Host low-power mode configuration register. LPMCR: mmio.Mmio(packed struct(u32) { - /// VLPSIZE. + /// VLPSIZE. VLPSIZE: u8, reserved16: u8, - /// LPSIZE. + /// LPSIZE. LPSIZE: u8, padding: u8, }), reserved44: [16]u8, - /// DSI Host protocol configuration register. + /// DSI Host protocol configuration register. PCR: mmio.Mmio(packed struct(u32) { - /// ETTXE. + /// ETTXE. ETTXE: u1, - /// ETRXE. + /// ETRXE. ETRXE: u1, - /// BTAE. + /// BTAE. BTAE: u1, - /// ECCRXE. + /// ECCRXE. ECCRXE: u1, - /// CRCRXE. + /// CRCRXE. CRCRXE: u1, padding: u27, }), - /// DSI Host generic VCID register. + /// DSI Host generic VCID register. GVCIDR: mmio.Mmio(packed struct(u32) { - /// VCID. + /// VCID. VCID: u2, padding: u30, }), - /// DSI Host mode configuration register. + /// DSI Host mode configuration register. MCR: mmio.Mmio(packed struct(u32) { - /// CMDM. + /// CMDM. CMDM: u1, padding: u31, }), - /// DSI Host video mode configuration register. + /// DSI Host video mode configuration register. VMCR: mmio.Mmio(packed struct(u32) { - /// VMT. + /// VMT. VMT: u2, reserved8: u6, - /// LPVSAE. + /// LPVSAE. LPVSAE: u1, - /// LPVBPE. + /// LPVBPE. LPVBPE: u1, - /// LPVFPE. + /// LPVFPE. LPVFPE: u1, - /// LPVAE. + /// LPVAE. LPVAE: u1, - /// LPHBPE. + /// LPHBPE. LPHBPE: u1, - /// LPHFPE. + /// LPHFPE. LPHFPE: u1, - /// FBTAAE. + /// FBTAAE. FBTAAE: u1, - /// LPCE. + /// LPCE. LPCE: u1, - /// PGE. + /// PGE. PGE: u1, reserved20: u3, - /// PGM. + /// PGM. PGM: u1, reserved24: u3, - /// PGO. + /// PGO. PGO: u1, padding: u7, }), - /// DSI Host video packet configuration register. + /// DSI Host video packet configuration register. VPCR: mmio.Mmio(packed struct(u32) { - /// VPSIZE. + /// VPSIZE. VPSIZE: u14, padding: u18, }), - /// DSI Host video chunks configuration register. + /// DSI Host video chunks configuration register. VCCR: mmio.Mmio(packed struct(u32) { - /// NUMC. + /// NUMC. NUMC: u13, padding: u19, }), - /// DSI Host video null packet configuration register. + /// DSI Host video null packet configuration register. VNPCR: mmio.Mmio(packed struct(u32) { - /// NPSIZE. + /// NPSIZE. NPSIZE: u13, padding: u19, }), - /// DSI Host video HSA configuration register. + /// DSI Host video HSA configuration register. VHSACR: mmio.Mmio(packed struct(u32) { - /// HSA. + /// HSA. HSA: u12, padding: u20, }), - /// DSI Host video HBP configuration register. + /// DSI Host video HBP configuration register. VHBPCR: mmio.Mmio(packed struct(u32) { - /// HBP. + /// HBP. HBP: u12, padding: u20, }), - /// DSI Host video line configuration register. + /// DSI Host video line configuration register. VLCR: mmio.Mmio(packed struct(u32) { - /// HLINE. + /// HLINE. HLINE: u15, padding: u17, }), - /// DSI Host video VSA configuration register. + /// DSI Host video VSA configuration register. VVSACR: mmio.Mmio(packed struct(u32) { - /// VSA. + /// VSA. VSA: u10, padding: u22, }), - /// DSI Host video VBP configuration register. + /// DSI Host video VBP configuration register. VVBPCR: mmio.Mmio(packed struct(u32) { - /// VBP. + /// VBP. VBP: u10, padding: u22, }), - /// DSI Host video VFP configuration register. + /// DSI Host video VFP configuration register. VVFPCR: mmio.Mmio(packed struct(u32) { - /// VFP. + /// VFP. VFP: u10, padding: u22, }), - /// DSI Host video VA configuration register. + /// DSI Host video VA configuration register. VVACR: mmio.Mmio(packed struct(u32) { - /// VA. + /// VA. VA: u14, padding: u18, }), - /// DSI Host LTDC command configuration register. + /// DSI Host LTDC command configuration register. LCCR: mmio.Mmio(packed struct(u32) { - /// CMDSIZE. + /// CMDSIZE. CMDSIZE: u16, padding: u16, }), - /// DSI Host command mode configuration register. + /// DSI Host command mode configuration register. CMCR: mmio.Mmio(packed struct(u32) { - /// TEARE. + /// TEARE. TEARE: u1, - /// ARE. + /// ARE. ARE: u1, reserved8: u6, - /// GSW0TX. + /// GSW0TX. GSW0TX: u1, - /// GSW1TX. + /// GSW1TX. GSW1TX: u1, - /// GSW2TX. + /// GSW2TX. GSW2TX: u1, - /// GSR0TX. + /// GSR0TX. GSR0TX: u1, - /// GSR1TX. + /// GSR1TX. GSR1TX: u1, - /// GSR2TX. + /// GSR2TX. GSR2TX: u1, - /// GLWTX. + /// GLWTX. GLWTX: u1, reserved16: u1, - /// DSW0TX. + /// DSW0TX. DSW0TX: u1, - /// DSW1TX. + /// DSW1TX. DSW1TX: u1, - /// DSR0TX. + /// DSR0TX. DSR0TX: u1, - /// DLWTX. + /// DLWTX. DLWTX: u1, reserved24: u4, - /// MRDPS. + /// MRDPS. MRDPS: u1, padding: u7, }), - /// DSI Host generic header configuration register. + /// DSI Host generic header configuration register. GHCR: mmio.Mmio(packed struct(u32) { - /// DT. + /// DT. DT: u6, - /// VCID. + /// VCID. VCID: u2, - /// WCLSB. + /// WCLSB. WCLSB: u8, - /// WCMSB. + /// WCMSB. WCMSB: u8, padding: u8, }), - /// DSI Host generic payload data register. + /// DSI Host generic payload data register. GPDR: mmio.Mmio(packed struct(u32) { - /// DATA1. + /// DATA1. DATA1: u8, - /// DATA2. + /// DATA2. DATA2: u8, - /// DATA3. + /// DATA3. DATA3: u8, - /// DATA4. + /// DATA4. DATA4: u8, }), - /// DSI Host generic packet status register. + /// DSI Host generic packet status register. GPSR: mmio.Mmio(packed struct(u32) { - /// CMDFE. + /// CMDFE. CMDFE: u1, - /// CMDFF. + /// CMDFF. CMDFF: u1, - /// PWRFE. + /// PWRFE. PWRFE: u1, - /// PWRFF. + /// PWRFF. PWRFF: u1, - /// PRDFE. + /// PRDFE. PRDFE: u1, - /// PRDFF. + /// PRDFF. PRDFF: u1, - /// RCB. + /// RCB. RCB: u1, padding: u25, }), - /// DSI Host timeout counter configuration register 0. + /// DSI Host timeout counter configuration register 0. TCCR0: mmio.Mmio(packed struct(u32) { - /// LPRX_TOCNT. + /// LPRX_TOCNT. LPRX_TOCNT: u16, - /// HSTX_TOCNT. + /// HSTX_TOCNT. HSTX_TOCNT: u16, }), - /// DSI Host timeout counter configuration register 1. + /// DSI Host timeout counter configuration register 1. TCCR1: mmio.Mmio(packed struct(u32) { - /// HSRD_TOCNT. + /// HSRD_TOCNT. HSRD_TOCNT: u16, padding: u16, }), - /// DSI Host timeout counter configuration register 2. + /// DSI Host timeout counter configuration register 2. TCCR2: mmio.Mmio(packed struct(u32) { - /// LPRD_TOCNT. + /// LPRD_TOCNT. LPRD_TOCNT: u16, padding: u16, }), - /// DSI Host timeout counter configuration register 3. + /// DSI Host timeout counter configuration register 3. TCCR3: mmio.Mmio(packed struct(u32) { - /// HSWR_TOCNT. + /// HSWR_TOCNT. HSWR_TOCNT: u16, reserved24: u8, - /// PM. + /// PM. PM: u1, padding: u7, }), - /// DSI Host timeout counter configuration register 4. + /// DSI Host timeout counter configuration register 4. TCCR4: mmio.Mmio(packed struct(u32) { - /// LPWR_TOCNT. + /// LPWR_TOCNT. LPWR_TOCNT: u16, padding: u16, }), - /// DSI Host timeout counter configuration register 5. + /// DSI Host timeout counter configuration register 5. TCCR5: mmio.Mmio(packed struct(u32) { - /// BTA_TOCNT. + /// BTA_TOCNT. BTA_TOCNT: u16, padding: u16, }), reserved148: [4]u8, - /// DSI Host clock lane configuration register. + /// DSI Host clock lane configuration register. CLCR: mmio.Mmio(packed struct(u32) { - /// DPCC. + /// DPCC. DPCC: u1, - /// ACR. + /// ACR. ACR: u1, padding: u30, }), - /// DSI Host clock lane timer configuration register. + /// DSI Host clock lane timer configuration register. CLTCR: mmio.Mmio(packed struct(u32) { - /// LP2HS_TIME. + /// LP2HS_TIME. LP2HS_TIME: u10, reserved16: u6, - /// HS2LP_TIME. + /// HS2LP_TIME. HS2LP_TIME: u10, padding: u6, }), - /// DSI Host data lane timer configuration register. + /// DSI Host data lane timer configuration register. DLTCR: mmio.Mmio(packed struct(u32) { - /// LP2HS_TIME. + /// LP2HS_TIME. LP2HS_TIME: u10, reserved16: u6, - /// HS2LP_TIME. + /// HS2LP_TIME. HS2LP_TIME: u10, padding: u6, }), - /// DSI Host PHY control register. + /// DSI Host PHY control register. PCTLR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// DEN. + /// DEN. DEN: u1, - /// CKE. + /// CKE. CKE: u1, padding: u29, }), - /// DSI Host PHY configuration register. + /// DSI Host PHY configuration register. PCONFR: mmio.Mmio(packed struct(u32) { - /// NL. + /// NL. NL: u2, reserved8: u6, - /// SW_TIME. + /// SW_TIME. SW_TIME: u8, padding: u16, }), - /// DSI Host PHY ULPS control register. + /// DSI Host PHY ULPS control register. PUCR: mmio.Mmio(packed struct(u32) { - /// URCL. + /// URCL. URCL: u1, - /// UECL. + /// UECL. UECL: u1, - /// URDL. + /// URDL. URDL: u1, - /// UEDL. + /// UEDL. UEDL: u1, padding: u28, }), - /// DSI Host PHY TX triggers configuration register. + /// DSI Host PHY TX triggers configuration register. PTTCR: mmio.Mmio(packed struct(u32) { - /// TX_TRIG. + /// TX_TRIG. TX_TRIG: u4, padding: u28, }), - /// DSI Host PHY status register. + /// DSI Host PHY status register. PSR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// PD. + /// PD. PD: u1, - /// PSSC. + /// PSSC. PSSC: u1, - /// UANC. + /// UANC. UANC: u1, - /// PSS0. + /// PSS0. PSS0: u1, - /// UAN0. + /// UAN0. UAN0: u1, - /// RUE0. + /// RUE0. RUE0: u1, - /// PSS1. + /// PSS1. PSS1: u1, - /// UAN1. + /// UAN1. UAN1: u1, padding: u23, }), reserved188: [8]u8, - /// DSI Host interrupt and status register 0. + /// DSI Host interrupt and status register 0. ISR0: mmio.Mmio(packed struct(u32) { - /// AE0. + /// AE0. AE0: u1, - /// AE1. + /// AE1. AE1: u1, - /// AE2. + /// AE2. AE2: u1, - /// AE3. + /// AE3. AE3: u1, - /// AE4. + /// AE4. AE4: u1, - /// AE5. + /// AE5. AE5: u1, - /// AE6. + /// AE6. AE6: u1, - /// AE7. + /// AE7. AE7: u1, - /// AE8. + /// AE8. AE8: u1, - /// AE9. + /// AE9. AE9: u1, - /// AE10. + /// AE10. AE10: u1, - /// AE11. + /// AE11. AE11: u1, - /// AE12. + /// AE12. AE12: u1, - /// AE13. + /// AE13. AE13: u1, - /// AE14. + /// AE14. AE14: u1, - /// AE15. + /// AE15. AE15: u1, - /// PE0. + /// PE0. PE0: u1, - /// PE1. + /// PE1. PE1: u1, - /// PE2. + /// PE2. PE2: u1, - /// PE3. + /// PE3. PE3: u1, - /// PE4. + /// PE4. PE4: u1, padding: u11, }), - /// DSI Host interrupt and status register 1. + /// DSI Host interrupt and status register 1. ISR1: mmio.Mmio(packed struct(u32) { - /// TOHSTX. + /// TOHSTX. TOHSTX: u1, - /// TOLPRX. + /// TOLPRX. TOLPRX: u1, - /// ECCSE. + /// ECCSE. ECCSE: u1, - /// ECCME. + /// ECCME. ECCME: u1, - /// CRCE. + /// CRCE. CRCE: u1, - /// PSE. + /// PSE. PSE: u1, - /// EOTPE. + /// EOTPE. EOTPE: u1, - /// LPWRE. + /// LPWRE. LPWRE: u1, - /// GCWRE. + /// GCWRE. GCWRE: u1, - /// GPWRE. + /// GPWRE. GPWRE: u1, - /// GPTXE. + /// GPTXE. GPTXE: u1, - /// GPRDE. + /// GPRDE. GPRDE: u1, - /// GPRXE. + /// GPRXE. GPRXE: u1, padding: u19, }), - /// DSI Host interrupt enable register 0. + /// DSI Host interrupt enable register 0. IER0: mmio.Mmio(packed struct(u32) { - /// AE0IE. + /// AE0IE. AE0IE: u1, - /// AE1IE. + /// AE1IE. AE1IE: u1, - /// AE2IE. + /// AE2IE. AE2IE: u1, - /// AE3IE. + /// AE3IE. AE3IE: u1, - /// AE4IE. + /// AE4IE. AE4IE: u1, - /// AE5IE. + /// AE5IE. AE5IE: u1, - /// AE6IE. + /// AE6IE. AE6IE: u1, - /// AE7IE. + /// AE7IE. AE7IE: u1, - /// AE8IE. + /// AE8IE. AE8IE: u1, - /// AE9IE. + /// AE9IE. AE9IE: u1, - /// AE10IE. + /// AE10IE. AE10IE: u1, - /// AE11IE. + /// AE11IE. AE11IE: u1, - /// AE12IE. + /// AE12IE. AE12IE: u1, - /// AE13IE. + /// AE13IE. AE13IE: u1, - /// AE14IE. + /// AE14IE. AE14IE: u1, - /// AE15IE. + /// AE15IE. AE15IE: u1, - /// PE0IE. + /// PE0IE. PE0IE: u1, - /// PE1IE. + /// PE1IE. PE1IE: u1, - /// PE2IE. + /// PE2IE. PE2IE: u1, - /// PE3IE. + /// PE3IE. PE3IE: u1, - /// PE4IE. + /// PE4IE. PE4IE: u1, padding: u11, }), - /// DSI Host interrupt enable register 1. + /// DSI Host interrupt enable register 1. IER1: mmio.Mmio(packed struct(u32) { - /// TOHSTXIE. + /// TOHSTXIE. TOHSTXIE: u1, - /// TOLPRXIE. + /// TOLPRXIE. TOLPRXIE: u1, - /// ECCSEIE. + /// ECCSEIE. ECCSEIE: u1, - /// ECCMEIE. + /// ECCMEIE. ECCMEIE: u1, - /// CRCEIE. + /// CRCEIE. CRCEIE: u1, - /// PSEIE. + /// PSEIE. PSEIE: u1, - /// EOTPEIE. + /// EOTPEIE. EOTPEIE: u1, - /// LPWREIE. + /// LPWREIE. LPWREIE: u1, - /// GCWREIE. + /// GCWREIE. GCWREIE: u1, - /// GPWREIE. + /// GPWREIE. GPWREIE: u1, - /// GPTXEIE. + /// GPTXEIE. GPTXEIE: u1, - /// GPRDEIE. + /// GPRDEIE. GPRDEIE: u1, - /// GPRXEIE. + /// GPRXEIE. GPRXEIE: u1, padding: u19, }), reserved216: [12]u8, - /// DSI Host force interrupt register 0. + /// DSI Host force interrupt register 0. FIR0: mmio.Mmio(packed struct(u32) { - /// FAE0. + /// FAE0. FAE0: u1, - /// FAE1. + /// FAE1. FAE1: u1, - /// FAE2. + /// FAE2. FAE2: u1, - /// FAE3. + /// FAE3. FAE3: u1, - /// FAE4. + /// FAE4. FAE4: u1, - /// FAE5. + /// FAE5. FAE5: u1, - /// FAE6. + /// FAE6. FAE6: u1, - /// FAE7. + /// FAE7. FAE7: u1, - /// FAE8. + /// FAE8. FAE8: u1, - /// FAE9. + /// FAE9. FAE9: u1, - /// FAE10. + /// FAE10. FAE10: u1, - /// FAE11. + /// FAE11. FAE11: u1, - /// FAE12. + /// FAE12. FAE12: u1, - /// FAE13. + /// FAE13. FAE13: u1, - /// FAE14. + /// FAE14. FAE14: u1, - /// FAE15. + /// FAE15. FAE15: u1, - /// FPE0. + /// FPE0. FPE0: u1, - /// FPE1. + /// FPE1. FPE1: u1, - /// FPE2. + /// FPE2. FPE2: u1, - /// FPE3. + /// FPE3. FPE3: u1, - /// FPE4. + /// FPE4. FPE4: u1, padding: u11, }), - /// DSI Host force interrupt register 1. + /// DSI Host force interrupt register 1. FIR1: mmio.Mmio(packed struct(u32) { - /// FTOHSTX. + /// FTOHSTX. FTOHSTX: u1, - /// FTOLPRX. + /// FTOLPRX. FTOLPRX: u1, - /// FECCSE. + /// FECCSE. FECCSE: u1, - /// FECCME. + /// FECCME. FECCME: u1, - /// FCRCE. + /// FCRCE. FCRCE: u1, - /// FPSE. + /// FPSE. FPSE: u1, - /// FEOTPE. + /// FEOTPE. FEOTPE: u1, - /// FLPWRE. + /// FLPWRE. FLPWRE: u1, - /// FGCWRE. + /// FGCWRE. FGCWRE: u1, - /// FGPWRE. + /// FGPWRE. FGPWRE: u1, - /// FGPTXE. + /// FGPTXE. FGPTXE: u1, - /// FGPRDE. + /// FGPRDE. FGPRDE: u1, - /// FGPRXE. + /// FGPRXE. FGPRXE: u1, padding: u19, }), reserved244: [20]u8, - /// DSI Host data lane timer read configuration register. + /// DSI Host data lane timer read configuration register. DLTRCR: mmio.Mmio(packed struct(u32) { - /// MRD_TIME. + /// MRD_TIME. MRD_TIME: u15, padding: u17, }), reserved256: [8]u8, - /// DSI Host video shadow control register. + /// DSI Host video shadow control register. VSCR: mmio.Mmio(packed struct(u32) { - /// EN. + /// EN. EN: u1, reserved8: u7, - /// UR. + /// UR. UR: u1, padding: u23, }), reserved268: [8]u8, - /// DSI Host LTDC current VCID register. + /// DSI Host LTDC current VCID register. LCVCIDR: mmio.Mmio(packed struct(u32) { - /// VCID. + /// VCID. VCID: u2, padding: u30, }), - /// DSI Host LTDC current color coding register. + /// DSI Host LTDC current color coding register. LCCCR: mmio.Mmio(packed struct(u32) { - /// COLC. + /// COLC. COLC: u4, reserved8: u4, - /// LPE. + /// LPE. LPE: u1, padding: u23, }), reserved280: [4]u8, - /// DSI Host low-power mode current configuration register. + /// DSI Host low-power mode current configuration register. LPMCCR: mmio.Mmio(packed struct(u32) { - /// VLPSIZE. + /// VLPSIZE. VLPSIZE: u8, reserved16: u8, - /// LPSIZE. + /// LPSIZE. LPSIZE: u8, padding: u8, }), reserved312: [28]u8, - /// DSI Host video mode current configuration register. + /// DSI Host video mode current configuration register. VMCCR: mmio.Mmio(packed struct(u32) { - /// VMT. + /// VMT. VMT: u2, - /// LPVSAE. + /// LPVSAE. LPVSAE: u1, - /// LPVBPE. + /// LPVBPE. LPVBPE: u1, - /// LPVFPE. + /// LPVFPE. LPVFPE: u1, - /// LPVAE. + /// LPVAE. LPVAE: u1, - /// LPHBPE. + /// LPHBPE. LPHBPE: u1, - /// LPHFE. + /// LPHFE. LPHFE: u1, - /// FBTAAE. + /// FBTAAE. FBTAAE: u1, - /// LPCE. + /// LPCE. LPCE: u1, padding: u22, }), - /// DSI Host video packet current configuration register. + /// DSI Host video packet current configuration register. VPCCR: mmio.Mmio(packed struct(u32) { - /// VPSIZE. + /// VPSIZE. VPSIZE: u14, padding: u18, }), - /// DSI Host video chunks current configuration register. + /// DSI Host video chunks current configuration register. VCCCR: mmio.Mmio(packed struct(u32) { - /// NUMC. + /// NUMC. NUMC: u13, padding: u19, }), - /// DSI Host video null packet current configuration register. + /// DSI Host video null packet current configuration register. VNPCCR: mmio.Mmio(packed struct(u32) { - /// NPSIZE. + /// NPSIZE. NPSIZE: u13, padding: u19, }), - /// DSI Host video HSA current configuration register. + /// DSI Host video HSA current configuration register. VHSACCR: mmio.Mmio(packed struct(u32) { - /// HSA. + /// HSA. HSA: u12, padding: u20, }), - /// DSI Host video HBP current configuration register. + /// DSI Host video HBP current configuration register. VHBPCCR: mmio.Mmio(packed struct(u32) { - /// HBP. + /// HBP. HBP: u12, padding: u20, }), - /// DSI Host video line current configuration register. + /// DSI Host video line current configuration register. VLCCR: mmio.Mmio(packed struct(u32) { - /// HLINE. + /// HLINE. HLINE: u15, padding: u17, }), - /// DSI Host video VSA current configuration register. + /// DSI Host video VSA current configuration register. VVSACCR: mmio.Mmio(packed struct(u32) { - /// VSA. + /// VSA. VSA: u10, padding: u22, }), - /// DSI Host video VBP current configuration register. + /// DSI Host video VBP current configuration register. VVBPCCR: mmio.Mmio(packed struct(u32) { - /// VBP. + /// VBP. VBP: u10, padding: u22, }), - /// DSI Host video VFP current configuration register. + /// DSI Host video VFP current configuration register. VVFPCCR: mmio.Mmio(packed struct(u32) { - /// VFP. + /// VFP. VFP: u10, padding: u22, }), - /// DSI Host video VA current configuration register. + /// DSI Host video VA current configuration register. VVACCR: mmio.Mmio(packed struct(u32) { - /// VA. + /// VA. VA: u14, padding: u18, }), reserved1024: [668]u8, - /// DSI wrapper configuration register. + /// DSI wrapper configuration register. WCFGR: mmio.Mmio(packed struct(u32) { - /// DSIM. + /// DSIM. DSIM: u1, - /// COLMUX. + /// COLMUX. COLMUX: u3, - /// TESRC. + /// TESRC. TESRC: u1, - /// TEPOL. + /// TEPOL. TEPOL: u1, - /// AR. + /// AR. AR: u1, - /// VSPOL. + /// VSPOL. VSPOL: u1, padding: u24, }), - /// DSI wrapper control register. + /// DSI wrapper control register. WCR: mmio.Mmio(packed struct(u32) { - /// COLM. + /// COLM. COLM: u1, - /// SHTDN. + /// SHTDN. SHTDN: u1, - /// LTDCEN. + /// LTDCEN. LTDCEN: u1, - /// DSIEN. + /// DSIEN. DSIEN: u1, padding: u28, }), - /// DSI wrapper interrupt enable register. + /// DSI wrapper interrupt enable register. WIER: mmio.Mmio(packed struct(u32) { - /// TEIE. + /// TEIE. TEIE: u1, - /// ERIE. + /// ERIE. ERIE: u1, reserved9: u7, - /// PLLLIE. + /// PLLLIE. PLLLIE: u1, - /// PLLUIE. + /// PLLUIE. PLLUIE: u1, reserved13: u2, - /// RRIE. + /// RRIE. RRIE: u1, padding: u18, }), - /// DSI wrapper interrupt and status register. + /// DSI wrapper interrupt and status register. WISR: mmio.Mmio(packed struct(u32) { - /// TEIF. + /// TEIF. TEIF: u1, - /// ERIF. + /// ERIF. ERIF: u1, - /// BUSY. + /// BUSY. BUSY: u1, reserved8: u5, - /// PLLLS. + /// PLLLS. PLLLS: u1, - /// PLLLIF. + /// PLLLIF. PLLLIF: u1, - /// PLLUIF. + /// PLLUIF. PLLUIF: u1, reserved12: u1, - /// RRS. + /// RRS. RRS: u1, - /// RRIF. + /// RRIF. RRIF: u1, padding: u18, }), - /// DSI wrapper interrupt flag clear register. + /// DSI wrapper interrupt flag clear register. WIFCR: mmio.Mmio(packed struct(u32) { - /// CTEIF. + /// CTEIF. CTEIF: u1, - /// CERIF. + /// CERIF. CERIF: u1, reserved9: u7, - /// CPLLLIF. + /// CPLLLIF. CPLLLIF: u1, - /// CPLLUIF. + /// CPLLUIF. CPLLUIF: u1, reserved13: u2, - /// CRRIF. + /// CRRIF. CRRIF: u1, padding: u18, }), reserved1048: [4]u8, - /// DSI wrapper PHY configuration register 0. + /// DSI wrapper PHY configuration register 0. WPCR0: mmio.Mmio(packed struct(u32) { - /// UIX4. + /// UIX4. UIX4: u6, - /// SWCL. + /// SWCL. SWCL: u1, - /// SWDL0. + /// SWDL0. SWDL0: u1, - /// SWDL1. + /// SWDL1. SWDL1: u1, - /// HSICL. + /// HSICL. HSICL: u1, - /// HSIDL0. + /// HSIDL0. HSIDL0: u1, - /// HSIDL1. + /// HSIDL1. HSIDL1: u1, - /// FTXSMCL. + /// FTXSMCL. FTXSMCL: u1, - /// FTXSMDL. + /// FTXSMDL. FTXSMDL: u1, - /// CDOFFDL. + /// CDOFFDL. CDOFFDL: u1, reserved16: u1, - /// TDDL. + /// TDDL. TDDL: u1, padding: u15, }), - /// This register shall be programmed only when DSI is stopped (CR. DSIEN=0 and CR.EN = 0). + /// This register shall be programmed only when DSI is stopped (CR. DSIEN=0 and CR.EN = 0). WPCR1: mmio.Mmio(packed struct(u32) { - /// SKEWCL. + /// SKEWCL. SKEWCL: u2, - /// SKEWDL. + /// SKEWDL. SKEWDL: u2, reserved6: u2, - /// LPTXSRCL. + /// LPTXSRCL. LPTXSRCL: u2, - /// LPTXSRDL. + /// LPTXSRDL. LPTXSRDL: u2, reserved12: u2, - /// SDDCCL. + /// SDDCCL. SDDCCL: u1, - /// SDDCDL. + /// SDDCDL. SDDCDL: u1, reserved16: u2, - /// HSTXSRUCL. + /// HSTXSRUCL. HSTXSRUCL: u1, - /// HSTXSRDCL. + /// HSTXSRDCL. HSTXSRDCL: u1, - /// HSTXSRUDL. + /// HSTXSRUDL. HSTXSRUDL: u1, - /// HSTXSRDDL. + /// HSTXSRDDL. HSTXSRDDL: u1, padding: u12, }), reserved1072: [16]u8, - /// DSI wrapper regulator and PLL control register. + /// DSI wrapper regulator and PLL control register. WRPCR: mmio.Mmio(packed struct(u32) { - /// PLLEN. + /// PLLEN. PLLEN: u1, reserved2: u1, - /// NDIV. + /// NDIV. NDIV: u7, reserved11: u2, - /// IDF. + /// IDF. IDF: u4, reserved16: u1, - /// ODF. + /// ODF. ODF: u2, reserved24: u6, - /// REGEN. + /// REGEN. REGEN: u1, reserved28: u3, - /// BGREN. + /// BGREN. BGREN: u1, padding: u3, }), reserved2032: [956]u8, - /// DSI Host hardware configuration register. + /// DSI Host hardware configuration register. HWCFGR: mmio.Mmio(packed struct(u32) { - /// TECHNO. + /// TECHNO. TECHNO: u4, - /// FIFOSIZE. + /// FIFOSIZE. FIFOSIZE: u12, padding: u16, }), - /// DSI Host version register. + /// DSI Host version register. VERR: mmio.Mmio(packed struct(u32) { - /// MINREV. + /// MINREV. MINREV: u4, - /// MAJREV. + /// MAJREV. MAJREV: u4, padding: u24, }), - /// DSI Host identification register. + /// DSI Host identification register. IPIDR: mmio.Mmio(packed struct(u32) { - /// ID. + /// ID. ID: u32, }), - /// DSI Host size identification register. + /// DSI Host size identification register. SIDR: mmio.Mmio(packed struct(u32) { - /// SID. + /// SID. SID: u32, }), }; }; pub const dts_v1 = struct { - /// Digital temperature sensor. + /// Digital temperature sensor. pub const DTS = extern struct { - /// Temperature sensor configuration register 1. + /// Temperature sensor configuration register 1. CFGR1: mmio.Mmio(packed struct(u32) { - /// Temperature sensor 1 enable bit This bit is set and cleared by software. Note: Once enabled, the temperature sensor is active after a specific delay time. The TS1_RDY flag will be set when the sensor is ready. + /// Temperature sensor 1 enable bit This bit is set and cleared by software. Note: Once enabled, the temperature sensor is active after a specific delay time. The TS1_RDY flag will be set when the sensor is ready. EN: u1, reserved4: u3, - /// Start frequency measurement on temperature sensor 1 This bit is set and cleared by software. + /// Start frequency measurement on temperature sensor 1 This bit is set and cleared by software. START: u1, reserved8: u3, - /// Input trigger selection bit for temperature sensor 1 These bits are set and cleared by software. They select which input triggers a temperature measurement. Refer to Section 19.3.10: Trigger input. + /// Input trigger selection bit for temperature sensor 1 These bits are set and cleared by software. They select which input triggers a temperature measurement. Refer to Section 19.3.10: Trigger input. INTRIG_SEL: u4, reserved16: u4, - /// Sampling time for temperature sensor 1 These bits allow increasing the sampling time to improve measurement precision. When the PCLK clock is selected as reference clock (REFCLK_SEL = 0), the measurement will be performed at TS1_SMP_TIME period of CLK_PTAT. When the LSE is selected as reference clock (REFCLK_SEL =1), the measurement will be performed at TS1_SMP_TIME period of LSE. + /// Sampling time for temperature sensor 1 These bits allow increasing the sampling time to improve measurement precision. When the PCLK clock is selected as reference clock (REFCLK_SEL = 0), the measurement will be performed at TS1_SMP_TIME period of CLK_PTAT. When the LSE is selected as reference clock (REFCLK_SEL =1), the measurement will be performed at TS1_SMP_TIME period of LSE. SMP_TIME: u4, - /// Reference clock selection bit This bit is set and cleared by software. It indicates whether the reference clock is the high speed clock (PCLK) or the low speed clock (LSE). + /// Reference clock selection bit This bit is set and cleared by software. It indicates whether the reference clock is the high speed clock (PCLK) or the low speed clock (LSE). REFCLK_SEL: u1, - /// Quick measurement option bit This bit is set and cleared by software. It is used to increase the measurement speed by suppressing the calibration step. It is effective only when the LSE clock is used as reference clock (REFCLK_SEL=1). + /// Quick measurement option bit This bit is set and cleared by software. It is used to increase the measurement speed by suppressing the calibration step. It is effective only when the LSE clock is used as reference clock (REFCLK_SEL=1). Q_MEAS_OPT: u1, reserved24: u2, - /// High speed clock division ratio These bits are set and cleared by software. They can be used to define the division ratio for the main clock in order to obtain the internal frequency lower than 1 MHz required for the calibration. They are applicable only for calibration when PCLK is selected as reference clock (REFCLK_SEL=0). ... + /// High speed clock division ratio These bits are set and cleared by software. They can be used to define the division ratio for the main clock in order to obtain the internal frequency lower than 1 MHz required for the calibration. They are applicable only for calibration when PCLK is selected as reference clock (REFCLK_SEL=0). ... HSREF_CLK_DIV: u7, padding: u1, }), reserved8: [4]u8, - /// Temperature sensor T0 value register 1. + /// Temperature sensor T0 value register 1. T0VALR1: mmio.Mmio(packed struct(u32) { - /// Engineering value of the frequency measured at T0 for. temperature sensor 1 This value is expressed in 0.1 kHz. + /// Engineering value of the frequency measured at T0 for. temperature sensor 1 This value is expressed in 0.1 kHz. FMT0: u16, - /// Engineering value of the T0 temperature for temperature sensor 1. Others: Reserved, must not be used. + /// Engineering value of the T0 temperature for temperature sensor 1. Others: Reserved, must not be used. T0: u2, padding: u14, }), reserved16: [4]u8, - /// Temperature sensor ramp value register. + /// Temperature sensor ramp value register. RAMPVALR: mmio.Mmio(packed struct(u32) { - /// Engineering value of the ramp coefficient for the temperature sensor 1. This value is expressed in Hz/�C. + /// Engineering value of the ramp coefficient for the temperature sensor 1. This value is expressed in Hz/�C. RAMP_COEFF: u16, padding: u16, }), - /// Temperature sensor interrupt threshold register 1. + /// Temperature sensor interrupt threshold register 1. ITR1: mmio.Mmio(packed struct(u32) { - /// Low interrupt threshold for temperature sensor 1 These bits are set and cleared by software. They indicate the lowest value than can be reached before raising an interrupt signal. + /// Low interrupt threshold for temperature sensor 1 These bits are set and cleared by software. They indicate the lowest value than can be reached before raising an interrupt signal. LITTHD: u16, - /// High interrupt threshold for temperature sensor 1 These bits are set and cleared by software. They indicate the highest value than can be reached before raising an interrupt signal. + /// High interrupt threshold for temperature sensor 1 These bits are set and cleared by software. They indicate the highest value than can be reached before raising an interrupt signal. HITTHD: u16, }), reserved28: [4]u8, - /// Temperature sensor data register. + /// Temperature sensor data register. DR: mmio.Mmio(packed struct(u32) { - /// Value of the counter output value for temperature sensor 1. + /// Value of the counter output value for temperature sensor 1. MFREQ: u16, padding: u16, }), - /// Temperature sensor status register. + /// Temperature sensor status register. SR: mmio.Mmio(packed struct(u32) { - /// Interrupt flag for end of measurement on temperature sensor 1, synchronized on PCLK. This bit is set by hardware when a temperature measure is done. It is cleared by software by writing 1 to the TS2_CITEF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_ITEFEN bit is set. + /// Interrupt flag for end of measurement on temperature sensor 1, synchronized on PCLK. This bit is set by hardware when a temperature measure is done. It is cleared by software by writing 1 to the TS2_CITEF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_ITEFEN bit is set. ITEF: u1, - /// Interrupt flag for low threshold on temperature sensor 1, synchronized on PCLK. This bit is set by hardware when the low threshold is set and reached. It is cleared by software by writing 1 to the TS1_CITLF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_ITLFEN bit is set. + /// Interrupt flag for low threshold on temperature sensor 1, synchronized on PCLK. This bit is set by hardware when the low threshold is set and reached. It is cleared by software by writing 1 to the TS1_CITLF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_ITLFEN bit is set. ITLF: u1, - /// Interrupt flag for high threshold on temperature sensor 1, synchronized on PCLK This bit is set by hardware when the high threshold is set and reached. It is cleared by software by writing 1 to the TS1_CITHF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_ITHFEN bit is set. + /// Interrupt flag for high threshold on temperature sensor 1, synchronized on PCLK This bit is set by hardware when the high threshold is set and reached. It is cleared by software by writing 1 to the TS1_CITHF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_ITHFEN bit is set. ITHF: u1, reserved4: u1, - /// Asynchronous interrupt flag for end of measure on temperature sensor 1 This bit is set by hardware when a temperature measure is done. It is cleared by software by writing 1 to the TS1_CAITEF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_AITEFEN bit is set. + /// Asynchronous interrupt flag for end of measure on temperature sensor 1 This bit is set by hardware when a temperature measure is done. It is cleared by software by writing 1 to the TS1_CAITEF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_AITEFEN bit is set. AITEF: u1, - /// Asynchronous interrupt flag for low threshold on temperature sensor 1 This bit is set by hardware when the low threshold is reached. It is cleared by software by writing 1 to the TS1_CAITLF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_AITLFEN bit is set. + /// Asynchronous interrupt flag for low threshold on temperature sensor 1 This bit is set by hardware when the low threshold is reached. It is cleared by software by writing 1 to the TS1_CAITLF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_AITLFEN bit is set. AITLF: u1, - /// Asynchronous interrupt flag for high threshold on temperature sensor 1 This bit is set by hardware when the high threshold is reached. It is cleared by software by writing 1 to the TS1_CAITHF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_AITHFEN bit is set. + /// Asynchronous interrupt flag for high threshold on temperature sensor 1 This bit is set by hardware when the high threshold is reached. It is cleared by software by writing 1 to the TS1_CAITHF bit in the DTS_ICIFR register. Note: This bit is active only when the TS1_AITHFEN bit is set. AITHF: u1, reserved15: u8, - /// Temperature sensor 1 ready flag This bit is set and reset by hardware. It indicates that a measurement is ongoing. + /// Temperature sensor 1 ready flag This bit is set and reset by hardware. It indicates that a measurement is ongoing. RDY: u1, padding: u16, }), - /// Temperature sensor interrupt enable register. + /// Temperature sensor interrupt enable register. ITENR: mmio.Mmio(packed struct(u32) { - /// Interrupt enable flag for end of measurement on temperature sensor 1, synchronized on PCLK. This bit are set and cleared by software. It enables the synchronous interrupt for end of measurement. + /// Interrupt enable flag for end of measurement on temperature sensor 1, synchronized on PCLK. This bit are set and cleared by software. It enables the synchronous interrupt for end of measurement. ITEEN: u1, - /// Interrupt enable flag for low threshold on temperature sensor 1, synchronized on PCLK. This bit are set and cleared by software. It enables the synchronous interrupt when the measure reaches or is below the low threshold. + /// Interrupt enable flag for low threshold on temperature sensor 1, synchronized on PCLK. This bit are set and cleared by software. It enables the synchronous interrupt when the measure reaches or is below the low threshold. ITLEN: u1, - /// Interrupt enable flag for high threshold on temperature sensor 1, synchronized on PCLK. This bit are set and cleared by software. It enables the interrupt when the measure reaches or is above the high threshold. + /// Interrupt enable flag for high threshold on temperature sensor 1, synchronized on PCLK. This bit are set and cleared by software. It enables the interrupt when the measure reaches or is above the high threshold. ITHEN: u1, reserved4: u1, - /// Asynchronous interrupt enable flag for end of measurement on temperature sensor 1 This bit are set and cleared by software. It enables the asynchronous interrupt for end of measurement (only when REFCLK_SEL = 1). + /// Asynchronous interrupt enable flag for end of measurement on temperature sensor 1 This bit are set and cleared by software. It enables the asynchronous interrupt for end of measurement (only when REFCLK_SEL = 1). AITEEN: u1, - /// Asynchronous interrupt enable flag for low threshold on temperature sensor 1. This bit are set and cleared by software. It enables the asynchronous interrupt when the temperature is below the low threshold (only when REFCLK_SEL= 1). + /// Asynchronous interrupt enable flag for low threshold on temperature sensor 1. This bit are set and cleared by software. It enables the asynchronous interrupt when the temperature is below the low threshold (only when REFCLK_SEL= 1). AITLEN: u1, - /// Asynchronous interrupt enable flag on high threshold for temperature sensor 1. This bit are set and cleared by software. It enables the asynchronous interrupt when the temperature is above the high threshold (only when REFCLK_SEL= 1’’). + /// Asynchronous interrupt enable flag on high threshold for temperature sensor 1. This bit are set and cleared by software. It enables the asynchronous interrupt when the temperature is above the high threshold (only when REFCLK_SEL= 1’’). AITHEN: u1, padding: u25, }), - /// Temperature sensor clear interrupt flag register. + /// Temperature sensor clear interrupt flag register. ICIFR: mmio.Mmio(packed struct(u32) { - /// Interrupt clear flag for end of measurement on temperature sensor 1 Writing 1 to this bit clears the TS1_ITEF flag in the DTS_SR register. + /// Interrupt clear flag for end of measurement on temperature sensor 1 Writing 1 to this bit clears the TS1_ITEF flag in the DTS_SR register. CITEF: u1, - /// Interrupt clear flag for low threshold on temperature sensor 1 Writing 1 to this bit clears the TS1_ITLF flag in the DTS_SR register. + /// Interrupt clear flag for low threshold on temperature sensor 1 Writing 1 to this bit clears the TS1_ITLF flag in the DTS_SR register. CITLF: u1, - /// Interrupt clear flag for high threshold on temperature sensor 1 Writing this bit to 1 clears the TS1_ITHF flag in the DTS_SR register. + /// Interrupt clear flag for high threshold on temperature sensor 1 Writing this bit to 1 clears the TS1_ITHF flag in the DTS_SR register. CITHF: u1, reserved4: u1, - /// Write once bit. Clear the asynchronous IT flag for End Of Measure for thermal sensor 1. Writing 1 clears the TS1_AITEF flag of the DTS_SR register. + /// Write once bit. Clear the asynchronous IT flag for End Of Measure for thermal sensor 1. Writing 1 clears the TS1_AITEF flag of the DTS_SR register. CAITEF: u1, - /// Asynchronous interrupt clear flag for low threshold on temperature sensor 1 Writing 1 to this bit clears the TS1_AITLF flag in the DTS_SR register. + /// Asynchronous interrupt clear flag for low threshold on temperature sensor 1 Writing 1 to this bit clears the TS1_AITLF flag in the DTS_SR register. CAITLF: u1, - /// Asynchronous interrupt clear flag for high threshold on temperature sensor 1 Writing 1 to this bit clears the TS1_AITHF flag in the DTS_SR register. + /// Asynchronous interrupt clear flag for high threshold on temperature sensor 1 Writing 1 to this bit clears the TS1_AITHF flag in the DTS_SR register. CAITHF: u1, padding: u25, }), - /// Temperature sensor option register. + /// Temperature sensor option register. OR: mmio.Mmio(packed struct(u32) { - /// general purpose option bits. + /// general purpose option bits. OP: u1, padding: u31, }), @@ -324296,1318 +323183,1141 @@ pub const types = struct { pub const eth_v1a = struct { pub const APCS = enum(u1) { - /// MAC passes all incoming frames unmodified + /// MAC passes all incoming frames unmodified Disabled = 0x0, - /// MAC strips the Pad/FCS field on incoming frames only for lengths less than or equal to 1500 bytes + /// MAC strips the Pad/FCS field on incoming frames only for lengths less than or equal to 1500 bytes Strip = 0x1, }; pub const BFD = enum(u1) { - /// Address filters pass all received broadcast frames + /// Address filters pass all received broadcast frames Enabled = 0x0, - /// Address filters filter all incoming broadcast frames + /// Address filters filter all incoming broadcast frames Disabled = 0x1, }; pub const BL = enum(u2) { - /// For retransmission n, wait up to 2^min(n, 10) time slots + /// For retransmission n, wait up to 2^min(n, 10) time slots BL10 = 0x0, - /// For retransmission n, wait up to 2^min(n, 8) time slots + /// For retransmission n, wait up to 2^min(n, 8) time slots BL8 = 0x1, - /// For retransmission n, wait up to 2^min(n, 4) time slots + /// For retransmission n, wait up to 2^min(n, 4) time slots BL4 = 0x2, - /// For retransmission n, wait up to 2^min(n, 1) time slots + /// For retransmission n, wait up to 2^min(n, 1) time slots BL1 = 0x3, }; pub const CR = enum(u3) { - /// 60-100MHz HCLK/42 + /// 60-100MHz HCLK/42 CR_60_100 = 0x0, - /// 100-150 MHz HCLK/62 + /// 100-150 MHz HCLK/62 CR_100_150 = 0x1, - /// 20-35MHz HCLK/16 + /// 20-35MHz HCLK/16 CR_20_35 = 0x2, - /// 35-60MHz HCLK/16 + /// 35-60MHz HCLK/16 CR_35_60 = 0x3, - /// 150-168MHz HCLK/102 + /// 150-168MHz HCLK/102 CR_150_168 = 0x4, _, }; pub const CSD = enum(u1) { - /// Errors generated due to loss of carrier + /// Errors generated due to loss of carrier Enabled = 0x0, - /// No error generated due to loss of carrier + /// No error generated due to loss of carrier Disabled = 0x1, }; pub const CSR = enum(u1) { - /// Counters roll over to zero after reaching the maximum value + /// Counters roll over to zero after reaching the maximum value Rollover = 0x0, - /// Counters do not roll over to zero after reaching the maximum value + /// Counters do not roll over to zero after reaching the maximum value NotRollover = 0x1, }; pub const CounterReset = enum(u1) { - /// Reset all counters. Cleared automatically + /// Reset all counters. Cleared automatically Reset = 0x1, _, }; pub const DA = enum(u1) { - /// Round-robin with Rx:Tx priority given by PM + /// Round-robin with Rx:Tx priority given by PM RoundRobin = 0x0, - /// Rx has priority over Tx + /// Rx has priority over Tx RxPriority = 0x1, }; pub const DAIF = enum(u1) { - /// Normal filtering of frames + /// Normal filtering of frames Normal = 0x0, - /// Address check block operates in inverse filtering mode for the DA address comparison + /// Address check block operates in inverse filtering mode for the DA address comparison Invert = 0x1, }; pub const DM = enum(u1) { - /// MAC operates in half-duplex mode + /// MAC operates in half-duplex mode HalfDuplex = 0x0, - /// MAC operates in full-duplex mode + /// MAC operates in full-duplex mode FullDuplex = 0x1, }; pub const DMAOMR_SR = enum(u1) { - /// Reception is stopped after transfer of the current frame + /// Reception is stopped after transfer of the current frame Stopped = 0x0, - /// Reception is placed in the Running state + /// Reception is placed in the Running state Started = 0x1, }; pub const DTCEFD = enum(u1) { - /// Drop frames with errors only in the receive checksum offload engine + /// Drop frames with errors only in the receive checksum offload engine Enabled = 0x0, - /// Do not drop frames that only have errors in the receive checksum offload engine + /// Do not drop frames that only have errors in the receive checksum offload engine Disabled = 0x1, }; pub const FB = enum(u1) { - /// AHB uses SINGLE and INCR burst transfers + /// AHB uses SINGLE and INCR burst transfers Variable = 0x0, - /// AHB uses only fixed burst transfers + /// AHB uses only fixed burst transfers Fixed = 0x1, }; pub const FCB = enum(u1) { - /// In half duplex only, deasserts back pressure + /// In half duplex only, deasserts back pressure DisableBackPressure = 0x0, - /// In full duplex, initiate a Pause control frame. In half duplex, assert back pressure + /// In full duplex, initiate a Pause control frame. In half duplex, assert back pressure PauseOrBackPressure = 0x1, }; pub const FEF = enum(u1) { - /// Rx FIFO drops frames with error status + /// Rx FIFO drops frames with error status Drop = 0x0, - /// All frames except runt error frames are forwarded to the DMA + /// All frames except runt error frames are forwarded to the DMA Forward = 0x1, }; pub const FES = enum(u1) { - /// 10 Mbit/s + /// 10 Mbit/s FES10 = 0x0, - /// 100 Mbit/s + /// 100 Mbit/s FES100 = 0x1, }; pub const FPM = enum(u1) { - /// PBL values used as-is + /// PBL values used as-is x1 = 0x0, - /// PBL values multiplied by 4 + /// PBL values multiplied by 4 x4 = 0x1, }; pub const FTF = enum(u1) { - /// Transmit FIFO controller logic is reset to its default values. Cleared automatically + /// Transmit FIFO controller logic is reset to its default values. Cleared automatically Flush = 0x1, _, }; pub const FUGF = enum(u1) { - /// Rx FIFO drops all frames of less than 64 bytes + /// Rx FIFO drops all frames of less than 64 bytes Drop = 0x0, - /// Rx FIFO forwards undersized frames + /// Rx FIFO forwards undersized frames Forward = 0x1, }; pub const HM = enum(u1) { - /// MAC performs a perfect destination address filtering for multicast frames + /// MAC performs a perfect destination address filtering for multicast frames Perfect = 0x0, - /// MAC performs destination address filtering of received multicast frames according to the hash table + /// MAC performs destination address filtering of received multicast frames according to the hash table Hash = 0x1, }; pub const HPF = enum(u1) { - /// If HM or HU is set, only frames that match the Hash filter are passed + /// If HM or HU is set, only frames that match the Hash filter are passed HashOnly = 0x0, - /// If HM or HU is set, frames that match either the perfect filter or the hash filter are passed + /// If HM or HU is set, frames that match either the perfect filter or the hash filter are passed HashOrPerfect = 0x1, }; pub const HU = enum(u1) { - /// MAC performs a perfect destination address filtering for unicast frames + /// MAC performs a perfect destination address filtering for unicast frames Perfect = 0x0, - /// MAC performs destination address filtering of received unicast frames according to the hash table + /// MAC performs destination address filtering of received unicast frames according to the hash table Hash = 0x1, }; pub const IFG = enum(u3) { - /// 96 bit times + /// 96 bit times IFG96 = 0x0, - /// 88 bit times + /// 88 bit times IFG88 = 0x1, - /// 80 bit times + /// 80 bit times IFG80 = 0x2, - /// 72 bit times + /// 72 bit times IFG72 = 0x3, - /// 64 bit times + /// 64 bit times IFG64 = 0x4, - /// 56 bit times + /// 56 bit times IFG56 = 0x5, - /// 48 bit times + /// 48 bit times IFG48 = 0x6, - /// 40 bit times + /// 40 bit times IFG40 = 0x7, }; pub const IPCO = enum(u1) { - /// IPv4 checksum offload disabled + /// IPv4 checksum offload disabled Disabled = 0x0, - /// IPv4 checksums are checked in received frames + /// IPv4 checksums are checked in received frames Offload = 0x1, }; pub const JD = enum(u1) { - /// Jabber enabled, transmit frames up to 2048 bytes + /// Jabber enabled, transmit frames up to 2048 bytes Enabled = 0x0, - /// Jabber disabled, transmit frames up to 16384 bytes + /// Jabber disabled, transmit frames up to 16384 bytes Disabled = 0x1, }; pub const LM = enum(u1) { - /// Normal mode + /// Normal mode Normal = 0x0, - /// MAC operates in loopback mode at the MII + /// MAC operates in loopback mode at the MII Loopback = 0x1, }; pub const MACAHR_SA = enum(u1) { - /// This address is used for comparison with DA fields of the received frame + /// This address is used for comparison with DA fields of the received frame Destination = 0x0, - /// This address is used for comparison with SA fields of received frames + /// This address is used for comparison with SA fields of received frames Source = 0x1, }; pub const MB_progress = enum(u1) { - /// This bit is set to 1 by the application to indicate that a read or write access is in progress + /// This bit is set to 1 by the application to indicate that a read or write access is in progress Busy = 0x1, _, }; pub const MW = enum(u1) { - /// Read operation + /// Read operation Read = 0x0, - /// Write operation + /// Write operation Write = 0x1, }; pub const PBL = enum(u6) { - /// Maximum of 1 beat per DMA transaction + /// Maximum of 1 beat per DMA transaction PBL1 = 0x1, - /// Maximum of 2 beats per DMA transaction + /// Maximum of 2 beats per DMA transaction PBL2 = 0x2, - /// Maximum of 4 beats per DMA transaction + /// Maximum of 4 beats per DMA transaction PBL4 = 0x4, - /// Maximum of 8 beats per DMA transaction + /// Maximum of 8 beats per DMA transaction PBL8 = 0x8, - /// Maximum of 16 beats per DMA transaction + /// Maximum of 16 beats per DMA transaction PBL16 = 0x10, - /// Maximum of 32 beats per DMA transaction + /// Maximum of 32 beats per DMA transaction PBL32 = 0x20, _, }; pub const PCF = enum(u2) { - /// MAC prevents all control frames from reaching the application + /// MAC prevents all control frames from reaching the application PreventAll = 0x0, - /// MAC forwards all control frames to application except Pause + /// MAC forwards all control frames to application except Pause ForwardAllExceptPause = 0x1, - /// MAC forwards all control frames to application even if they fail the address filter + /// MAC forwards all control frames to application even if they fail the address filter ForwardAll = 0x2, - /// MAC forwards control frames that pass the address filter + /// MAC forwards control frames that pass the address filter ForwardAllFiltered = 0x3, }; pub const PD = enum(u1) { - /// All received frames will be dropped. Cleared automatically when a magic packet or wakeup frame is received + /// All received frames will be dropped. Cleared automatically when a magic packet or wakeup frame is received Enabled = 0x1, _, }; pub const PLT = enum(u2) { - /// Pause time minus 4 slot times + /// Pause time minus 4 slot times PLT4 = 0x0, - /// Pause time minus 28 slot times + /// Pause time minus 28 slot times PLT28 = 0x1, - /// Pause time minus 144 slot times + /// Pause time minus 144 slot times PLT144 = 0x2, - /// Pause time minus 256 slot times + /// Pause time minus 256 slot times PLT256 = 0x3, }; pub const PMTIM = enum(u1) { - /// PMT Status interrupt generation enabled + /// PMT Status interrupt generation enabled Unmasked = 0x0, - /// PMT Status interrupt generation disabled + /// PMT Status interrupt generation disabled Masked = 0x1, }; pub const PriorityRxOverTx = enum(u2) { - /// RxDMA priority over TxDMA is 1:1 + /// RxDMA priority over TxDMA is 1:1 OneToOne = 0x0, - /// RxDMA priority over TxDMA is 2:1 + /// RxDMA priority over TxDMA is 2:1 TwoToOne = 0x1, - /// RxDMA priority over TxDMA is 3:1 + /// RxDMA priority over TxDMA is 3:1 ThreeToOne = 0x2, - /// RxDMA priority over TxDMA is 4:1 + /// RxDMA priority over TxDMA is 4:1 FourToOne = 0x3, }; pub const RD = enum(u1) { - /// MAC attempts retries based on the settings of BL + /// MAC attempts retries based on the settings of BL Enabled = 0x0, - /// MAC attempts only 1 transmission + /// MAC attempts only 1 transmission Disabled = 0x1, }; pub const RDP = enum(u6) { - /// 1 beat per RxDMA transaction + /// 1 beat per RxDMA transaction RDP1 = 0x1, - /// 2 beats per RxDMA transaction + /// 2 beats per RxDMA transaction RDP2 = 0x2, - /// 4 beats per RxDMA transaction + /// 4 beats per RxDMA transaction RDP4 = 0x4, - /// 8 beats per RxDMA transaction + /// 8 beats per RxDMA transaction RDP8 = 0x8, - /// 16 beats per RxDMA transaction + /// 16 beats per RxDMA transaction RDP16 = 0x10, - /// 32 beats per RxDMA transaction + /// 32 beats per RxDMA transaction RDP32 = 0x20, _, }; pub const RFAEM = enum(u1) { - /// Received-alignment-error counter half-full interrupt enabled + /// Received-alignment-error counter half-full interrupt enabled Unmasked = 0x0, - /// Received-alignment-error counter half-full interrupt disabled + /// Received-alignment-error counter half-full interrupt disabled Masked = 0x1, }; pub const RFCEM = enum(u1) { - /// Received-crc-error counter half-full interrupt enabled + /// Received-crc-error counter half-full interrupt enabled Unmasked = 0x0, - /// Received-crc-error counter half-full interrupt disabled + /// Received-crc-error counter half-full interrupt disabled Masked = 0x1, }; pub const RGUFM = enum(u1) { - /// Received-good-unicast counter half-full interrupt enabled + /// Received-good-unicast counter half-full interrupt enabled Unmasked = 0x0, - /// Received-good-unicast counter half-full interrupt disabled + /// Received-good-unicast counter half-full interrupt disabled Masked = 0x1, }; pub const ROD = enum(u1) { - /// MAC receives all packets from PHY while transmitting + /// MAC receives all packets from PHY while transmitting Enabled = 0x0, - /// MAC disables reception of frames in half-duplex mode + /// MAC disables reception of frames in half-duplex mode Disabled = 0x1, }; pub const RPD = enum(u32) { - /// Poll the receive descriptor list + /// Poll the receive descriptor list Poll = 0x0, _, }; pub const RPS = enum(u3) { - /// Stopped, reset or Stop Receive command issued + /// Stopped, reset or Stop Receive command issued Stopped = 0x0, - /// Running, fetching receive transfer descriptor + /// Running, fetching receive transfer descriptor RunningFetching = 0x1, - /// Running, waiting for receive packet + /// Running, waiting for receive packet RunningWaiting = 0x3, - /// Suspended, receive descriptor unavailable + /// Suspended, receive descriptor unavailable Suspended = 0x4, - /// Running, writing data to host memory buffer + /// Running, writing data to host memory buffer RunningWriting = 0x7, _, }; pub const RSF = enum(u1) { - /// Rx FIFO operates in cut-through mode, subject to RTC bits + /// Rx FIFO operates in cut-through mode, subject to RTC bits CutThrough = 0x0, - /// Frames are read from Rx FIFO after complete frame has been written + /// Frames are read from Rx FIFO after complete frame has been written StoreForward = 0x1, }; pub const RTC = enum(u2) { - /// 64 bytes + /// 64 bytes RTC64 = 0x0, - /// 32 bytes + /// 32 bytes RTC32 = 0x1, - /// 96 bytes + /// 96 bytes RTC96 = 0x2, - /// 128 bytes + /// 128 bytes RTC128 = 0x3, }; pub const SAIF = enum(u1) { - /// Source address filter operates normally + /// Source address filter operates normally Normal = 0x0, - /// Source address filter operation inverted + /// Source address filter operation inverted Invert = 0x1, }; pub const ST = enum(u1) { - /// Transmission is placed in the Stopped state + /// Transmission is placed in the Stopped state Stopped = 0x0, - /// Transmission is placed in Running state + /// Transmission is placed in Running state Started = 0x1, }; pub const TGFM = enum(u1) { - /// Transmitted-good counter half-full interrupt enabled + /// Transmitted-good counter half-full interrupt enabled Unmasked = 0x0, - /// Transmitted-good counter half-full interrupt disabled + /// Transmitted-good counter half-full interrupt disabled Masked = 0x1, }; pub const TGFMSCM = enum(u1) { - /// Transmitted-good-multiple-collision half-full interrupt enabled + /// Transmitted-good-multiple-collision half-full interrupt enabled Unmasked = 0x0, - /// Transmitted-good-multiple-collision half-full interrupt disabled + /// Transmitted-good-multiple-collision half-full interrupt disabled Masked = 0x1, }; pub const TGFSCM = enum(u1) { - /// Transmitted-good-single-collision half-full interrupt enabled + /// Transmitted-good-single-collision half-full interrupt enabled Unmasked = 0x0, - /// Transmitted-good-single-collision half-full interrupt disabled + /// Transmitted-good-single-collision half-full interrupt disabled Masked = 0x1, }; pub const TPD = enum(u32) { - /// Poll the transmit descriptor list + /// Poll the transmit descriptor list Poll = 0x0, _, }; pub const TPS = enum(u3) { - /// Stopped, Reset or Stop Transmit command issued + /// Stopped, Reset or Stop Transmit command issued Stopped = 0x0, - /// Running, fetching transmit transfer descriptor + /// Running, fetching transmit transfer descriptor RunningFetching = 0x1, - /// Running, waiting for status + /// Running, waiting for status RunningWaiting = 0x2, - /// Running, reading data from host memory buffer + /// Running, reading data from host memory buffer RunningReading = 0x3, - /// Suspended, transmit descriptor unavailable or transmit buffer underflow + /// Suspended, transmit descriptor unavailable or transmit buffer underflow Suspended = 0x6, - /// Running, closing transmit descriptor + /// Running, closing transmit descriptor Running = 0x7, _, }; pub const TSF = enum(u1) { - /// Transmission starts when the frame size in the Tx FIFO exceeds TTC threshold + /// Transmission starts when the frame size in the Tx FIFO exceeds TTC threshold CutThrough = 0x0, - /// Transmission starts when a full frame is in the Tx FIFO + /// Transmission starts when a full frame is in the Tx FIFO StoreForward = 0x1, }; pub const TSTIM = enum(u1) { - /// Time stamp interrupt generation enabled + /// Time stamp interrupt generation enabled Unmasked = 0x0, - /// Time stamp interrupt generation disabled + /// Time stamp interrupt generation disabled Masked = 0x1, }; pub const TTC = enum(u3) { - /// 64 bytes + /// 64 bytes TTC64 = 0x0, - /// 128 bytes + /// 128 bytes TTC128 = 0x1, - /// 192 bytes + /// 192 bytes TTC192 = 0x2, - /// 256 bytes + /// 256 bytes TTC256 = 0x3, - /// 40 bytes + /// 40 bytes TTC40 = 0x4, - /// 32 bytes + /// 32 bytes TTC32 = 0x5, - /// 24 bytes + /// 24 bytes TTC24 = 0x6, - /// 16 bytes + /// 16 bytes TTC16 = 0x7, }; pub const USP = enum(u1) { - /// PBL value used for both Rx and Tx DMA + /// PBL value used for both Rx and Tx DMA Combined = 0x0, - /// RxDMA uses RDP value, TxDMA uses PBL value + /// RxDMA uses RDP value, TxDMA uses PBL value Separate = 0x1, }; pub const VLANTC = enum(u1) { - /// Full 16 bit VLAN identifiers are used for comparison and filtering + /// Full 16 bit VLAN identifiers are used for comparison and filtering VLANTC16 = 0x0, - /// 12 bit VLAN identifies are used for comparison and filtering + /// 12 bit VLAN identifies are used for comparison and filtering VLANTC12 = 0x1, }; pub const WD = enum(u1) { - /// Watchdog enabled, receive frames limited to 2048 bytes + /// Watchdog enabled, receive frames limited to 2048 bytes Enabled = 0x0, - /// Watchdog disabled, receive frames may be up to to 16384 bytes + /// Watchdog disabled, receive frames may be up to to 16384 bytes Disabled = 0x1, }; pub const WFFRPR = enum(u1) { - /// Reset wakeup frame filter register point to 0b000. Automatically cleared + /// Reset wakeup frame filter register point to 0b000. Automatically cleared Reset = 0x1, _, }; pub const ZQPD = enum(u1) { - /// Normal operation with automatic zero-quanta pause control frame generation + /// Normal operation with automatic zero-quanta pause control frame generation Enabled = 0x0, - /// Automatic generation of zero-quanta pause control frames is disabled + /// Automatic generation of zero-quanta pause control frames is disabled Disabled = 0x1, }; - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH = extern struct { - /// Ethernet: media access control (MAC) + /// Ethernet: media access control (MAC) ETHERNET_MAC: u32, reserved1792: [1788]u8, - /// Ethernet: Precision Time Protocol (PTP) + /// Ethernet: Precision Time Protocol (PTP) ETHERNET_PTP: u32, reserved4096: [2300]u8, - /// Ethernet: DMA mode register (DMA) + /// Ethernet: DMA mode register (DMA) ETHERNET_DMA: u32, }; - /// Ethernet: DMA controller operation + /// Ethernet: DMA controller operation pub const ETHERNET_DMA = extern struct { - /// Ethernet DMA bus mode register + /// Ethernet DMA bus mode register DMABMR: mmio.Mmio(packed struct(u32) { - /// Software reset + /// Software reset SR: u1, - /// DMA arbitration - DA: packed union { - raw: u1, - value: DA, - }, - /// Descriptor skip length + /// DMA arbitration + DA: DA, + /// Descriptor skip length DSL: u5, reserved8: u1, - /// Programmable burst length - PBL: packed union { - raw: u6, - value: PBL, - }, - /// Rx-Tx priority ratio - PM: packed union { - raw: u2, - value: PriorityRxOverTx, - }, - /// Fixed burst - FB: packed union { - raw: u1, - value: FB, - }, - /// Rx DMA PBL - RDP: packed union { - raw: u6, - value: RDP, - }, - /// Use separate PBL - USP: packed union { - raw: u1, - value: USP, - }, - /// 4xPBL mode - FPM: packed union { - raw: u1, - value: FPM, - }, - /// Address-aligned beats + /// Programmable burst length + PBL: PBL, + /// Rx-Tx priority ratio + PM: PriorityRxOverTx, + /// Fixed burst + FB: FB, + /// Rx DMA PBL + RDP: RDP, + /// Use separate PBL + USP: USP, + /// 4xPBL mode + FPM: FPM, + /// Address-aligned beats AAB: u1, padding: u6, }), - /// Ethernet DMA transmit poll demand register + /// Ethernet DMA transmit poll demand register DMATPDR: mmio.Mmio(packed struct(u32) { - /// Transmit poll demand - TPD: packed union { - raw: u32, - value: TPD, - }, + /// Transmit poll demand + TPD: TPD, }), - /// EHERNET DMA receive poll demand register + /// EHERNET DMA receive poll demand register DMARPDR: mmio.Mmio(packed struct(u32) { - /// Receive poll demand - RPD: packed union { - raw: u32, - value: RPD, - }, + /// Receive poll demand + RPD: RPD, }), - /// Ethernet DMA receive descriptor list address register + /// Ethernet DMA receive descriptor list address register DMARDLAR: mmio.Mmio(packed struct(u32) { - /// Start of receive list + /// Start of receive list SRL: u32, }), - /// Ethernet DMA transmit descriptor list address register + /// Ethernet DMA transmit descriptor list address register DMATDLAR: mmio.Mmio(packed struct(u32) { - /// Start of transmit list + /// Start of transmit list STL: u32, }), - /// Ethernet DMA status register + /// Ethernet DMA status register DMASR: mmio.Mmio(packed struct(u32) { - /// Transmit status + /// Transmit status TS: u1, - /// Transmit process stopped status + /// Transmit process stopped status TPSS: u1, - /// Transmit buffer unavailable status + /// Transmit buffer unavailable status TBUS: u1, - /// Transmit jabber timeout status + /// Transmit jabber timeout status TJTS: u1, - /// Receive overflow status + /// Receive overflow status ROS: u1, - /// Transmit underflow status + /// Transmit underflow status TUS: u1, - /// Receive status + /// Receive status RS: u1, - /// Receive buffer unavailable status + /// Receive buffer unavailable status RBUS: u1, - /// Receive process stopped status + /// Receive process stopped status RPSS: u1, - /// PWTS + /// PWTS PWTS: u1, - /// Early transmit status + /// Early transmit status ETS: u1, reserved13: u2, - /// Fatal bus error status + /// Fatal bus error status FBES: u1, - /// Early receive status + /// Early receive status ERS: u1, - /// Abnormal interrupt summary + /// Abnormal interrupt summary AIS: u1, - /// Normal interrupt summary + /// Normal interrupt summary NIS: u1, - /// Receive process state - RPS: packed union { - raw: u3, - value: RPS, - }, - /// Transmit process state - TPS: packed union { - raw: u3, - value: TPS, - }, - /// Error bits status + /// Receive process state + RPS: RPS, + /// Transmit process state + TPS: TPS, + /// Error bits status EBS: u3, reserved27: u1, - /// MMC status + /// MMC status MMCS: u1, - /// PMT status + /// PMT status PMTS: u1, - /// Time stamp trigger status + /// Time stamp trigger status TSTS: u1, padding: u2, }), - /// Ethernet DMA operation mode register + /// Ethernet DMA operation mode register DMAOMR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Start/stop receive - SR: packed union { - raw: u1, - value: DMAOMR_SR, - }, - /// Operate on second frame + /// Start/stop receive + SR: DMAOMR_SR, + /// Operate on second frame OSF: u1, - /// Receive threshold control - RTC: packed union { - raw: u2, - value: RTC, - }, + /// Receive threshold control + RTC: RTC, reserved6: u1, - /// Forward undersized good frames - FUGF: packed union { - raw: u1, - value: FUGF, - }, - /// Forward error frames - FEF: packed union { - raw: u1, - value: FEF, - }, + /// Forward undersized good frames + FUGF: FUGF, + /// Forward error frames + FEF: FEF, reserved13: u5, - /// Start/stop transmission - ST: packed union { - raw: u1, - value: ST, - }, - /// Transmit threshold control - TTC: packed union { - raw: u3, - value: TTC, - }, + /// Start/stop transmission + ST: ST, + /// Transmit threshold control + TTC: TTC, reserved20: u3, - /// Flush transmit FIFO - FTF: packed union { - raw: u1, - value: FTF, - }, - /// Transmit store and forward - TSF: packed union { - raw: u1, - value: TSF, - }, + /// Flush transmit FIFO + FTF: FTF, + /// Transmit store and forward + TSF: TSF, reserved24: u2, - /// Disable flushing of received frames + /// Disable flushing of received frames DFRF: u1, - /// Receive store and forward - RSF: packed union { - raw: u1, - value: RSF, - }, - /// Dropping of TCP/IP checksum error frames disable - DTCEFD: packed union { - raw: u1, - value: DTCEFD, - }, + /// Receive store and forward + RSF: RSF, + /// Dropping of TCP/IP checksum error frames disable + DTCEFD: DTCEFD, padding: u5, }), - /// Ethernet DMA interrupt enable register + /// Ethernet DMA interrupt enable register DMAIER: mmio.Mmio(packed struct(u32) { - /// Transmit interrupt enable + /// Transmit interrupt enable TIE: u1, - /// Transmit process stopped interrupt enable + /// Transmit process stopped interrupt enable TPSIE: u1, - /// Transmit buffer unavailable interrupt enable + /// Transmit buffer unavailable interrupt enable TBUIE: u1, - /// Transmit jabber timeout interrupt enable + /// Transmit jabber timeout interrupt enable TJTIE: u1, - /// Receive overflow interrupt enable + /// Receive overflow interrupt enable ROIE: u1, - /// Transmit underflow interrupt enable + /// Transmit underflow interrupt enable TUIE: u1, - /// Receive interrupt enable + /// Receive interrupt enable RIE: u1, - /// Receive buffer unavailable interrupt enable + /// Receive buffer unavailable interrupt enable RBUIE: u1, - /// Receive process stopped interrupt enable + /// Receive process stopped interrupt enable RPSIE: u1, - /// Receive watchdog timeout interrupt enable + /// Receive watchdog timeout interrupt enable RWTIE: u1, - /// Early transmit interrupt enable + /// Early transmit interrupt enable ETIE: u1, reserved13: u2, - /// Fatal bus error interrupt enable + /// Fatal bus error interrupt enable FBEIE: u1, - /// Early receive interrupt enable + /// Early receive interrupt enable ERIE: u1, - /// Abnormal interrupt summary enable + /// Abnormal interrupt summary enable AISE: u1, - /// Normal interrupt summary enable + /// Normal interrupt summary enable NISE: u1, padding: u15, }), - /// Ethernet DMA missed frame and buffer overflow counter register + /// Ethernet DMA missed frame and buffer overflow counter register DMAMFBOCR: mmio.Mmio(packed struct(u32) { - /// Missed frames by the controller + /// Missed frames by the controller MFC: u16, - /// Overflow bit for missed frame counter + /// Overflow bit for missed frame counter OMFC: u1, - /// Missed frames by the application + /// Missed frames by the application MFA: u11, - /// Overflow bit for FIFO overflow counter + /// Overflow bit for FIFO overflow counter OFOC: u1, padding: u3, }), reserved72: [36]u8, - /// Ethernet DMA current host transmit descriptor register + /// Ethernet DMA current host transmit descriptor register DMACHTDR: mmio.Mmio(packed struct(u32) { - /// Host transmit descriptor address pointer + /// Host transmit descriptor address pointer HTDAP: u32, }), - /// Ethernet DMA current host receive descriptor register + /// Ethernet DMA current host receive descriptor register DMACHRDR: mmio.Mmio(packed struct(u32) { - /// Host receive descriptor address pointer + /// Host receive descriptor address pointer HRDAP: u32, }), - /// Ethernet DMA current host transmit buffer address register + /// Ethernet DMA current host transmit buffer address register DMACHTBAR: mmio.Mmio(packed struct(u32) { - /// Host transmit buffer address pointer + /// Host transmit buffer address pointer HTBAP: u32, }), - /// Ethernet DMA current host receive buffer address register + /// Ethernet DMA current host receive buffer address register DMACHRBAR: mmio.Mmio(packed struct(u32) { - /// Host receive buffer address pointer + /// Host receive buffer address pointer HRBAP: u32, }), }; - /// Ethernet: media access control (MAC) + /// Ethernet: media access control (MAC) pub const ETHERNET_MAC = extern struct { - /// Ethernet MAC configuration register + /// Ethernet MAC configuration register MACCR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Receiver enable + /// Receiver enable RE: u1, - /// Transmitter enable + /// Transmitter enable TE: u1, - /// Deferral check + /// Deferral check DC: u1, - /// Back-off limit - BL: packed union { - raw: u2, - value: BL, - }, - /// Automatic pad/CRC stripping - APCS: packed union { - raw: u1, - value: APCS, - }, + /// Back-off limit + BL: BL, + /// Automatic pad/CRC stripping + APCS: APCS, reserved9: u1, - /// Retry disable - RD: packed union { - raw: u1, - value: RD, - }, - /// IPv4 checksum offload - IPCO: packed union { - raw: u1, - value: IPCO, - }, - /// Duplex mode - DM: packed union { - raw: u1, - value: DM, - }, - /// Loopback mode - LM: packed union { - raw: u1, - value: LM, - }, - /// Receive own disable - ROD: packed union { - raw: u1, - value: ROD, - }, - /// Fast Ethernet speed - FES: packed union { - raw: u1, - value: FES, - }, + /// Retry disable + RD: RD, + /// IPv4 checksum offload + IPCO: IPCO, + /// Duplex mode + DM: DM, + /// Loopback mode + LM: LM, + /// Receive own disable + ROD: ROD, + /// Fast Ethernet speed + FES: FES, reserved16: u1, - /// Carrier sense disable - CSD: packed union { - raw: u1, - value: CSD, - }, - /// Interframe gap - IFG: packed union { - raw: u3, - value: IFG, - }, + /// Carrier sense disable + CSD: CSD, + /// Interframe gap + IFG: IFG, reserved22: u2, - /// Jabber disable - JD: packed union { - raw: u1, - value: JD, - }, - /// Watchdog disable - WD: packed union { - raw: u1, - value: WD, - }, + /// Jabber disable + JD: JD, + /// Watchdog disable + WD: WD, padding: u8, }), - /// Ethernet MAC frame filter register + /// Ethernet MAC frame filter register MACFFR: mmio.Mmio(packed struct(u32) { - /// Promiscuous mode + /// Promiscuous mode PM: u1, - /// Hash unicast - HU: packed union { - raw: u1, - value: HU, - }, - /// Hash multicast - HM: packed union { - raw: u1, - value: HM, - }, - /// Destination address unique filtering - DAIF: packed union { - raw: u1, - value: DAIF, - }, - /// Pass all multicast + /// Hash unicast + HU: HU, + /// Hash multicast + HM: HM, + /// Destination address unique filtering + DAIF: DAIF, + /// Pass all multicast PAM: u1, - /// Broadcast frames disable - BFD: packed union { - raw: u1, - value: BFD, - }, - /// Pass control frames - PCF: packed union { - raw: u2, - value: PCF, - }, - /// Source address filter + /// Broadcast frames disable + BFD: BFD, + /// Pass control frames + PCF: PCF, + /// Source address filter SAF: u1, - /// Hash or perfect filter - HPF: packed union { - raw: u1, - value: HPF, - }, + /// Hash or perfect filter + HPF: HPF, reserved31: u21, - /// Receive all + /// Receive all RA: u1, }), - /// Ethernet MAC hash table high register + /// Ethernet MAC hash table high register MACHTHR: mmio.Mmio(packed struct(u32) { - /// Upper 32 bits of hash table + /// Upper 32 bits of hash table HTH: u32, }), - /// Ethernet MAC hash table low register + /// Ethernet MAC hash table low register MACHTLR: mmio.Mmio(packed struct(u32) { - /// Lower 32 bits of hash table + /// Lower 32 bits of hash table HTL: u32, }), - /// Ethernet MAC MII address register + /// Ethernet MAC MII address register MACMIIAR: mmio.Mmio(packed struct(u32) { - /// MII busy - MB: packed union { - raw: u1, - value: MB_progress, - }, - /// MII write - MW: packed union { - raw: u1, - value: MW, - }, - /// Clock range - CR: packed union { - raw: u3, - value: CR, - }, + /// MII busy + MB: MB_progress, + /// MII write + MW: MW, + /// Clock range + CR: CR, reserved6: u1, - /// MII register - select the desired MII register in the PHY device + /// MII register - select the desired MII register in the PHY device MR: u5, - /// PHY address - select which of possible 32 PHYs is being accessed + /// PHY address - select which of possible 32 PHYs is being accessed PA: u5, padding: u16, }), - /// Ethernet MAC MII data register + /// Ethernet MAC MII data register MACMIIDR: mmio.Mmio(packed struct(u32) { - /// MII data read from/written to the PHY + /// MII data read from/written to the PHY MD: u16, padding: u16, }), - /// Ethernet MAC flow control register + /// Ethernet MAC flow control register MACFCR: mmio.Mmio(packed struct(u32) { - /// Flow control busy/back pressure activate - FCB: packed union { - raw: u1, - value: FCB, - }, - /// Transmit flow control enable + /// Flow control busy/back pressure activate + FCB: FCB, + /// Transmit flow control enable TFCE: u1, - /// Receive flow control enable + /// Receive flow control enable RFCE: u1, - /// Unicast pause frame detect + /// Unicast pause frame detect UPFD: u1, - /// Pause low threshold - PLT: packed union { - raw: u2, - value: PLT, - }, + /// Pause low threshold + PLT: PLT, reserved7: u1, - /// Zero-quanta pause disable - ZQPD: packed union { - raw: u1, - value: ZQPD, - }, + /// Zero-quanta pause disable + ZQPD: ZQPD, reserved16: u8, - /// Pause time + /// Pause time PT: u16, }), - /// Ethernet MAC VLAN tag register + /// Ethernet MAC VLAN tag register MACVLANTR: mmio.Mmio(packed struct(u32) { - /// VLAN tag identifier (for receive frames) + /// VLAN tag identifier (for receive frames) VLANTI: u16, - /// 12-bit VLAN tag comparison - VLANTC: packed union { - raw: u1, - value: VLANTC, - }, + /// 12-bit VLAN tag comparison + VLANTC: VLANTC, padding: u15, }), reserved40: [8]u8, - /// Ethernet MAC remote wakeup frame filter register + /// Ethernet MAC remote wakeup frame filter register MACRWUFFR: u32, - /// Ethernet MAC PMT control and status register + /// Ethernet MAC PMT control and status register MACPMTCSR: mmio.Mmio(packed struct(u32) { - /// Power down - PD: packed union { - raw: u1, - value: PD, - }, - /// Magic packet enable + /// Power down + PD: PD, + /// Magic packet enable MPE: u1, - /// Wakeup frame enable + /// Wakeup frame enable WFE: u1, reserved5: u2, - /// Magic packet received + /// Magic packet received MPR: u1, - /// Wakeup frame received + /// Wakeup frame received WFR: u1, reserved9: u2, - /// Global unicast + /// Global unicast GU: u1, reserved31: u21, - /// Wakeup frame filter register pointer reset - WFFRPR: packed union { - raw: u1, - value: WFFRPR, - }, + /// Wakeup frame filter register pointer reset + WFFRPR: WFFRPR, }), reserved52: [4]u8, - /// Ethernet MAC debug register + /// Ethernet MAC debug register MACDBGR: mmio.Mmio(packed struct(u32) { - /// MAC MII receive protocol engine active + /// MAC MII receive protocol engine active MMRPEA: u1, - /// MAC small FIFO read/write controllers status + /// MAC small FIFO read/write controllers status MSFRWCS: u2, reserved4: u1, - /// Rx FIFO write controller active + /// Rx FIFO write controller active RFWRA: u1, - /// Rx FIFO read controller status + /// Rx FIFO read controller status RFRCS: u2, reserved8: u1, - /// Rx FIFO fill level + /// Rx FIFO fill level RFFL: u2, reserved16: u6, - /// MAC MII transmit engine active + /// MAC MII transmit engine active MMTEA: u1, - /// MAC transmit frame controller status + /// MAC transmit frame controller status MTFCS: u2, - /// MAC transmitter in pause + /// MAC transmitter in pause MTP: u1, - /// Tx FIFO read status + /// Tx FIFO read status TFRS: u2, - /// Tx FIFO write active + /// Tx FIFO write active TFWA: u1, reserved24: u1, - /// Tx FIFO not empty + /// Tx FIFO not empty TFNE: u1, - /// Tx FIFO full + /// Tx FIFO full TFF: u1, padding: u6, }), - /// Ethernet MAC interrupt status register + /// Ethernet MAC interrupt status register MACSR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// PMT status + /// PMT status PMTS: u1, - /// MMC status + /// MMC status MMCS: u1, - /// MMC receive status + /// MMC receive status MMCRS: u1, - /// MMC transmit status + /// MMC transmit status MMCTS: u1, reserved9: u2, - /// Time stamp trigger status + /// Time stamp trigger status TSTS: u1, padding: u22, }), - /// Ethernet MAC interrupt mask register + /// Ethernet MAC interrupt mask register MACIMR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// PMT interrupt mask - PMTIM: packed union { - raw: u1, - value: PMTIM, - }, + /// PMT interrupt mask + PMTIM: PMTIM, reserved9: u5, - /// Time stamp trigger interrupt mask - TSTIM: packed union { - raw: u1, - value: TSTIM, - }, + /// Time stamp trigger interrupt mask + TSTIM: TSTIM, padding: u22, }), - /// Ethernet MAC address 0 high register + /// Ethernet MAC address 0 high register MACA0HR: mmio.Mmio(packed struct(u32) { - /// MAC address 0 high + /// MAC address 0 high MACA0H: u16, reserved31: u15, - /// Always 1 + /// Always 1 MO: u1, }), - /// Ethernet MAC address 0 low register + /// Ethernet MAC address 0 low register MACA0LR: mmio.Mmio(packed struct(u32) { - /// Ethernet MAC address 0 low + /// Ethernet MAC address 0 low MACA0L: u32, }), - /// Ethernet MAC address 1/2/3 high register + /// Ethernet MAC address 1/2/3 high register MACAHR: mmio.Mmio(packed struct(u32) { - /// Ethernet MAC address 1/2/3 high + /// Ethernet MAC address 1/2/3 high MACAH: u16, reserved24: u8, - /// MBC + /// MBC MBC: u6, - /// SA - SA: packed union { - raw: u1, - value: MACAHR_SA, - }, - /// AE + /// SA + SA: MACAHR_SA, + /// AE AE: u1, }), - /// Ethernet MAC address 1/2/3 low register + /// Ethernet MAC address 1/2/3 low register MACALR: mmio.Mmio(packed struct(u32) { - /// Ethernet MAC address 1/2/3 low + /// Ethernet MAC address 1/2/3 low MACAL: u32, }), reserved256: [176]u8, - /// Ethernet MMC control register + /// Ethernet MMC control register MMCCR: mmio.Mmio(packed struct(u32) { - /// Counter reset - CR: packed union { - raw: u1, - value: CounterReset, - }, - /// Counter stop rollover - CSR: packed union { - raw: u1, - value: CSR, - }, - /// Reset on read + /// Counter reset + CR: CounterReset, + /// Counter stop rollover + CSR: CSR, + /// Reset on read ROR: u1, - /// MMC counter freeze + /// MMC counter freeze MCF: u1, padding: u28, }), - /// Ethernet MMC receive interrupt register + /// Ethernet MMC receive interrupt register MMCRIR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// Received frames CRC error status + /// Received frames CRC error status RFCES: u1, - /// Received frames alignment error status + /// Received frames alignment error status RFAES: u1, reserved17: u10, - /// Received good Unicast frames status + /// Received good Unicast frames status RGUFS: u1, padding: u14, }), - /// Ethernet MMC transmit interrupt register + /// Ethernet MMC transmit interrupt register MMCTIR: mmio.Mmio(packed struct(u32) { reserved14: u14, - /// Transmitted good frames single collision status + /// Transmitted good frames single collision status TGFSCS: u1, - /// Transmitted good frames more than single collision status + /// Transmitted good frames more than single collision status TGFMSCS: u1, reserved21: u5, - /// Transmitted good frames status + /// Transmitted good frames status TGFS: u1, padding: u10, }), - /// Ethernet MMC receive interrupt mask register + /// Ethernet MMC receive interrupt mask register MMCRIMR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// Received frame CRC error mask - RFCEM: packed union { - raw: u1, - value: RFCEM, - }, - /// Received frames alignment error mask - RFAEM: packed union { - raw: u1, - value: RFAEM, - }, + /// Received frame CRC error mask + RFCEM: RFCEM, + /// Received frames alignment error mask + RFAEM: RFAEM, reserved17: u10, - /// Received good Unicast frames mask - RGUFM: packed union { - raw: u1, - value: RGUFM, - }, + /// Received good Unicast frames mask + RGUFM: RGUFM, padding: u14, }), - /// Ethernet MMC transmit interrupt mask register + /// Ethernet MMC transmit interrupt mask register MMCTIMR: mmio.Mmio(packed struct(u32) { reserved14: u14, - /// Transmitted good frames single collision mask - TGFSCM: packed union { - raw: u1, - value: TGFSCM, - }, - /// Transmitted good frames more than single collision mask - TGFMSCM: packed union { - raw: u1, - value: TGFMSCM, - }, - /// Transmitted good frames mask - TGFM: packed union { - raw: u1, - value: TGFM, - }, + /// Transmitted good frames single collision mask + TGFSCM: TGFSCM, + /// Transmitted good frames more than single collision mask + TGFMSCM: TGFMSCM, + /// Transmitted good frames mask + TGFM: TGFM, padding: u15, }), reserved332: [56]u8, - /// Ethernet MMC transmitted good frames after a single collision counter + /// Ethernet MMC transmitted good frames after a single collision counter MMCTGFSCCR: mmio.Mmio(packed struct(u32) { - /// Transmitted good frames single collision counter + /// Transmitted good frames single collision counter TGFSCC: u32, }), - /// Ethernet MMC transmitted good frames after more than a single collision + /// Ethernet MMC transmitted good frames after more than a single collision MMCTGFMSCCR: mmio.Mmio(packed struct(u32) { - /// TGFMSCC + /// TGFMSCC TGFMSCC: u32, }), reserved360: [20]u8, - /// Ethernet MMC transmitted good frames counter register + /// Ethernet MMC transmitted good frames counter register MMCTGFCR: mmio.Mmio(packed struct(u32) { - /// HTL + /// HTL TGFC: u32, }), reserved404: [40]u8, - /// Ethernet MMC received frames with CRC error counter register + /// Ethernet MMC received frames with CRC error counter register MMCRFCECR: mmio.Mmio(packed struct(u32) { - /// RFCFC + /// RFCFC RFCFC: u32, }), - /// Ethernet MMC received frames with alignment error counter register + /// Ethernet MMC received frames with alignment error counter register MMCRFAECR: mmio.Mmio(packed struct(u32) { - /// RFAEC + /// RFAEC RFAEC: u32, }), reserved452: [40]u8, - /// MMC received good unicast frames counter register + /// MMC received good unicast frames counter register MMCRGUFCR: mmio.Mmio(packed struct(u32) { - /// RGUFC + /// RGUFC RGUFC: u32, }), }; - /// Ethernet: Precision time protocol + /// Ethernet: Precision time protocol pub const ETHERNET_PTP = extern struct { - /// Ethernet PTP time stamp control register + /// Ethernet PTP time stamp control register PTPTSCR: mmio.Mmio(packed struct(u32) { - /// TSE + /// TSE TSE: u1, - /// TSFCU + /// TSFCU TSFCU: u1, - /// TSSTI + /// TSSTI TSSTI: u1, - /// TSSTU + /// TSSTU TSSTU: u1, - /// TSITE + /// TSITE TSITE: u1, - /// TTSARU + /// TTSARU TTSARU: u1, reserved8: u2, - /// TSSARFE + /// TSSARFE TSSARFE: u1, - /// TSSSR + /// TSSSR TSSSR: u1, - /// TSPTPPSV2E + /// TSPTPPSV2E TSPTPPSV2E: u1, - /// TSSPTPOEFE + /// TSSPTPOEFE TSSPTPOEFE: u1, - /// TSSIPV6FE + /// TSSIPV6FE TSSIPV6FE: u1, - /// TSSIPV4FE + /// TSSIPV4FE TSSIPV4FE: u1, - /// TSSEME + /// TSSEME TSSEME: u1, - /// TSSMRME + /// TSSMRME TSSMRME: u1, - /// TSCNT + /// TSCNT TSCNT: u2, - /// TSPFFMAE + /// TSPFFMAE TSPFFMAE: u1, padding: u13, }), - /// Ethernet PTP subsecond increment register + /// Ethernet PTP subsecond increment register PTPSSIR: mmio.Mmio(packed struct(u32) { - /// STSSI + /// STSSI STSSI: u8, padding: u24, }), - /// Ethernet PTP time stamp high register + /// Ethernet PTP time stamp high register PTPTSHR: mmio.Mmio(packed struct(u32) { - /// STS + /// STS STS: u32, }), - /// Ethernet PTP time stamp low register + /// Ethernet PTP time stamp low register PTPTSLR: mmio.Mmio(packed struct(u32) { - /// STSS + /// STSS STSS: u31, - /// STPNS + /// STPNS STPNS: u1, }), - /// Ethernet PTP time stamp high update register + /// Ethernet PTP time stamp high update register PTPTSHUR: mmio.Mmio(packed struct(u32) { - /// TSUS + /// TSUS TSUS: u32, }), - /// Ethernet PTP time stamp low update register + /// Ethernet PTP time stamp low update register PTPTSLUR: mmio.Mmio(packed struct(u32) { - /// TSUSS + /// TSUSS TSUSS: u31, - /// TSUPNS + /// TSUPNS TSUPNS: u1, }), - /// Ethernet PTP time stamp addend register + /// Ethernet PTP time stamp addend register PTPTSAR: mmio.Mmio(packed struct(u32) { - /// TSA + /// TSA TSA: u32, }), - /// Ethernet PTP target time high register + /// Ethernet PTP target time high register PTPTTHR: mmio.Mmio(packed struct(u32) { - /// 0 + /// 0 TTSH: u32, }), - /// Ethernet PTP target time low register + /// Ethernet PTP target time low register PTPTTLR: mmio.Mmio(packed struct(u32) { - /// TTSL + /// TTSL TTSL: u32, }), reserved40: [4]u8, - /// Ethernet PTP time stamp status register + /// Ethernet PTP time stamp status register PTPTSSR: mmio.Mmio(packed struct(u32) { - /// TSSO + /// TSSO TSSO: u1, - /// TSSO + /// TSSO TSTTR: u1, padding: u30, }), - /// Ethernet PTP PPS control register + /// Ethernet PTP PPS control register PTPPPSCR: mmio.Mmio(packed struct(u32) { - /// TSSO + /// TSSO TSSO: u1, - /// TSTTR + /// TSTTR TSTTR: u1, padding: u30, }), @@ -325616,1363 +324326,1177 @@ pub const types = struct { pub const eth_v1b = struct { pub const APCS = enum(u1) { - /// MAC passes all incoming frames unmodified + /// MAC passes all incoming frames unmodified Disabled = 0x0, - /// MAC strips the Pad/FCS field on incoming frames only for lengths less than or equal to 1500 bytes + /// MAC strips the Pad/FCS field on incoming frames only for lengths less than or equal to 1500 bytes Strip = 0x1, }; pub const BFD = enum(u1) { - /// Address filters pass all received broadcast frames + /// Address filters pass all received broadcast frames Enabled = 0x0, - /// Address filters filter all incoming broadcast frames + /// Address filters filter all incoming broadcast frames Disabled = 0x1, }; pub const BL = enum(u2) { - /// For retransmission n, wait up to 2^min(n, 10) time slots + /// For retransmission n, wait up to 2^min(n, 10) time slots BL10 = 0x0, - /// For retransmission n, wait up to 2^min(n, 8) time slots + /// For retransmission n, wait up to 2^min(n, 8) time slots BL8 = 0x1, - /// For retransmission n, wait up to 2^min(n, 4) time slots + /// For retransmission n, wait up to 2^min(n, 4) time slots BL4 = 0x2, - /// For retransmission n, wait up to 2^min(n, 1) time slots + /// For retransmission n, wait up to 2^min(n, 1) time slots BL1 = 0x3, }; pub const CR = enum(u3) { - /// 60-100MHz HCLK/42 + /// 60-100MHz HCLK/42 CR_60_100 = 0x0, - /// 100-150 MHz HCLK/62 + /// 100-150 MHz HCLK/62 CR_100_150 = 0x1, - /// 20-35MHz HCLK/16 + /// 20-35MHz HCLK/16 CR_20_35 = 0x2, - /// 35-60MHz HCLK/16 + /// 35-60MHz HCLK/16 CR_35_60 = 0x3, - /// 150-168MHz HCLK/102 + /// 150-168MHz HCLK/102 CR_150_168 = 0x4, _, }; pub const CSD = enum(u1) { - /// Errors generated due to loss of carrier + /// Errors generated due to loss of carrier Enabled = 0x0, - /// No error generated due to loss of carrier + /// No error generated due to loss of carrier Disabled = 0x1, }; pub const CSR = enum(u1) { - /// Counters roll over to zero after reaching the maximum value + /// Counters roll over to zero after reaching the maximum value Rollover = 0x0, - /// Counters do not roll over to zero after reaching the maximum value + /// Counters do not roll over to zero after reaching the maximum value NotRollover = 0x1, }; pub const CounterReset = enum(u1) { - /// Reset all counters. Cleared automatically + /// Reset all counters. Cleared automatically Reset = 0x1, _, }; pub const DA = enum(u1) { - /// Round-robin with Rx:Tx priority given by PM + /// Round-robin with Rx:Tx priority given by PM RoundRobin = 0x0, - /// Rx has priority over Tx + /// Rx has priority over Tx RxPriority = 0x1, }; pub const DAIF = enum(u1) { - /// Normal filtering of frames + /// Normal filtering of frames Normal = 0x0, - /// Address check block operates in inverse filtering mode for the DA address comparison + /// Address check block operates in inverse filtering mode for the DA address comparison Invert = 0x1, }; pub const DM = enum(u1) { - /// MAC operates in half-duplex mode + /// MAC operates in half-duplex mode HalfDuplex = 0x0, - /// MAC operates in full-duplex mode + /// MAC operates in full-duplex mode FullDuplex = 0x1, }; pub const DMAOMR_SR = enum(u1) { - /// Reception is stopped after transfer of the current frame + /// Reception is stopped after transfer of the current frame Stopped = 0x0, - /// Reception is placed in the Running state + /// Reception is placed in the Running state Started = 0x1, }; pub const DTCEFD = enum(u1) { - /// Drop frames with errors only in the receive checksum offload engine + /// Drop frames with errors only in the receive checksum offload engine Enabled = 0x0, - /// Do not drop frames that only have errors in the receive checksum offload engine + /// Do not drop frames that only have errors in the receive checksum offload engine Disabled = 0x1, }; pub const FB = enum(u1) { - /// AHB uses SINGLE and INCR burst transfers + /// AHB uses SINGLE and INCR burst transfers Variable = 0x0, - /// AHB uses only fixed burst transfers + /// AHB uses only fixed burst transfers Fixed = 0x1, }; pub const FCB = enum(u1) { - /// In half duplex only, deasserts back pressure + /// In half duplex only, deasserts back pressure DisableBackPressure = 0x0, - /// In full duplex, initiate a Pause control frame. In half duplex, assert back pressure + /// In full duplex, initiate a Pause control frame. In half duplex, assert back pressure PauseOrBackPressure = 0x1, }; pub const FEF = enum(u1) { - /// Rx FIFO drops frames with error status + /// Rx FIFO drops frames with error status Drop = 0x0, - /// All frames except runt error frames are forwarded to the DMA + /// All frames except runt error frames are forwarded to the DMA Forward = 0x1, }; pub const FES = enum(u1) { - /// 10 Mbit/s + /// 10 Mbit/s FES10 = 0x0, - /// 100 Mbit/s + /// 100 Mbit/s FES100 = 0x1, }; pub const FPM = enum(u1) { - /// PBL values used as-is + /// PBL values used as-is x1 = 0x0, - /// PBL values multiplied by 4 + /// PBL values multiplied by 4 x4 = 0x1, }; pub const FTF = enum(u1) { - /// Transmit FIFO controller logic is reset to its default values. Cleared automatically + /// Transmit FIFO controller logic is reset to its default values. Cleared automatically Flush = 0x1, _, }; pub const FUGF = enum(u1) { - /// Rx FIFO drops all frames of less than 64 bytes + /// Rx FIFO drops all frames of less than 64 bytes Drop = 0x0, - /// Rx FIFO forwards undersized frames + /// Rx FIFO forwards undersized frames Forward = 0x1, }; pub const HM = enum(u1) { - /// MAC performs a perfect destination address filtering for multicast frames + /// MAC performs a perfect destination address filtering for multicast frames Perfect = 0x0, - /// MAC performs destination address filtering of received multicast frames according to the hash table + /// MAC performs destination address filtering of received multicast frames according to the hash table Hash = 0x1, }; pub const HPF = enum(u1) { - /// If HM or HU is set, only frames that match the Hash filter are passed + /// If HM or HU is set, only frames that match the Hash filter are passed HashOnly = 0x0, - /// If HM or HU is set, frames that match either the perfect filter or the hash filter are passed + /// If HM or HU is set, frames that match either the perfect filter or the hash filter are passed HashOrPerfect = 0x1, }; pub const HU = enum(u1) { - /// MAC performs a perfect destination address filtering for unicast frames + /// MAC performs a perfect destination address filtering for unicast frames Perfect = 0x0, - /// MAC performs destination address filtering of received unicast frames according to the hash table + /// MAC performs destination address filtering of received unicast frames according to the hash table Hash = 0x1, }; pub const IFG = enum(u3) { - /// 96 bit times + /// 96 bit times IFG96 = 0x0, - /// 88 bit times + /// 88 bit times IFG88 = 0x1, - /// 80 bit times + /// 80 bit times IFG80 = 0x2, - /// 72 bit times + /// 72 bit times IFG72 = 0x3, - /// 64 bit times + /// 64 bit times IFG64 = 0x4, - /// 56 bit times + /// 56 bit times IFG56 = 0x5, - /// 48 bit times + /// 48 bit times IFG48 = 0x6, - /// 40 bit times + /// 40 bit times IFG40 = 0x7, }; pub const IPCO = enum(u1) { - /// IPv4 checksum offload disabled + /// IPv4 checksum offload disabled Disabled = 0x0, - /// IPv4 checksums are checked in received frames + /// IPv4 checksums are checked in received frames Offload = 0x1, }; pub const JD = enum(u1) { - /// Jabber enabled, transmit frames up to 2048 bytes + /// Jabber enabled, transmit frames up to 2048 bytes Enabled = 0x0, - /// Jabber disabled, transmit frames up to 16384 bytes + /// Jabber disabled, transmit frames up to 16384 bytes Disabled = 0x1, }; pub const LM = enum(u1) { - /// Normal mode + /// Normal mode Normal = 0x0, - /// MAC operates in loopback mode at the MII + /// MAC operates in loopback mode at the MII Loopback = 0x1, }; pub const MACAHR_SA = enum(u1) { - /// This address is used for comparison with DA fields of the received frame + /// This address is used for comparison with DA fields of the received frame Destination = 0x0, - /// This address is used for comparison with SA fields of received frames + /// This address is used for comparison with SA fields of received frames Source = 0x1, }; pub const MB = enum(u1) { - /// Fixed burst transfers (INCRx and SINGLE) for burst lengths of 16 and below + /// Fixed burst transfers (INCRx and SINGLE) for burst lengths of 16 and below Normal = 0x0, - /// If FB is low, start all bursts greater than 16 with INCR (undefined burst) + /// If FB is low, start all bursts greater than 16 with INCR (undefined burst) Mixed = 0x1, }; pub const MB_progress = enum(u1) { - /// This bit is set to 1 by the application to indicate that a read or write access is in progress + /// This bit is set to 1 by the application to indicate that a read or write access is in progress Busy = 0x1, _, }; pub const MCFHP = enum(u1) { - /// When MCP is set, MMC counters are preset to almost-half value 0x7FFF_FFF0 + /// When MCP is set, MMC counters are preset to almost-half value 0x7FFF_FFF0 AlmostHalf = 0x0, - /// When MCP is set, MMC counters are preset to almost-full value 0xFFFF_FFF0 + /// When MCP is set, MMC counters are preset to almost-full value 0xFFFF_FFF0 AlmostFull = 0x1, }; pub const MCP = enum(u1) { - /// MMC counters will be preset to almost full or almost half. Cleared automatically + /// MMC counters will be preset to almost full or almost half. Cleared automatically Preset = 0x1, _, }; pub const MW = enum(u1) { - /// Read operation + /// Read operation Read = 0x0, - /// Write operation + /// Write operation Write = 0x1, }; pub const PBL = enum(u6) { - /// Maximum of 1 beat per DMA transaction + /// Maximum of 1 beat per DMA transaction PBL1 = 0x1, - /// Maximum of 2 beats per DMA transaction + /// Maximum of 2 beats per DMA transaction PBL2 = 0x2, - /// Maximum of 4 beats per DMA transaction + /// Maximum of 4 beats per DMA transaction PBL4 = 0x4, - /// Maximum of 8 beats per DMA transaction + /// Maximum of 8 beats per DMA transaction PBL8 = 0x8, - /// Maximum of 16 beats per DMA transaction + /// Maximum of 16 beats per DMA transaction PBL16 = 0x10, - /// Maximum of 32 beats per DMA transaction + /// Maximum of 32 beats per DMA transaction PBL32 = 0x20, _, }; pub const PCF = enum(u2) { - /// MAC prevents all control frames from reaching the application + /// MAC prevents all control frames from reaching the application PreventAll = 0x0, - /// MAC forwards all control frames to application except Pause + /// MAC forwards all control frames to application except Pause ForwardAllExceptPause = 0x1, - /// MAC forwards all control frames to application even if they fail the address filter + /// MAC forwards all control frames to application even if they fail the address filter ForwardAll = 0x2, - /// MAC forwards control frames that pass the address filter + /// MAC forwards control frames that pass the address filter ForwardAllFiltered = 0x3, }; pub const PD = enum(u1) { - /// All received frames will be dropped. Cleared automatically when a magic packet or wakeup frame is received + /// All received frames will be dropped. Cleared automatically when a magic packet or wakeup frame is received Enabled = 0x1, _, }; pub const PLT = enum(u2) { - /// Pause time minus 4 slot times + /// Pause time minus 4 slot times PLT4 = 0x0, - /// Pause time minus 28 slot times + /// Pause time minus 28 slot times PLT28 = 0x1, - /// Pause time minus 144 slot times + /// Pause time minus 144 slot times PLT144 = 0x2, - /// Pause time minus 256 slot times + /// Pause time minus 256 slot times PLT256 = 0x3, }; pub const PMTIM = enum(u1) { - /// PMT Status interrupt generation enabled + /// PMT Status interrupt generation enabled Unmasked = 0x0, - /// PMT Status interrupt generation disabled + /// PMT Status interrupt generation disabled Masked = 0x1, }; pub const PriorityRxOverTx = enum(u2) { - /// RxDMA priority over TxDMA is 1:1 + /// RxDMA priority over TxDMA is 1:1 OneToOne = 0x0, - /// RxDMA priority over TxDMA is 2:1 + /// RxDMA priority over TxDMA is 2:1 TwoToOne = 0x1, - /// RxDMA priority over TxDMA is 3:1 + /// RxDMA priority over TxDMA is 3:1 ThreeToOne = 0x2, - /// RxDMA priority over TxDMA is 4:1 + /// RxDMA priority over TxDMA is 4:1 FourToOne = 0x3, }; pub const RD = enum(u1) { - /// MAC attempts retries based on the settings of BL + /// MAC attempts retries based on the settings of BL Enabled = 0x0, - /// MAC attempts only 1 transmission + /// MAC attempts only 1 transmission Disabled = 0x1, }; pub const RDP = enum(u6) { - /// 1 beat per RxDMA transaction + /// 1 beat per RxDMA transaction RDP1 = 0x1, - /// 2 beats per RxDMA transaction + /// 2 beats per RxDMA transaction RDP2 = 0x2, - /// 4 beats per RxDMA transaction + /// 4 beats per RxDMA transaction RDP4 = 0x4, - /// 8 beats per RxDMA transaction + /// 8 beats per RxDMA transaction RDP8 = 0x8, - /// 16 beats per RxDMA transaction + /// 16 beats per RxDMA transaction RDP16 = 0x10, - /// 32 beats per RxDMA transaction + /// 32 beats per RxDMA transaction RDP32 = 0x20, _, }; pub const RFAEM = enum(u1) { - /// Received-alignment-error counter half-full interrupt enabled + /// Received-alignment-error counter half-full interrupt enabled Unmasked = 0x0, - /// Received-alignment-error counter half-full interrupt disabled + /// Received-alignment-error counter half-full interrupt disabled Masked = 0x1, }; pub const RFCEM = enum(u1) { - /// Received-crc-error counter half-full interrupt enabled + /// Received-crc-error counter half-full interrupt enabled Unmasked = 0x0, - /// Received-crc-error counter half-full interrupt disabled + /// Received-crc-error counter half-full interrupt disabled Masked = 0x1, }; pub const RGUFM = enum(u1) { - /// Received-good-unicast counter half-full interrupt enabled + /// Received-good-unicast counter half-full interrupt enabled Unmasked = 0x0, - /// Received-good-unicast counter half-full interrupt disabled + /// Received-good-unicast counter half-full interrupt disabled Masked = 0x1, }; pub const ROD = enum(u1) { - /// MAC receives all packets from PHY while transmitting + /// MAC receives all packets from PHY while transmitting Enabled = 0x0, - /// MAC disables reception of frames in half-duplex mode + /// MAC disables reception of frames in half-duplex mode Disabled = 0x1, }; pub const RPD = enum(u32) { - /// Poll the receive descriptor list + /// Poll the receive descriptor list Poll = 0x0, _, }; pub const RPS = enum(u3) { - /// Stopped, reset or Stop Receive command issued + /// Stopped, reset or Stop Receive command issued Stopped = 0x0, - /// Running, fetching receive transfer descriptor + /// Running, fetching receive transfer descriptor RunningFetching = 0x1, - /// Running, waiting for receive packet + /// Running, waiting for receive packet RunningWaiting = 0x3, - /// Suspended, receive descriptor unavailable + /// Suspended, receive descriptor unavailable Suspended = 0x4, - /// Running, writing data to host memory buffer + /// Running, writing data to host memory buffer RunningWriting = 0x7, _, }; pub const RSF = enum(u1) { - /// Rx FIFO operates in cut-through mode, subject to RTC bits + /// Rx FIFO operates in cut-through mode, subject to RTC bits CutThrough = 0x0, - /// Frames are read from Rx FIFO after complete frame has been written + /// Frames are read from Rx FIFO after complete frame has been written StoreForward = 0x1, }; pub const RTC = enum(u2) { - /// 64 bytes + /// 64 bytes RTC64 = 0x0, - /// 32 bytes + /// 32 bytes RTC32 = 0x1, - /// 96 bytes + /// 96 bytes RTC96 = 0x2, - /// 128 bytes + /// 128 bytes RTC128 = 0x3, }; pub const SAIF = enum(u1) { - /// Source address filter operates normally + /// Source address filter operates normally Normal = 0x0, - /// Source address filter operation inverted + /// Source address filter operation inverted Invert = 0x1, }; pub const ST = enum(u1) { - /// Transmission is placed in the Stopped state + /// Transmission is placed in the Stopped state Stopped = 0x0, - /// Transmission is placed in Running state + /// Transmission is placed in Running state Started = 0x1, }; pub const TGFM = enum(u1) { - /// Transmitted-good counter half-full interrupt enabled + /// Transmitted-good counter half-full interrupt enabled Unmasked = 0x0, - /// Transmitted-good counter half-full interrupt disabled + /// Transmitted-good counter half-full interrupt disabled Masked = 0x1, }; pub const TGFMSCM = enum(u1) { - /// Transmitted-good-multiple-collision half-full interrupt enabled + /// Transmitted-good-multiple-collision half-full interrupt enabled Unmasked = 0x0, - /// Transmitted-good-multiple-collision half-full interrupt disabled + /// Transmitted-good-multiple-collision half-full interrupt disabled Masked = 0x1, }; pub const TGFSCM = enum(u1) { - /// Transmitted-good-single-collision half-full interrupt enabled + /// Transmitted-good-single-collision half-full interrupt enabled Unmasked = 0x0, - /// Transmitted-good-single-collision half-full interrupt disabled + /// Transmitted-good-single-collision half-full interrupt disabled Masked = 0x1, }; pub const TPD = enum(u32) { - /// Poll the transmit descriptor list + /// Poll the transmit descriptor list Poll = 0x0, _, }; pub const TPS = enum(u3) { - /// Stopped, Reset or Stop Transmit command issued + /// Stopped, Reset or Stop Transmit command issued Stopped = 0x0, - /// Running, fetching transmit transfer descriptor + /// Running, fetching transmit transfer descriptor RunningFetching = 0x1, - /// Running, waiting for status + /// Running, waiting for status RunningWaiting = 0x2, - /// Running, reading data from host memory buffer + /// Running, reading data from host memory buffer RunningReading = 0x3, - /// Suspended, transmit descriptor unavailable or transmit buffer underflow + /// Suspended, transmit descriptor unavailable or transmit buffer underflow Suspended = 0x6, - /// Running, closing transmit descriptor + /// Running, closing transmit descriptor Running = 0x7, _, }; pub const TSF = enum(u1) { - /// Transmission starts when the frame size in the Tx FIFO exceeds TTC threshold + /// Transmission starts when the frame size in the Tx FIFO exceeds TTC threshold CutThrough = 0x0, - /// Transmission starts when a full frame is in the Tx FIFO + /// Transmission starts when a full frame is in the Tx FIFO StoreForward = 0x1, }; pub const TSTIM = enum(u1) { - /// Time stamp interrupt generation enabled + /// Time stamp interrupt generation enabled Unmasked = 0x0, - /// Time stamp interrupt generation disabled + /// Time stamp interrupt generation disabled Masked = 0x1, }; pub const TTC = enum(u3) { - /// 64 bytes + /// 64 bytes TTC64 = 0x0, - /// 128 bytes + /// 128 bytes TTC128 = 0x1, - /// 192 bytes + /// 192 bytes TTC192 = 0x2, - /// 256 bytes + /// 256 bytes TTC256 = 0x3, - /// 40 bytes + /// 40 bytes TTC40 = 0x4, - /// 32 bytes + /// 32 bytes TTC32 = 0x5, - /// 24 bytes + /// 24 bytes TTC24 = 0x6, - /// 16 bytes + /// 16 bytes TTC16 = 0x7, }; pub const USP = enum(u1) { - /// PBL value used for both Rx and Tx DMA + /// PBL value used for both Rx and Tx DMA Combined = 0x0, - /// RxDMA uses RDP value, TxDMA uses PBL value + /// RxDMA uses RDP value, TxDMA uses PBL value Separate = 0x1, }; pub const VLANTC = enum(u1) { - /// Full 16 bit VLAN identifiers are used for comparison and filtering + /// Full 16 bit VLAN identifiers are used for comparison and filtering VLANTC16 = 0x0, - /// 12 bit VLAN identifies are used for comparison and filtering + /// 12 bit VLAN identifies are used for comparison and filtering VLANTC12 = 0x1, }; pub const WD = enum(u1) { - /// Watchdog enabled, receive frames limited to 2048 bytes + /// Watchdog enabled, receive frames limited to 2048 bytes Enabled = 0x0, - /// Watchdog disabled, receive frames may be up to to 16384 bytes + /// Watchdog disabled, receive frames may be up to to 16384 bytes Disabled = 0x1, }; pub const WFFRPR = enum(u1) { - /// Reset wakeup frame filter register point to 0b000. Automatically cleared + /// Reset wakeup frame filter register point to 0b000. Automatically cleared Reset = 0x1, _, }; pub const ZQPD = enum(u1) { - /// Normal operation with automatic zero-quanta pause control frame generation + /// Normal operation with automatic zero-quanta pause control frame generation Enabled = 0x0, - /// Automatic generation of zero-quanta pause control frames is disabled + /// Automatic generation of zero-quanta pause control frames is disabled Disabled = 0x1, }; - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH = extern struct { - /// Ethernet: media access control (MAC) + /// Ethernet: media access control (MAC) ETHERNET_MAC: u32, reserved1792: [1788]u8, - /// Ethernet: Precision Time Protocol (PTP) + /// Ethernet: Precision Time Protocol (PTP) ETHERNET_PTP: u32, reserved4096: [2300]u8, - /// Ethernet: DMA mode register (DMA) + /// Ethernet: DMA mode register (DMA) ETHERNET_DMA: u32, }; - /// Ethernet: DMA controller operation + /// Ethernet: DMA controller operation pub const ETHERNET_DMA = extern struct { - /// Ethernet DMA bus mode register + /// Ethernet DMA bus mode register DMABMR: mmio.Mmio(packed struct(u32) { - /// Software reset + /// Software reset SR: u1, - /// DMA arbitration - DA: packed union { - raw: u1, - value: DA, - }, - /// Descriptor skip length + /// DMA arbitration + DA: DA, + /// Descriptor skip length DSL: u5, - /// Enhanced descriptor format enable + /// Enhanced descriptor format enable EDFE: u1, - /// Programmable burst length - PBL: packed union { - raw: u6, - value: PBL, - }, - /// Rx-Tx priority ratio - PM: packed union { - raw: u2, - value: PriorityRxOverTx, - }, - /// Fixed burst - FB: packed union { - raw: u1, - value: FB, - }, - /// Rx DMA PBL - RDP: packed union { - raw: u6, - value: RDP, - }, - /// Use separate PBL - USP: packed union { - raw: u1, - value: USP, - }, - /// 4xPBL mode - FPM: packed union { - raw: u1, - value: FPM, - }, - /// Address-aligned beats + /// Programmable burst length + PBL: PBL, + /// Rx-Tx priority ratio + PM: PriorityRxOverTx, + /// Fixed burst + FB: FB, + /// Rx DMA PBL + RDP: RDP, + /// Use separate PBL + USP: USP, + /// 4xPBL mode + FPM: FPM, + /// Address-aligned beats AAB: u1, - /// Mixed burst - MB: packed union { - raw: u1, - value: MB, - }, + /// Mixed burst + MB: MB, padding: u5, }), - /// Ethernet DMA transmit poll demand register + /// Ethernet DMA transmit poll demand register DMATPDR: mmio.Mmio(packed struct(u32) { - /// Transmit poll demand - TPD: packed union { - raw: u32, - value: TPD, - }, + /// Transmit poll demand + TPD: TPD, }), - /// EHERNET DMA receive poll demand register + /// EHERNET DMA receive poll demand register DMARPDR: mmio.Mmio(packed struct(u32) { - /// Receive poll demand - RPD: packed union { - raw: u32, - value: RPD, - }, + /// Receive poll demand + RPD: RPD, }), - /// Ethernet DMA receive descriptor list address register + /// Ethernet DMA receive descriptor list address register DMARDLAR: mmio.Mmio(packed struct(u32) { - /// Start of receive list + /// Start of receive list SRL: u32, }), - /// Ethernet DMA transmit descriptor list address register + /// Ethernet DMA transmit descriptor list address register DMATDLAR: mmio.Mmio(packed struct(u32) { - /// Start of transmit list + /// Start of transmit list STL: u32, }), - /// Ethernet DMA status register + /// Ethernet DMA status register DMASR: mmio.Mmio(packed struct(u32) { - /// Transmit status + /// Transmit status TS: u1, - /// Transmit process stopped status + /// Transmit process stopped status TPSS: u1, - /// Transmit buffer unavailable status + /// Transmit buffer unavailable status TBUS: u1, - /// Transmit jabber timeout status + /// Transmit jabber timeout status TJTS: u1, - /// Receive overflow status + /// Receive overflow status ROS: u1, - /// Transmit underflow status + /// Transmit underflow status TUS: u1, - /// Receive status + /// Receive status RS: u1, - /// Receive buffer unavailable status + /// Receive buffer unavailable status RBUS: u1, - /// Receive process stopped status + /// Receive process stopped status RPSS: u1, - /// PWTS + /// PWTS PWTS: u1, - /// Early transmit status + /// Early transmit status ETS: u1, reserved13: u2, - /// Fatal bus error status + /// Fatal bus error status FBES: u1, - /// Early receive status + /// Early receive status ERS: u1, - /// Abnormal interrupt summary + /// Abnormal interrupt summary AIS: u1, - /// Normal interrupt summary + /// Normal interrupt summary NIS: u1, - /// Receive process state - RPS: packed union { - raw: u3, - value: RPS, - }, - /// Transmit process state - TPS: packed union { - raw: u3, - value: TPS, - }, - /// Error bits status + /// Receive process state + RPS: RPS, + /// Transmit process state + TPS: TPS, + /// Error bits status EBS: u3, reserved27: u1, - /// MMC status + /// MMC status MMCS: u1, - /// PMT status + /// PMT status PMTS: u1, - /// Time stamp trigger status + /// Time stamp trigger status TSTS: u1, padding: u2, }), - /// Ethernet DMA operation mode register + /// Ethernet DMA operation mode register DMAOMR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Start/stop receive - SR: packed union { - raw: u1, - value: DMAOMR_SR, - }, - /// Operate on second frame + /// Start/stop receive + SR: DMAOMR_SR, + /// Operate on second frame OSF: u1, - /// Receive threshold control - RTC: packed union { - raw: u2, - value: RTC, - }, + /// Receive threshold control + RTC: RTC, reserved6: u1, - /// Forward undersized good frames - FUGF: packed union { - raw: u1, - value: FUGF, - }, - /// Forward error frames - FEF: packed union { - raw: u1, - value: FEF, - }, + /// Forward undersized good frames + FUGF: FUGF, + /// Forward error frames + FEF: FEF, reserved13: u5, - /// Start/stop transmission - ST: packed union { - raw: u1, - value: ST, - }, - /// Transmit threshold control - TTC: packed union { - raw: u3, - value: TTC, - }, + /// Start/stop transmission + ST: ST, + /// Transmit threshold control + TTC: TTC, reserved20: u3, - /// Flush transmit FIFO - FTF: packed union { - raw: u1, - value: FTF, - }, - /// Transmit store and forward - TSF: packed union { - raw: u1, - value: TSF, - }, + /// Flush transmit FIFO + FTF: FTF, + /// Transmit store and forward + TSF: TSF, reserved24: u2, - /// Disable flushing of received frames + /// Disable flushing of received frames DFRF: u1, - /// Receive store and forward - RSF: packed union { - raw: u1, - value: RSF, - }, - /// Dropping of TCP/IP checksum error frames disable - DTCEFD: packed union { - raw: u1, - value: DTCEFD, - }, + /// Receive store and forward + RSF: RSF, + /// Dropping of TCP/IP checksum error frames disable + DTCEFD: DTCEFD, padding: u5, }), - /// Ethernet DMA interrupt enable register + /// Ethernet DMA interrupt enable register DMAIER: mmio.Mmio(packed struct(u32) { - /// Transmit interrupt enable + /// Transmit interrupt enable TIE: u1, - /// Transmit process stopped interrupt enable + /// Transmit process stopped interrupt enable TPSIE: u1, - /// Transmit buffer unavailable interrupt enable + /// Transmit buffer unavailable interrupt enable TBUIE: u1, - /// Transmit jabber timeout interrupt enable + /// Transmit jabber timeout interrupt enable TJTIE: u1, - /// Receive overflow interrupt enable + /// Receive overflow interrupt enable ROIE: u1, - /// Transmit underflow interrupt enable + /// Transmit underflow interrupt enable TUIE: u1, - /// Receive interrupt enable + /// Receive interrupt enable RIE: u1, - /// Receive buffer unavailable interrupt enable + /// Receive buffer unavailable interrupt enable RBUIE: u1, - /// Receive process stopped interrupt enable + /// Receive process stopped interrupt enable RPSIE: u1, - /// Receive watchdog timeout interrupt enable + /// Receive watchdog timeout interrupt enable RWTIE: u1, - /// Early transmit interrupt enable + /// Early transmit interrupt enable ETIE: u1, reserved13: u2, - /// Fatal bus error interrupt enable + /// Fatal bus error interrupt enable FBEIE: u1, - /// Early receive interrupt enable + /// Early receive interrupt enable ERIE: u1, - /// Abnormal interrupt summary enable + /// Abnormal interrupt summary enable AISE: u1, - /// Normal interrupt summary enable + /// Normal interrupt summary enable NISE: u1, padding: u15, }), - /// Ethernet DMA missed frame and buffer overflow counter register + /// Ethernet DMA missed frame and buffer overflow counter register DMAMFBOCR: mmio.Mmio(packed struct(u32) { - /// Missed frames by the controller + /// Missed frames by the controller MFC: u16, - /// Overflow bit for missed frame counter + /// Overflow bit for missed frame counter OMFC: u1, - /// Missed frames by the application + /// Missed frames by the application MFA: u11, - /// Overflow bit for FIFO overflow counter + /// Overflow bit for FIFO overflow counter OFOC: u1, padding: u3, }), - /// Ethernet DMA receive status watchdog timer register + /// Ethernet DMA receive status watchdog timer register DMARSWTR: mmio.Mmio(packed struct(u32) { - /// Receive status watchdog timer count + /// Receive status watchdog timer count RSWTC: u8, padding: u24, }), reserved72: [32]u8, - /// Ethernet DMA current host transmit descriptor register + /// Ethernet DMA current host transmit descriptor register DMACHTDR: mmio.Mmio(packed struct(u32) { - /// Host transmit descriptor address pointer + /// Host transmit descriptor address pointer HTDAP: u32, }), - /// Ethernet DMA current host receive descriptor register + /// Ethernet DMA current host receive descriptor register DMACHRDR: mmio.Mmio(packed struct(u32) { - /// Host receive descriptor address pointer + /// Host receive descriptor address pointer HRDAP: u32, }), - /// Ethernet DMA current host transmit buffer address register + /// Ethernet DMA current host transmit buffer address register DMACHTBAR: mmio.Mmio(packed struct(u32) { - /// Host transmit buffer address pointer + /// Host transmit buffer address pointer HTBAP: u32, }), - /// Ethernet DMA current host receive buffer address register + /// Ethernet DMA current host receive buffer address register DMACHRBAR: mmio.Mmio(packed struct(u32) { - /// Host receive buffer address pointer + /// Host receive buffer address pointer HRBAP: u32, }), }; - /// Ethernet: media access control (MAC) + /// Ethernet: media access control (MAC) pub const ETHERNET_MAC = extern struct { - /// Ethernet MAC configuration register + /// Ethernet MAC configuration register MACCR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Receiver enable + /// Receiver enable RE: u1, - /// Transmitter enable + /// Transmitter enable TE: u1, - /// Deferral check + /// Deferral check DC: u1, - /// Back-off limit - BL: packed union { - raw: u2, - value: BL, - }, - /// Automatic pad/CRC stripping - APCS: packed union { - raw: u1, - value: APCS, - }, + /// Back-off limit + BL: BL, + /// Automatic pad/CRC stripping + APCS: APCS, reserved9: u1, - /// Retry disable - RD: packed union { - raw: u1, - value: RD, - }, - /// IPv4 checksum offload - IPCO: packed union { - raw: u1, - value: IPCO, - }, - /// Duplex mode - DM: packed union { - raw: u1, - value: DM, - }, - /// Loopback mode - LM: packed union { - raw: u1, - value: LM, - }, - /// Receive own disable - ROD: packed union { - raw: u1, - value: ROD, - }, - /// Fast Ethernet speed - FES: packed union { - raw: u1, - value: FES, - }, + /// Retry disable + RD: RD, + /// IPv4 checksum offload + IPCO: IPCO, + /// Duplex mode + DM: DM, + /// Loopback mode + LM: LM, + /// Receive own disable + ROD: ROD, + /// Fast Ethernet speed + FES: FES, reserved16: u1, - /// Carrier sense disable - CSD: packed union { - raw: u1, - value: CSD, - }, - /// Interframe gap - IFG: packed union { - raw: u3, - value: IFG, - }, + /// Carrier sense disable + CSD: CSD, + /// Interframe gap + IFG: IFG, reserved22: u2, - /// Jabber disable - JD: packed union { - raw: u1, - value: JD, - }, - /// Watchdog disable - WD: packed union { - raw: u1, - value: WD, - }, + /// Jabber disable + JD: JD, + /// Watchdog disable + WD: WD, reserved25: u1, - /// CRC stripping for type frames + /// CRC stripping for type frames CSTF: u1, padding: u6, }), - /// Ethernet MAC frame filter register + /// Ethernet MAC frame filter register MACFFR: mmio.Mmio(packed struct(u32) { - /// Promiscuous mode + /// Promiscuous mode PM: u1, - /// Hash unicast - HU: packed union { - raw: u1, - value: HU, - }, - /// Hash multicast - HM: packed union { - raw: u1, - value: HM, - }, - /// Destination address unique filtering - DAIF: packed union { - raw: u1, - value: DAIF, - }, - /// Pass all multicast + /// Hash unicast + HU: HU, + /// Hash multicast + HM: HM, + /// Destination address unique filtering + DAIF: DAIF, + /// Pass all multicast PAM: u1, - /// Broadcast frames disable - BFD: packed union { - raw: u1, - value: BFD, - }, - /// Pass control frames - PCF: packed union { - raw: u2, - value: PCF, - }, - /// Source address filter + /// Broadcast frames disable + BFD: BFD, + /// Pass control frames + PCF: PCF, + /// Source address filter SAF: u1, - /// Hash or perfect filter - HPF: packed union { - raw: u1, - value: HPF, - }, + /// Hash or perfect filter + HPF: HPF, reserved31: u21, - /// Receive all + /// Receive all RA: u1, }), - /// Ethernet MAC hash table high register + /// Ethernet MAC hash table high register MACHTHR: mmio.Mmio(packed struct(u32) { - /// Upper 32 bits of hash table + /// Upper 32 bits of hash table HTH: u32, }), - /// Ethernet MAC hash table low register + /// Ethernet MAC hash table low register MACHTLR: mmio.Mmio(packed struct(u32) { - /// Lower 32 bits of hash table + /// Lower 32 bits of hash table HTL: u32, }), - /// Ethernet MAC MII address register + /// Ethernet MAC MII address register MACMIIAR: mmio.Mmio(packed struct(u32) { - /// MII busy - MB: packed union { - raw: u1, - value: MB_progress, - }, - /// MII write - MW: packed union { - raw: u1, - value: MW, - }, - /// Clock range - CR: packed union { - raw: u3, - value: CR, - }, + /// MII busy + MB: MB_progress, + /// MII write + MW: MW, + /// Clock range + CR: CR, reserved6: u1, - /// MII register - select the desired MII register in the PHY device + /// MII register - select the desired MII register in the PHY device MR: u5, - /// PHY address - select which of possible 32 PHYs is being accessed + /// PHY address - select which of possible 32 PHYs is being accessed PA: u5, padding: u16, }), - /// Ethernet MAC MII data register + /// Ethernet MAC MII data register MACMIIDR: mmio.Mmio(packed struct(u32) { - /// MII data read from/written to the PHY + /// MII data read from/written to the PHY MD: u16, padding: u16, }), - /// Ethernet MAC flow control register + /// Ethernet MAC flow control register MACFCR: mmio.Mmio(packed struct(u32) { - /// Flow control busy/back pressure activate - FCB: packed union { - raw: u1, - value: FCB, - }, - /// Transmit flow control enable + /// Flow control busy/back pressure activate + FCB: FCB, + /// Transmit flow control enable TFCE: u1, - /// Receive flow control enable + /// Receive flow control enable RFCE: u1, - /// Unicast pause frame detect + /// Unicast pause frame detect UPFD: u1, - /// Pause low threshold - PLT: packed union { - raw: u2, - value: PLT, - }, + /// Pause low threshold + PLT: PLT, reserved7: u1, - /// Zero-quanta pause disable - ZQPD: packed union { - raw: u1, - value: ZQPD, - }, + /// Zero-quanta pause disable + ZQPD: ZQPD, reserved16: u8, - /// Pause time + /// Pause time PT: u16, }), - /// Ethernet MAC VLAN tag register + /// Ethernet MAC VLAN tag register MACVLANTR: mmio.Mmio(packed struct(u32) { - /// VLAN tag identifier (for receive frames) + /// VLAN tag identifier (for receive frames) VLANTI: u16, - /// 12-bit VLAN tag comparison - VLANTC: packed union { - raw: u1, - value: VLANTC, - }, + /// 12-bit VLAN tag comparison + VLANTC: VLANTC, padding: u15, }), reserved40: [8]u8, - /// Ethernet MAC remote wakeup frame filter register + /// Ethernet MAC remote wakeup frame filter register MACRWUFFR: u32, - /// Ethernet MAC PMT control and status register + /// Ethernet MAC PMT control and status register MACPMTCSR: mmio.Mmio(packed struct(u32) { - /// Power down - PD: packed union { - raw: u1, - value: PD, - }, - /// Magic packet enable + /// Power down + PD: PD, + /// Magic packet enable MPE: u1, - /// Wakeup frame enable + /// Wakeup frame enable WFE: u1, reserved5: u2, - /// Magic packet received + /// Magic packet received MPR: u1, - /// Wakeup frame received + /// Wakeup frame received WFR: u1, reserved9: u2, - /// Global unicast + /// Global unicast GU: u1, reserved31: u21, - /// Wakeup frame filter register pointer reset - WFFRPR: packed union { - raw: u1, - value: WFFRPR, - }, + /// Wakeup frame filter register pointer reset + WFFRPR: WFFRPR, }), reserved52: [4]u8, - /// Ethernet MAC debug register + /// Ethernet MAC debug register MACDBGR: mmio.Mmio(packed struct(u32) { - /// MAC MII receive protocol engine active + /// MAC MII receive protocol engine active MMRPEA: u1, - /// MAC small FIFO read/write controllers status + /// MAC small FIFO read/write controllers status MSFRWCS: u2, reserved4: u1, - /// Rx FIFO write controller active + /// Rx FIFO write controller active RFWRA: u1, - /// Rx FIFO read controller status + /// Rx FIFO read controller status RFRCS: u2, reserved8: u1, - /// Rx FIFO fill level + /// Rx FIFO fill level RFFL: u2, reserved16: u6, - /// MAC MII transmit engine active + /// MAC MII transmit engine active MMTEA: u1, - /// MAC transmit frame controller status + /// MAC transmit frame controller status MTFCS: u2, - /// MAC transmitter in pause + /// MAC transmitter in pause MTP: u1, - /// Tx FIFO read status + /// Tx FIFO read status TFRS: u2, - /// Tx FIFO write active + /// Tx FIFO write active TFWA: u1, reserved24: u1, - /// Tx FIFO not empty + /// Tx FIFO not empty TFNE: u1, - /// Tx FIFO full + /// Tx FIFO full TFF: u1, padding: u6, }), - /// Ethernet MAC interrupt status register + /// Ethernet MAC interrupt status register MACSR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// PMT status + /// PMT status PMTS: u1, - /// MMC status + /// MMC status MMCS: u1, - /// MMC receive status + /// MMC receive status MMCRS: u1, - /// MMC transmit status + /// MMC transmit status MMCTS: u1, reserved9: u2, - /// Time stamp trigger status + /// Time stamp trigger status TSTS: u1, padding: u22, }), - /// Ethernet MAC interrupt mask register + /// Ethernet MAC interrupt mask register MACIMR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// PMT interrupt mask - PMTIM: packed union { - raw: u1, - value: PMTIM, - }, + /// PMT interrupt mask + PMTIM: PMTIM, reserved9: u5, - /// Time stamp trigger interrupt mask - TSTIM: packed union { - raw: u1, - value: TSTIM, - }, + /// Time stamp trigger interrupt mask + TSTIM: TSTIM, padding: u22, }), - /// Ethernet MAC address 0 high register + /// Ethernet MAC address 0 high register MACA0HR: mmio.Mmio(packed struct(u32) { - /// Ethernet MAC address 0 high + /// Ethernet MAC address 0 high MACA0H: u16, reserved31: u15, - /// Always 1 + /// Always 1 MO: u1, }), - /// Ethernet MAC address 0 low register + /// Ethernet MAC address 0 low register MACA0LR: mmio.Mmio(packed struct(u32) { - /// Ethernet MAC address 0 low + /// Ethernet MAC address 0 low MACA0L: u32, }), - /// Ethernet MAC address 1/2/3 high register + /// Ethernet MAC address 1/2/3 high register MACAHR: mmio.Mmio(packed struct(u32) { - /// Ethernet MAC address 1/2/3 high + /// Ethernet MAC address 1/2/3 high MACAH: u16, reserved24: u8, - /// MBC + /// MBC MBC: u6, - /// SA - SA: packed union { - raw: u1, - value: MACAHR_SA, - }, - /// AE + /// SA + SA: MACAHR_SA, + /// AE AE: u1, }), - /// Ethernet MAC address 1/2/3 low register + /// Ethernet MAC address 1/2/3 low register MACALR: mmio.Mmio(packed struct(u32) { - /// Ethernet MAC address 1/2/3 low + /// Ethernet MAC address 1/2/3 low MACAL: u32, }), reserved256: [176]u8, - /// Ethernet MMC control register + /// Ethernet MMC control register MMCCR: mmio.Mmio(packed struct(u32) { - /// Counter reset - CR: packed union { - raw: u1, - value: CounterReset, - }, - /// Counter stop rollover - CSR: packed union { - raw: u1, - value: CSR, - }, - /// Reset on read + /// Counter reset + CR: CounterReset, + /// Counter stop rollover + CSR: CSR, + /// Reset on read ROR: u1, - /// MMC counter freeze + /// MMC counter freeze MCF: u1, - /// MMC counter preset - MCP: packed union { - raw: u1, - value: MCP, - }, - /// MMC counter Full-Half preset - MCFHP: packed union { - raw: u1, - value: MCFHP, - }, + /// MMC counter preset + MCP: MCP, + /// MMC counter Full-Half preset + MCFHP: MCFHP, padding: u26, }), - /// Ethernet MMC receive interrupt register + /// Ethernet MMC receive interrupt register MMCRIR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// Received frames CRC error status + /// Received frames CRC error status RFCES: u1, - /// Received frames alignment error status + /// Received frames alignment error status RFAES: u1, reserved17: u10, - /// Received good Unicast frames status + /// Received good Unicast frames status RGUFS: u1, padding: u14, }), - /// Ethernet MMC transmit interrupt register + /// Ethernet MMC transmit interrupt register MMCTIR: mmio.Mmio(packed struct(u32) { reserved14: u14, - /// Transmitted good frames single collision status + /// Transmitted good frames single collision status TGFSCS: u1, - /// Transmitted good frames more than single collision status + /// Transmitted good frames more than single collision status TGFMSCS: u1, reserved21: u5, - /// Transmitted good frames status + /// Transmitted good frames status TGFS: u1, padding: u10, }), - /// Ethernet MMC receive interrupt mask register + /// Ethernet MMC receive interrupt mask register MMCRIMR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// Received frame CRC error mask - RFCEM: packed union { - raw: u1, - value: RFCEM, - }, - /// Received frames alignment error mask - RFAEM: packed union { - raw: u1, - value: RFAEM, - }, + /// Received frame CRC error mask + RFCEM: RFCEM, + /// Received frames alignment error mask + RFAEM: RFAEM, reserved17: u10, - /// Received good Unicast frames mask - RGUFM: packed union { - raw: u1, - value: RGUFM, - }, + /// Received good Unicast frames mask + RGUFM: RGUFM, padding: u14, }), - /// Ethernet MMC transmit interrupt mask register + /// Ethernet MMC transmit interrupt mask register MMCTIMR: mmio.Mmio(packed struct(u32) { reserved14: u14, - /// Transmitted good frames single collision mask - TGFSCM: packed union { - raw: u1, - value: TGFSCM, - }, - /// Transmitted good frames more than single collision mask - TGFMSCM: packed union { - raw: u1, - value: TGFMSCM, - }, - /// Transmitted good frames mask - TGFM: packed union { - raw: u1, - value: TGFM, - }, + /// Transmitted good frames single collision mask + TGFSCM: TGFSCM, + /// Transmitted good frames more than single collision mask + TGFMSCM: TGFMSCM, + /// Transmitted good frames mask + TGFM: TGFM, padding: u15, }), reserved332: [56]u8, - /// Ethernet MMC transmitted good frames after a single collision counter + /// Ethernet MMC transmitted good frames after a single collision counter MMCTGFSCCR: mmio.Mmio(packed struct(u32) { - /// Transmitted good frames single collision counter + /// Transmitted good frames single collision counter TGFSCC: u32, }), - /// Ethernet MMC transmitted good frames after more than a single collision + /// Ethernet MMC transmitted good frames after more than a single collision MMCTGFMSCCR: mmio.Mmio(packed struct(u32) { - /// TGFMSCC + /// TGFMSCC TGFMSCC: u32, }), reserved360: [20]u8, - /// Ethernet MMC transmitted good frames counter register + /// Ethernet MMC transmitted good frames counter register MMCTGFCR: mmio.Mmio(packed struct(u32) { - /// HTL + /// HTL TGFC: u32, }), reserved404: [40]u8, - /// Ethernet MMC received frames with CRC error counter register + /// Ethernet MMC received frames with CRC error counter register MMCRFCECR: mmio.Mmio(packed struct(u32) { - /// RFCFC + /// RFCFC RFCFC: u32, }), - /// Ethernet MMC received frames with alignment error counter register + /// Ethernet MMC received frames with alignment error counter register MMCRFAECR: mmio.Mmio(packed struct(u32) { - /// RFAEC + /// RFAEC RFAEC: u32, }), reserved452: [40]u8, - /// MMC received good unicast frames counter register + /// MMC received good unicast frames counter register MMCRGUFCR: mmio.Mmio(packed struct(u32) { - /// RGUFC + /// RGUFC RGUFC: u32, }), }; - /// Ethernet: Precision time protocol + /// Ethernet: Precision time protocol pub const ETHERNET_PTP = extern struct { - /// Ethernet PTP time stamp control register + /// Ethernet PTP time stamp control register PTPTSCR: mmio.Mmio(packed struct(u32) { - /// TSE + /// TSE TSE: u1, - /// TSFCU + /// TSFCU TSFCU: u1, - /// TSSTI + /// TSSTI TSSTI: u1, - /// TSSTU + /// TSSTU TSSTU: u1, - /// TSITE + /// TSITE TSITE: u1, - /// TTSARU + /// TTSARU TTSARU: u1, reserved8: u2, - /// TSSARFE + /// TSSARFE TSSARFE: u1, - /// TSSSR + /// TSSSR TSSSR: u1, - /// TSPTPPSV2E + /// TSPTPPSV2E TSPTPPSV2E: u1, - /// TSSPTPOEFE + /// TSSPTPOEFE TSSPTPOEFE: u1, - /// TSSIPV6FE + /// TSSIPV6FE TSSIPV6FE: u1, - /// TSSIPV4FE + /// TSSIPV4FE TSSIPV4FE: u1, - /// TSSEME + /// TSSEME TSSEME: u1, - /// TSSMRME + /// TSSMRME TSSMRME: u1, - /// TSCNT + /// TSCNT TSCNT: u2, - /// TSPFFMAE + /// TSPFFMAE TSPFFMAE: u1, padding: u13, }), - /// Ethernet PTP subsecond increment register + /// Ethernet PTP subsecond increment register PTPSSIR: mmio.Mmio(packed struct(u32) { - /// STSSI + /// STSSI STSSI: u8, padding: u24, }), - /// Ethernet PTP time stamp high register + /// Ethernet PTP time stamp high register PTPTSHR: mmio.Mmio(packed struct(u32) { - /// STS + /// STS STS: u32, }), - /// Ethernet PTP time stamp low register + /// Ethernet PTP time stamp low register PTPTSLR: mmio.Mmio(packed struct(u32) { - /// STSS + /// STSS STSS: u31, - /// STPNS + /// STPNS STPNS: u1, }), - /// Ethernet PTP time stamp high update register + /// Ethernet PTP time stamp high update register PTPTSHUR: mmio.Mmio(packed struct(u32) { - /// TSUS + /// TSUS TSUS: u32, }), - /// Ethernet PTP time stamp low update register + /// Ethernet PTP time stamp low update register PTPTSLUR: mmio.Mmio(packed struct(u32) { - /// TSUSS + /// TSUSS TSUSS: u31, - /// TSUPNS + /// TSUPNS TSUPNS: u1, }), - /// Ethernet PTP time stamp addend register + /// Ethernet PTP time stamp addend register PTPTSAR: mmio.Mmio(packed struct(u32) { - /// TSA + /// TSA TSA: u32, }), - /// Ethernet PTP target time high register + /// Ethernet PTP target time high register PTPTTHR: mmio.Mmio(packed struct(u32) { - /// 0 + /// 0 TTSH: u32, }), - /// Ethernet PTP target time low register + /// Ethernet PTP target time low register PTPTTLR: mmio.Mmio(packed struct(u32) { - /// TTSL + /// TTSL TTSL: u32, }), reserved40: [4]u8, - /// Ethernet PTP time stamp status register + /// Ethernet PTP time stamp status register PTPTSSR: mmio.Mmio(packed struct(u32) { - /// TSSO + /// TSSO TSSO: u1, - /// TSSO + /// TSSO TSTTR: u1, padding: u30, }), - /// Ethernet PTP PPS control register + /// Ethernet PTP PPS control register PTPPPSCR: mmio.Mmio(packed struct(u32) { - /// TSSO + /// TSSO TSSO: u1, - /// TSTTR + /// TSTTR TSTTR: u1, padding: u30, }), @@ -326981,1363 +325505,1177 @@ pub const types = struct { pub const eth_v1c = struct { pub const APCS = enum(u1) { - /// MAC passes all incoming frames unmodified + /// MAC passes all incoming frames unmodified Disabled = 0x0, - /// MAC strips the Pad/FCS field on incoming frames only for lengths less than or equal to 1500 bytes + /// MAC strips the Pad/FCS field on incoming frames only for lengths less than or equal to 1500 bytes Strip = 0x1, }; pub const BFD = enum(u1) { - /// Address filters pass all received broadcast frames + /// Address filters pass all received broadcast frames Enabled = 0x0, - /// Address filters filter all incoming broadcast frames + /// Address filters filter all incoming broadcast frames Disabled = 0x1, }; pub const BL = enum(u2) { - /// For retransmission n, wait up to 2^min(n, 10) time slots + /// For retransmission n, wait up to 2^min(n, 10) time slots BL10 = 0x0, - /// For retransmission n, wait up to 2^min(n, 8) time slots + /// For retransmission n, wait up to 2^min(n, 8) time slots BL8 = 0x1, - /// For retransmission n, wait up to 2^min(n, 4) time slots + /// For retransmission n, wait up to 2^min(n, 4) time slots BL4 = 0x2, - /// For retransmission n, wait up to 2^min(n, 1) time slots + /// For retransmission n, wait up to 2^min(n, 1) time slots BL1 = 0x3, }; pub const CR = enum(u3) { - /// 60-100MHz HCLK/42 + /// 60-100MHz HCLK/42 CR_60_100 = 0x0, - /// 100-150 MHz HCLK/62 + /// 100-150 MHz HCLK/62 CR_100_150 = 0x1, - /// 20-35MHz HCLK/16 + /// 20-35MHz HCLK/16 CR_20_35 = 0x2, - /// 35-60MHz HCLK/16 + /// 35-60MHz HCLK/16 CR_35_60 = 0x3, - /// 150-168MHz HCLK/102 + /// 150-168MHz HCLK/102 CR_150_168 = 0x4, _, }; pub const CSD = enum(u1) { - /// Errors generated due to loss of carrier + /// Errors generated due to loss of carrier Enabled = 0x0, - /// No error generated due to loss of carrier + /// No error generated due to loss of carrier Disabled = 0x1, }; pub const CSR = enum(u1) { - /// Counters roll over to zero after reaching the maximum value + /// Counters roll over to zero after reaching the maximum value Rollover = 0x0, - /// Counters do not roll over to zero after reaching the maximum value + /// Counters do not roll over to zero after reaching the maximum value NotRollover = 0x1, }; pub const CounterReset = enum(u1) { - /// Reset all counters. Cleared automatically + /// Reset all counters. Cleared automatically Reset = 0x1, _, }; pub const DA = enum(u1) { - /// Round-robin with Rx:Tx priority given by PM + /// Round-robin with Rx:Tx priority given by PM RoundRobin = 0x0, - /// Rx has priority over Tx + /// Rx has priority over Tx RxPriority = 0x1, }; pub const DAIF = enum(u1) { - /// Normal filtering of frames + /// Normal filtering of frames Normal = 0x0, - /// Address check block operates in inverse filtering mode for the DA address comparison + /// Address check block operates in inverse filtering mode for the DA address comparison Invert = 0x1, }; pub const DM = enum(u1) { - /// MAC operates in half-duplex mode + /// MAC operates in half-duplex mode HalfDuplex = 0x0, - /// MAC operates in full-duplex mode + /// MAC operates in full-duplex mode FullDuplex = 0x1, }; pub const DMAOMR_SR = enum(u1) { - /// Reception is stopped after transfer of the current frame + /// Reception is stopped after transfer of the current frame Stopped = 0x0, - /// Reception is placed in the Running state + /// Reception is placed in the Running state Started = 0x1, }; pub const DTCEFD = enum(u1) { - /// Drop frames with errors only in the receive checksum offload engine + /// Drop frames with errors only in the receive checksum offload engine Enabled = 0x0, - /// Do not drop frames that only have errors in the receive checksum offload engine + /// Do not drop frames that only have errors in the receive checksum offload engine Disabled = 0x1, }; pub const FB = enum(u1) { - /// AHB uses SINGLE and INCR burst transfers + /// AHB uses SINGLE and INCR burst transfers Variable = 0x0, - /// AHB uses only fixed burst transfers + /// AHB uses only fixed burst transfers Fixed = 0x1, }; pub const FCB = enum(u1) { - /// In half duplex only, deasserts back pressure + /// In half duplex only, deasserts back pressure DisableBackPressure = 0x0, - /// In full duplex, initiate a Pause control frame. In half duplex, assert back pressure + /// In full duplex, initiate a Pause control frame. In half duplex, assert back pressure PauseOrBackPressure = 0x1, }; pub const FEF = enum(u1) { - /// Rx FIFO drops frames with error status + /// Rx FIFO drops frames with error status Drop = 0x0, - /// All frames except runt error frames are forwarded to the DMA + /// All frames except runt error frames are forwarded to the DMA Forward = 0x1, }; pub const FES = enum(u1) { - /// 10 Mbit/s + /// 10 Mbit/s FES10 = 0x0, - /// 100 Mbit/s + /// 100 Mbit/s FES100 = 0x1, }; pub const FPM = enum(u1) { - /// PBL values used as-is + /// PBL values used as-is x1 = 0x0, - /// PBL values multiplied by 4 + /// PBL values multiplied by 4 x4 = 0x1, }; pub const FTF = enum(u1) { - /// Transmit FIFO controller logic is reset to its default values. Cleared automatically + /// Transmit FIFO controller logic is reset to its default values. Cleared automatically Flush = 0x1, _, }; pub const FUGF = enum(u1) { - /// Rx FIFO drops all frames of less than 64 bytes + /// Rx FIFO drops all frames of less than 64 bytes Drop = 0x0, - /// Rx FIFO forwards undersized frames + /// Rx FIFO forwards undersized frames Forward = 0x1, }; pub const HM = enum(u1) { - /// MAC performs a perfect destination address filtering for multicast frames + /// MAC performs a perfect destination address filtering for multicast frames Perfect = 0x0, - /// MAC performs destination address filtering of received multicast frames according to the hash table + /// MAC performs destination address filtering of received multicast frames according to the hash table Hash = 0x1, }; pub const HPF = enum(u1) { - /// If HM or HU is set, only frames that match the Hash filter are passed + /// If HM or HU is set, only frames that match the Hash filter are passed HashOnly = 0x0, - /// If HM or HU is set, frames that match either the perfect filter or the hash filter are passed + /// If HM or HU is set, frames that match either the perfect filter or the hash filter are passed HashOrPerfect = 0x1, }; pub const HU = enum(u1) { - /// MAC performs a perfect destination address filtering for unicast frames + /// MAC performs a perfect destination address filtering for unicast frames Perfect = 0x0, - /// MAC performs destination address filtering of received unicast frames according to the hash table + /// MAC performs destination address filtering of received unicast frames according to the hash table Hash = 0x1, }; pub const IFG = enum(u3) { - /// 96 bit times + /// 96 bit times IFG96 = 0x0, - /// 88 bit times + /// 88 bit times IFG88 = 0x1, - /// 80 bit times + /// 80 bit times IFG80 = 0x2, - /// 72 bit times + /// 72 bit times IFG72 = 0x3, - /// 64 bit times + /// 64 bit times IFG64 = 0x4, - /// 56 bit times + /// 56 bit times IFG56 = 0x5, - /// 48 bit times + /// 48 bit times IFG48 = 0x6, - /// 40 bit times + /// 40 bit times IFG40 = 0x7, }; pub const IPCO = enum(u1) { - /// IPv4 checksum offload disabled + /// IPv4 checksum offload disabled Disabled = 0x0, - /// IPv4 checksums are checked in received frames + /// IPv4 checksums are checked in received frames Offload = 0x1, }; pub const JD = enum(u1) { - /// Jabber enabled, transmit frames up to 2048 bytes + /// Jabber enabled, transmit frames up to 2048 bytes Enabled = 0x0, - /// Jabber disabled, transmit frames up to 16384 bytes + /// Jabber disabled, transmit frames up to 16384 bytes Disabled = 0x1, }; pub const LM = enum(u1) { - /// Normal mode + /// Normal mode Normal = 0x0, - /// MAC operates in loopback mode at the MII + /// MAC operates in loopback mode at the MII Loopback = 0x1, }; pub const MACAHR_SA = enum(u1) { - /// This address is used for comparison with DA fields of the received frame + /// This address is used for comparison with DA fields of the received frame Destination = 0x0, - /// This address is used for comparison with SA fields of received frames + /// This address is used for comparison with SA fields of received frames Source = 0x1, }; pub const MB = enum(u1) { - /// Fixed burst transfers (INCRx and SINGLE) for burst lengths of 16 and below + /// Fixed burst transfers (INCRx and SINGLE) for burst lengths of 16 and below Normal = 0x0, - /// If FB is low, start all bursts greater than 16 with INCR (undefined burst) + /// If FB is low, start all bursts greater than 16 with INCR (undefined burst) Mixed = 0x1, }; pub const MB_progress = enum(u1) { - /// This bit is set to 1 by the application to indicate that a read or write access is in progress + /// This bit is set to 1 by the application to indicate that a read or write access is in progress Busy = 0x1, _, }; pub const MCFHP = enum(u1) { - /// When MCP is set, MMC counters are preset to almost-half value 0x7FFF_FFF0 + /// When MCP is set, MMC counters are preset to almost-half value 0x7FFF_FFF0 AlmostHalf = 0x0, - /// When MCP is set, MMC counters are preset to almost-full value 0xFFFF_FFF0 + /// When MCP is set, MMC counters are preset to almost-full value 0xFFFF_FFF0 AlmostFull = 0x1, }; pub const MCP = enum(u1) { - /// MMC counters will be preset to almost full or almost half. Cleared automatically + /// MMC counters will be preset to almost full or almost half. Cleared automatically Preset = 0x1, _, }; pub const MW = enum(u1) { - /// Read operation + /// Read operation Read = 0x0, - /// Write operation + /// Write operation Write = 0x1, }; pub const PBL = enum(u6) { - /// Maximum of 1 beat per DMA transaction + /// Maximum of 1 beat per DMA transaction PBL1 = 0x1, - /// Maximum of 2 beats per DMA transaction + /// Maximum of 2 beats per DMA transaction PBL2 = 0x2, - /// Maximum of 4 beats per DMA transaction + /// Maximum of 4 beats per DMA transaction PBL4 = 0x4, - /// Maximum of 8 beats per DMA transaction + /// Maximum of 8 beats per DMA transaction PBL8 = 0x8, - /// Maximum of 16 beats per DMA transaction + /// Maximum of 16 beats per DMA transaction PBL16 = 0x10, - /// Maximum of 32 beats per DMA transaction + /// Maximum of 32 beats per DMA transaction PBL32 = 0x20, _, }; pub const PCF = enum(u2) { - /// MAC prevents all control frames from reaching the application + /// MAC prevents all control frames from reaching the application PreventAll = 0x0, - /// MAC forwards all control frames to application except Pause + /// MAC forwards all control frames to application except Pause ForwardAllExceptPause = 0x1, - /// MAC forwards all control frames to application even if they fail the address filter + /// MAC forwards all control frames to application even if they fail the address filter ForwardAll = 0x2, - /// MAC forwards control frames that pass the address filter + /// MAC forwards control frames that pass the address filter ForwardAllFiltered = 0x3, }; pub const PD = enum(u1) { - /// All received frames will be dropped. Cleared automatically when a magic packet or wakeup frame is received + /// All received frames will be dropped. Cleared automatically when a magic packet or wakeup frame is received Enabled = 0x1, _, }; pub const PLT = enum(u2) { - /// Pause time minus 4 slot times + /// Pause time minus 4 slot times PLT4 = 0x0, - /// Pause time minus 28 slot times + /// Pause time minus 28 slot times PLT28 = 0x1, - /// Pause time minus 144 slot times + /// Pause time minus 144 slot times PLT144 = 0x2, - /// Pause time minus 256 slot times + /// Pause time minus 256 slot times PLT256 = 0x3, }; pub const PMTIM = enum(u1) { - /// PMT Status interrupt generation enabled + /// PMT Status interrupt generation enabled Unmasked = 0x0, - /// PMT Status interrupt generation disabled + /// PMT Status interrupt generation disabled Masked = 0x1, }; pub const PriorityRxOverTx = enum(u2) { - /// RxDMA priority over TxDMA is 1:1 + /// RxDMA priority over TxDMA is 1:1 OneToOne = 0x0, - /// RxDMA priority over TxDMA is 2:1 + /// RxDMA priority over TxDMA is 2:1 TwoToOne = 0x1, - /// RxDMA priority over TxDMA is 3:1 + /// RxDMA priority over TxDMA is 3:1 ThreeToOne = 0x2, - /// RxDMA priority over TxDMA is 4:1 + /// RxDMA priority over TxDMA is 4:1 FourToOne = 0x3, }; pub const RD = enum(u1) { - /// MAC attempts retries based on the settings of BL + /// MAC attempts retries based on the settings of BL Enabled = 0x0, - /// MAC attempts only 1 transmission + /// MAC attempts only 1 transmission Disabled = 0x1, }; pub const RDP = enum(u6) { - /// 1 beat per RxDMA transaction + /// 1 beat per RxDMA transaction RDP1 = 0x1, - /// 2 beats per RxDMA transaction + /// 2 beats per RxDMA transaction RDP2 = 0x2, - /// 4 beats per RxDMA transaction + /// 4 beats per RxDMA transaction RDP4 = 0x4, - /// 8 beats per RxDMA transaction + /// 8 beats per RxDMA transaction RDP8 = 0x8, - /// 16 beats per RxDMA transaction + /// 16 beats per RxDMA transaction RDP16 = 0x10, - /// 32 beats per RxDMA transaction + /// 32 beats per RxDMA transaction RDP32 = 0x20, _, }; pub const RFAEM = enum(u1) { - /// Received-alignment-error counter half-full interrupt enabled + /// Received-alignment-error counter half-full interrupt enabled Unmasked = 0x0, - /// Received-alignment-error counter half-full interrupt disabled + /// Received-alignment-error counter half-full interrupt disabled Masked = 0x1, }; pub const RFCEM = enum(u1) { - /// Received-crc-error counter half-full interrupt enabled + /// Received-crc-error counter half-full interrupt enabled Unmasked = 0x0, - /// Received-crc-error counter half-full interrupt disabled + /// Received-crc-error counter half-full interrupt disabled Masked = 0x1, }; pub const RGUFM = enum(u1) { - /// Received-good-unicast counter half-full interrupt enabled + /// Received-good-unicast counter half-full interrupt enabled Unmasked = 0x0, - /// Received-good-unicast counter half-full interrupt disabled + /// Received-good-unicast counter half-full interrupt disabled Masked = 0x1, }; pub const ROD = enum(u1) { - /// MAC receives all packets from PHY while transmitting + /// MAC receives all packets from PHY while transmitting Enabled = 0x0, - /// MAC disables reception of frames in half-duplex mode + /// MAC disables reception of frames in half-duplex mode Disabled = 0x1, }; pub const RPD = enum(u32) { - /// Poll the receive descriptor list + /// Poll the receive descriptor list Poll = 0x0, _, }; pub const RPS = enum(u3) { - /// Stopped, reset or Stop Receive command issued + /// Stopped, reset or Stop Receive command issued Stopped = 0x0, - /// Running, fetching receive transfer descriptor + /// Running, fetching receive transfer descriptor RunningFetching = 0x1, - /// Running, waiting for receive packet + /// Running, waiting for receive packet RunningWaiting = 0x3, - /// Suspended, receive descriptor unavailable + /// Suspended, receive descriptor unavailable Suspended = 0x4, - /// Running, writing data to host memory buffer + /// Running, writing data to host memory buffer RunningWriting = 0x7, _, }; pub const RSF = enum(u1) { - /// Rx FIFO operates in cut-through mode, subject to RTC bits + /// Rx FIFO operates in cut-through mode, subject to RTC bits CutThrough = 0x0, - /// Frames are read from Rx FIFO after complete frame has been written + /// Frames are read from Rx FIFO after complete frame has been written StoreForward = 0x1, }; pub const RTC = enum(u2) { - /// 64 bytes + /// 64 bytes RTC64 = 0x0, - /// 32 bytes + /// 32 bytes RTC32 = 0x1, - /// 96 bytes + /// 96 bytes RTC96 = 0x2, - /// 128 bytes + /// 128 bytes RTC128 = 0x3, }; pub const SAIF = enum(u1) { - /// Source address filter operates normally + /// Source address filter operates normally Normal = 0x0, - /// Source address filter operation inverted + /// Source address filter operation inverted Invert = 0x1, }; pub const ST = enum(u1) { - /// Transmission is placed in the Stopped state + /// Transmission is placed in the Stopped state Stopped = 0x0, - /// Transmission is placed in Running state + /// Transmission is placed in Running state Started = 0x1, }; pub const TGFM = enum(u1) { - /// Transmitted-good counter half-full interrupt enabled + /// Transmitted-good counter half-full interrupt enabled Unmasked = 0x0, - /// Transmitted-good counter half-full interrupt disabled + /// Transmitted-good counter half-full interrupt disabled Masked = 0x1, }; pub const TGFMSCM = enum(u1) { - /// Transmitted-good-multiple-collision half-full interrupt enabled + /// Transmitted-good-multiple-collision half-full interrupt enabled Unmasked = 0x0, - /// Transmitted-good-multiple-collision half-full interrupt disabled + /// Transmitted-good-multiple-collision half-full interrupt disabled Masked = 0x1, }; pub const TGFSCM = enum(u1) { - /// Transmitted-good-single-collision half-full interrupt enabled + /// Transmitted-good-single-collision half-full interrupt enabled Unmasked = 0x0, - /// Transmitted-good-single-collision half-full interrupt disabled + /// Transmitted-good-single-collision half-full interrupt disabled Masked = 0x1, }; pub const TPD = enum(u32) { - /// Poll the transmit descriptor list + /// Poll the transmit descriptor list Poll = 0x0, _, }; pub const TPS = enum(u3) { - /// Stopped, Reset or Stop Transmit command issued + /// Stopped, Reset or Stop Transmit command issued Stopped = 0x0, - /// Running, fetching transmit transfer descriptor + /// Running, fetching transmit transfer descriptor RunningFetching = 0x1, - /// Running, waiting for status + /// Running, waiting for status RunningWaiting = 0x2, - /// Running, reading data from host memory buffer + /// Running, reading data from host memory buffer RunningReading = 0x3, - /// Suspended, transmit descriptor unavailable or transmit buffer underflow + /// Suspended, transmit descriptor unavailable or transmit buffer underflow Suspended = 0x6, - /// Running, closing transmit descriptor + /// Running, closing transmit descriptor Running = 0x7, _, }; pub const TSF = enum(u1) { - /// Transmission starts when the frame size in the Tx FIFO exceeds TTC threshold + /// Transmission starts when the frame size in the Tx FIFO exceeds TTC threshold CutThrough = 0x0, - /// Transmission starts when a full frame is in the Tx FIFO + /// Transmission starts when a full frame is in the Tx FIFO StoreForward = 0x1, }; pub const TSTIM = enum(u1) { - /// Time stamp interrupt generation enabled + /// Time stamp interrupt generation enabled Unmasked = 0x0, - /// Time stamp interrupt generation disabled + /// Time stamp interrupt generation disabled Masked = 0x1, }; pub const TTC = enum(u3) { - /// 64 bytes + /// 64 bytes TTC64 = 0x0, - /// 128 bytes + /// 128 bytes TTC128 = 0x1, - /// 192 bytes + /// 192 bytes TTC192 = 0x2, - /// 256 bytes + /// 256 bytes TTC256 = 0x3, - /// 40 bytes + /// 40 bytes TTC40 = 0x4, - /// 32 bytes + /// 32 bytes TTC32 = 0x5, - /// 24 bytes + /// 24 bytes TTC24 = 0x6, - /// 16 bytes + /// 16 bytes TTC16 = 0x7, }; pub const USP = enum(u1) { - /// PBL value used for both Rx and Tx DMA + /// PBL value used for both Rx and Tx DMA Combined = 0x0, - /// RxDMA uses RDP value, TxDMA uses PBL value + /// RxDMA uses RDP value, TxDMA uses PBL value Separate = 0x1, }; pub const VLANTC = enum(u1) { - /// Full 16 bit VLAN identifiers are used for comparison and filtering + /// Full 16 bit VLAN identifiers are used for comparison and filtering VLANTC16 = 0x0, - /// 12 bit VLAN identifies are used for comparison and filtering + /// 12 bit VLAN identifies are used for comparison and filtering VLANTC12 = 0x1, }; pub const WD = enum(u1) { - /// Watchdog enabled, receive frames limited to 2048 bytes + /// Watchdog enabled, receive frames limited to 2048 bytes Enabled = 0x0, - /// Watchdog disabled, receive frames may be up to to 16384 bytes + /// Watchdog disabled, receive frames may be up to to 16384 bytes Disabled = 0x1, }; pub const WFFRPR = enum(u1) { - /// Reset wakeup frame filter register point to 0b000. Automatically cleared + /// Reset wakeup frame filter register point to 0b000. Automatically cleared Reset = 0x1, _, }; pub const ZQPD = enum(u1) { - /// Normal operation with automatic zero-quanta pause control frame generation + /// Normal operation with automatic zero-quanta pause control frame generation Enabled = 0x0, - /// Automatic generation of zero-quanta pause control frames is disabled + /// Automatic generation of zero-quanta pause control frames is disabled Disabled = 0x1, }; - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH = extern struct { - /// Ethernet: media access control (MAC) + /// Ethernet: media access control (MAC) ETHERNET_MAC: u32, reserved1792: [1788]u8, - /// Ethernet: Precision Time Protocol (PTP) + /// Ethernet: Precision Time Protocol (PTP) ETHERNET_PTP: u32, reserved4096: [2300]u8, - /// Ethernet: DMA mode register (DMA) + /// Ethernet: DMA mode register (DMA) ETHERNET_DMA: u32, }; - /// Ethernet: DMA controller operation + /// Ethernet: DMA controller operation pub const ETHERNET_DMA = extern struct { - /// Ethernet DMA bus mode register + /// Ethernet DMA bus mode register DMABMR: mmio.Mmio(packed struct(u32) { - /// Software reset + /// Software reset SR: u1, - /// DMA arbitration - DA: packed union { - raw: u1, - value: DA, - }, - /// Descriptor skip length + /// DMA arbitration + DA: DA, + /// Descriptor skip length DSL: u5, - /// Enhanced descriptor format enable + /// Enhanced descriptor format enable EDFE: u1, - /// Programmable burst length - PBL: packed union { - raw: u6, - value: PBL, - }, - /// Rx-Tx priority ratio - PM: packed union { - raw: u2, - value: PriorityRxOverTx, - }, - /// Fixed burst - FB: packed union { - raw: u1, - value: FB, - }, - /// Rx DMA PBL - RDP: packed union { - raw: u6, - value: RDP, - }, - /// Use separate PBL - USP: packed union { - raw: u1, - value: USP, - }, - /// 4xPBL mode - FPM: packed union { - raw: u1, - value: FPM, - }, - /// Address-aligned beats + /// Programmable burst length + PBL: PBL, + /// Rx-Tx priority ratio + PM: PriorityRxOverTx, + /// Fixed burst + FB: FB, + /// Rx DMA PBL + RDP: RDP, + /// Use separate PBL + USP: USP, + /// 4xPBL mode + FPM: FPM, + /// Address-aligned beats AAB: u1, - /// Mixed burst - MB: packed union { - raw: u1, - value: MB, - }, + /// Mixed burst + MB: MB, padding: u5, }), - /// Ethernet DMA transmit poll demand register + /// Ethernet DMA transmit poll demand register DMATPDR: mmio.Mmio(packed struct(u32) { - /// Transmit poll demand - TPD: packed union { - raw: u32, - value: TPD, - }, + /// Transmit poll demand + TPD: TPD, }), - /// EHERNET DMA receive poll demand register + /// EHERNET DMA receive poll demand register DMARPDR: mmio.Mmio(packed struct(u32) { - /// Receive poll demand - RPD: packed union { - raw: u32, - value: RPD, - }, + /// Receive poll demand + RPD: RPD, }), - /// Ethernet DMA receive descriptor list address register + /// Ethernet DMA receive descriptor list address register DMARDLAR: mmio.Mmio(packed struct(u32) { - /// Start of receive list + /// Start of receive list SRL: u32, }), - /// Ethernet DMA transmit descriptor list address register + /// Ethernet DMA transmit descriptor list address register DMATDLAR: mmio.Mmio(packed struct(u32) { - /// Start of transmit list + /// Start of transmit list STL: u32, }), - /// Ethernet DMA status register + /// Ethernet DMA status register DMASR: mmio.Mmio(packed struct(u32) { - /// Transmit status + /// Transmit status TS: u1, - /// Transmit process stopped status + /// Transmit process stopped status TPSS: u1, - /// Transmit buffer unavailable status + /// Transmit buffer unavailable status TBUS: u1, - /// Transmit jabber timeout status + /// Transmit jabber timeout status TJTS: u1, - /// Receive overflow status + /// Receive overflow status ROS: u1, - /// Transmit underflow status + /// Transmit underflow status TUS: u1, - /// Receive status + /// Receive status RS: u1, - /// Receive buffer unavailable status + /// Receive buffer unavailable status RBUS: u1, - /// Receive process stopped status + /// Receive process stopped status RPSS: u1, - /// PWTS + /// PWTS PWTS: u1, - /// Early transmit status + /// Early transmit status ETS: u1, reserved13: u2, - /// Fatal bus error status + /// Fatal bus error status FBES: u1, - /// Early receive status + /// Early receive status ERS: u1, - /// Abnormal interrupt summary + /// Abnormal interrupt summary AIS: u1, - /// Normal interrupt summary + /// Normal interrupt summary NIS: u1, - /// Receive process state - RPS: packed union { - raw: u3, - value: RPS, - }, - /// Transmit process state - TPS: packed union { - raw: u3, - value: TPS, - }, - /// Error bits status + /// Receive process state + RPS: RPS, + /// Transmit process state + TPS: TPS, + /// Error bits status EBS: u3, reserved27: u1, - /// MMC status + /// MMC status MMCS: u1, - /// PMT status + /// PMT status PMTS: u1, - /// Time stamp trigger status + /// Time stamp trigger status TSTS: u1, padding: u2, }), - /// Ethernet DMA operation mode register + /// Ethernet DMA operation mode register DMAOMR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Start/stop receive - SR: packed union { - raw: u1, - value: DMAOMR_SR, - }, - /// Operate on second frame + /// Start/stop receive + SR: DMAOMR_SR, + /// Operate on second frame OSF: u1, - /// Receive threshold control - RTC: packed union { - raw: u2, - value: RTC, - }, + /// Receive threshold control + RTC: RTC, reserved6: u1, - /// Forward undersized good frames - FUGF: packed union { - raw: u1, - value: FUGF, - }, - /// Forward error frames - FEF: packed union { - raw: u1, - value: FEF, - }, + /// Forward undersized good frames + FUGF: FUGF, + /// Forward error frames + FEF: FEF, reserved13: u5, - /// Start/stop transmission - ST: packed union { - raw: u1, - value: ST, - }, - /// Transmit threshold control - TTC: packed union { - raw: u3, - value: TTC, - }, + /// Start/stop transmission + ST: ST, + /// Transmit threshold control + TTC: TTC, reserved20: u3, - /// Flush transmit FIFO - FTF: packed union { - raw: u1, - value: FTF, - }, - /// Transmit store and forward - TSF: packed union { - raw: u1, - value: TSF, - }, + /// Flush transmit FIFO + FTF: FTF, + /// Transmit store and forward + TSF: TSF, reserved24: u2, - /// Disable flushing of received frames + /// Disable flushing of received frames DFRF: u1, - /// Receive store and forward - RSF: packed union { - raw: u1, - value: RSF, - }, - /// Dropping of TCP/IP checksum error frames disable - DTCEFD: packed union { - raw: u1, - value: DTCEFD, - }, + /// Receive store and forward + RSF: RSF, + /// Dropping of TCP/IP checksum error frames disable + DTCEFD: DTCEFD, padding: u5, }), - /// Ethernet DMA interrupt enable register + /// Ethernet DMA interrupt enable register DMAIER: mmio.Mmio(packed struct(u32) { - /// Transmit interrupt enable + /// Transmit interrupt enable TIE: u1, - /// Transmit process stopped interrupt enable + /// Transmit process stopped interrupt enable TPSIE: u1, - /// Transmit buffer unavailable interrupt enable + /// Transmit buffer unavailable interrupt enable TBUIE: u1, - /// Transmit jabber timeout interrupt enable + /// Transmit jabber timeout interrupt enable TJTIE: u1, - /// Receive overflow interrupt enable + /// Receive overflow interrupt enable ROIE: u1, - /// Transmit underflow interrupt enable + /// Transmit underflow interrupt enable TUIE: u1, - /// Receive interrupt enable + /// Receive interrupt enable RIE: u1, - /// Receive buffer unavailable interrupt enable + /// Receive buffer unavailable interrupt enable RBUIE: u1, - /// Receive process stopped interrupt enable + /// Receive process stopped interrupt enable RPSIE: u1, - /// Receive watchdog timeout interrupt enable + /// Receive watchdog timeout interrupt enable RWTIE: u1, - /// Early transmit interrupt enable + /// Early transmit interrupt enable ETIE: u1, reserved13: u2, - /// Fatal bus error interrupt enable + /// Fatal bus error interrupt enable FBEIE: u1, - /// Early receive interrupt enable + /// Early receive interrupt enable ERIE: u1, - /// Abnormal interrupt summary enable + /// Abnormal interrupt summary enable AISE: u1, - /// Normal interrupt summary enable + /// Normal interrupt summary enable NISE: u1, padding: u15, }), - /// Ethernet DMA missed frame and buffer overflow counter register + /// Ethernet DMA missed frame and buffer overflow counter register DMAMFBOCR: mmio.Mmio(packed struct(u32) { - /// Missed frames by the controller + /// Missed frames by the controller MFC: u16, - /// Overflow bit for missed frame counter + /// Overflow bit for missed frame counter OMFC: u1, - /// Missed frames by the application + /// Missed frames by the application MFA: u11, - /// Overflow bit for FIFO overflow counter + /// Overflow bit for FIFO overflow counter OFOC: u1, padding: u3, }), - /// Ethernet DMA receive status watchdog timer register + /// Ethernet DMA receive status watchdog timer register DMARSWTR: mmio.Mmio(packed struct(u32) { - /// Receive status watchdog timer count + /// Receive status watchdog timer count RSWTC: u8, padding: u24, }), reserved72: [32]u8, - /// Ethernet DMA current host transmit descriptor register + /// Ethernet DMA current host transmit descriptor register DMACHTDR: mmio.Mmio(packed struct(u32) { - /// Host transmit descriptor address pointer + /// Host transmit descriptor address pointer HTDAP: u32, }), - /// Ethernet DMA current host receive descriptor register + /// Ethernet DMA current host receive descriptor register DMACHRDR: mmio.Mmio(packed struct(u32) { - /// Host receive descriptor address pointer + /// Host receive descriptor address pointer HRDAP: u32, }), - /// Ethernet DMA current host transmit buffer address register + /// Ethernet DMA current host transmit buffer address register DMACHTBAR: mmio.Mmio(packed struct(u32) { - /// Host transmit buffer address pointer + /// Host transmit buffer address pointer HTBAP: u32, }), - /// Ethernet DMA current host receive buffer address register + /// Ethernet DMA current host receive buffer address register DMACHRBAR: mmio.Mmio(packed struct(u32) { - /// Host receive buffer address pointer + /// Host receive buffer address pointer HRBAP: u32, }), }; - /// Ethernet: media access control (MAC) + /// Ethernet: media access control (MAC) pub const ETHERNET_MAC = extern struct { - /// Ethernet MAC configuration register + /// Ethernet MAC configuration register MACCR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Receiver enable + /// Receiver enable RE: u1, - /// Transmitter enable + /// Transmitter enable TE: u1, - /// Deferral check + /// Deferral check DC: u1, - /// Back-off limit - BL: packed union { - raw: u2, - value: BL, - }, - /// Automatic pad/CRC stripping - APCS: packed union { - raw: u1, - value: APCS, - }, + /// Back-off limit + BL: BL, + /// Automatic pad/CRC stripping + APCS: APCS, reserved9: u1, - /// Retry disable - RD: packed union { - raw: u1, - value: RD, - }, - /// IPv4 checksum offload - IPCO: packed union { - raw: u1, - value: IPCO, - }, - /// Duplex mode - DM: packed union { - raw: u1, - value: DM, - }, - /// Loopback mode - LM: packed union { - raw: u1, - value: LM, - }, - /// Receive own disable - ROD: packed union { - raw: u1, - value: ROD, - }, - /// Fast Ethernet speed - FES: packed union { - raw: u1, - value: FES, - }, + /// Retry disable + RD: RD, + /// IPv4 checksum offload + IPCO: IPCO, + /// Duplex mode + DM: DM, + /// Loopback mode + LM: LM, + /// Receive own disable + ROD: ROD, + /// Fast Ethernet speed + FES: FES, reserved16: u1, - /// Carrier sense disable - CSD: packed union { - raw: u1, - value: CSD, - }, - /// Interframe gap - IFG: packed union { - raw: u3, - value: IFG, - }, + /// Carrier sense disable + CSD: CSD, + /// Interframe gap + IFG: IFG, reserved22: u2, - /// Jabber disable - JD: packed union { - raw: u1, - value: JD, - }, - /// Watchdog disable - WD: packed union { - raw: u1, - value: WD, - }, + /// Jabber disable + JD: JD, + /// Watchdog disable + WD: WD, reserved25: u1, - /// CRC stripping for type frames + /// CRC stripping for type frames CSTF: u1, padding: u6, }), - /// Ethernet MAC frame filter register + /// Ethernet MAC frame filter register MACFFR: mmio.Mmio(packed struct(u32) { - /// Promiscuous mode + /// Promiscuous mode PM: u1, - /// Hash unicast - HU: packed union { - raw: u1, - value: HU, - }, - /// Hash multicast - HM: packed union { - raw: u1, - value: HM, - }, - /// Destination address unique filtering - DAIF: packed union { - raw: u1, - value: DAIF, - }, - /// Pass all multicast + /// Hash unicast + HU: HU, + /// Hash multicast + HM: HM, + /// Destination address unique filtering + DAIF: DAIF, + /// Pass all multicast PAM: u1, - /// Broadcast frames disable - BFD: packed union { - raw: u1, - value: BFD, - }, - /// Pass control frames - PCF: packed union { - raw: u2, - value: PCF, - }, - /// Source address filter + /// Broadcast frames disable + BFD: BFD, + /// Pass control frames + PCF: PCF, + /// Source address filter SAF: u1, - /// Hash or perfect filter - HPF: packed union { - raw: u1, - value: HPF, - }, + /// Hash or perfect filter + HPF: HPF, reserved31: u21, - /// Receive all + /// Receive all RA: u1, }), - /// Ethernet MAC hash table high register + /// Ethernet MAC hash table high register MACHTHR: mmio.Mmio(packed struct(u32) { - /// Upper 32 bits of hash table + /// Upper 32 bits of hash table HTH: u32, }), - /// Ethernet MAC hash table low register + /// Ethernet MAC hash table low register MACHTLR: mmio.Mmio(packed struct(u32) { - /// Lower 32 bits of hash table + /// Lower 32 bits of hash table HTL: u32, }), - /// Ethernet MAC MII address register + /// Ethernet MAC MII address register MACMIIAR: mmio.Mmio(packed struct(u32) { - /// MII busy - MB: packed union { - raw: u1, - value: MB_progress, - }, - /// MII write - MW: packed union { - raw: u1, - value: MW, - }, - /// Clock range - CR: packed union { - raw: u3, - value: CR, - }, + /// MII busy + MB: MB_progress, + /// MII write + MW: MW, + /// Clock range + CR: CR, reserved6: u1, - /// MII register - select the desired MII register in the PHY device + /// MII register - select the desired MII register in the PHY device MR: u5, - /// PHY address - select which of possible 32 PHYs is being accessed + /// PHY address - select which of possible 32 PHYs is being accessed PA: u5, padding: u16, }), - /// Ethernet MAC MII data register + /// Ethernet MAC MII data register MACMIIDR: mmio.Mmio(packed struct(u32) { - /// MII data read from/written to the PHY + /// MII data read from/written to the PHY MD: u16, padding: u16, }), - /// Ethernet MAC flow control register + /// Ethernet MAC flow control register MACFCR: mmio.Mmio(packed struct(u32) { - /// Flow control busy/back pressure activate - FCB: packed union { - raw: u1, - value: FCB, - }, - /// Transmit flow control enable + /// Flow control busy/back pressure activate + FCB: FCB, + /// Transmit flow control enable TFCE: u1, - /// Receive flow control enable + /// Receive flow control enable RFCE: u1, - /// Unicast pause frame detect + /// Unicast pause frame detect UPFD: u1, - /// Pause low threshold - PLT: packed union { - raw: u2, - value: PLT, - }, + /// Pause low threshold + PLT: PLT, reserved7: u1, - /// Zero-quanta pause disable - ZQPD: packed union { - raw: u1, - value: ZQPD, - }, + /// Zero-quanta pause disable + ZQPD: ZQPD, reserved16: u8, - /// Pause time + /// Pause time PT: u16, }), - /// Ethernet MAC VLAN tag register + /// Ethernet MAC VLAN tag register MACVLANTR: mmio.Mmio(packed struct(u32) { - /// VLAN tag identifier (for receive frames) + /// VLAN tag identifier (for receive frames) VLANTI: u16, - /// 12-bit VLAN tag comparison - VLANTC: packed union { - raw: u1, - value: VLANTC, - }, + /// 12-bit VLAN tag comparison + VLANTC: VLANTC, padding: u15, }), reserved40: [8]u8, - /// Ethernet MAC remote wakeup frame filter register + /// Ethernet MAC remote wakeup frame filter register MACRWUFFR: u32, - /// Ethernet MAC PMT control and status register + /// Ethernet MAC PMT control and status register MACPMTCSR: mmio.Mmio(packed struct(u32) { - /// Power down - PD: packed union { - raw: u1, - value: PD, - }, - /// Magic packet enable + /// Power down + PD: PD, + /// Magic packet enable MPE: u1, - /// Wakeup frame enable + /// Wakeup frame enable WFE: u1, reserved5: u2, - /// Magic packet received + /// Magic packet received MPR: u1, - /// Wakeup frame received + /// Wakeup frame received WFR: u1, reserved9: u2, - /// Global unicast + /// Global unicast GU: u1, reserved31: u21, - /// Wakeup frame filter register pointer reset - WFFRPR: packed union { - raw: u1, - value: WFFRPR, - }, + /// Wakeup frame filter register pointer reset + WFFRPR: WFFRPR, }), reserved52: [4]u8, - /// Ethernet MAC debug register + /// Ethernet MAC debug register MACDBGR: mmio.Mmio(packed struct(u32) { - /// MAC MII receive protocol engine active + /// MAC MII receive protocol engine active MMRPEA: u1, - /// MAC small FIFO read/write controllers status + /// MAC small FIFO read/write controllers status MSFRWCS: u2, reserved4: u1, - /// Rx FIFO write controller active + /// Rx FIFO write controller active RFWRA: u1, - /// Rx FIFO read controller status + /// Rx FIFO read controller status RFRCS: u2, reserved8: u1, - /// Rx FIFO fill level + /// Rx FIFO fill level RFFL: u2, reserved16: u6, - /// MAC MII transmit engine active + /// MAC MII transmit engine active MMTEA: u1, - /// MAC transmit frame controller status + /// MAC transmit frame controller status MTFCS: u2, - /// MAC transmitter in pause + /// MAC transmitter in pause MTP: u1, - /// Tx FIFO read status + /// Tx FIFO read status TFRS: u2, - /// Tx FIFO write active + /// Tx FIFO write active TFWA: u1, reserved24: u1, - /// Tx FIFO not empty + /// Tx FIFO not empty TFNE: u1, - /// Tx FIFO full + /// Tx FIFO full TFF: u1, padding: u6, }), - /// Ethernet MAC interrupt status register + /// Ethernet MAC interrupt status register MACSR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// PMT status + /// PMT status PMTS: u1, - /// MMC status + /// MMC status MMCS: u1, - /// MMC receive status + /// MMC receive status MMCRS: u1, - /// MMC transmit status + /// MMC transmit status MMCTS: u1, reserved9: u2, - /// Time stamp trigger status + /// Time stamp trigger status TSTS: u1, padding: u22, }), - /// Ethernet MAC interrupt mask register + /// Ethernet MAC interrupt mask register MACIMR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// PMT interrupt mask - PMTIM: packed union { - raw: u1, - value: PMTIM, - }, + /// PMT interrupt mask + PMTIM: PMTIM, reserved9: u5, - /// Time stamp trigger interrupt mask - TSTIM: packed union { - raw: u1, - value: TSTIM, - }, + /// Time stamp trigger interrupt mask + TSTIM: TSTIM, padding: u22, }), - /// Ethernet MAC address 0 high register + /// Ethernet MAC address 0 high register MACA0HR: mmio.Mmio(packed struct(u32) { - /// Ethernet MAC address 0 high + /// Ethernet MAC address 0 high MACA0H: u16, reserved31: u15, - /// Always 1 + /// Always 1 MO: u1, }), - /// Ethernet MAC address 0 low register + /// Ethernet MAC address 0 low register MACA0LR: mmio.Mmio(packed struct(u32) { - /// Ethernet MAC address 0 low + /// Ethernet MAC address 0 low MACA0L: u32, }), - /// Ethernet MAC address 1/2/3 high register + /// Ethernet MAC address 1/2/3 high register MACAHR: mmio.Mmio(packed struct(u32) { - /// Ethernet MAC address 1/2/3 high + /// Ethernet MAC address 1/2/3 high MACAH: u16, reserved24: u8, - /// MBC + /// MBC MBC: u6, - /// SA - SA: packed union { - raw: u1, - value: MACAHR_SA, - }, - /// AE + /// SA + SA: MACAHR_SA, + /// AE AE: u1, }), - /// Ethernet MAC address 1/2/3 low register + /// Ethernet MAC address 1/2/3 low register MACALR: mmio.Mmio(packed struct(u32) { - /// thernet MAC address 1/2/3 low + /// thernet MAC address 1/2/3 low MACAL: u32, }), reserved256: [176]u8, - /// Ethernet MMC control register + /// Ethernet MMC control register MMCCR: mmio.Mmio(packed struct(u32) { - /// Counter reset - CR: packed union { - raw: u1, - value: CounterReset, - }, - /// Counter stop rollover - CSR: packed union { - raw: u1, - value: CSR, - }, - /// Reset on read + /// Counter reset + CR: CounterReset, + /// Counter stop rollover + CSR: CSR, + /// Reset on read ROR: u1, - /// MMC counter freeze + /// MMC counter freeze MCF: u1, - /// MMC counter preset - MCP: packed union { - raw: u1, - value: MCP, - }, - /// MMC counter Full-Half preset - MCFHP: packed union { - raw: u1, - value: MCFHP, - }, + /// MMC counter preset + MCP: MCP, + /// MMC counter Full-Half preset + MCFHP: MCFHP, padding: u26, }), - /// Ethernet MMC receive interrupt register + /// Ethernet MMC receive interrupt register MMCRIR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// Received frames CRC error status + /// Received frames CRC error status RFCES: u1, - /// Received frames alignment error status + /// Received frames alignment error status RFAES: u1, reserved17: u10, - /// Received good Unicast frames status + /// Received good Unicast frames status RGUFS: u1, padding: u14, }), - /// Ethernet MMC transmit interrupt register + /// Ethernet MMC transmit interrupt register MMCTIR: mmio.Mmio(packed struct(u32) { reserved14: u14, - /// Transmitted good frames single collision status + /// Transmitted good frames single collision status TGFSCS: u1, - /// Transmitted good frames more than single collision status + /// Transmitted good frames more than single collision status TGFMSCS: u1, reserved21: u5, - /// Transmitted good frames status + /// Transmitted good frames status TGFS: u1, padding: u10, }), - /// Ethernet MMC receive interrupt mask register + /// Ethernet MMC receive interrupt mask register MMCRIMR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// Received frame CRC error mask - RFCEM: packed union { - raw: u1, - value: RFCEM, - }, - /// Received frames alignment error mask - RFAEM: packed union { - raw: u1, - value: RFAEM, - }, + /// Received frame CRC error mask + RFCEM: RFCEM, + /// Received frames alignment error mask + RFAEM: RFAEM, reserved17: u10, - /// Received good Unicast frames mask - RGUFM: packed union { - raw: u1, - value: RGUFM, - }, + /// Received good Unicast frames mask + RGUFM: RGUFM, padding: u14, }), - /// Ethernet MMC transmit interrupt mask register + /// Ethernet MMC transmit interrupt mask register MMCTIMR: mmio.Mmio(packed struct(u32) { reserved14: u14, - /// Transmitted good frames single collision mask - TGFSCM: packed union { - raw: u1, - value: TGFSCM, - }, - /// Transmitted good frames more than single collision mask - TGFMSCM: packed union { - raw: u1, - value: TGFMSCM, - }, - /// Transmitted good frames mask - TGFM: packed union { - raw: u1, - value: TGFM, - }, + /// Transmitted good frames single collision mask + TGFSCM: TGFSCM, + /// Transmitted good frames more than single collision mask + TGFMSCM: TGFMSCM, + /// Transmitted good frames mask + TGFM: TGFM, padding: u15, }), reserved332: [56]u8, - /// Ethernet MMC transmitted good frames after a single collision counter + /// Ethernet MMC transmitted good frames after a single collision counter MMCTGFSCCR: mmio.Mmio(packed struct(u32) { - /// Transmitted good frames single collision counter + /// Transmitted good frames single collision counter TGFSCC: u32, }), - /// Ethernet MMC transmitted good frames after more than a single collision + /// Ethernet MMC transmitted good frames after more than a single collision MMCTGFMSCCR: mmio.Mmio(packed struct(u32) { - /// TGFMSCC + /// TGFMSCC TGFMSCC: u32, }), reserved360: [20]u8, - /// Ethernet MMC transmitted good frames counter register + /// Ethernet MMC transmitted good frames counter register MMCTGFCR: mmio.Mmio(packed struct(u32) { - /// HTL + /// HTL TGFC: u32, }), reserved404: [40]u8, - /// Ethernet MMC received frames with CRC error counter register + /// Ethernet MMC received frames with CRC error counter register MMCRFCECR: mmio.Mmio(packed struct(u32) { - /// RFCFC + /// RFCFC RFCFC: u32, }), - /// Ethernet MMC received frames with alignment error counter register + /// Ethernet MMC received frames with alignment error counter register MMCRFAECR: mmio.Mmio(packed struct(u32) { - /// RFAEC + /// RFAEC RFAEC: u32, }), reserved452: [40]u8, - /// MMC received good unicast frames counter register + /// MMC received good unicast frames counter register MMCRGUFCR: mmio.Mmio(packed struct(u32) { - /// RGUFC + /// RGUFC RGUFC: u32, }), }; - /// Ethernet: Precision time protocol + /// Ethernet: Precision time protocol pub const ETHERNET_PTP = extern struct { - /// Ethernet PTP time stamp control register + /// Ethernet PTP time stamp control register PTPTSCR: mmio.Mmio(packed struct(u32) { - /// TSE + /// TSE TSE: u1, - /// TSFCU + /// TSFCU TSFCU: u1, - /// TSSTI + /// TSSTI TSSTI: u1, - /// TSSTU + /// TSSTU TSSTU: u1, - /// TSITE + /// TSITE TSITE: u1, - /// TTSARU + /// TTSARU TTSARU: u1, reserved8: u2, - /// TSSARFE + /// TSSARFE TSSARFE: u1, - /// TSSSR + /// TSSSR TSSSR: u1, - /// TSPTPPSV2E + /// TSPTPPSV2E TSPTPPSV2E: u1, - /// TSSPTPOEFE + /// TSSPTPOEFE TSSPTPOEFE: u1, - /// TSSIPV6FE + /// TSSIPV6FE TSSIPV6FE: u1, - /// TSSIPV4FE + /// TSSIPV4FE TSSIPV4FE: u1, - /// TSSEME + /// TSSEME TSSEME: u1, - /// TSSMRME + /// TSSMRME TSSMRME: u1, - /// TSCNT + /// TSCNT TSCNT: u2, - /// TSPFFMAE + /// TSPFFMAE TSPFFMAE: u1, padding: u13, }), - /// Ethernet PTP subsecond increment register + /// Ethernet PTP subsecond increment register PTPSSIR: mmio.Mmio(packed struct(u32) { - /// STSSI + /// STSSI STSSI: u8, padding: u24, }), - /// Ethernet PTP time stamp high register + /// Ethernet PTP time stamp high register PTPTSHR: mmio.Mmio(packed struct(u32) { - /// STS + /// STS STS: u32, }), - /// Ethernet PTP time stamp low register + /// Ethernet PTP time stamp low register PTPTSLR: mmio.Mmio(packed struct(u32) { - /// STSS + /// STSS STSS: u31, - /// STPNS + /// STPNS STPNS: u1, }), - /// Ethernet PTP time stamp high update register + /// Ethernet PTP time stamp high update register PTPTSHUR: mmio.Mmio(packed struct(u32) { - /// TSUS + /// TSUS TSUS: u32, }), - /// Ethernet PTP time stamp low update register + /// Ethernet PTP time stamp low update register PTPTSLUR: mmio.Mmio(packed struct(u32) { - /// TSUSS + /// TSUSS TSUSS: u31, - /// TSUPNS + /// TSUPNS TSUPNS: u1, }), - /// Ethernet PTP time stamp addend register + /// Ethernet PTP time stamp addend register PTPTSAR: mmio.Mmio(packed struct(u32) { - /// TSA + /// TSA TSA: u32, }), - /// Ethernet PTP target time high register + /// Ethernet PTP target time high register PTPTTHR: mmio.Mmio(packed struct(u32) { - /// 0 + /// 0 TTSH: u32, }), - /// Ethernet PTP target time low register + /// Ethernet PTP target time low register PTPTTLR: mmio.Mmio(packed struct(u32) { - /// TTSL + /// TTSL TTSL: u32, }), reserved40: [4]u8, - /// Ethernet PTP time stamp status register + /// Ethernet PTP time stamp status register PTPTSSR: mmio.Mmio(packed struct(u32) { - /// TSSO + /// TSSO TSSO: u1, - /// TSSO + /// TSSO TSTTR: u1, padding: u30, }), - /// Ethernet PTP PPS control register + /// Ethernet PTP PPS control register PTPPPSCR: mmio.Mmio(packed struct(u32) { - /// TSSO + /// TSSO TSSO: u1, - /// TSTTR + /// TSTTR TSTTR: u1, padding: u30, }), @@ -328345,1393 +326683,1393 @@ pub const types = struct { }; pub const eth_v2 = struct { - /// Ethernet Peripheral + /// Ethernet Peripheral pub const ETH = extern struct { - /// Ethernet: media access control (MAC) + /// Ethernet: media access control (MAC) ETHERNET_MAC: u32, reserved3072: [3068]u8, - /// Ethernet: MTL mode register (MTL) + /// Ethernet: MTL mode register (MTL) ETHERNET_MTL: u32, reserved4096: [1020]u8, - /// Ethernet: DMA mode register (DMA) + /// Ethernet: DMA mode register (DMA) ETHERNET_DMA: u32, }; - /// Ethernet: DMA mode register (DMA) + /// Ethernet: DMA mode register (DMA) pub const ETHERNET_DMA = extern struct { - /// DMA mode register + /// DMA mode register DMAMR: mmio.Mmio(packed struct(u32) { - /// Software Reset + /// Software Reset SWR: u1, - /// DMA Tx or Rx Arbitration Scheme + /// DMA Tx or Rx Arbitration Scheme DA: u1, reserved11: u9, - /// Transmit priority + /// Transmit priority TXPR: u1, - /// Priority ratio + /// Priority ratio PR: u3, reserved16: u1, - /// Interrupt Mode + /// Interrupt Mode INTM: u2, padding: u14, }), - /// System bus mode register + /// System bus mode register DMASBMR: mmio.Mmio(packed struct(u32) { - /// Fixed Burst Length + /// Fixed Burst Length FB: u1, reserved12: u11, - /// Address-Aligned Beats + /// Address-Aligned Beats AAL: u1, reserved14: u1, - /// Mixed Burst + /// Mixed Burst MB: u1, - /// Rebuild INCRx Burst + /// Rebuild INCRx Burst RB: u1, padding: u16, }), - /// Interrupt status register + /// Interrupt status register DMAISR: mmio.Mmio(packed struct(u32) { - /// DMA Channel Interrupt Status + /// DMA Channel Interrupt Status DC0IS: u1, reserved16: u15, - /// MTL Interrupt Status + /// MTL Interrupt Status MTLIS: u1, - /// MAC Interrupt Status + /// MAC Interrupt Status MACIS: u1, padding: u14, }), - /// Debug status register + /// Debug status register DMADSR: mmio.Mmio(packed struct(u32) { - /// AHB Master Write Channel + /// AHB Master Write Channel AXWHSTS: u1, reserved8: u7, - /// DMA Channel Receive Process State + /// DMA Channel Receive Process State RPS0: u4, - /// DMA Channel Transmit Process State + /// DMA Channel Transmit Process State TPS0: u4, padding: u16, }), reserved256: [240]u8, - /// Channel control register + /// Channel control register DMACCR: mmio.Mmio(packed struct(u32) { - /// Maximum Segment Size + /// Maximum Segment Size MSS: u14, reserved16: u2, - /// 8xPBL mode + /// 8xPBL mode PBLX8: u1, reserved18: u1, - /// Descriptor Skip Length + /// Descriptor Skip Length DSL: u3, padding: u11, }), - /// Channel transmit control register + /// Channel transmit control register DMACTxCR: mmio.Mmio(packed struct(u32) { - /// Start or Stop Transmission Command + /// Start or Stop Transmission Command ST: u1, reserved4: u3, - /// Operate on Second Packet + /// Operate on Second Packet OSF: u1, reserved12: u7, - /// TCP Segmentation Enabled + /// TCP Segmentation Enabled TSE: u1, reserved16: u3, - /// Transmit Programmable Burst Length + /// Transmit Programmable Burst Length TXPBL: u6, padding: u10, }), - /// Channel receive control register + /// Channel receive control register DMACRxCR: mmio.Mmio(packed struct(u32) { - /// Start or Stop Receive Command + /// Start or Stop Receive Command SR: u1, - /// Receive Buffer size + /// Receive Buffer size RBSZ: u14, reserved16: u1, - /// RXPBL + /// RXPBL RXPBL: u6, reserved31: u9, - /// DMA Rx Channel Packet Flush + /// DMA Rx Channel Packet Flush RPF: u1, }), reserved276: [8]u8, - /// Channel Tx descriptor list address register + /// Channel Tx descriptor list address register DMACTxDLAR: mmio.Mmio(packed struct(u32) { - /// Start of Transmit List + /// Start of Transmit List TDESLA: u32, }), reserved284: [4]u8, - /// Channel Rx descriptor list address register + /// Channel Rx descriptor list address register DMACRxDLAR: mmio.Mmio(packed struct(u32) { - /// Start of Receive List + /// Start of Receive List RDESLA: u32, }), - /// Channel Tx descriptor tail pointer register + /// Channel Tx descriptor tail pointer register DMACTxDTPR: mmio.Mmio(packed struct(u32) { - /// Transmit Descriptor Tail Pointer + /// Transmit Descriptor Tail Pointer TDT: u32, }), reserved296: [4]u8, - /// Channel Rx descriptor tail pointer register + /// Channel Rx descriptor tail pointer register DMACRxDTPR: mmio.Mmio(packed struct(u32) { - /// Receive Descriptor Tail Pointer + /// Receive Descriptor Tail Pointer RDT: u32, }), - /// Channel Tx descriptor ring length register + /// Channel Tx descriptor ring length register DMACTxRLR: mmio.Mmio(packed struct(u32) { - /// Transmit Descriptor Ring Length + /// Transmit Descriptor Ring Length TDRL: u10, padding: u22, }), - /// Channel Rx descriptor ring length register + /// Channel Rx descriptor ring length register DMACRxRLR: mmio.Mmio(packed struct(u32) { - /// Receive Descriptor Ring Length + /// Receive Descriptor Ring Length RDRL: u10, padding: u22, }), - /// Channel interrupt enable register + /// Channel interrupt enable register DMACIER: mmio.Mmio(packed struct(u32) { - /// Transmit Interrupt Enable + /// Transmit Interrupt Enable TIE: u1, - /// Transmit Stopped Enable + /// Transmit Stopped Enable TXSE: u1, - /// Transmit Buffer Unavailable Enable + /// Transmit Buffer Unavailable Enable TBUE: u1, reserved6: u3, - /// Receive Interrupt Enable + /// Receive Interrupt Enable RIE: u1, - /// Receive Buffer Unavailable Enable + /// Receive Buffer Unavailable Enable RBUE: u1, - /// Receive Stopped Enable + /// Receive Stopped Enable RSE: u1, - /// Receive Watchdog Timeout Enable + /// Receive Watchdog Timeout Enable RWTE: u1, - /// Early Transmit Interrupt Enable + /// Early Transmit Interrupt Enable ETIE: u1, - /// Early Receive Interrupt Enable + /// Early Receive Interrupt Enable ERIE: u1, - /// Fatal Bus Error Enable + /// Fatal Bus Error Enable FBEE: u1, - /// Context Descriptor Error Enable + /// Context Descriptor Error Enable CDEE: u1, - /// Abnormal Interrupt Summary Enable + /// Abnormal Interrupt Summary Enable AIE: u1, - /// Normal Interrupt Summary Enable + /// Normal Interrupt Summary Enable NIE: u1, padding: u16, }), - /// Channel Rx interrupt watchdog timer register + /// Channel Rx interrupt watchdog timer register DMACRxIWTR: mmio.Mmio(packed struct(u32) { - /// Receive Interrupt Watchdog Timer Count + /// Receive Interrupt Watchdog Timer Count RWT: u8, padding: u24, }), reserved324: [8]u8, - /// Channel current application transmit descriptor register + /// Channel current application transmit descriptor register DMACCATxDR: mmio.Mmio(packed struct(u32) { - /// Application Transmit Descriptor Address Pointer + /// Application Transmit Descriptor Address Pointer CURTDESAPTR: u32, }), reserved332: [4]u8, - /// Channel current application receive descriptor register + /// Channel current application receive descriptor register DMACCARxDR: mmio.Mmio(packed struct(u32) { - /// Application Receive Descriptor Address Pointer + /// Application Receive Descriptor Address Pointer CURRDESAPTR: u32, }), reserved340: [4]u8, - /// Channel current application transmit buffer register + /// Channel current application transmit buffer register DMACCATxBR: mmio.Mmio(packed struct(u32) { - /// Application Transmit Buffer Address Pointer + /// Application Transmit Buffer Address Pointer CURTBUFAPTR: u32, }), reserved348: [4]u8, - /// Channel current application receive buffer register + /// Channel current application receive buffer register DMACCARxBR: mmio.Mmio(packed struct(u32) { - /// Application Receive Buffer Address Pointer + /// Application Receive Buffer Address Pointer CURRBUFAPTR: u32, }), - /// Channel status register + /// Channel status register DMACSR: mmio.Mmio(packed struct(u32) { - /// Transmit Interrupt + /// Transmit Interrupt TI: u1, - /// Transmit Process Stopped + /// Transmit Process Stopped TPS: u1, - /// Transmit Buffer Unavailable + /// Transmit Buffer Unavailable TBU: u1, reserved6: u3, - /// Receive Interrupt + /// Receive Interrupt RI: u1, - /// Receive Buffer Unavailable + /// Receive Buffer Unavailable RBU: u1, - /// Receive Process Stopped + /// Receive Process Stopped RPS: u1, - /// Receive Watchdog Timeout + /// Receive Watchdog Timeout RWT: u1, - /// Early Transmit Interrupt + /// Early Transmit Interrupt ET: u1, - /// Early Receive Interrupt + /// Early Receive Interrupt ER: u1, - /// Fatal Bus Error + /// Fatal Bus Error FBE: u1, - /// Context Descriptor Error + /// Context Descriptor Error CDE: u1, - /// Abnormal Interrupt Summary + /// Abnormal Interrupt Summary AIS: u1, - /// Normal Interrupt Summary + /// Normal Interrupt Summary NIS: u1, - /// Tx DMA Error Bits + /// Tx DMA Error Bits TEB: u3, - /// Rx DMA Error Bits + /// Rx DMA Error Bits REB: u3, padding: u10, }), reserved364: [8]u8, - /// Channel missed frame count register + /// Channel missed frame count register DMACMFCR: mmio.Mmio(packed struct(u32) { - /// Dropped Packet Counters + /// Dropped Packet Counters MFC: u11, reserved15: u4, - /// Overflow status of the MFC Counter + /// Overflow status of the MFC Counter MFCO: u1, padding: u16, }), }; - /// Ethernet: media access control (MAC) + /// Ethernet: media access control (MAC) pub const ETHERNET_MAC = extern struct { - /// Operating mode configuration register + /// Operating mode configuration register MACCR: mmio.Mmio(packed struct(u32) { - /// Receiver Enable + /// Receiver Enable RE: u1, - /// Transmitter Enable + /// Transmitter Enable TE: u1, - /// Preamble Length for Transmit Packets + /// Preamble Length for Transmit Packets PRELEN: u2, - /// Deferral Check + /// Deferral Check DC: u1, - /// Back-Off Limit + /// Back-Off Limit BL: u2, reserved8: u1, - /// Disable Retry + /// Disable Retry DR: u1, - /// Disable Carrier Sense During Transmission + /// Disable Carrier Sense During Transmission DCRS: u1, - /// Disable Receive Own + /// Disable Receive Own DO: u1, - /// Enable Carrier Sense Before Transmission in Full-Duplex Mode + /// Enable Carrier Sense Before Transmission in Full-Duplex Mode ECRSFD: u1, - /// Loopback Mode + /// Loopback Mode LM: u1, - /// Duplex Mode + /// Duplex Mode DM: u1, - /// MAC Speed + /// MAC Speed FES: u1, reserved16: u1, - /// Jumbo Packet Enable + /// Jumbo Packet Enable JE: u1, - /// Jabber Disable + /// Jabber Disable JD: u1, reserved19: u1, - /// Watchdog Disable + /// Watchdog Disable WD: u1, - /// Automatic Pad or CRC Stripping + /// Automatic Pad or CRC Stripping ACS: u1, - /// CRC stripping for Type packets + /// CRC stripping for Type packets CST: u1, - /// IEEE 802.3as Support for 2K Packets + /// IEEE 802.3as Support for 2K Packets S2KP: u1, - /// Giant Packet Size Limit Control Enable + /// Giant Packet Size Limit Control Enable GPSLCE: u1, - /// Inter-Packet Gap + /// Inter-Packet Gap IPG: u3, - /// Checksum Offload + /// Checksum Offload IPC: u1, - /// Source Address Insertion or Replacement Control + /// Source Address Insertion or Replacement Control SARC: u3, - /// ARP Offload Enable + /// ARP Offload Enable ARPEN: u1, }), - /// Extended operating mode configuration register + /// Extended operating mode configuration register MACECR: mmio.Mmio(packed struct(u32) { - /// Giant Packet Size Limit + /// Giant Packet Size Limit GPSL: u14, reserved16: u2, - /// Disable CRC Checking for Received Packets + /// Disable CRC Checking for Received Packets DCRCC: u1, - /// Slow Protocol Detection Enable + /// Slow Protocol Detection Enable SPEN: u1, - /// Unicast Slow Protocol Packet Detect + /// Unicast Slow Protocol Packet Detect USP: u1, reserved24: u5, - /// Extended Inter-Packet Gap Enable + /// Extended Inter-Packet Gap Enable EIPGEN: u1, - /// Extended Inter-Packet Gap + /// Extended Inter-Packet Gap EIPG: u5, padding: u2, }), - /// Packet filtering control register + /// Packet filtering control register MACPFR: mmio.Mmio(packed struct(u32) { - /// Promiscuous Mode + /// Promiscuous Mode PR: u1, - /// Hash Unicast + /// Hash Unicast HUC: u1, - /// Hash Multicast + /// Hash Multicast HMC: u1, - /// DA Inverse Filtering + /// DA Inverse Filtering DAIF: u1, - /// Pass All Multicast + /// Pass All Multicast PM: u1, - /// Disable Broadcast Packets + /// Disable Broadcast Packets DBF: u1, - /// Pass Control Packets + /// Pass Control Packets PCF: u2, - /// SA Inverse Filtering + /// SA Inverse Filtering SAIF: u1, - /// Source Address Filter Enable + /// Source Address Filter Enable SAF: u1, - /// Hash or Perfect Filter + /// Hash or Perfect Filter HPF: u1, reserved16: u5, - /// VLAN Tag Filter Enable + /// VLAN Tag Filter Enable VTFE: u1, reserved20: u3, - /// Layer 3 and Layer 4 Filter Enable + /// Layer 3 and Layer 4 Filter Enable IPFE: u1, - /// Drop Non-TCP/UDP over IP Packets + /// Drop Non-TCP/UDP over IP Packets DNTU: u1, reserved31: u9, - /// Receive All + /// Receive All RA: u1, }), - /// Watchdog timeout register + /// Watchdog timeout register MACWTR: mmio.Mmio(packed struct(u32) { - /// Watchdog Timeout + /// Watchdog Timeout WTO: u4, reserved8: u4, - /// Programmable Watchdog Enable + /// Programmable Watchdog Enable PWE: u1, padding: u23, }), - /// Hash Table 0/1 register + /// Hash Table 0/1 register MACHTR: [2]mmio.Mmio(packed struct(u32) { - /// MAC Hash Table 32 Bits + /// MAC Hash Table 32 Bits HT: u32, }), reserved80: [56]u8, - /// VLAN tag register + /// VLAN tag register MACVTR: mmio.Mmio(packed struct(u32) { - /// VLAN Tag Identifier for Receive Packets + /// VLAN Tag Identifier for Receive Packets VL: u16, - /// Enable 12-Bit VLAN Tag Comparison + /// Enable 12-Bit VLAN Tag Comparison ETV: u1, - /// VLAN Tag Inverse Match Enable + /// VLAN Tag Inverse Match Enable VTIM: u1, - /// Enable S-VLAN + /// Enable S-VLAN ESVL: u1, - /// Enable Receive S-VLAN Match + /// Enable Receive S-VLAN Match ERSVLM: u1, - /// Disable VLAN Type Check + /// Disable VLAN Type Check DOVLTC: u1, - /// Enable VLAN Tag Stripping on Receive + /// Enable VLAN Tag Stripping on Receive EVLS: u2, reserved24: u1, - /// Enable VLAN Tag in Rx status + /// Enable VLAN Tag in Rx status EVLRXS: u1, - /// VLAN Tag Hash Table Match Enable + /// VLAN Tag Hash Table Match Enable VTHM: u1, - /// Enable Double VLAN Processing + /// Enable Double VLAN Processing EDVLP: u1, - /// Enable Inner VLAN Tag + /// Enable Inner VLAN Tag ERIVLT: u1, - /// Enable Inner VLAN Tag Stripping on Receive + /// Enable Inner VLAN Tag Stripping on Receive EIVLS: u2, reserved31: u1, - /// Enable Inner VLAN Tag in Rx Status + /// Enable Inner VLAN Tag in Rx Status EIVLRXS: u1, }), reserved88: [4]u8, - /// VLAN Hash table register + /// VLAN Hash table register MACVHTR: mmio.Mmio(packed struct(u32) { - /// VLAN Hash Table + /// VLAN Hash Table VLHT: u16, padding: u16, }), reserved96: [4]u8, - /// VLAN inclusion register + /// VLAN inclusion register MACVIR: mmio.Mmio(packed struct(u32) { - /// VLAN Tag for Transmit Packets + /// VLAN Tag for Transmit Packets VLT: u16, - /// VLAN Tag Control in Transmit Packets + /// VLAN Tag Control in Transmit Packets VLC: u2, - /// VLAN Priority Control + /// VLAN Priority Control VLP: u1, - /// C-VLAN or S-VLAN + /// C-VLAN or S-VLAN CSVL: u1, - /// VLAN Tag Input + /// VLAN Tag Input VLTI: u1, padding: u11, }), - /// Inner VLAN inclusion register + /// Inner VLAN inclusion register MACIVIR: mmio.Mmio(packed struct(u32) { - /// VLAN Tag for Transmit Packets + /// VLAN Tag for Transmit Packets VLT: u16, - /// VLAN Tag Control in Transmit Packets + /// VLAN Tag Control in Transmit Packets VLC: u2, - /// VLAN Priority Control + /// VLAN Priority Control VLP: u1, - /// C-VLAN or S-VLAN + /// C-VLAN or S-VLAN CSVL: u1, - /// VLAN Tag Input + /// VLAN Tag Input VLTI: u1, padding: u11, }), reserved112: [8]u8, - /// Tx Queue flow control register + /// Tx Queue flow control register MACQTxFCR: mmio.Mmio(packed struct(u32) { - /// Flow Control Busy or Backpressure Activate + /// Flow Control Busy or Backpressure Activate FCB_BPA: u1, - /// Transmit Flow Control Enable + /// Transmit Flow Control Enable TFE: u1, reserved4: u2, - /// Pause Low Threshold + /// Pause Low Threshold PLT: u3, - /// Disable Zero-Quanta Pause + /// Disable Zero-Quanta Pause DZPQ: u1, reserved16: u8, - /// Pause Time + /// Pause Time PT: u16, }), reserved144: [28]u8, - /// Rx flow control register + /// Rx flow control register MACRxFCR: mmio.Mmio(packed struct(u32) { - /// Receive Flow Control Enable + /// Receive Flow Control Enable RFE: u1, - /// Unicast Pause Packet Detect + /// Unicast Pause Packet Detect UP: u1, padding: u30, }), reserved176: [28]u8, - /// Interrupt status register + /// Interrupt status register MACISR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// PHY Interrupt + /// PHY Interrupt PHYIS: u1, - /// PMT Interrupt Status + /// PMT Interrupt Status PMTIS: u1, - /// LPI Interrupt Status + /// LPI Interrupt Status LPIIS: u1, reserved8: u2, - /// MMC Interrupt Status + /// MMC Interrupt Status MMCIS: u1, - /// MMC Receive Interrupt Status + /// MMC Receive Interrupt Status MMCRXIS: u1, - /// MMC Transmit Interrupt Status + /// MMC Transmit Interrupt Status MMCTXIS: u1, reserved12: u1, - /// Timestamp Interrupt Status + /// Timestamp Interrupt Status TSIS: u1, - /// Transmit Status Interrupt + /// Transmit Status Interrupt TXSTSIS: u1, - /// Receive Status Interrupt + /// Receive Status Interrupt RXSTSIS: u1, padding: u17, }), - /// Interrupt enable register + /// Interrupt enable register MACIER: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// PHY Interrupt Enable + /// PHY Interrupt Enable PHYIE: u1, - /// PMT Interrupt Enable + /// PMT Interrupt Enable PMTIE: u1, - /// LPI Interrupt Enable + /// LPI Interrupt Enable LPIIE: u1, reserved12: u6, - /// Timestamp Interrupt Enable + /// Timestamp Interrupt Enable TSIE: u1, - /// Transmit Status Interrupt Enable + /// Transmit Status Interrupt Enable TXSTSIE: u1, - /// Receive Status Interrupt Enable + /// Receive Status Interrupt Enable RXSTSIE: u1, padding: u17, }), - /// Rx Tx status register + /// Rx Tx status register MACRxTxSR: mmio.Mmio(packed struct(u32) { - /// Transmit Jabber Timeout + /// Transmit Jabber Timeout TJT: u1, - /// No Carrier + /// No Carrier NCARR: u1, - /// Loss of Carrier + /// Loss of Carrier LCARR: u1, - /// Excessive Deferral + /// Excessive Deferral EXDEF: u1, - /// Late Collision + /// Late Collision LCOL: u1, - /// Excessive Collisions + /// Excessive Collisions EXCOL: u1, reserved8: u2, - /// Receive Watchdog Timeout + /// Receive Watchdog Timeout RWT: u1, padding: u23, }), reserved192: [4]u8, - /// PMT control status register + /// PMT control status register MACPCSR: mmio.Mmio(packed struct(u32) { - /// Power Down + /// Power Down PWRDWN: u1, - /// Magic Packet Enable + /// Magic Packet Enable MGKPKTEN: u1, - /// Remote wakeup Packet Enable + /// Remote wakeup Packet Enable RWKPKTEN: u1, reserved5: u2, - /// Magic Packet Received + /// Magic Packet Received MGKPRCVD: u1, - /// Remote wakeup Packet Received + /// Remote wakeup Packet Received RWKPRCVD: u1, reserved9: u2, - /// Global Unicast + /// Global Unicast GLBLUCAST: u1, - /// Remote wakeup Packet Forwarding Enable + /// Remote wakeup Packet Forwarding Enable RWKPFE: u1, reserved24: u13, - /// Remote wakeup FIFO Pointer + /// Remote wakeup FIFO Pointer RWKPTR: u5, reserved31: u2, - /// Remote wakeup Packet Filter Register Pointer Reset + /// Remote wakeup Packet Filter Register Pointer Reset RWKFILTRST: u1, }), - /// Remove wakeup packet filter register + /// Remove wakeup packet filter register MACRWKPFR: mmio.Mmio(packed struct(u32) { - /// Remote wakeup packet filter + /// Remote wakeup packet filter MACRWKPFR: u32, }), reserved208: [8]u8, - /// LPI control status register + /// LPI control status register MACLCSR: mmio.Mmio(packed struct(u32) { - /// Transmit LPI Entry + /// Transmit LPI Entry TLPIEN: u1, - /// Transmit LPI Exit + /// Transmit LPI Exit TLPIEX: u1, - /// Receive LPI Entry + /// Receive LPI Entry RLPIEN: u1, - /// Receive LPI Exit + /// Receive LPI Exit RLPIEX: u1, reserved8: u4, - /// Transmit LPI State + /// Transmit LPI State TLPIST: u1, - /// Receive LPI State + /// Receive LPI State RLPIST: u1, reserved16: u6, - /// LPI Enable + /// LPI Enable LPIEN: u1, - /// PHY Link Status + /// PHY Link Status PLS: u1, - /// PHY Link Status Enable + /// PHY Link Status Enable PLSEN: u1, - /// LPI Tx Automate + /// LPI Tx Automate LPITXA: u1, - /// LPI Timer Enable + /// LPI Timer Enable LPITE: u1, padding: u11, }), - /// LPI timers control register + /// LPI timers control register MACLTCR: mmio.Mmio(packed struct(u32) { - /// LPI TW Timer + /// LPI TW Timer TWT: u16, - /// LPI LS Timer + /// LPI LS Timer LST: u10, padding: u6, }), - /// LPI entry timer register + /// LPI entry timer register MACLETR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// LPI Entry Timer + /// LPI Entry Timer LPIET: u17, padding: u12, }), - /// 1-microsecond-tick counter register + /// 1-microsecond-tick counter register MAC1USTCR: mmio.Mmio(packed struct(u32) { - /// 1 µs tick Counter + /// 1 µs tick Counter TIC_1US_CNTR: u12, padding: u20, }), reserved272: [48]u8, - /// Version register + /// Version register MACVR: mmio.Mmio(packed struct(u32) { - /// IP version + /// IP version SNPSVER: u8, - /// ST-defined version + /// ST-defined version USERVER: u8, padding: u16, }), - /// Debug register + /// Debug register MACDR: mmio.Mmio(packed struct(u32) { - /// MAC MII Receive Protocol Engine Status + /// MAC MII Receive Protocol Engine Status RPESTS: u1, - /// MAC Receive Packet Controller FIFO Status + /// MAC Receive Packet Controller FIFO Status RFCFCSTS: u2, reserved16: u13, - /// MAC MII Transmit Protocol Engine Status + /// MAC MII Transmit Protocol Engine Status TPESTS: u1, - /// MAC Transmit Packet Controller Status + /// MAC Transmit Packet Controller Status TFCSTS: u2, padding: u13, }), reserved288: [8]u8, - /// HW feature 1 register + /// HW feature 1 register MACHWF1R: mmio.Mmio(packed struct(u32) { - /// MTL Receive FIFO Size + /// MTL Receive FIFO Size RXFIFOSIZE: u5, reserved6: u1, - /// MTL Transmit FIFO Size + /// MTL Transmit FIFO Size TXFIFOSIZE: u5, - /// One-Step Timestamping Enable + /// One-Step Timestamping Enable OSTEN: u1, - /// PTP Offload Enable + /// PTP Offload Enable PTOEN: u1, - /// IEEE 1588 High Word Register Enable + /// IEEE 1588 High Word Register Enable ADVTHWORD: u1, - /// Address width + /// Address width ADDR64: u2, - /// DCB Feature Enable + /// DCB Feature Enable DCBEN: u1, - /// Split Header Feature Enable + /// Split Header Feature Enable SPHEN: u1, - /// TCP Segmentation Offload Enable + /// TCP Segmentation Offload Enable TSOEN: u1, - /// DMA Debug Registers Enable + /// DMA Debug Registers Enable DBGMEMA: u1, - /// AV Feature Enable + /// AV Feature Enable AVSEL: u1, reserved24: u3, - /// Hash Table Size + /// Hash Table Size HASHTBLSZ: u2, reserved27: u1, - /// Total number of L3 or L4 Filters + /// Total number of L3 or L4 Filters L3L4FNUM: u4, padding: u1, }), - /// HW feature 2 register + /// HW feature 2 register MACHWF2R: mmio.Mmio(packed struct(u32) { - /// Number of MTL Receive Queues + /// Number of MTL Receive Queues RXQCNT: u4, reserved6: u2, - /// Number of MTL Transmit Queues + /// Number of MTL Transmit Queues TXQCNT: u4, reserved12: u2, - /// Number of DMA Receive Channels + /// Number of DMA Receive Channels RXCHCNT: u4, reserved18: u2, - /// Number of DMA Transmit Channels + /// Number of DMA Transmit Channels TXCHCNT: u4, reserved24: u2, - /// Number of PPS Outputs + /// Number of PPS Outputs PPSOUTNUM: u3, reserved28: u1, - /// Number of Auxiliary Snapshot Inputs + /// Number of Auxiliary Snapshot Inputs AUXSNAPNUM: u3, padding: u1, }), reserved512: [216]u8, - /// MDIO address register + /// MDIO address register MACMDIOAR: mmio.Mmio(packed struct(u32) { - /// MII Busy + /// MII Busy MB: u1, - /// Clause 45 PHY Enable + /// Clause 45 PHY Enable C45E: u1, - /// MII Operation Command + /// MII Operation Command GOC: u2, - /// Skip Address Packet + /// Skip Address Packet SKAP: u1, reserved8: u3, - /// CSR Clock Range + /// CSR Clock Range CR: u4, - /// Number of Training Clocks + /// Number of Training Clocks NTC: u3, reserved16: u1, - /// Register/Device Address + /// Register/Device Address RDA: u5, - /// Physical Layer Address + /// Physical Layer Address PA: u5, - /// Back to Back transactions + /// Back to Back transactions BTB: u1, - /// Preamble Suppression Enable + /// Preamble Suppression Enable PSE: u1, padding: u4, }), - /// MDIO data register + /// MDIO data register MACMDIODR: mmio.Mmio(packed struct(u32) { - /// MII Data + /// MII Data MD: u16, - /// Register Address + /// Register Address RA: u16, }), reserved768: [248]u8, - /// Address 0 high register + /// Address 0 high register MACA0HR: mmio.Mmio(packed struct(u32) { - /// MAC Address0[47:32] + /// MAC Address0[47:32] ADDRHI: u16, reserved31: u15, - /// Address Enable + /// Address Enable AE: u1, }), - /// Address 0 low register + /// Address 0 low register MACA0LR: mmio.Mmio(packed struct(u32) { - /// MAC Address 0 [31:0] + /// MAC Address 0 [31:0] ADDRLO: u32, }), - /// Address 1/2/3 high register + /// Address 1/2/3 high register MACAHR: mmio.Mmio(packed struct(u32) { - /// MAC Address 1/2/3 [47:32] + /// MAC Address 1/2/3 [47:32] ADDRHI: u16, reserved24: u8, - /// Mask Byte Control + /// Mask Byte Control MBC: u6, - /// Source Address + /// Source Address SA: u1, - /// Address Enable + /// Address Enable AE: u1, }), - /// Address 1/2/3 low register + /// Address 1/2/3 low register MACALR: mmio.Mmio(packed struct(u32) { - /// MAC Address 1/2/3 [31:0] + /// MAC Address 1/2/3 [31:0] ADDRLO: u32, }), reserved1792: [1008]u8, - /// MMC control register + /// MMC control register MMC_CONTROL: mmio.Mmio(packed struct(u32) { - /// Counters Reset + /// Counters Reset CNTRST: u1, - /// Counter Stop Rollover + /// Counter Stop Rollover CNTSTOPRO: u1, - /// Reset on Read + /// Reset on Read RSTONRD: u1, - /// MMC Counter Freeze + /// MMC Counter Freeze CNTFREEZ: u1, - /// Counters Preset + /// Counters Preset CNTPRST: u1, - /// Full-Half Preset + /// Full-Half Preset CNTPRSTLVL: u1, reserved8: u2, - /// Update MMC Counters for Dropped Broadcast Packets + /// Update MMC Counters for Dropped Broadcast Packets UCDBC: u1, padding: u23, }), - /// MMC Rx interrupt register + /// MMC Rx interrupt register MMC_RX_INTERRUPT: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// MMC Receive CRC Error Packet Counter Interrupt Status + /// MMC Receive CRC Error Packet Counter Interrupt Status RXCRCERPIS: u1, - /// MMC Receive Alignment Error Packet Counter Interrupt Status + /// MMC Receive Alignment Error Packet Counter Interrupt Status RXALGNERPIS: u1, reserved17: u10, - /// MMC Receive Unicast Good Packet Counter Interrupt Status + /// MMC Receive Unicast Good Packet Counter Interrupt Status RXUCGPIS: u1, reserved26: u8, - /// MMC Receive LPI microsecond counter interrupt status + /// MMC Receive LPI microsecond counter interrupt status RXLPIUSCIS: u1, - /// MMC Receive LPI transition counter interrupt status + /// MMC Receive LPI transition counter interrupt status RXLPITRCIS: u1, padding: u4, }), - /// MMC Tx interrupt register + /// MMC Tx interrupt register MMC_TX_INTERRUPT: mmio.Mmio(packed struct(u32) { reserved14: u14, - /// MMC Transmit Single Collision Good Packet Counter Interrupt Status + /// MMC Transmit Single Collision Good Packet Counter Interrupt Status TXSCOLGPIS: u1, - /// MMC Transmit Multiple Collision Good Packet Counter Interrupt Status + /// MMC Transmit Multiple Collision Good Packet Counter Interrupt Status TXMCOLGPIS: u1, reserved21: u5, - /// MMC Transmit Good Packet Counter Interrupt Status + /// MMC Transmit Good Packet Counter Interrupt Status TXGPKTIS: u1, reserved26: u4, - /// MMC Transmit LPI microsecond counter interrupt status + /// MMC Transmit LPI microsecond counter interrupt status TXLPIUSCIS: u1, - /// MMC Transmit LPI transition counter interrupt status + /// MMC Transmit LPI transition counter interrupt status TXLPITRCIS: u1, padding: u4, }), - /// MMC Rx interrupt mask register + /// MMC Rx interrupt mask register MMC_RX_INTERRUPT_MASK: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// MMC Receive CRC Error Packet Counter Interrupt Mask + /// MMC Receive CRC Error Packet Counter Interrupt Mask RXCRCERPIM: u1, - /// MMC Receive Alignment Error Packet Counter Interrupt Mask + /// MMC Receive Alignment Error Packet Counter Interrupt Mask RXALGNERPIM: u1, reserved17: u10, - /// MMC Receive Unicast Good Packet Counter Interrupt Mask + /// MMC Receive Unicast Good Packet Counter Interrupt Mask RXUCGPIM: u1, reserved26: u8, - /// MMC Receive LPI microsecond counter interrupt Mask + /// MMC Receive LPI microsecond counter interrupt Mask RXLPIUSCIM: u1, - /// MMC Receive LPI transition counter interrupt Mask + /// MMC Receive LPI transition counter interrupt Mask RXLPITRCIM: u1, padding: u4, }), - /// MMC Tx interrupt mask register + /// MMC Tx interrupt mask register MMC_TX_INTERRUPT_MASK: mmio.Mmio(packed struct(u32) { reserved14: u14, - /// MMC Transmit Single Collision Good Packet Counter Interrupt Mask + /// MMC Transmit Single Collision Good Packet Counter Interrupt Mask TXSCOLGPIM: u1, - /// MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask + /// MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask TXMCOLGPIM: u1, reserved21: u5, - /// MMC Transmit Good Packet Counter Interrupt Mask + /// MMC Transmit Good Packet Counter Interrupt Mask TXGPKTIM: u1, reserved26: u4, - /// MMC Transmit LPI microsecond counter interrupt Mask + /// MMC Transmit LPI microsecond counter interrupt Mask TXLPIUSCIM: u1, - /// MMC Transmit LPI transition counter interrupt Mask + /// MMC Transmit LPI transition counter interrupt Mask TXLPITRCIM: u1, padding: u4, }), reserved1868: [56]u8, - /// Tx single collision good packets register + /// Tx single collision good packets register TX_SINGLE_COLLISION_GOOD_PACKETS: mmio.Mmio(packed struct(u32) { - /// Tx Single Collision Good Packets + /// Tx Single Collision Good Packets TXSNGLCOLG: u32, }), - /// Tx multiple collision good packets register + /// Tx multiple collision good packets register TX_MULTIPLE_COLLISION_GOOD_PACKETS: mmio.Mmio(packed struct(u32) { - /// Tx Multiple Collision Good Packets + /// Tx Multiple Collision Good Packets TXMULTCOLG: u32, }), reserved1896: [20]u8, - /// Tx packet count good register + /// Tx packet count good register TX_PACKET_COUNT_GOOD: mmio.Mmio(packed struct(u32) { - /// Tx Packet Count Good + /// Tx Packet Count Good TXPKTG: u32, }), reserved1940: [40]u8, - /// Rx CRC error packets register + /// Rx CRC error packets register RX_CRC_ERROR_PACKETS: mmio.Mmio(packed struct(u32) { - /// Rx CRC Error Packets + /// Rx CRC Error Packets RXCRCERR: u32, }), - /// Rx alignment error packets register + /// Rx alignment error packets register RX_ALIGNMENT_ERROR_PACKETS: mmio.Mmio(packed struct(u32) { - /// Rx Alignment Error Packets + /// Rx Alignment Error Packets RXALGNERR: u32, }), reserved1988: [40]u8, - /// Rx unicast packets good register + /// Rx unicast packets good register RX_UNICAST_PACKETS_GOOD: mmio.Mmio(packed struct(u32) { - /// Rx Unicast Packets Good + /// Rx Unicast Packets Good RXUCASTG: u32, }), reserved2028: [36]u8, - /// Tx LPI microsecond timer register + /// Tx LPI microsecond timer register TX_LPI_USEC_CNTR: mmio.Mmio(packed struct(u32) { - /// Tx LPI Microseconds Counter + /// Tx LPI Microseconds Counter TXLPIUSC: u32, }), - /// Tx LPI transition counter register + /// Tx LPI transition counter register TX_LPI_TRAN_CNTR: mmio.Mmio(packed struct(u32) { - /// Tx LPI Transition counter + /// Tx LPI Transition counter TXLPITRC: u32, }), - /// Rx LPI microsecond counter register + /// Rx LPI microsecond counter register RX_LPI_USEC_CNTR: mmio.Mmio(packed struct(u32) { - /// Rx LPI Microseconds Counter + /// Rx LPI Microseconds Counter RXLPIUSC: u32, }), - /// Rx LPI transition counter register + /// Rx LPI transition counter register RX_LPI_TRAN_CNTR: mmio.Mmio(packed struct(u32) { - /// Rx LPI Transition counter + /// Rx LPI Transition counter RXLPITRC: u32, }), reserved2304: [260]u8, - /// L3 and L4 control 0 register + /// L3 and L4 control 0 register MACL3L4C0R: mmio.Mmio(packed struct(u32) { - /// Layer 3 Protocol Enable + /// Layer 3 Protocol Enable L3PEN0: u1, reserved2: u1, - /// Layer 3 IP SA Match Enable + /// Layer 3 IP SA Match Enable L3SAM0: u1, - /// Layer 3 IP SA Inverse Match Enable + /// Layer 3 IP SA Inverse Match Enable L3SAIM0: u1, - /// Layer 3 IP DA Match Enable + /// Layer 3 IP DA Match Enable L3DAM0: u1, - /// Layer 3 IP DA Inverse Match Enable + /// Layer 3 IP DA Inverse Match Enable L3DAIM0: u1, - /// Layer 3 IP SA Higher Bits Match + /// Layer 3 IP SA Higher Bits Match L3HSBM0: u5, - /// Layer 3 IP DA Higher Bits Match + /// Layer 3 IP DA Higher Bits Match L3HDBM0: u5, - /// Layer 4 Protocol Enable + /// Layer 4 Protocol Enable L4PEN0: u1, reserved18: u1, - /// Layer 4 Source Port Match Enable + /// Layer 4 Source Port Match Enable L4SPM0: u1, - /// Layer 4 Source Port Inverse Match Enable + /// Layer 4 Source Port Inverse Match Enable L4SPIM0: u1, - /// Layer 4 Destination Port Match Enable + /// Layer 4 Destination Port Match Enable L4DPM0: u1, - /// Layer 4 Destination Port Inverse Match Enable + /// Layer 4 Destination Port Inverse Match Enable L4DPIM0: u1, padding: u10, }), - /// Layer4 address filter 0 register + /// Layer4 address filter 0 register MACL4A0R: mmio.Mmio(packed struct(u32) { - /// Layer 4 Source Port Number Field + /// Layer 4 Source Port Number Field L4SP0: u16, - /// Layer 4 Destination Port Number Field + /// Layer 4 Destination Port Number Field L4DP0: u16, }), reserved2320: [8]u8, - /// MACL3A00R + /// MACL3A00R MACL3A00R: mmio.Mmio(packed struct(u32) { - /// Layer 3 Address 0 Field + /// Layer 3 Address 0 Field L3A00: u32, }), - /// Layer3 address 1 filter 0 register + /// Layer3 address 1 filter 0 register MACL3A10R: mmio.Mmio(packed struct(u32) { - /// Layer 3 Address 1 Field + /// Layer 3 Address 1 Field L3A10: u32, }), - /// Layer3 Address 2 filter 0 register + /// Layer3 Address 2 filter 0 register MACL3A20: mmio.Mmio(packed struct(u32) { - /// Layer 3 Address 2 Field + /// Layer 3 Address 2 Field L3A20: u32, }), - /// Layer3 Address 3 filter 0 register + /// Layer3 Address 3 filter 0 register MACL3A30: mmio.Mmio(packed struct(u32) { - /// Layer 3 Address 3 Field + /// Layer 3 Address 3 Field L3A30: u32, }), reserved2352: [16]u8, - /// L3 and L4 control 1 register + /// L3 and L4 control 1 register MACL3L4C1R: mmio.Mmio(packed struct(u32) { - /// Layer 3 Protocol Enable + /// Layer 3 Protocol Enable L3PEN1: u1, reserved2: u1, - /// Layer 3 IP SA Match Enable + /// Layer 3 IP SA Match Enable L3SAM1: u1, - /// Layer 3 IP SA Inverse Match Enable + /// Layer 3 IP SA Inverse Match Enable L3SAIM1: u1, - /// Layer 3 IP DA Match Enable + /// Layer 3 IP DA Match Enable L3DAM1: u1, - /// Layer 3 IP DA Inverse Match Enable + /// Layer 3 IP DA Inverse Match Enable L3DAIM1: u1, - /// Layer 3 IP SA Higher Bits Match + /// Layer 3 IP SA Higher Bits Match L3HSBM1: u5, - /// Layer 3 IP DA Higher Bits Match + /// Layer 3 IP DA Higher Bits Match L3HDBM1: u5, - /// Layer 4 Protocol Enable + /// Layer 4 Protocol Enable L4PEN1: u1, reserved18: u1, - /// Layer 4 Source Port Match Enable + /// Layer 4 Source Port Match Enable L4SPM1: u1, - /// Layer 4 Source Port Inverse Match Enable + /// Layer 4 Source Port Inverse Match Enable L4SPIM1: u1, - /// Layer 4 Destination Port Match Enable + /// Layer 4 Destination Port Match Enable L4DPM1: u1, - /// Layer 4 Destination Port Inverse Match Enable + /// Layer 4 Destination Port Inverse Match Enable L4DPIM1: u1, padding: u10, }), - /// Layer 4 address filter 1 register + /// Layer 4 address filter 1 register MACL4A1R: mmio.Mmio(packed struct(u32) { - /// Layer 4 Source Port Number Field + /// Layer 4 Source Port Number Field L4SP1: u16, - /// Layer 4 Destination Port Number Field + /// Layer 4 Destination Port Number Field L4DP1: u16, }), reserved2368: [8]u8, - /// Layer3 address 0 filter 1 Register + /// Layer3 address 0 filter 1 Register MACL3A01R: mmio.Mmio(packed struct(u32) { - /// Layer 3 Address 0 Field + /// Layer 3 Address 0 Field L3A01: u32, }), - /// Layer3 address 1 filter 1 register + /// Layer3 address 1 filter 1 register MACL3A11R: mmio.Mmio(packed struct(u32) { - /// Layer 3 Address 1 Field + /// Layer 3 Address 1 Field L3A11: u32, }), - /// Layer3 address 2 filter 1 Register + /// Layer3 address 2 filter 1 Register MACL3A21R: mmio.Mmio(packed struct(u32) { - /// Layer 3 Address 2 Field + /// Layer 3 Address 2 Field L3A21: u32, }), - /// Layer3 address 3 filter 1 register + /// Layer3 address 3 filter 1 register MACL3A31R: mmio.Mmio(packed struct(u32) { - /// Layer 3 Address 3 Field + /// Layer 3 Address 3 Field L3A31: u32, }), reserved2784: [400]u8, - /// ARP address register + /// ARP address register MACARPAR: mmio.Mmio(packed struct(u32) { - /// ARP Protocol Address + /// ARP Protocol Address ARPPA: u32, }), reserved2816: [28]u8, - /// Timestamp control Register + /// Timestamp control Register MACTSCR: mmio.Mmio(packed struct(u32) { - /// Enable Timestamp + /// Enable Timestamp TSENA: u1, - /// Fine or Coarse Timestamp Update + /// Fine or Coarse Timestamp Update TSCFUPDT: u1, - /// Initialize Timestamp + /// Initialize Timestamp TSINIT: u1, - /// Update Timestamp + /// Update Timestamp TSUPDT: u1, reserved5: u1, - /// Update Addend Register + /// Update Addend Register TSADDREG: u1, reserved8: u2, - /// Enable Timestamp for All Packets + /// Enable Timestamp for All Packets TSENALL: u1, - /// Timestamp Digital or Binary Rollover Control + /// Timestamp Digital or Binary Rollover Control TSCTRLSSR: u1, - /// Enable PTP Packet Processing for Version 2 Format + /// Enable PTP Packet Processing for Version 2 Format TSVER2ENA: u1, - /// Enable Processing of PTP over Ethernet Packets + /// Enable Processing of PTP over Ethernet Packets TSIPENA: u1, - /// Enable Processing of PTP Packets Sent over IPv6-UDP + /// Enable Processing of PTP Packets Sent over IPv6-UDP TSIPV6ENA: u1, - /// Enable Processing of PTP Packets Sent over IPv4-UDP + /// Enable Processing of PTP Packets Sent over IPv4-UDP TSIPV4ENA: u1, - /// Enable Timestamp Snapshot for Event Messages + /// Enable Timestamp Snapshot for Event Messages TSEVNTENA: u1, - /// Enable Snapshot for Messages Relevant to Master + /// Enable Snapshot for Messages Relevant to Master TSMSTRENA: u1, - /// Select PTP packets for Taking Snapshots + /// Select PTP packets for Taking Snapshots SNAPTYPSEL: u2, - /// Enable MAC Address for PTP Packet Filtering + /// Enable MAC Address for PTP Packet Filtering TSENMACADDR: u1, - /// Enable checksum correction during OST for PTP over UDP/IPv4 packets + /// Enable checksum correction during OST for PTP over UDP/IPv4 packets CSC: u1, reserved24: u4, - /// Transmit Timestamp Status Mode + /// Transmit Timestamp Status Mode TXTSSTSM: u1, padding: u7, }), - /// Sub-second increment register + /// Sub-second increment register MACSSIR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Sub-nanosecond Increment Value + /// Sub-nanosecond Increment Value SNSINC: u8, - /// Sub-second Increment Value + /// Sub-second Increment Value SSINC: u8, padding: u8, }), - /// System time seconds register + /// System time seconds register MACSTSR: mmio.Mmio(packed struct(u32) { - /// Timestamp Second + /// Timestamp Second TSS: u32, }), - /// System time nanoseconds register + /// System time nanoseconds register MACSTNR: mmio.Mmio(packed struct(u32) { - /// Timestamp Sub-seconds + /// Timestamp Sub-seconds TSSS: u31, padding: u1, }), - /// System time seconds update register + /// System time seconds update register MACSTSUR: mmio.Mmio(packed struct(u32) { - /// Timestamp Seconds + /// Timestamp Seconds TSS: u32, }), - /// System time nanoseconds update register + /// System time nanoseconds update register MACSTNUR: mmio.Mmio(packed struct(u32) { - /// Timestamp Sub-seconds + /// Timestamp Sub-seconds TSSS: u31, - /// Add or Subtract Time + /// Add or Subtract Time ADDSUB: u1, }), - /// Timestamp addend register + /// Timestamp addend register MACTSAR: mmio.Mmio(packed struct(u32) { - /// Timestamp Addend Register + /// Timestamp Addend Register TSAR: u32, }), reserved2848: [4]u8, - /// Timestamp status register + /// Timestamp status register MACTSSR: mmio.Mmio(packed struct(u32) { - /// Timestamp Seconds Overflow + /// Timestamp Seconds Overflow TSSOVF: u1, - /// Timestamp Target Time Reached + /// Timestamp Target Time Reached TSTARGT0: u1, - /// Auxiliary Timestamp Trigger Snapshot + /// Auxiliary Timestamp Trigger Snapshot AUXTSTRIG: u1, - /// Timestamp Target Time Error + /// Timestamp Target Time Error TSTRGTERR0: u1, reserved15: u11, - /// Tx Timestamp Status Interrupt Status + /// Tx Timestamp Status Interrupt Status TXTSSIS: u1, - /// Auxiliary Timestamp Snapshot Trigger Identifier + /// Auxiliary Timestamp Snapshot Trigger Identifier ATSSTN: u4, reserved24: u4, - /// Auxiliary Timestamp Snapshot Trigger Missed + /// Auxiliary Timestamp Snapshot Trigger Missed ATSSTM: u1, - /// Number of Auxiliary Timestamp Snapshots + /// Number of Auxiliary Timestamp Snapshots ATSNS: u5, padding: u2, }), reserved2864: [12]u8, - /// Tx timestamp status nanoseconds register + /// Tx timestamp status nanoseconds register MACTxTSSNR: mmio.Mmio(packed struct(u32) { - /// Transmit Timestamp Status Low + /// Transmit Timestamp Status Low TXTSSLO: u31, - /// Transmit Timestamp Status Missed + /// Transmit Timestamp Status Missed TXTSSMIS: u1, }), - /// Tx timestamp status seconds register + /// Tx timestamp status seconds register MACTxTSSSR: mmio.Mmio(packed struct(u32) { - /// Transmit Timestamp Status High + /// Transmit Timestamp Status High TXTSSHI: u32, }), reserved2880: [8]u8, - /// Auxiliary control register + /// Auxiliary control register MACACR: mmio.Mmio(packed struct(u32) { - /// Auxiliary Snapshot FIFO Clear + /// Auxiliary Snapshot FIFO Clear ATSFC: u1, reserved4: u3, - /// Auxiliary Snapshot 0-3 Enable + /// Auxiliary Snapshot 0-3 Enable ATSEN: u1, padding: u27, }), reserved2888: [4]u8, - /// Auxiliary timestamp nanoseconds register + /// Auxiliary timestamp nanoseconds register MACATSNR: mmio.Mmio(packed struct(u32) { - /// Auxiliary Timestamp + /// Auxiliary Timestamp AUXTSLO: u31, padding: u1, }), - /// Auxiliary timestamp seconds register + /// Auxiliary timestamp seconds register MACATSSR: mmio.Mmio(packed struct(u32) { - /// Auxiliary Timestamp + /// Auxiliary Timestamp AUXTSHI: u32, }), - /// Timestamp Ingress asymmetric correction register + /// Timestamp Ingress asymmetric correction register MACTSIACR: mmio.Mmio(packed struct(u32) { - /// One-Step Timestamp Ingress Asymmetry Correction + /// One-Step Timestamp Ingress Asymmetry Correction OSTIAC: u32, }), - /// Timestamp Egress asymmetric correction register + /// Timestamp Egress asymmetric correction register MACTSEACR: mmio.Mmio(packed struct(u32) { - /// One-Step Timestamp Egress Asymmetry Correction + /// One-Step Timestamp Egress Asymmetry Correction OSTEAC: u32, }), - /// Timestamp Ingress correction nanosecond register + /// Timestamp Ingress correction nanosecond register MACTSICNR: mmio.Mmio(packed struct(u32) { - /// Timestamp Ingress Correction + /// Timestamp Ingress Correction TSIC: u32, }), - /// Timestamp Egress correction nanosecond register + /// Timestamp Egress correction nanosecond register MACTSECNR: mmio.Mmio(packed struct(u32) { - /// Timestamp Egress Correction + /// Timestamp Egress Correction TSEC: u32, }), reserved2928: [16]u8, - /// PPS control register + /// PPS control register MACPPSCR: mmio.Mmio(packed struct(u32) { - /// Flexible PPS Output (ptp_pps_o[0]) Control or PPSCTRL PPS Output Frequency Control if PPSEN0 is cleared + /// Flexible PPS Output (ptp_pps_o[0]) Control or PPSCTRL PPS Output Frequency Control if PPSEN0 is cleared PPSCTRL: u4, - /// Flexible PPS Output Mode Enable + /// Flexible PPS Output Mode Enable PPSEN0: u1, - /// Target Time Register Mode for PPS Output + /// Target Time Register Mode for PPS Output TRGTMODSEL0: u2, padding: u25, }), reserved2944: [12]u8, - /// PPS target time seconds register + /// PPS target time seconds register MACPPSTTSR: mmio.Mmio(packed struct(u32) { - /// PPS Target Time Seconds Register + /// PPS Target Time Seconds Register TSTRH0: u31, padding: u1, }), - /// PPS target time nanoseconds register + /// PPS target time nanoseconds register MACPPSTTNR: mmio.Mmio(packed struct(u32) { - /// Target Time Low for PPS Register + /// Target Time Low for PPS Register TTSL0: u31, - /// PPS Target Time Register Busy + /// PPS Target Time Register Busy TRGTBUSY0: u1, }), - /// PPS interval register + /// PPS interval register MACPPSIR: mmio.Mmio(packed struct(u32) { - /// PPS Output Signal Interval + /// PPS Output Signal Interval PPSINT0: u32, }), - /// PPS width register + /// PPS width register MACPPSWR: mmio.Mmio(packed struct(u32) { - /// PPS Output Signal Width + /// PPS Output Signal Width PPSWIDTH0: u32, }), reserved3008: [48]u8, - /// PTP Offload control register + /// PTP Offload control register MACPOCR: mmio.Mmio(packed struct(u32) { - /// PTP Offload Enable + /// PTP Offload Enable PTOEN: u1, - /// Automatic PTP SYNC message Enable + /// Automatic PTP SYNC message Enable ASYNCEN: u1, - /// Automatic PTP Pdelay_Req message Enable + /// Automatic PTP Pdelay_Req message Enable APDREQEN: u1, reserved4: u1, - /// Automatic PTP SYNC message Trigger + /// Automatic PTP SYNC message Trigger ASYNCTRIG: u1, - /// Automatic PTP Pdelay_Req message Trigger + /// Automatic PTP Pdelay_Req message Trigger APDREQTRIG: u1, - /// Disable PTO Delay Request/Response response generation + /// Disable PTO Delay Request/Response response generation DRRDIS: u1, reserved8: u1, - /// Domain Number + /// Domain Number DN: u8, padding: u16, }), - /// PTP Source Port Identity 0 Register + /// PTP Source Port Identity 0 Register MACSPI0R: mmio.Mmio(packed struct(u32) { - /// Source Port Identity 0 + /// Source Port Identity 0 SPI0: u32, }), - /// PTP Source port identity 1 register + /// PTP Source port identity 1 register MACSPI1R: mmio.Mmio(packed struct(u32) { - /// Source Port Identity 1 + /// Source Port Identity 1 SPI1: u32, }), - /// PTP Source port identity 2 register + /// PTP Source port identity 2 register MACSPI2R: mmio.Mmio(packed struct(u32) { - /// Source Port Identity 2 + /// Source Port Identity 2 SPI2: u16, padding: u16, }), - /// Log message interval register + /// Log message interval register MACLMIR: mmio.Mmio(packed struct(u32) { - /// Log Sync Interval + /// Log Sync Interval LSI: u8, - /// Delay_Req to SYNC Ratio + /// Delay_Req to SYNC Ratio DRSYNCR: u3, reserved24: u13, - /// Log Min Pdelay_Req Interval + /// Log Min Pdelay_Req Interval LMPDRI: u8, }), }; - /// Ethernet: MTL mode register (MTL) + /// Ethernet: MTL mode register (MTL) pub const ETHERNET_MTL = extern struct { - /// Operating mode Register + /// Operating mode Register MTLOMR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Drop Transmit Status + /// Drop Transmit Status DTXSTS: u1, reserved8: u6, - /// Counters Preset + /// Counters Preset CNTPRST: u1, - /// Counters Reset + /// Counters Reset CNTCLR: u1, padding: u22, }), reserved32: [28]u8, - /// Interrupt status Register + /// Interrupt status Register MTLISR: mmio.Mmio(packed struct(u32) { - /// Queue interrupt status + /// Queue interrupt status Q0IS: u1, padding: u31, }), reserved256: [220]u8, - /// Tx queue operating mode Register + /// Tx queue operating mode Register MTLTxQOMR: mmio.Mmio(packed struct(u32) { - /// Flush Transmit Queue + /// Flush Transmit Queue FTQ: u1, - /// Transmit Store and Forward + /// Transmit Store and Forward TSF: u1, - /// Transmit Queue Enable + /// Transmit Queue Enable TXQEN: u2, - /// Transmit Threshold Control + /// Transmit Threshold Control TTC: u3, reserved16: u9, - /// Transmit Queue Size + /// Transmit Queue Size TQS: u3, padding: u13, }), - /// Tx queue underflow register + /// Tx queue underflow register MTLTxQUR: mmio.Mmio(packed struct(u32) { - /// Underflow Packet Counter + /// Underflow Packet Counter UFFRMCNT: u11, - /// Overflow Bit for Underflow Packet Counter + /// Overflow Bit for Underflow Packet Counter UFCNTOVF: u1, padding: u20, }), - /// Tx queue debug Register + /// Tx queue debug Register MTLTxQDR: mmio.Mmio(packed struct(u32) { - /// Transmit Queue in Pause + /// Transmit Queue in Pause TXQPAUSED: u1, - /// MTL Tx Queue Read Controller Status + /// MTL Tx Queue Read Controller Status TRCSTS: u2, - /// MTL Tx Queue Write Controller Status + /// MTL Tx Queue Write Controller Status TWCSTS: u1, - /// MTL Tx Queue Not Empty Status + /// MTL Tx Queue Not Empty Status TXQSTS: u1, - /// MTL Tx Status FIFO Full Status + /// MTL Tx Status FIFO Full Status TXSTSFSTS: u1, reserved16: u10, - /// Number of Packets in the Transmit Queue + /// Number of Packets in the Transmit Queue PTXQ: u3, reserved20: u1, - /// Number of Status Words in Tx Status FIFO of Queue + /// Number of Status Words in Tx Status FIFO of Queue STXSTSF: u3, padding: u9, }), reserved300: [32]u8, - /// Queue interrupt control status Register + /// Queue interrupt control status Register MTLQICSR: mmio.Mmio(packed struct(u32) { - /// Transmit Queue Underflow Interrupt Status + /// Transmit Queue Underflow Interrupt Status TXUNFIS: u1, reserved8: u7, - /// Transmit Queue Underflow Interrupt Enable + /// Transmit Queue Underflow Interrupt Enable TXUIE: u1, reserved16: u7, - /// Receive Queue Overflow Interrupt Status + /// Receive Queue Overflow Interrupt Status RXOVFIS: u1, reserved24: u7, - /// Receive Queue Overflow Interrupt Enable + /// Receive Queue Overflow Interrupt Enable RXOIE: u1, padding: u7, }), - /// Rx queue operating mode register + /// Rx queue operating mode register MTLRxQOMR: mmio.Mmio(packed struct(u32) { - /// Receive Queue Threshold Control + /// Receive Queue Threshold Control RTC: u2, reserved3: u1, - /// Forward Undersized Good Packets + /// Forward Undersized Good Packets FUP: u1, - /// Forward Error Packets + /// Forward Error Packets FEP: u1, - /// Receive Queue Store and Forward + /// Receive Queue Store and Forward RSF: u1, - /// Disable Dropping of TCP/IP Checksum Error Packets + /// Disable Dropping of TCP/IP Checksum Error Packets DIS_TCP_EF: u1, - /// Enable Hardware Flow Control + /// Enable Hardware Flow Control EHFC: u1, - /// Threshold for Activating Flow Control (in half-duplex and full-duplex modes) + /// Threshold for Activating Flow Control (in half-duplex and full-duplex modes) RFA: u3, reserved14: u3, - /// Threshold for Deactivating Flow Control (in half-duplex and full-duplex modes) + /// Threshold for Deactivating Flow Control (in half-duplex and full-duplex modes) RFD: u3, reserved20: u3, - /// Receive Queue Size + /// Receive Queue Size RQS: u3, padding: u9, }), - /// Rx queue missed packet and overflow counter register + /// Rx queue missed packet and overflow counter register MTLRxQMPOCR: mmio.Mmio(packed struct(u32) { - /// Overflow Packet Counter + /// Overflow Packet Counter OVFPKTCNT: u11, - /// Overflow Counter Overflow Bit + /// Overflow Counter Overflow Bit OVFCNTOVF: u1, reserved16: u4, - /// Missed Packet Counter + /// Missed Packet Counter MISPKTCNT: u11, - /// Missed Packet Counter Overflow Bit + /// Missed Packet Counter Overflow Bit MISCNTOVF: u1, padding: u4, }), - /// Rx queue debug register + /// Rx queue debug register MTLRxQDR: mmio.Mmio(packed struct(u32) { - /// MTL Rx Queue Write Controller Active Status + /// MTL Rx Queue Write Controller Active Status RWCSTS: u1, - /// MTL Rx Queue Read Controller State + /// MTL Rx Queue Read Controller State RRCSTS: u2, reserved4: u1, - /// MTL Rx Queue Fill-Level Status + /// MTL Rx Queue Fill-Level Status RXQSTS: u2, reserved16: u10, - /// Number of Packets in Receive Queue + /// Number of Packets in Receive Queue PRXQ: u14, padding: u2, }), @@ -329739,55 +328077,55 @@ pub const types = struct { }; pub const exti_c0 = struct { - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI = extern struct { - /// Rising Trigger selection register + /// Rising Trigger selection register RTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Falling Trigger selection register + /// Falling Trigger selection register FTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Software interrupt event register + /// Software interrupt event register SWIER: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Rising pending register + /// Rising pending register RPR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Falling pending register + /// Falling pending register FPR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), reserved96: [76]u8, - /// Configuration register + /// Configuration register EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI configuration bits + /// EXTI configuration bits EXTI: u8, padding: u24, }), reserved128: [16]u8, - /// Interrupt mask register + /// Interrupt mask register IMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Event mask register + /// Event mask register EMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), @@ -329795,55 +328133,55 @@ pub const types = struct { }; pub const exti_g0 = struct { - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI = extern struct { - /// Rising Trigger selection register + /// Rising Trigger selection register RTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Falling Trigger selection register + /// Falling Trigger selection register FTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Software interrupt event register + /// Software interrupt event register SWIER: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Rising pending register + /// Rising pending register RPR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Falling pending register + /// Falling pending register FPR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), reserved96: [76]u8, - /// Configuration register + /// Configuration register EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI configuration bits + /// EXTI configuration bits EXTI: u8, padding: u24, }), reserved128: [16]u8, - /// Interrupt mask register + /// Interrupt mask register IMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Event mask register + /// Event mask register EMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), @@ -329851,73 +328189,73 @@ pub const types = struct { }; pub const exti_h5 = struct { - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI = extern struct { - /// rising trigger selection register + /// rising trigger selection register RTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// falling trigger selection register + /// falling trigger selection register FTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// software interrupt event register + /// software interrupt event register SWIER: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// rising edge pending register + /// rising edge pending register RPR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// falling edge pending register + /// falling edge pending register FPR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// security configuration register + /// security configuration register SECCFGR: mmio.Mmio(packed struct(u32) { - /// Security enable on event input x When EXTI_PRIVCFGR.PRIVx is disabled, SECx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SECx can only be written with privileged access. Unprivileged write to this SECx is discarded. + /// Security enable on event input x When EXTI_PRIVCFGR.PRIVx is disabled, SECx can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIVx is enabled, SECx can only be written with privileged access. Unprivileged write to this SECx is discarded. SEC: u1, padding: u31, }), - /// privilege configuration register + /// privilege configuration register PRIVCFGR: mmio.Mmio(packed struct(u32) { - /// Security enable on event input x When EXTI_SECCFGR.SECx is disabled, PRIVx can be accessed with secure and non-secure access. When EXTI_SECCFGR.SECx is enabled, PRIVx can only be written with secure access. Non-secure write to this PRIVx is discarded. + /// Security enable on event input x When EXTI_SECCFGR.SECx is disabled, PRIVx can be accessed with secure and non-secure access. When EXTI_SECCFGR.SECx is enabled, PRIVx can only be written with secure access. Non-secure write to this PRIVx is discarded. PRIV: u1, padding: u31, }), reserved96: [68]u8, - /// external interrupt selection register + /// external interrupt selection register EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI12 GPIO port selection These bits are written by software to select the source input for EXTI12 external interrupt. When EXTI_PRIVCFGR.PRIV12 is disabled, EXTI12 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV12 is enabled, EXTI12 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved + /// EXTI12 GPIO port selection These bits are written by software to select the source input for EXTI12 external interrupt. When EXTI_PRIVCFGR.PRIV12 is disabled, EXTI12 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV12 is enabled, EXTI12 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved EXTI: u8, padding: u24, }), - /// lock register + /// lock register LOCKR: mmio.Mmio(packed struct(u32) { - /// Global security and privilege configuration registers (EXTI_SECCFGR and EXTI_PRIVCFGR) lock This bit is written once after reset. + /// Global security and privilege configuration registers (EXTI_SECCFGR and EXTI_PRIVCFGR) lock This bit is written once after reset. LOCK: u1, padding: u31, }), reserved128: [12]u8, - /// CPU wakeup with interrupt mask register + /// CPU wakeup with interrupt mask register IMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// CPU wakeup with event mask register + /// CPU wakeup with event mask register EMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), @@ -329925,62 +328263,62 @@ pub const types = struct { }; pub const exti_h50 = struct { - /// Extended interrupt and event controller + /// Extended interrupt and event controller pub const EXTI = extern struct { - /// rising trigger selection register + /// rising trigger selection register RTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// falling trigger selection register + /// falling trigger selection register FTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// software interrupt event register + /// software interrupt event register SWIER: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// rising edge pending register + /// rising edge pending register RPR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// falling edge pending register + /// falling edge pending register FPR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), reserved24: [4]u8, - /// privilege configuration register + /// privilege configuration register PRIVCFGR: mmio.Mmio(packed struct(u32) { - /// Security enable on event input x When EXTI_SECCFGR.SECx is disabled, PRIVx can be accessed with secure and non-secure access. When EXTI_SECCFGR.SECx is enabled, PRIVx can only be written with secure access. Non-secure write to this PRIVx is discarded. + /// Security enable on event input x When EXTI_SECCFGR.SECx is disabled, PRIVx can be accessed with secure and non-secure access. When EXTI_SECCFGR.SECx is enabled, PRIVx can only be written with secure access. Non-secure write to this PRIVx is discarded. PRIV: u1, padding: u31, }), reserved96: [68]u8, - /// external interrupt selection register + /// external interrupt selection register EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI12 GPIO port selection These bits are written by software to select the source input for EXTI12 external interrupt. When EXTI_PRIVCFGR.PRIV12 is disabled, EXTI12 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV12 is enabled, EXTI12 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved + /// EXTI12 GPIO port selection These bits are written by software to select the source input for EXTI12 external interrupt. When EXTI_PRIVCFGR.PRIV12 is disabled, EXTI12 can be accessed with privileged and unprivileged access. When EXTI_PRIVCFGR.PRIV12 is enabled, EXTI12 can only be accessed with privileged access. Unprivileged write to this bit is discarded. Others: reserved EXTI: u8, padding: u24, }), reserved128: [16]u8, - /// CPU wakeup with interrupt mask register + /// CPU wakeup with interrupt mask register IMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// CPU wakeup with event mask register + /// CPU wakeup with event mask register EMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), @@ -329988,42 +328326,42 @@ pub const types = struct { }; pub const exti_h7 = struct { - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI = extern struct { - /// Rising Trigger selection register + /// Rising Trigger selection register RTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Falling Trigger selection register + /// Falling Trigger selection register FTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Software interrupt event register + /// Software interrupt event register SWIER: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), reserved128: [116]u8, - /// Interrupt mask register + /// Interrupt mask register IMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Event mask register + /// Event mask register EMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Pending register + /// Pending register PR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), @@ -330031,73 +328369,73 @@ pub const types = struct { }; pub const exti_l5 = struct { - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI = extern struct { - /// Rising Trigger selection register + /// Rising Trigger selection register RTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Falling Trigger selection register + /// Falling Trigger selection register FTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Software interrupt event register + /// Software interrupt event register SWIER: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Rising pending register + /// Rising pending register RPR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Falling pending register + /// Falling pending register FPR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Security configuration register + /// Security configuration register SECCFGR: mmio.Mmio(packed struct(u32) { - /// Security enable on event input x + /// Security enable on event input x SEC: u1, padding: u31, }), - /// Privilege configuration register + /// Privilege configuration register PRIVCFGR: mmio.Mmio(packed struct(u32) { - /// Security enable on event input x + /// Security enable on event input x PRIV: u1, padding: u31, }), reserved96: [68]u8, - /// Configuration register + /// Configuration register EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI configuration bits + /// EXTI configuration bits EXTI: u8, padding: u24, }), - /// EXTI lock register + /// EXTI lock register LOCKRG: mmio.Mmio(packed struct(u32) { - /// LOCK + /// LOCK LOCK: u1, padding: u31, }), reserved128: [12]u8, - /// Interrupt mask register + /// Interrupt mask register IMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Event mask register + /// Event mask register EMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), @@ -330105,55 +328443,55 @@ pub const types = struct { }; pub const exti_u0 = struct { - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI = extern struct { - /// Rising Trigger selection register + /// Rising Trigger selection register RTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Falling Trigger selection register + /// Falling Trigger selection register FTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Software interrupt event register + /// Software interrupt event register SWIER: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Rising pending register + /// Rising pending register RPR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Falling pending register + /// Falling pending register FPR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), reserved96: [76]u8, - /// Configuration register + /// Configuration register EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI configuration bits + /// EXTI configuration bits EXTI: u8, padding: u24, }), reserved128: [16]u8, - /// Interrupt mask register + /// Interrupt mask register IMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Event mask register + /// Event mask register EMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), @@ -330161,73 +328499,73 @@ pub const types = struct { }; pub const exti_u5 = struct { - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI = extern struct { - /// Rising Trigger selection register + /// Rising Trigger selection register RTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Falling Trigger selection register + /// Falling Trigger selection register FTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Software interrupt event register + /// Software interrupt event register SWIER: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Rising pending register + /// Rising pending register RPR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Falling pending register + /// Falling pending register FPR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Security configuration register + /// Security configuration register SECCFGR: mmio.Mmio(packed struct(u32) { - /// Security enable on event input x + /// Security enable on event input x SEC: u1, padding: u31, }), - /// Privilege configuration register + /// Privilege configuration register PRIVCFGR: mmio.Mmio(packed struct(u32) { - /// Security enable on event input x + /// Security enable on event input x PRIV: u1, padding: u31, }), reserved96: [68]u8, - /// Configuration register + /// Configuration register EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI configuration bits + /// EXTI configuration bits EXTI: u8, padding: u24, }), - /// EXTI lock register + /// EXTI lock register LOCKRG: mmio.Mmio(packed struct(u32) { - /// LOCK + /// LOCK LOCK: u1, padding: u31, }), reserved128: [12]u8, - /// Interrupt mask register + /// Interrupt mask register IMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Event mask register + /// Event mask register EMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), @@ -330235,41 +328573,41 @@ pub const types = struct { }; pub const exti_v1 = struct { - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI = extern struct { - /// Interrupt mask register + /// Interrupt mask register IMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Interrupt mask register + /// Interrupt mask register EMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Rising Trigger selection register + /// Rising Trigger selection register RTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Falling Trigger selection register + /// Falling Trigger selection register FTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Software interrupt event register + /// Software interrupt event register SWIER: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Pending register + /// Pending register PR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), @@ -330277,91 +328615,91 @@ pub const types = struct { }; pub const exti_w = struct { - /// CPU-specific registers + /// CPU-specific registers pub const CPU = extern struct { - /// CPU x interrupt mask register + /// CPU x interrupt mask register IMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// CPU x event mask register + /// CPU x event mask register EMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), }; - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI = extern struct { - /// rising trigger selection register + /// rising trigger selection register RTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// falling trigger selection register + /// falling trigger selection register FTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// software interrupt event register + /// software interrupt event register SWIER: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// EXTI pending register + /// EXTI pending register PR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), reserved128: [112]u8, - /// CPU specific registers + /// CPU specific registers CPU: u32, }; }; pub const exti_wle = struct { - /// External interrupt/event controller + /// External interrupt/event controller pub const EXTI = extern struct { - /// Rising Trigger selection register + /// Rising Trigger selection register RTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Falling Trigger selection register + /// Falling Trigger selection register FTSR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Software interrupt event register + /// Software interrupt event register SWIER: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Pending register + /// Pending register PR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), reserved128: [112]u8, - /// Interrupt mask register + /// Interrupt mask register IMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), - /// Event mask register + /// Event mask register EMR: mmio.Mmio(packed struct(u32) { - /// EXTI line + /// EXTI line LINE: u1, padding: u31, }), @@ -330369,283 +328707,268 @@ pub const types = struct { }; pub const fdcanram_h7 = struct { - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM = extern struct { - /// FDCAN Message RAM + /// FDCAN Message RAM RAM: [2560]u32, }; }; pub const fdcanram_v1 = struct { - /// FDCAN Message RAM + /// FDCAN Message RAM pub const FDCANRAM = extern struct { - /// 11-bit filter + /// 11-bit filter FLSSA: [28]u32, - /// 29-bit filter + /// 29-bit filter FLESA: [16]u32, - /// Rx FIFO 0 + /// Rx FIFO 0 RXFIFO0: [54]u32, - /// Rx FIFO 1 + /// Rx FIFO 1 RXFIFO1: [54]u32, - /// Tx event FIFO + /// Tx event FIFO TXEFIFO: [6]u32, - /// Tx buffer + /// Tx buffer TXBUF: [54]u32, }; }; pub const flash_c0 = struct { pub const BORF_LEV = enum(u2) { - /// BOR falling level 1 with threshold around 2.0V + /// BOR falling level 1 with threshold around 2.0V FALLING_0 = 0x0, - /// BOR falling level 2 with threshold around 2.2V + /// BOR falling level 2 with threshold around 2.2V FALLING_1 = 0x1, - /// BOR falling level 3 with threshold around 2.5V + /// BOR falling level 3 with threshold around 2.5V FALLING_2 = 0x2, - /// BOR falling level 4 with threshold around 2.8V + /// BOR falling level 4 with threshold around 2.8V FALLING_3 = 0x3, }; pub const BORR_LEV = enum(u2) { - /// BOR rising level 1 with threshold around 2.1V + /// BOR rising level 1 with threshold around 2.1V RISING_0 = 0x0, - /// BOR rising level 2 with threshold around 2.3V + /// BOR rising level 2 with threshold around 2.3V RISING_1 = 0x1, - /// BOR rising level 3 with threshold around 2.6V + /// BOR rising level 3 with threshold around 2.6V RISING_2 = 0x2, - /// BOR rising level 4 with threshold around 2.9V + /// BOR rising level 4 with threshold around 2.9V RISING_3 = 0x3, }; pub const LATENCY = enum(u3) { - /// Zero wait states + /// Zero wait states WS0 = 0x0, - /// One wait state + /// One wait state WS1 = 0x1, _, }; pub const NRST_MODE = enum(u2) { - /// Reset pin is in reset input mode only + /// Reset pin is in reset input mode only INPUT_ONLY = 0x1, - /// Reset pin is in GPIO mode only + /// Reset pin is in GPIO mode only GPIO = 0x2, - /// Reset pin is in resety input and output mode + /// Reset pin is in resety input and output mode INPUT_OUTPUT = 0x3, _, }; pub const RDP = enum(u8) { - /// Read protection not active + /// Read protection not active LEVEL_0 = 0xaa, - /// Memories read protection active + /// Memories read protection active LEVEL_1 = 0xbb, - /// Chip read protection active + /// Chip read protection active LEVEL_2 = 0xcc, _, }; - /// Flash + /// Flash pub const FLASH = extern struct { - /// Access control register + /// Access control register ACR: mmio.Mmio(packed struct(u32) { - /// Latency - LATENCY: packed union { - raw: u3, - value: LATENCY, - }, + /// Latency + LATENCY: LATENCY, reserved8: u5, - /// Prefetch enable + /// Prefetch enable PRFTEN: u1, - /// Instruction cache enable + /// Instruction cache enable ICEN: u1, reserved11: u1, - /// Instruction cache reset + /// Instruction cache reset ICRST: u1, reserved16: u4, - /// Flash User area empty + /// Flash User area empty EMPTY: u1, reserved18: u1, - /// Debug access software enable + /// Debug access software enable DBG_SWEN: u1, padding: u13, }), reserved8: [4]u8, - /// Flash key register + /// Flash key register KEYR: u32, - /// Option byte key register + /// Option byte key register OPTKEYR: u32, - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// End of operation + /// End of operation EOP: u1, - /// Operation error + /// Operation error OPERR: u1, reserved3: u1, - /// Programming error + /// Programming error PROGERR: u1, - /// Write protected error + /// Write protected error WRPERR: u1, - /// Programming alignment error + /// Programming alignment error PGAERR: u1, - /// Size error + /// Size error SIZERR: u1, - /// Programming sequence error + /// Programming sequence error PGSERR: u1, - /// Fast programming data miss error + /// Fast programming data miss error MISERR: u1, - /// Fast programming error + /// Fast programming error FASTERR: u1, reserved14: u4, - /// PCROP read error + /// PCROP read error RDERR: u1, - /// Option and Engineering bits loading validity error + /// Option and Engineering bits loading validity error OPTVERR: u1, - /// Busy + /// Busy BSY: u1, reserved18: u1, - /// Programming or erase configuration busy. + /// Programming or erase configuration busy. CFGBSY: u1, padding: u13, }), - /// Flash control register + /// Flash control register CR: mmio.Mmio(packed struct(u32) { - /// Programming + /// Programming PG: u1, - /// Page erase + /// Page erase PER: u1, - /// Mass erase + /// Mass erase MER: u1, - /// Page number + /// Page number PNB: u4, reserved16: u9, - /// Start + /// Start STRT: u1, - /// Options modification start + /// Options modification start OPTSTRT: u1, - /// Fast programming + /// Fast programming FSTPG: u1, reserved24: u5, - /// End of operation interrupt enable + /// End of operation interrupt enable EOPIE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, - /// PCROP read error interrupt enable + /// PCROP read error interrupt enable RDERRIE: u1, - /// Force the option byte loading + /// Force the option byte loading OBL_LAUNCH: u1, - /// Securable memory area protection enable + /// Securable memory area protection enable SEC_PROT: u1, reserved30: u1, - /// Options Lock + /// Options Lock OPTLOCK: u1, - /// FLASH_CR Lock + /// FLASH_CR Lock LOCK: u1, }), reserved32: [8]u8, - /// Flash option register + /// Flash option register OPTR: mmio.Mmio(packed struct(u32) { - /// Read protection level - RDP: packed union { - raw: u8, - value: RDP, - }, - /// BOR reset Level + /// Read protection level + RDP: RDP, + /// BOR reset Level BOREN: u1, - /// These bits contain the VDD supply level threshold that activates the reset - BORF_LEV: packed union { - raw: u2, - value: BORF_LEV, - }, - /// These bits contain the VDD supply level threshold that releases the reset. - BORR_LEV: packed union { - raw: u2, - value: BORR_LEV, - }, - /// nRST_STOP + /// These bits contain the VDD supply level threshold that activates the reset + BORF_LEV: BORF_LEV, + /// These bits contain the VDD supply level threshold that releases the reset. + BORR_LEV: BORR_LEV, + /// nRST_STOP nRST_STOP: u1, - /// nRST_STDBY + /// nRST_STDBY nRST_STDBY: u1, - /// nRSTS_HDW + /// nRSTS_HDW nRSTS_HDW: u1, - /// Independent watchdog selection + /// Independent watchdog selection IDWG_SW: u1, - /// Independent watchdog counter freeze in Stop mode + /// Independent watchdog counter freeze in Stop mode IWDG_STOP: u1, - /// Independent watchdog counter freeze in Standby mode + /// Independent watchdog counter freeze in Standby mode IWDG_STDBY: u1, - /// Window watchdog selection + /// Window watchdog selection WWDG_SW: u1, reserved22: u2, - /// SRAM parity check control + /// SRAM parity check control RAM_PARITY_CHECK: u1, reserved24: u1, - /// nBOOT_SEL + /// nBOOT_SEL nBOOT_SEL: u1, - /// Boot configuration + /// Boot configuration nBOOT1: u1, - /// nBOOT0 option bit + /// nBOOT0 option bit nBOOT0: u1, - /// NRST_MODE - NRST_MODE: packed union { - raw: u2, - value: NRST_MODE, - }, - /// Internal reset holder enable bit + /// NRST_MODE + NRST_MODE: NRST_MODE, + /// Internal reset holder enable bit IRHEN: u1, padding: u2, }), - /// Flash PCROP zone A Start address register + /// Flash PCROP zone A Start address register PCROP1ASR: mmio.Mmio(packed struct(u32) { - /// PCROP1A area start offset + /// PCROP1A area start offset PCROP1A_STRT: u6, padding: u26, }), - /// Flash PCROP zone A End address register + /// Flash PCROP zone A End address register PCROP1AER: mmio.Mmio(packed struct(u32) { - /// PCROP1A area end offset + /// PCROP1A area end offset PCROP1A_END: u6, reserved31: u25, - /// PCROP area preserved when RDP level decreased + /// PCROP area preserved when RDP level decreased PCROP_RDP: u1, }), - /// Flash WRP area A address register + /// Flash WRP area A address register WRP1AR: mmio.Mmio(packed struct(u32) { - /// WRP area A start offset + /// WRP area A start offset WRP1A_STRT: u6, reserved16: u10, - /// WRP area A end offset + /// WRP area A end offset WRP1A_END: u6, padding: u10, }), - /// Flash WRP area B address register + /// Flash WRP area B address register WRP1BR: mmio.Mmio(packed struct(u32) { - /// WRP area B start offset + /// WRP area B start offset WRP1B_STRT: u6, reserved16: u10, - /// WRP area B end offset + /// WRP area B end offset WRP1B_END: u6, padding: u10, }), - /// Flash PCROP zone B Start address register + /// Flash PCROP zone B Start address register PCROP1BSR: mmio.Mmio(packed struct(u32) { - /// PCROP1B area start offset + /// PCROP1B area start offset PCROP1B_STRT: u6, padding: u26, }), - /// Flash PCROP zone B End address register + /// Flash PCROP zone B End address register PCROP1BER: mmio.Mmio(packed struct(u32) { - /// PCROP1B area end offset + /// PCROP1B area end offset PCROP1B_END: u6, padding: u26, }), reserved128: [68]u8, - /// Flash Security register + /// Flash Security register SECR: mmio.Mmio(packed struct(u32) { - /// Securable memory area size + /// Securable memory area size SEC_SIZE: u5, reserved16: u11, - /// used to force boot from user area + /// used to force boot from user area BOOT_LOCK: u1, padding: u15, }), @@ -330654,176 +328977,155 @@ pub const types = struct { pub const flash_f0 = struct { pub const BOOT_SEL = enum(u1) { - /// BOOT0 signal is defined by nBOOT0 option bit + /// BOOT0 signal is defined by nBOOT0 option bit nBOOT0 = 0x0, - /// BOOT0 signal is defined by BOOT0 pin value (legacy mode) + /// BOOT0 signal is defined by BOOT0 pin value (legacy mode) BOOT0 = 0x1, }; pub const LATENCY = enum(u3) { - /// 0 wait states + /// 0 wait states WS0 = 0x0, - /// 1 wait state + /// 1 wait state WS1 = 0x1, _, }; pub const RAM_PARITY_CHECK = enum(u1) { - /// RAM parity check enabled + /// RAM parity check enabled Enabled = 0x0, - /// RAM parity check disabled + /// RAM parity check disabled Disabled = 0x1, }; pub const RDPRT = enum(u2) { - /// Level 0 + /// Level 0 Level0 = 0x0, - /// Level 1 + /// Level 1 Level1 = 0x1, - /// Level 2 + /// Level 2 Level2 = 0x3, _, }; pub const WDG_SW = enum(u1) { - /// Hardware watchdog + /// Hardware watchdog Hardware = 0x0, - /// Software watchdog + /// Software watchdog Software = 0x1, }; pub const nRST_STDBY = enum(u1) { - /// Reset generated when entering Standby mode + /// Reset generated when entering Standby mode Reset = 0x0, - /// No reset generated + /// No reset generated NoReset = 0x1, }; pub const nRST_STOP = enum(u1) { - /// Reset generated when entering Stop mode + /// Reset generated when entering Stop mode Reset = 0x0, - /// No reset generated + /// No reset generated NoReset = 0x1, }; - /// Flash + /// Flash pub const FLASH = extern struct { - /// Flash access control register + /// Flash access control register ACR: mmio.Mmio(packed struct(u32) { - /// LATENCY - LATENCY: packed union { - raw: u3, - value: LATENCY, - }, + /// LATENCY + LATENCY: LATENCY, reserved4: u1, - /// Prefetch buffer enable + /// Prefetch buffer enable PRFTBE: u1, - /// Prefetch buffer status + /// Prefetch buffer status PRFTBS: u1, padding: u26, }), - /// Flash key register + /// Flash key register KEYR: u32, - /// Flash option key register + /// Flash option key register OPTKEYR: u32, - /// Flash status register + /// Flash status register SR: mmio.Mmio(packed struct(u32) { - /// Busy + /// Busy BSY: u1, reserved2: u1, - /// Programming error + /// Programming error PGERR: u1, reserved4: u1, - /// Write protection error + /// Write protection error WRPRT: u1, - /// End of operation + /// End of operation EOP: u1, padding: u26, }), - /// Flash control register + /// Flash control register CR: mmio.Mmio(packed struct(u32) { - /// Programming + /// Programming PG: u1, - /// Page erase + /// Page erase PER: u1, - /// Mass erase + /// Mass erase MER: u1, reserved4: u1, - /// Option byte programming + /// Option byte programming OPTPG: u1, - /// Option byte erase + /// Option byte erase OPTER: u1, - /// Start + /// Start STRT: u1, - /// Lock + /// Lock LOCK: u1, reserved9: u1, - /// Option bytes write enable + /// Option bytes write enable OPTWRE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, reserved12: u1, - /// End of operation interrupt enable + /// End of operation interrupt enable EOPIE: u1, - /// Force option byte loading + /// Force option byte loading FORCE_OPTLOAD: u1, padding: u18, }), - /// Flash address register + /// Flash address register AR: mmio.Mmio(packed struct(u32) { - /// Flash address + /// Flash address FAR: u32, }), reserved28: [4]u8, - /// Option byte register + /// Option byte register OBR: mmio.Mmio(packed struct(u32) { - /// Option byte error + /// Option byte error OPTERR: u1, - /// Read protection level status - RDPRT: packed union { - raw: u2, - value: RDPRT, - }, + /// Read protection level status + RDPRT: RDPRT, reserved8: u5, - /// WDG_SW - WDG_SW: packed union { - raw: u1, - value: WDG_SW, - }, - /// nRST_STOP - nRST_STOP: packed union { - raw: u1, - value: nRST_STOP, - }, - /// nRST_STDBY - nRST_STDBY: packed union { - raw: u1, - value: nRST_STDBY, - }, - /// nBOOT0 + /// WDG_SW + WDG_SW: WDG_SW, + /// nRST_STOP + nRST_STOP: nRST_STOP, + /// nRST_STDBY + nRST_STDBY: nRST_STDBY, + /// nBOOT0 nBOOT0: u1, - /// BOOT1 + /// BOOT1 nBOOT1: u1, - /// VDDA power supply supervisor enabled + /// VDDA power supply supervisor enabled VDDA_MONITOR: u1, - /// RAM_PARITY_CHECK - RAM_PARITY_CHECK: packed union { - raw: u1, - value: RAM_PARITY_CHECK, - }, - /// BOOT_SEL - BOOT_SEL: packed union { - raw: u1, - value: BOOT_SEL, - }, - /// Data0 + /// RAM_PARITY_CHECK + RAM_PARITY_CHECK: RAM_PARITY_CHECK, + /// BOOT_SEL + BOOT_SEL: BOOT_SEL, + /// Data0 Data0: u8, - /// Data1 + /// Data1 Data1: u8, }), - /// Write protection register + /// Write protection register WRPR: mmio.Mmio(packed struct(u32) { - /// Write protect + /// Write protect WRP: u32, }), }; @@ -330831,105 +329133,102 @@ pub const types = struct { pub const flash_f1 = struct { pub const LATENCY = enum(u3) { - /// Zero wait state, if 0 < SYSCLK≤ 24 MHz + /// Zero wait state, if 0 < SYSCLK≤ 24 MHz WS0 = 0x0, - /// One wait state, if 24 MHz < SYSCLK ≤ 48 MHz + /// One wait state, if 24 MHz < SYSCLK ≤ 48 MHz WS1 = 0x1, - /// Two wait states, if 48 MHz < SYSCLK ≤ 72 MHz + /// Two wait states, if 48 MHz < SYSCLK ≤ 72 MHz WS2 = 0x2, _, }; - /// FLASH + /// FLASH pub const FLASH = extern struct { - /// Flash access control register + /// Flash access control register ACR: mmio.Mmio(packed struct(u32) { - /// Latency - LATENCY: packed union { - raw: u3, - value: LATENCY, - }, - /// Flash half cycle access enable + /// Latency + LATENCY: LATENCY, + /// Flash half cycle access enable HLFCYA: u1, - /// Prefetch buffer enable + /// Prefetch buffer enable PRFTBE: u1, - /// Prefetch buffer status + /// Prefetch buffer status PRFTBS: u1, padding: u26, }), - /// Flash key register + /// Flash key register KEYR: u32, - /// Flash option key register + /// Flash option key register OPTKEYR: u32, - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Busy + /// Busy BSY: u1, reserved2: u1, - /// Programming error + /// Programming error PGERR: u1, reserved4: u1, - /// Write protection error + /// Write protection error WRPRTERR: u1, - /// End of operation + /// End of operation EOP: u1, padding: u26, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Programming + /// Programming PG: u1, - /// Page Erase + /// Page Erase PER: u1, - /// Mass Erase + /// Mass Erase MER: u1, reserved4: u1, - /// Option byte programming + /// Option byte programming OPTPG: u1, - /// Option byte erase + /// Option byte erase OPTER: u1, - /// Start + /// Start STRT: u1, - /// Lock + /// Lock LOCK: u1, reserved9: u1, - /// Option bytes write enable + /// Option bytes write enable OPTWRE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, reserved12: u1, - /// End of operation interrupt enable + /// End of operation interrupt enable EOPIE: u1, padding: u19, }), - /// Flash address register + /// Flash address register AR: mmio.Mmio(packed struct(u32) { - /// Flash Address + /// Flash Address FAR: u32, }), reserved28: [4]u8, - /// Option byte register + /// Option byte register OBR: mmio.Mmio(packed struct(u32) { - /// Option byte error + /// Option byte error OPTERR: u1, - /// Read protection + /// Read protection RDPRT: u1, - /// WDG_SW + /// WDG_SW WDG_SW: u1, - /// nRST_STOP + /// nRST_STOP nRST_STOP: u1, - /// nRST_STDBY + /// nRST_STDBY nRST_STDBY: u1, reserved10: u5, - /// Data0 + /// Data0 Data0: u8, - /// Data1 + /// Data1 Data1: u8, padding: u6, }), - /// Write protection register + /// Write protection register WRPR: mmio.Mmio(packed struct(u32) { - /// Write protect + /// Write protect WRP: u32, }), }; @@ -330937,127 +329236,121 @@ pub const types = struct { pub const flash_f2 = struct { pub const LATENCY = enum(u3) { - /// 0 wait states + /// 0 wait states WS0 = 0x0, - /// 1 wait states + /// 1 wait states WS1 = 0x1, - /// 2 wait states + /// 2 wait states WS2 = 0x2, - /// 3 wait states + /// 3 wait states WS3 = 0x3, - /// 4 wait states + /// 4 wait states WS4 = 0x4, - /// 5 wait states + /// 5 wait states WS5 = 0x5, - /// 6 wait states + /// 6 wait states WS6 = 0x6, - /// 7 wait states + /// 7 wait states WS7 = 0x7, }; pub const PSIZE = enum(u2) { - /// Program x8 + /// Program x8 PSIZE8 = 0x0, - /// Program x16 + /// Program x16 PSIZE16 = 0x1, - /// Program x32 + /// Program x32 PSIZE32 = 0x2, - /// Program x64 + /// Program x64 PSIZE64 = 0x3, }; - /// FLASH + /// FLASH pub const FLASH = extern struct { - /// Flash access control register + /// Flash access control register ACR: mmio.Mmio(packed struct(u32) { - /// Latency - LATENCY: packed union { - raw: u3, - value: LATENCY, - }, + /// Latency + LATENCY: LATENCY, reserved8: u5, - /// Prefetch enable + /// Prefetch enable PRFTEN: u1, - /// Instruction cache enable + /// Instruction cache enable ICEN: u1, - /// Data cache enable + /// Data cache enable DCEN: u1, - /// Instruction cache reset + /// Instruction cache reset ICRST: u1, - /// Data cache reset + /// Data cache reset DCRST: u1, padding: u19, }), - /// Flash key register + /// Flash key register KEYR: u32, - /// Flash option key register + /// Flash option key register OPTKEYR: u32, - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// End of operation + /// End of operation EOP: u1, - /// Operation error + /// Operation error OPERR: u1, reserved4: u2, - /// Write protection error + /// Write protection error WRPERR: u1, - /// Programming alignment error + /// Programming alignment error PGAERR: u1, - /// Programming parallelism error + /// Programming parallelism error PGPERR: u1, - /// Programming sequence error + /// Programming sequence error PGSERR: u1, reserved16: u8, - /// Busy + /// Busy BSY: u1, padding: u15, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Programming + /// Programming PG: u1, - /// Sector Erase + /// Sector Erase SER: u1, - /// Mass Erase + /// Mass Erase MER: u1, - /// Sector number + /// Sector number SNB: u4, reserved8: u1, - /// Program size - PSIZE: packed union { - raw: u2, - value: PSIZE, - }, + /// Program size + PSIZE: PSIZE, reserved16: u6, - /// Start + /// Start STRT: u1, reserved24: u7, - /// End of operation interrupt enable + /// End of operation interrupt enable EOPIE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, reserved31: u5, - /// Lock + /// Lock LOCK: u1, }), - /// Flash option control register + /// Flash option control register OPTCR: mmio.Mmio(packed struct(u32) { - /// Option lock + /// Option lock OPTLOCK: u1, - /// Option start + /// Option start OPTSTRT: u1, - /// BOR reset Level + /// BOR reset Level BOR_LEV: u2, reserved5: u1, - /// WDG_SW User option bytes + /// WDG_SW User option bytes WDG_SW: u1, - /// nRST_STOP User option bytes + /// nRST_STOP User option bytes nRST_STOP: u1, - /// nRST_STDBY User option bytes + /// nRST_STDBY User option bytes nRST_STDBY: u1, - /// Read protect + /// Read protect RDP: u8, - /// Not write protect + /// Not write protect nWRP: u12, padding: u4, }), @@ -331066,158 +329359,143 @@ pub const types = struct { pub const flash_f3 = struct { pub const LATENCY = enum(u3) { - /// 0 wait states, if 0 < HCLK <= 24 MHz + /// 0 wait states, if 0 < HCLK <= 24 MHz WS0 = 0x0, - /// 1 wait state, if 24 < HCLK <= 48 MHz + /// 1 wait state, if 24 < HCLK <= 48 MHz WS1 = 0x1, - /// 2 wait states, if 48 < HCLK <= 72 MHz + /// 2 wait states, if 48 < HCLK <= 72 MHz WS2 = 0x2, _, }; pub const RDPRT = enum(u2) { - /// Level 0 + /// Level 0 Level0 = 0x0, - /// Level 1 + /// Level 1 Level1 = 0x1, - /// Level 2 + /// Level 2 Level2 = 0x3, _, }; pub const WDG_SW = enum(u1) { - /// Hardware watchdog + /// Hardware watchdog Hardware = 0x0, - /// Software watchdog + /// Software watchdog Software = 0x1, }; pub const nRST_STDBY = enum(u1) { - /// Reset generated when entering Standby mode + /// Reset generated when entering Standby mode Reset = 0x0, - /// No reset generated + /// No reset generated NoReset = 0x1, }; pub const nRST_STOP = enum(u1) { - /// Reset generated when entering Stop mode + /// Reset generated when entering Stop mode Reset = 0x0, - /// No reset generated + /// No reset generated NoReset = 0x1, }; - /// Flash + /// Flash pub const FLASH = extern struct { - /// Flash access control register + /// Flash access control register ACR: mmio.Mmio(packed struct(u32) { - /// LATENCY - LATENCY: packed union { - raw: u3, - value: LATENCY, - }, - /// Flash half cycle access enable + /// LATENCY + LATENCY: LATENCY, + /// Flash half cycle access enable HLFCYA: u1, - /// PRFTBE + /// PRFTBE PRFTBE: u1, - /// PRFTBS + /// PRFTBS PRFTBS: u1, padding: u26, }), - /// Flash key register + /// Flash key register KEYR: u32, - /// Flash option key register + /// Flash option key register OPTKEYR: u32, - /// Flash status register + /// Flash status register SR: mmio.Mmio(packed struct(u32) { - /// Busy + /// Busy BSY: u1, reserved2: u1, - /// Programming error + /// Programming error PGERR: u1, reserved4: u1, - /// Write protection error + /// Write protection error WRPRTERR: u1, - /// End of operation + /// End of operation EOP: u1, padding: u26, }), - /// Flash control register + /// Flash control register CR: mmio.Mmio(packed struct(u32) { - /// Programming + /// Programming PG: u1, - /// Page erase + /// Page erase PER: u1, - /// Mass erase + /// Mass erase MER: u1, reserved4: u1, - /// Option byte programming + /// Option byte programming OPTPG: u1, - /// Option byte erase + /// Option byte erase OPTER: u1, - /// Start + /// Start STRT: u1, - /// Lock + /// Lock LOCK: u1, reserved9: u1, - /// Option bytes write enable + /// Option bytes write enable OPTWRE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, reserved12: u1, - /// End of operation interrupt enable + /// End of operation interrupt enable EOPIE: u1, - /// Force option byte loading + /// Force option byte loading OBL_LAUNCH: u1, padding: u18, }), - /// Flash address register + /// Flash address register AR: mmio.Mmio(packed struct(u32) { - /// Flash address + /// Flash address FAR: u32, }), reserved28: [4]u8, - /// Option byte register + /// Option byte register OBR: mmio.Mmio(packed struct(u32) { - /// Option byte error + /// Option byte error OPTERR: u1, - /// Read protection Level status - RDPRT: packed union { - raw: u2, - value: RDPRT, - }, + /// Read protection Level status + RDPRT: RDPRT, reserved8: u5, - /// WDG_SW - WDG_SW: packed union { - raw: u1, - value: WDG_SW, - }, - /// nRST_STOP - nRST_STOP: packed union { - raw: u1, - value: nRST_STOP, - }, - /// nRST_STDBY - nRST_STDBY: packed union { - raw: u1, - value: nRST_STDBY, - }, + /// WDG_SW + WDG_SW: WDG_SW, + /// nRST_STOP + nRST_STOP: nRST_STOP, + /// nRST_STDBY + nRST_STDBY: nRST_STDBY, reserved12: u1, - /// BOOT1 + /// BOOT1 nBOOT1: u1, - /// VDDA_MONITOR + /// VDDA_MONITOR VDDA_MONITOR: u1, - /// SRAM_PARITY_CHECK + /// SRAM_PARITY_CHECK SRAM_PARITY_CHECK: u1, - /// SDADC12_VDD_MONITOR + /// SDADC12_VDD_MONITOR SDADC12_VDD_MONITOR: u1, - /// Data0 + /// Data0 Data0: u8, - /// Data1 + /// Data1 Data1: u8, }), - /// Write protection register + /// Write protection register WRPR: mmio.Mmio(packed struct(u32) { - /// Write protect + /// Write protect WRP: u32, }), }; @@ -331225,147 +329503,141 @@ pub const types = struct { pub const flash_f4 = struct { pub const LATENCY = enum(u4) { - /// 0 wait states + /// 0 wait states WS0 = 0x0, - /// 1 wait states + /// 1 wait states WS1 = 0x1, - /// 2 wait states + /// 2 wait states WS2 = 0x2, - /// 3 wait states + /// 3 wait states WS3 = 0x3, - /// 4 wait states + /// 4 wait states WS4 = 0x4, - /// 5 wait states + /// 5 wait states WS5 = 0x5, - /// 6 wait states + /// 6 wait states WS6 = 0x6, - /// 7 wait states + /// 7 wait states WS7 = 0x7, - /// 8 wait states + /// 8 wait states WS8 = 0x8, - /// 9 wait states + /// 9 wait states WS9 = 0x9, - /// 10 wait states + /// 10 wait states WS10 = 0xa, - /// 11 wait states + /// 11 wait states WS11 = 0xb, - /// 12 wait states + /// 12 wait states WS12 = 0xc, - /// 13 wait states + /// 13 wait states WS13 = 0xd, - /// 14 wait states + /// 14 wait states WS14 = 0xe, - /// 15 wait states + /// 15 wait states WS15 = 0xf, }; pub const PSIZE = enum(u2) { - /// Program x8 + /// Program x8 PSIZE8 = 0x0, - /// Program x16 + /// Program x16 PSIZE16 = 0x1, - /// Program x32 + /// Program x32 PSIZE32 = 0x2, - /// Program x64 + /// Program x64 PSIZE64 = 0x3, }; - /// FLASH + /// FLASH pub const FLASH = extern struct { - /// Flash access control register + /// Flash access control register ACR: mmio.Mmio(packed struct(u32) { - /// Latency - LATENCY: packed union { - raw: u4, - value: LATENCY, - }, + /// Latency + LATENCY: LATENCY, reserved8: u4, - /// Prefetch enable + /// Prefetch enable PRFTEN: u1, - /// Instruction cache enable + /// Instruction cache enable ICEN: u1, - /// Data cache enable + /// Data cache enable DCEN: u1, - /// Instruction cache reset + /// Instruction cache reset ICRST: u1, - /// Data cache reset + /// Data cache reset DCRST: u1, padding: u19, }), - /// Flash key register + /// Flash key register KEYR: u32, - /// Flash option key register + /// Flash option key register OPTKEYR: u32, - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// End of operation + /// End of operation EOP: u1, - /// Operation error + /// Operation error OPERR: u1, reserved4: u2, - /// Write protection error + /// Write protection error WRPERR: u1, - /// Programming alignment error + /// Programming alignment error PGAERR: u1, - /// Programming parallelism error + /// Programming parallelism error PGPERR: u1, - /// Programming sequence error + /// Programming sequence error PGSERR: u1, reserved16: u8, - /// Busy + /// Busy BSY: u1, padding: u15, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Programming + /// Programming PG: u1, - /// Sector Erase + /// Sector Erase SER: u1, - /// Mass Erase + /// Mass Erase MER: u1, - /// Sector number + /// Sector number SNB: u5, - /// Program size - PSIZE: packed union { - raw: u2, - value: PSIZE, - }, + /// Program size + PSIZE: PSIZE, reserved16: u6, - /// Start + /// Start STRT: u1, reserved24: u7, - /// End of operation interrupt enable + /// End of operation interrupt enable EOPIE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, reserved31: u5, - /// Lock + /// Lock LOCK: u1, }), - /// Flash option control register + /// Flash option control register OPTCR: mmio.Mmio(packed struct(u32) { - /// Option lock + /// Option lock OPTLOCK: u1, - /// Option start + /// Option start OPTSTRT: u1, - /// BOR reset Level + /// BOR reset Level BOR_LEV: u2, reserved5: u1, - /// WDG_SW User option bytes + /// WDG_SW User option bytes WDG_SW: u1, - /// nRST_STOP User option bytes + /// nRST_STOP User option bytes nRST_STOP: u1, - /// nRST_STDBY User option bytes + /// nRST_STDBY User option bytes nRST_STDBY: u1, - /// Read protect + /// Read protect RDP: u8, - /// Not write protect + /// Not write protect nWRP: u12, reserved30: u2, - /// Dual-bank enable on 1 Mbyte Flash memory devices + /// Dual-bank enable on 1 Mbyte Flash memory devices DB1M: u1, - /// Selection of protection mode for nWPRi bits + /// Selection of protection mode for nWPRi bits SPRMOD: u1, }), }; @@ -331373,169 +329645,163 @@ pub const types = struct { pub const flash_f7 = struct { pub const LATENCY = enum(u4) { - /// 0 wait states + /// 0 wait states WS0 = 0x0, - /// 1 wait states + /// 1 wait states WS1 = 0x1, - /// 2 wait states + /// 2 wait states WS2 = 0x2, - /// 3 wait states + /// 3 wait states WS3 = 0x3, - /// 4 wait states + /// 4 wait states WS4 = 0x4, - /// 5 wait states + /// 5 wait states WS5 = 0x5, - /// 6 wait states + /// 6 wait states WS6 = 0x6, - /// 7 wait states + /// 7 wait states WS7 = 0x7, - /// 8 wait states + /// 8 wait states WS8 = 0x8, - /// 9 wait states + /// 9 wait states WS9 = 0x9, - /// 10 wait states + /// 10 wait states WS10 = 0xa, - /// 11 wait states + /// 11 wait states WS11 = 0xb, - /// 12 wait states + /// 12 wait states WS12 = 0xc, - /// 13 wait states + /// 13 wait states WS13 = 0xd, - /// 14 wait states + /// 14 wait states WS14 = 0xe, - /// 15 wait states + /// 15 wait states WS15 = 0xf, }; pub const PSIZE = enum(u2) { - /// Program x8 + /// Program x8 PSIZE8 = 0x0, - /// Program x16 + /// Program x16 PSIZE16 = 0x1, - /// Program x32 + /// Program x32 PSIZE32 = 0x2, - /// Program x64 + /// Program x64 PSIZE64 = 0x3, }; - /// FLASH + /// FLASH pub const FLASH = extern struct { - /// Flash access control register + /// Flash access control register ACR: mmio.Mmio(packed struct(u32) { - /// Latency - LATENCY: packed union { - raw: u4, - value: LATENCY, - }, + /// Latency + LATENCY: LATENCY, reserved8: u4, - /// Prefetch enable + /// Prefetch enable PRFTEN: u1, - /// ART Accelerator Enable + /// ART Accelerator Enable ARTEN: u1, reserved11: u1, - /// ART Accelerator reset + /// ART Accelerator reset ARTRST: u1, padding: u20, }), - /// Flash key register + /// Flash key register KEYR: u32, - /// Flash option key register + /// Flash option key register OPTKEYR: u32, - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// End of operation + /// End of operation EOP: u1, - /// Operation error + /// Operation error OPERR: u1, reserved4: u2, - /// Write protection error + /// Write protection error WRPERR: u1, - /// Programming alignment error + /// Programming alignment error PGAERR: u1, - /// Programming parallelism error + /// Programming parallelism error PGPERR: u1, - /// Erase Sequence Error + /// Erase Sequence Error ERSERR: u1, - /// RDERR + /// RDERR RDERR: u1, reserved16: u7, - /// Busy + /// Busy BSY: u1, padding: u15, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Programming + /// Programming PG: u1, - /// Sector Erase + /// Sector Erase SER: u1, - /// Mass Erase of sectors 0 to 11 + /// Mass Erase of sectors 0 to 11 MER: u1, - /// Sector number + /// Sector number SNB: u4, reserved8: u1, - /// Program size - PSIZE: packed union { - raw: u2, - value: PSIZE, - }, + /// Program size + PSIZE: PSIZE, reserved16: u6, - /// Start + /// Start STRT: u1, reserved24: u7, - /// End of operation interrupt enable + /// End of operation interrupt enable EOPIE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, - /// PCROP error interrupt enable + /// PCROP error interrupt enable RDERRIE: u1, reserved31: u4, - /// Lock + /// Lock LOCK: u1, }), - /// Flash option control register + /// Flash option control register OPTCR: mmio.Mmio(packed struct(u32) { - /// Option lock + /// Option lock OPTLOCK: u1, - /// Option start + /// Option start OPTSTRT: u1, - /// BOR reset Level + /// BOR reset Level BOR_LEV: u2, - /// User option bytes + /// User option bytes WWDG_SW: u1, - /// WDG_SW User option bytes + /// WDG_SW User option bytes IWDG_SW: u1, - /// nRST_STOP User option bytes + /// nRST_STOP User option bytes nRST_STOP: u1, - /// nRST_STDBY User option bytes + /// nRST_STDBY User option bytes nRST_STDBY: u1, - /// Read protect + /// Read protect RDP: u8, - /// Not write protect + /// Not write protect nWRP: u8, reserved28: u4, - /// Dual Boot mode (valid only when nDBANK=0) + /// Dual Boot mode (valid only when nDBANK=0) nDBOOT: u1, - /// Not dual bank mode + /// Not dual bank mode nDBANK: u1, - /// Independent watchdog counter freeze in standby mode + /// Independent watchdog counter freeze in standby mode IWDG_STDBY: u1, - /// Independent watchdog counter freeze in Stop mode + /// Independent watchdog counter freeze in Stop mode IWDG_STOP: u1, }), - /// Flash option control register 1 + /// Flash option control register 1 OPTCR1: mmio.Mmio(packed struct(u32) { - /// Boot base address when Boot pin =0 + /// Boot base address when Boot pin =0 BOOT_ADD0: u16, - /// Boot base address when Boot pin =1 + /// Boot base address when Boot pin =1 BOOT_ADD1: u16, }), - /// Flash option control register + /// Flash option control register OPTCR2: mmio.Mmio(packed struct(u32) { - /// PCROP option byte + /// PCROP option byte PCROPi: u8, reserved31: u23, - /// PCROP zone preserved when RDP level decreased + /// PCROP zone preserved when RDP level decreased PCROP_RDP: u1, }), }; @@ -331543,274 +329809,259 @@ pub const types = struct { pub const flash_g0 = struct { pub const BORF_LEV = enum(u2) { - /// BOR falling level 1 with threshold around 2.0V + /// BOR falling level 1 with threshold around 2.0V FALLING_0 = 0x0, - /// BOR falling level 2 with threshold around 2.2V + /// BOR falling level 2 with threshold around 2.2V FALLING_1 = 0x1, - /// BOR falling level 3 with threshold around 2.5V + /// BOR falling level 3 with threshold around 2.5V FALLING_2 = 0x2, - /// BOR falling level 4 with threshold around 2.8V + /// BOR falling level 4 with threshold around 2.8V FALLING_3 = 0x3, }; pub const BORR_LEV = enum(u2) { - /// BOR rising level 1 with threshold around 2.1V + /// BOR rising level 1 with threshold around 2.1V RISING_0 = 0x0, - /// BOR rising level 2 with threshold around 2.3V + /// BOR rising level 2 with threshold around 2.3V RISING_1 = 0x1, - /// BOR rising level 3 with threshold around 2.6V + /// BOR rising level 3 with threshold around 2.6V RISING_2 = 0x2, - /// BOR rising level 4 with threshold around 2.9V + /// BOR rising level 4 with threshold around 2.9V RISING_3 = 0x3, }; pub const LATENCY = enum(u3) { - /// Zero wait states + /// Zero wait states WS0 = 0x0, - /// One wait state + /// One wait state WS1 = 0x1, - /// Two wait states + /// Two wait states WS2 = 0x2, _, }; pub const NRST_MODE = enum(u2) { - /// Reset pin is in reset input mode only + /// Reset pin is in reset input mode only INPUT_ONLY = 0x1, - /// Reset pin is in GPIO mode only + /// Reset pin is in GPIO mode only GPIO = 0x2, - /// Reset pin is in resety input and output mode + /// Reset pin is in resety input and output mode INPUT_OUTPUT = 0x3, _, }; pub const RDP = enum(u8) { - /// Read protection not active + /// Read protection not active LEVEL_0 = 0xaa, - /// Memories read protection active + /// Memories read protection active LEVEL_1 = 0xbb, - /// Chip read protection active + /// Chip read protection active LEVEL_2 = 0xcc, _, }; - /// Flash + /// Flash pub const FLASH = extern struct { - /// Access control register + /// Access control register ACR: mmio.Mmio(packed struct(u32) { - /// Latency - LATENCY: packed union { - raw: u3, - value: LATENCY, - }, + /// Latency + LATENCY: LATENCY, reserved8: u5, - /// Prefetch enable + /// Prefetch enable PRFTEN: u1, - /// Instruction cache enable + /// Instruction cache enable ICEN: u1, reserved11: u1, - /// Instruction cache reset + /// Instruction cache reset ICRST: u1, reserved16: u4, - /// Flash User area empty + /// Flash User area empty EMPTY: u1, reserved18: u1, - /// Debug access software enable + /// Debug access software enable DBG_SWEN: u1, padding: u13, }), reserved8: [4]u8, - /// Flash key register + /// Flash key register KEYR: u32, - /// Option byte key register + /// Option byte key register OPTKEYR: u32, - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// End of operation + /// End of operation EOP: u1, - /// Operation error + /// Operation error OPERR: u1, reserved3: u1, - /// Programming error + /// Programming error PROGERR: u1, - /// Write protected error + /// Write protected error WRPERR: u1, - /// Programming alignment error + /// Programming alignment error PGAERR: u1, - /// Size error + /// Size error SIZERR: u1, - /// Programming sequence error + /// Programming sequence error PGSERR: u1, - /// Fast programming data miss error + /// Fast programming data miss error MISERR: u1, - /// Fast programming error + /// Fast programming error FASTERR: u1, reserved14: u4, - /// PCROP read error + /// PCROP read error RDERR: u1, - /// Option and Engineering bits loading validity error + /// Option and Engineering bits loading validity error OPTVERR: u1, - /// Busy + /// Busy BSY: u1, reserved18: u1, - /// Programming or erase configuration busy. + /// Programming or erase configuration busy. CFGBSY: u1, padding: u13, }), - /// Flash control register + /// Flash control register CR: mmio.Mmio(packed struct(u32) { - /// Programming + /// Programming PG: u1, - /// Page erase + /// Page erase PER: u1, - /// Mass erase + /// Mass erase MER: u1, - /// Page number + /// Page number PNB: u6, reserved16: u7, - /// Start + /// Start STRT: u1, - /// Options modification start + /// Options modification start OPTSTRT: u1, - /// Fast programming + /// Fast programming FSTPG: u1, reserved24: u5, - /// End of operation interrupt enable + /// End of operation interrupt enable EOPIE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, - /// PCROP read error interrupt enable + /// PCROP read error interrupt enable RDERRIE: u1, - /// Force the option byte loading + /// Force the option byte loading OBL_LAUNCH: u1, - /// Securable memory area protection enable + /// Securable memory area protection enable SEC_PROT: u1, reserved30: u1, - /// Options Lock + /// Options Lock OPTLOCK: u1, - /// FLASH_CR Lock + /// FLASH_CR Lock LOCK: u1, }), - /// Flash ECC register + /// Flash ECC register ECCR: mmio.Mmio(packed struct(u32) { - /// ECC fail address + /// ECC fail address ADDR_ECC: u14, reserved20: u6, - /// ECC fail for Corrected ECC Error or Double ECC Error in info block + /// ECC fail for Corrected ECC Error or Double ECC Error in info block SYSF_ECC: u1, reserved24: u3, - /// ECC correction interrupt enable + /// ECC correction interrupt enable ECCIE: u1, reserved30: u5, - /// ECC correction + /// ECC correction ECCC: u1, - /// ECC detection + /// ECC detection ECCD: u1, }), reserved32: [4]u8, - /// Flash option register + /// Flash option register OPTR: mmio.Mmio(packed struct(u32) { - /// Read protection level - RDP: packed union { - raw: u8, - value: RDP, - }, - /// BOR reset Level + /// Read protection level + RDP: RDP, + /// BOR reset Level BOREN: u1, - /// These bits contain the VDD supply level threshold that activates the reset - BORF_LEV: packed union { - raw: u2, - value: BORF_LEV, - }, - /// These bits contain the VDD supply level threshold that releases the reset. - BORR_LEV: packed union { - raw: u2, - value: BORR_LEV, - }, - /// nRST_STOP + /// These bits contain the VDD supply level threshold that activates the reset + BORF_LEV: BORF_LEV, + /// These bits contain the VDD supply level threshold that releases the reset. + BORR_LEV: BORR_LEV, + /// nRST_STOP nRST_STOP: u1, - /// nRST_STDBY + /// nRST_STDBY nRST_STDBY: u1, - /// nRSTS_HDW + /// nRSTS_HDW nRSTS_HDW: u1, - /// Independent watchdog selection + /// Independent watchdog selection IDWG_SW: u1, - /// Independent watchdog counter freeze in Stop mode + /// Independent watchdog counter freeze in Stop mode IWDG_STOP: u1, - /// Independent watchdog counter freeze in Standby mode + /// Independent watchdog counter freeze in Standby mode IWDG_STDBY: u1, - /// Window watchdog selection + /// Window watchdog selection WWDG_SW: u1, reserved22: u2, - /// SRAM parity check control + /// SRAM parity check control RAM_PARITY_CHECK: u1, reserved24: u1, - /// nBOOT_SEL + /// nBOOT_SEL nBOOT_SEL: u1, - /// Boot configuration + /// Boot configuration nBOOT1: u1, - /// nBOOT0 option bit + /// nBOOT0 option bit nBOOT0: u1, - /// NRST_MODE - NRST_MODE: packed union { - raw: u2, - value: NRST_MODE, - }, - /// Internal reset holder enable bit + /// NRST_MODE + NRST_MODE: NRST_MODE, + /// Internal reset holder enable bit IRHEN: u1, padding: u2, }), - /// Flash PCROP zone A Start address register + /// Flash PCROP zone A Start address register PCROP1ASR: mmio.Mmio(packed struct(u32) { - /// PCROP1A area start offset + /// PCROP1A area start offset PCROP1A_STRT: u8, padding: u24, }), - /// Flash PCROP zone A End address register + /// Flash PCROP zone A End address register PCROP1AER: mmio.Mmio(packed struct(u32) { - /// PCROP1A area end offset + /// PCROP1A area end offset PCROP1A_END: u8, reserved31: u23, - /// PCROP area preserved when RDP level decreased + /// PCROP area preserved when RDP level decreased PCROP_RDP: u1, }), - /// Flash WRP area A address register + /// Flash WRP area A address register WRP1AR: mmio.Mmio(packed struct(u32) { - /// WRP area A start offset + /// WRP area A start offset WRP1A_STRT: u6, reserved16: u10, - /// WRP area A end offset + /// WRP area A end offset WRP1A_END: u6, padding: u10, }), - /// Flash WRP area B address register + /// Flash WRP area B address register WRP1BR: mmio.Mmio(packed struct(u32) { - /// WRP area B start offset + /// WRP area B start offset WRP1B_STRT: u6, reserved16: u10, - /// WRP area B end offset + /// WRP area B end offset WRP1B_END: u6, padding: u10, }), - /// Flash PCROP zone B Start address register + /// Flash PCROP zone B Start address register PCROP1BSR: mmio.Mmio(packed struct(u32) { - /// PCROP1B area start offset + /// PCROP1B area start offset PCROP1B_STRT: u8, padding: u24, }), - /// Flash PCROP zone B End address register + /// Flash PCROP zone B End address register PCROP1BER: mmio.Mmio(packed struct(u32) { - /// PCROP1B area end offset + /// PCROP1B area end offset PCROP1B_END: u8, padding: u24, }), reserved128: [68]u8, - /// Flash Security register + /// Flash Security register SECR: mmio.Mmio(packed struct(u32) { - /// Securable memory area size + /// Securable memory area size SEC_SIZE: u7, reserved16: u9, - /// used to force boot from user area + /// used to force boot from user area BOOT_LOCK: u1, padding: u15, }), @@ -331819,245 +330070,236 @@ pub const types = struct { pub const flash_g4c2 = struct { pub const LATENCY = enum(u4) { - /// Zero wait states + /// Zero wait states WS0 = 0x0, - /// One wait state + /// One wait state WS1 = 0x1, - /// Two wait states + /// Two wait states WS2 = 0x2, - /// Three wait states + /// Three wait states WS3 = 0x3, - /// Four wait states + /// Four wait states WS4 = 0x4, _, }; pub const NRST_MODE = enum(u2) { - /// Reset pin is in reset input mode only + /// Reset pin is in reset input mode only INPUT_ONLY = 0x1, - /// Reset pin is in GPIO mode only + /// Reset pin is in GPIO mode only GPIO = 0x2, - /// Reset pin is in reset input and output mode + /// Reset pin is in reset input and output mode INPUT_OUTPUT = 0x3, _, }; pub const RDP = enum(u8) { - /// Read protection not active + /// Read protection not active LEVEL_0 = 0xaa, - /// Memories read protection active + /// Memories read protection active LEVEL_1 = 0xbb, - /// Chip read protection active + /// Chip read protection active LEVEL_2 = 0xcc, _, }; - /// Flash + /// Flash pub const FLASH = extern struct { - /// Access control register + /// Access control register ACR: mmio.Mmio(packed struct(u32) { - /// Latency - LATENCY: packed union { - raw: u4, - value: LATENCY, - }, + /// Latency + LATENCY: LATENCY, reserved8: u4, - /// Prefetch enable + /// Prefetch enable PRFTEN: u1, - /// Instruction cache enable + /// Instruction cache enable ICEN: u1, - /// Data cache enable + /// Data cache enable DCEN: u1, - /// Instruction cache reset + /// Instruction cache reset ICRST: u1, - /// Data cache reset + /// Data cache reset DCRST: u1, - /// Flash Power-down mode during Low-power run mode + /// Flash Power-down mode during Low-power run mode RUN_PD: u1, - /// Flash Power-down mode during Low-power sleep mode + /// Flash Power-down mode during Low-power sleep mode SLEEP_PD: u1, reserved18: u3, - /// Debug software enable + /// Debug software enable DBG_SWEN: u1, padding: u13, }), - /// Power down key register + /// Power down key register PDKEYR: u32, - /// Flash key register + /// Flash key register KEYR: u32, - /// Option byte key register + /// Option byte key register OPTKEYR: u32, - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// End of operation + /// End of operation EOP: u1, - /// Operation error + /// Operation error OPERR: u1, reserved3: u1, - /// Programming error + /// Programming error PROGERR: u1, - /// Write protected error + /// Write protected error WRPERR: u1, - /// Programming alignment error + /// Programming alignment error PGAERR: u1, - /// Size error + /// Size error SIZERR: u1, - /// Programming sequence error + /// Programming sequence error PGSERR: u1, - /// Fast programming data miss error + /// Fast programming data miss error MISERR: u1, - /// Fast programming error + /// Fast programming error FASTERR: u1, reserved14: u4, - /// PCROP read error + /// PCROP read error RDERR: u1, - /// Option validity error + /// Option validity error OPTVERR: u1, - /// Busy + /// Busy BSY: u1, padding: u15, }), - /// Flash control register + /// Flash control register CR: mmio.Mmio(packed struct(u32) { - /// Programming + /// Programming PG: u1, - /// Page erase + /// Page erase PER: u1, - /// Bank 1 Mass erase + /// Bank 1 Mass erase MER1: u1, - /// Page number + /// Page number PNB: u7, reserved16: u6, - /// Start + /// Start STRT: u1, - /// Options modification start + /// Options modification start OPTSTRT: u1, - /// Fast programming + /// Fast programming FSTPG: u1, reserved24: u5, - /// End of operation interrupt enable + /// End of operation interrupt enable EOPIE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, - /// PCROP read error interrupt enable + /// PCROP read error interrupt enable RDERRIE: u1, - /// Force the option byte loading + /// Force the option byte loading OBL_LAUNCH: u1, - /// Securable memory area protection enable + /// Securable memory area protection enable SEC_PROT1: u1, reserved30: u1, - /// Options Lock + /// Options Lock OPTLOCK: u1, - /// FLASH_CR Lock + /// FLASH_CR Lock LOCK: u1, }), - /// Flash ECC register + /// Flash ECC register ECCR: mmio.Mmio(packed struct(u32) { - /// ECC fail address + /// ECC fail address ADDR_ECC: u19, reserved21: u2, - /// ECC fail for Corrected ECC Error or Double ECC Error in info block + /// ECC fail for Corrected ECC Error or Double ECC Error in info block BK_ECC: u1, - /// ECC fail for Corrected ECC Error or Double ECC Error in info block + /// ECC fail for Corrected ECC Error or Double ECC Error in info block SYSF_ECC: u1, reserved24: u1, - /// ECC correction interrupt enable + /// ECC correction interrupt enable ECCIE: u1, reserved28: u3, - /// ECC correction + /// ECC correction ECCC2: u1, - /// ECC2 detection + /// ECC2 detection ECCD2: u1, - /// ECC correction + /// ECC correction ECCC: u1, - /// ECC detection + /// ECC detection ECCD: u1, }), reserved32: [4]u8, - /// Flash option register + /// Flash option register OPTR: mmio.Mmio(packed struct(u32) { - /// Read protection level - RDP: packed union { - raw: u8, - value: RDP, - }, - /// BOR reset Level + /// Read protection level + RDP: RDP, + /// BOR reset Level BOR_LEV: u3, reserved12: u1, - /// nRST_STOP + /// nRST_STOP nRST_STOP: u1, - /// nRST_STDBY + /// nRST_STDBY nRST_STDBY: u1, - /// nRST_SHDW + /// nRST_SHDW nRST_SHDW: u1, reserved16: u1, - /// Independent watchdog selection + /// Independent watchdog selection IDWG_SW: u1, - /// Independent watchdog counter freeze in Stop mode + /// Independent watchdog counter freeze in Stop mode IWDG_STOP: u1, - /// Independent watchdog counter freeze in Standby mode + /// Independent watchdog counter freeze in Standby mode IWDG_STDBY: u1, - /// Window watchdog selection + /// Window watchdog selection WWDG_SW: u1, reserved23: u3, - /// Boot configuration + /// Boot configuration nBOOT1: u1, - /// SRAM2 parity check enable + /// SRAM2 parity check enable SRAM2_PE: u1, - /// SRAM2 Erase when system reset + /// SRAM2 Erase when system reset SRAM2_RST: u1, - /// nSWBOOT0 + /// nSWBOOT0 nSWBOOT0: u1, - /// nBOOT0 option bit + /// nBOOT0 option bit nBOOT0: u1, - /// NRST_MODE - NRST_MODE: packed union { - raw: u2, - value: NRST_MODE, - }, - /// Internal reset holder enable bit + /// NRST_MODE + NRST_MODE: NRST_MODE, + /// Internal reset holder enable bit IRHEN: u1, padding: u1, }), - /// Flash Bank 1 PCROP Start address register + /// Flash Bank 1 PCROP Start address register PCROP1SR: mmio.Mmio(packed struct(u32) { - /// Bank 1 PCROP area start offset + /// Bank 1 PCROP area start offset PCROP1_STRT: u15, padding: u17, }), - /// Flash Bank 1 PCROP End address register + /// Flash Bank 1 PCROP End address register PCROP1ER: mmio.Mmio(packed struct(u32) { - /// Bank 1 PCROP area end offset + /// Bank 1 PCROP area end offset PCROP1_END: u15, reserved31: u16, - /// PCROP area preserved when RDP level decreased + /// PCROP area preserved when RDP level decreased PCROP_RDP: u1, }), - /// Flash Bank 1 WRP area A address register + /// Flash Bank 1 WRP area A address register WRP1AR: mmio.Mmio(packed struct(u32) { - /// Bank 1 WRP first area start offset + /// Bank 1 WRP first area start offset WRP1A_STRT: u7, reserved16: u9, - /// Bank 1 WRP first area A end offset + /// Bank 1 WRP first area A end offset WRP1A_END: u7, padding: u9, }), - /// Flash Bank 1 WRP area B address register + /// Flash Bank 1 WRP area B address register WRP1BR: mmio.Mmio(packed struct(u32) { - /// Bank 1 WRP second area B end offset + /// Bank 1 WRP second area B end offset WRP1B_STRT: u7, reserved16: u9, - /// Bank 1 WRP second area B start offset + /// Bank 1 WRP second area B start offset WRP1B_END: u7, padding: u9, }), reserved112: [60]u8, - /// securable area bank1 register + /// securable area bank1 register SEC1R: mmio.Mmio(packed struct(u32) { - /// SEC_SIZE1 + /// SEC_SIZE1 SEC_SIZE1: u8, reserved16: u8, - /// used to force boot from user area + /// used to force boot from user area BOOT_LOCK: u1, padding: u15, }), @@ -332066,251 +330308,242 @@ pub const types = struct { pub const flash_g4c3 = struct { pub const LATENCY = enum(u4) { - /// Zero wait states + /// Zero wait states WS0 = 0x0, - /// One wait state + /// One wait state WS1 = 0x1, - /// Two wait states + /// Two wait states WS2 = 0x2, - /// Three wait states + /// Three wait states WS3 = 0x3, - /// Four wait states + /// Four wait states WS4 = 0x4, _, }; pub const NRST_MODE = enum(u2) { - /// Reset pin is in reset input mode only + /// Reset pin is in reset input mode only INPUT_ONLY = 0x1, - /// Reset pin is in GPIO mode only + /// Reset pin is in GPIO mode only GPIO = 0x2, - /// Reset pin is in reset input and output mode + /// Reset pin is in reset input and output mode INPUT_OUTPUT = 0x3, _, }; pub const RDP = enum(u8) { - /// Read protection not active + /// Read protection not active LEVEL_0 = 0xaa, - /// Memories read protection active + /// Memories read protection active LEVEL_1 = 0xbb, - /// Chip read protection active + /// Chip read protection active LEVEL_2 = 0xcc, _, }; - /// Flash + /// Flash pub const FLASH = extern struct { - /// Access control register + /// Access control register ACR: mmio.Mmio(packed struct(u32) { - /// Latency - LATENCY: packed union { - raw: u4, - value: LATENCY, - }, + /// Latency + LATENCY: LATENCY, reserved8: u4, - /// Prefetch enable + /// Prefetch enable PRFTEN: u1, - /// Instruction cache enable + /// Instruction cache enable ICEN: u1, - /// Data cache enable + /// Data cache enable DCEN: u1, - /// Instruction cache reset + /// Instruction cache reset ICRST: u1, - /// Data cache reset + /// Data cache reset DCRST: u1, - /// Flash Power-down mode during Low-power run mode + /// Flash Power-down mode during Low-power run mode RUN_PD: u1, - /// Flash Power-down mode during Low-power sleep mode + /// Flash Power-down mode during Low-power sleep mode SLEEP_PD: u1, reserved18: u3, - /// Debug software enable + /// Debug software enable DBG_SWEN: u1, padding: u13, }), - /// Power down key register + /// Power down key register PDKEYR: u32, - /// Flash key register + /// Flash key register KEYR: u32, - /// Option byte key register + /// Option byte key register OPTKEYR: u32, - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// End of operation + /// End of operation EOP: u1, - /// Operation error + /// Operation error OPERR: u1, reserved3: u1, - /// Programming error + /// Programming error PROGERR: u1, - /// Write protected error + /// Write protected error WRPERR: u1, - /// Programming alignment error + /// Programming alignment error PGAERR: u1, - /// Size error + /// Size error SIZERR: u1, - /// Programming sequence error + /// Programming sequence error PGSERR: u1, - /// Fast programming data miss error + /// Fast programming data miss error MISERR: u1, - /// Fast programming error + /// Fast programming error FASTERR: u1, reserved14: u4, - /// PCROP read error + /// PCROP read error RDERR: u1, - /// Option validity error + /// Option validity error OPTVERR: u1, - /// Busy + /// Busy BSY: u1, padding: u15, }), - /// Flash control register + /// Flash control register CR: mmio.Mmio(packed struct(u32) { - /// Programming + /// Programming PG: u1, - /// Page erase + /// Page erase PER: u1, - /// Bank 1 Mass erase + /// Bank 1 Mass erase MER1: u1, - /// Page number + /// Page number PNB: u7, reserved15: u5, - /// Bank 2 Mass erase + /// Bank 2 Mass erase MER2: u1, - /// Start + /// Start STRT: u1, - /// Options modification start + /// Options modification start OPTSTRT: u1, - /// Fast programming + /// Fast programming FSTPG: u1, reserved24: u5, - /// End of operation interrupt enable + /// End of operation interrupt enable EOPIE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, - /// PCROP read error interrupt enable + /// PCROP read error interrupt enable RDERRIE: u1, - /// Force the option byte loading + /// Force the option byte loading OBL_LAUNCH: u1, - /// Securable memory area protection enable + /// Securable memory area protection enable SEC_PROT1: u1, reserved30: u1, - /// Options Lock + /// Options Lock OPTLOCK: u1, - /// FLASH_CR Lock + /// FLASH_CR Lock LOCK: u1, }), - /// Flash ECC register + /// Flash ECC register ECCR: mmio.Mmio(packed struct(u32) { - /// ECC fail address + /// ECC fail address ADDR_ECC: u19, reserved21: u2, - /// ECC fail for Corrected ECC Error or Double ECC Error in info block + /// ECC fail for Corrected ECC Error or Double ECC Error in info block BK_ECC: u1, - /// ECC fail for Corrected ECC Error or Double ECC Error in info block + /// ECC fail for Corrected ECC Error or Double ECC Error in info block SYSF_ECC: u1, reserved24: u1, - /// ECC correction interrupt enable + /// ECC correction interrupt enable ECCIE: u1, reserved28: u3, - /// ECC correction + /// ECC correction ECCC2: u1, - /// ECC2 detection + /// ECC2 detection ECCD2: u1, - /// ECC correction + /// ECC correction ECCC: u1, - /// ECC detection + /// ECC detection ECCD: u1, }), reserved32: [4]u8, - /// Flash option register + /// Flash option register OPTR: mmio.Mmio(packed struct(u32) { - /// Read protection level - RDP: packed union { - raw: u8, - value: RDP, - }, - /// BOR reset Level + /// Read protection level + RDP: RDP, + /// BOR reset Level BOR_LEV: u3, reserved12: u1, - /// nRST_STOP + /// nRST_STOP nRST_STOP: u1, - /// nRST_STDBY + /// nRST_STDBY nRST_STDBY: u1, - /// nRST_SHDW + /// nRST_SHDW nRST_SHDW: u1, reserved16: u1, - /// Independent watchdog selection + /// Independent watchdog selection IDWG_SW: u1, - /// Independent watchdog counter freeze in Stop mode + /// Independent watchdog counter freeze in Stop mode IWDG_STOP: u1, - /// Independent watchdog counter freeze in Standby mode + /// Independent watchdog counter freeze in Standby mode IWDG_STDBY: u1, - /// Window watchdog selection + /// Window watchdog selection WWDG_SW: u1, - /// Dual bank boot + /// Dual bank boot BFB2: u1, reserved22: u1, - /// Dual bank memory mode + /// Dual bank memory mode DBANK: u1, - /// Boot configuration + /// Boot configuration nBOOT1: u1, - /// SRAM2 parity check enable + /// SRAM2 parity check enable SRAM2_PE: u1, - /// SRAM2 Erase when system reset + /// SRAM2 Erase when system reset SRAM2_RST: u1, - /// nSWBOOT0 + /// nSWBOOT0 nSWBOOT0: u1, - /// nBOOT0 option bit + /// nBOOT0 option bit nBOOT0: u1, - /// NRST_MODE - NRST_MODE: packed union { - raw: u2, - value: NRST_MODE, - }, - /// Internal reset holder enable bit + /// NRST_MODE + NRST_MODE: NRST_MODE, + /// Internal reset holder enable bit IRHEN: u1, padding: u1, }), - /// Flash Bank 1 PCROP Start address register + /// Flash Bank 1 PCROP Start address register PCROP1SR: mmio.Mmio(packed struct(u32) { - /// Bank 1 PCROP area start offset + /// Bank 1 PCROP area start offset PCROP1_STRT: u15, padding: u17, }), - /// Flash Bank 1 PCROP End address register + /// Flash Bank 1 PCROP End address register PCROP1ER: mmio.Mmio(packed struct(u32) { - /// Bank 1 PCROP area end offset + /// Bank 1 PCROP area end offset PCROP1_END: u15, reserved31: u16, - /// PCROP area preserved when RDP level decreased + /// PCROP area preserved when RDP level decreased PCROP_RDP: u1, }), - /// Flash Bank 1 WRP area A address register + /// Flash Bank 1 WRP area A address register WRP1AR: mmio.Mmio(packed struct(u32) { - /// Bank 1 WRP first area start offset + /// Bank 1 WRP first area start offset WRP1A_STRT: u7, reserved16: u9, - /// Bank 1 WRP first area A end offset + /// Bank 1 WRP first area A end offset WRP1A_END: u7, padding: u9, }), - /// Flash Bank 1 WRP area B address register + /// Flash Bank 1 WRP area B address register WRP1BR: mmio.Mmio(packed struct(u32) { - /// Bank 1 WRP second area B end offset + /// Bank 1 WRP second area B end offset WRP1B_STRT: u7, reserved16: u9, - /// Bank 1 WRP second area B start offset + /// Bank 1 WRP second area B start offset WRP1B_END: u7, padding: u9, }), reserved112: [60]u8, - /// securable area bank1 register + /// securable area bank1 register SEC1R: mmio.Mmio(packed struct(u32) { - /// SEC_SIZE1 + /// SEC_SIZE1 SEC_SIZE1: u8, reserved16: u8, - /// used to force boot from user area + /// used to force boot from user area BOOT_LOCK: u1, padding: u15, }), @@ -332319,247 +330552,238 @@ pub const types = struct { pub const flash_g4c4 = struct { pub const LATENCY = enum(u4) { - /// Zero wait states + /// Zero wait states WS0 = 0x0, - /// One wait state + /// One wait state WS1 = 0x1, - /// Two wait states + /// Two wait states WS2 = 0x2, - /// Three wait states + /// Three wait states WS3 = 0x3, - /// Four wait states + /// Four wait states WS4 = 0x4, _, }; pub const NRST_MODE = enum(u2) { - /// Reset pin is in reset input mode only + /// Reset pin is in reset input mode only INPUT_ONLY = 0x1, - /// Reset pin is in GPIO mode only + /// Reset pin is in GPIO mode only GPIO = 0x2, - /// Reset pin is in reset input and output mode + /// Reset pin is in reset input and output mode INPUT_OUTPUT = 0x3, _, }; pub const RDP = enum(u8) { - /// Read protection not active + /// Read protection not active LEVEL_0 = 0xaa, - /// Memories read protection active + /// Memories read protection active LEVEL_1 = 0xbb, - /// Chip read protection active + /// Chip read protection active LEVEL_2 = 0xcc, _, }; - /// Flash + /// Flash pub const FLASH = extern struct { - /// Access control register + /// Access control register ACR: mmio.Mmio(packed struct(u32) { - /// Latency - LATENCY: packed union { - raw: u4, - value: LATENCY, - }, + /// Latency + LATENCY: LATENCY, reserved8: u4, - /// Prefetch enable + /// Prefetch enable PRFTEN: u1, - /// Instruction cache enable + /// Instruction cache enable ICEN: u1, - /// Data cache enable + /// Data cache enable DCEN: u1, - /// Instruction cache reset + /// Instruction cache reset ICRST: u1, - /// Data cache reset + /// Data cache reset DCRST: u1, - /// Flash Power-down mode during Low-power run mode + /// Flash Power-down mode during Low-power run mode RUN_PD: u1, - /// Flash Power-down mode during Low-power sleep mode + /// Flash Power-down mode during Low-power sleep mode SLEEP_PD: u1, reserved18: u3, - /// Debug software enable + /// Debug software enable DBG_SWEN: u1, padding: u13, }), - /// Power down key register + /// Power down key register PDKEYR: u32, - /// Flash key register + /// Flash key register KEYR: u32, - /// Option byte key register + /// Option byte key register OPTKEYR: u32, - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// End of operation + /// End of operation EOP: u1, - /// Operation error + /// Operation error OPERR: u1, reserved3: u1, - /// Programming error + /// Programming error PROGERR: u1, - /// Write protected error + /// Write protected error WRPERR: u1, - /// Programming alignment error + /// Programming alignment error PGAERR: u1, - /// Size error + /// Size error SIZERR: u1, - /// Programming sequence error + /// Programming sequence error PGSERR: u1, - /// Fast programming data miss error + /// Fast programming data miss error MISERR: u1, - /// Fast programming error + /// Fast programming error FASTERR: u1, reserved14: u4, - /// PCROP read error + /// PCROP read error RDERR: u1, - /// Option validity error + /// Option validity error OPTVERR: u1, - /// Busy + /// Busy BSY: u1, padding: u15, }), - /// Flash control register + /// Flash control register CR: mmio.Mmio(packed struct(u32) { - /// Programming + /// Programming PG: u1, - /// Page erase + /// Page erase PER: u1, - /// Bank 1 Mass erase + /// Bank 1 Mass erase MER1: u1, - /// Page number + /// Page number PNB: u7, reserved16: u6, - /// Start + /// Start STRT: u1, - /// Options modification start + /// Options modification start OPTSTRT: u1, - /// Fast programming + /// Fast programming FSTPG: u1, reserved24: u5, - /// End of operation interrupt enable + /// End of operation interrupt enable EOPIE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, - /// PCROP read error interrupt enable + /// PCROP read error interrupt enable RDERRIE: u1, - /// Force the option byte loading + /// Force the option byte loading OBL_LAUNCH: u1, - /// Securable memory area protection enable + /// Securable memory area protection enable SEC_PROT1: u1, reserved30: u1, - /// Options Lock + /// Options Lock OPTLOCK: u1, - /// FLASH_CR Lock + /// FLASH_CR Lock LOCK: u1, }), - /// Flash ECC register + /// Flash ECC register ECCR: mmio.Mmio(packed struct(u32) { - /// ECC fail address + /// ECC fail address ADDR_ECC: u19, reserved21: u2, - /// ECC fail for Corrected ECC Error or Double ECC Error in info block + /// ECC fail for Corrected ECC Error or Double ECC Error in info block BK_ECC: u1, - /// ECC fail for Corrected ECC Error or Double ECC Error in info block + /// ECC fail for Corrected ECC Error or Double ECC Error in info block SYSF_ECC: u1, reserved24: u1, - /// ECC correction interrupt enable + /// ECC correction interrupt enable ECCIE: u1, reserved28: u3, - /// ECC correction + /// ECC correction ECCC2: u1, - /// ECC2 detection + /// ECC2 detection ECCD2: u1, - /// ECC correction + /// ECC correction ECCC: u1, - /// ECC detection + /// ECC detection ECCD: u1, }), reserved32: [4]u8, - /// Flash option register + /// Flash option register OPTR: mmio.Mmio(packed struct(u32) { - /// Read protection level - RDP: packed union { - raw: u8, - value: RDP, - }, - /// BOR reset Level + /// Read protection level + RDP: RDP, + /// BOR reset Level BOR_LEV: u3, reserved12: u1, - /// nRST_STOP + /// nRST_STOP nRST_STOP: u1, - /// nRST_STDBY + /// nRST_STDBY nRST_STDBY: u1, - /// nRST_SHDW + /// nRST_SHDW nRST_SHDW: u1, reserved16: u1, - /// Independent watchdog selection + /// Independent watchdog selection IDWG_SW: u1, - /// Independent watchdog counter freeze in Stop mode + /// Independent watchdog counter freeze in Stop mode IWDG_STOP: u1, - /// Independent watchdog counter freeze in Standby mode + /// Independent watchdog counter freeze in Standby mode IWDG_STDBY: u1, - /// Window watchdog selection + /// Window watchdog selection WWDG_SW: u1, reserved22: u2, - /// PB4 pull-up enable + /// PB4 pull-up enable PB4_PUPEN: u1, - /// Boot configuration + /// Boot configuration nBOOT1: u1, - /// SRAM2 parity check enable + /// SRAM2 parity check enable SRAM2_PE: u1, - /// SRAM2 Erase when system reset + /// SRAM2 Erase when system reset SRAM2_RST: u1, - /// nSWBOOT0 + /// nSWBOOT0 nSWBOOT0: u1, - /// nBOOT0 option bit + /// nBOOT0 option bit nBOOT0: u1, - /// NRST_MODE - NRST_MODE: packed union { - raw: u2, - value: NRST_MODE, - }, - /// Internal reset holder enable bit + /// NRST_MODE + NRST_MODE: NRST_MODE, + /// Internal reset holder enable bit IRHEN: u1, padding: u1, }), - /// Flash Bank 1 PCROP Start address register + /// Flash Bank 1 PCROP Start address register PCROP1SR: mmio.Mmio(packed struct(u32) { - /// Bank 1 PCROP area start offset + /// Bank 1 PCROP area start offset PCROP1_STRT: u15, padding: u17, }), - /// Flash Bank 1 PCROP End address register + /// Flash Bank 1 PCROP End address register PCROP1ER: mmio.Mmio(packed struct(u32) { - /// Bank 1 PCROP area end offset + /// Bank 1 PCROP area end offset PCROP1_END: u15, reserved31: u16, - /// PCROP area preserved when RDP level decreased + /// PCROP area preserved when RDP level decreased PCROP_RDP: u1, }), - /// Flash Bank 1 WRP area A address register + /// Flash Bank 1 WRP area A address register WRP1AR: mmio.Mmio(packed struct(u32) { - /// Bank 1 WRP first area start offset + /// Bank 1 WRP first area start offset WRP1A_STRT: u7, reserved16: u9, - /// Bank 1 WRP first area A end offset + /// Bank 1 WRP first area A end offset WRP1A_END: u7, padding: u9, }), - /// Flash Bank 1 WRP area B address register + /// Flash Bank 1 WRP area B address register WRP1BR: mmio.Mmio(packed struct(u32) { - /// Bank 1 WRP second area B end offset + /// Bank 1 WRP second area B end offset WRP1B_STRT: u7, reserved16: u9, - /// Bank 1 WRP second area B start offset + /// Bank 1 WRP second area B start offset WRP1B_END: u7, padding: u9, }), reserved112: [60]u8, - /// securable area bank1 register + /// securable area bank1 register SEC1R: mmio.Mmio(packed struct(u32) { - /// SEC_SIZE1 + /// SEC_SIZE1 SEC_SIZE1: u8, reserved16: u8, - /// used to force boot from user area + /// used to force boot from user area BOOT_LOCK: u1, padding: u15, }), @@ -332568,1056 +330792,888 @@ pub const types = struct { pub const flash_h5 = struct { pub const BOOTR_SECBOOT_LOCK = enum(u8) { - /// The BOOT_UBE and SECBOOTADD are frozen. SWAP_BANK can only be modified with TZEN set to 0xC3 (disabled). + /// The BOOT_UBE and SECBOOTADD are frozen. SWAP_BANK can only be modified with TZEN set to 0xC3 (disabled). B_0xB4 = 0xb4, - /// The BOOT_UBE, SWAP_ BANK and SECBOOTADD can still be modified following their individual rules. + /// The BOOT_UBE, SWAP_ BANK and SECBOOTADD can still be modified following their individual rules. B_0xC3 = 0xc3, _, }; pub const CODE_OP = enum(u3) { - /// No flash operation on going during previous reset + /// No flash operation on going during previous reset B_0x0 = 0x0, - /// Single write operation interrupted + /// Single write operation interrupted B_0x1 = 0x1, - /// OBK alternate sector erase + /// OBK alternate sector erase B_0x2 = 0x2, - /// Sector erase operation interrupted + /// Sector erase operation interrupted B_0x3 = 0x3, - /// Bank erase operation interrupted + /// Bank erase operation interrupted B_0x4 = 0x4, - /// Mass erase operation interrupted + /// Mass erase operation interrupted B_0x5 = 0x5, - /// Option change operation interrupted + /// Option change operation interrupted B_0x6 = 0x6, - /// OBK swap sector request + /// OBK swap sector request B_0x7 = 0x7, }; pub const NSBOOTR_NSBOOT_LOCK = enum(u8) { - /// The NSBOOTADD is frozen. SWAP_ BANK can only be modified with TZEN set to 0xB4 (enabled). + /// The NSBOOTADD is frozen. SWAP_ BANK can only be modified with TZEN set to 0xB4 (enabled). B_0xB4 = 0xb4, - /// The SWAP_ BANK and NSBOOTADD can still be modified following their individual rules. + /// The SWAP_ BANK and NSBOOTADD can still be modified following their individual rules. B_0xC3 = 0xc3, _, }; pub const NSCR_BKSEL = enum(u1) { - /// Bank1 is selected for Bank erase / sector erase / interrupt enable + /// Bank1 is selected for Bank erase / sector erase / interrupt enable B_0x0 = 0x0, - /// Bank2 is selected for BER / SER + /// Bank2 is selected for BER / SER B_0x1 = 0x1, }; pub const NSPRIV = enum(u1) { - /// access to non secure registers is always granted + /// access to non secure registers is always granted B_0x0 = 0x0, - /// access to non secure registers is denied in case of unprivileged access. + /// access to non secure registers is denied in case of unprivileged access. B_0x1 = 0x1, }; pub const OPTCR_SWAP_BANK = enum(u1) { - /// Bank1 and Bank2 not swapped + /// Bank1 and Bank2 not swapped B_0x0 = 0x0, - /// Bank1 and Bank2 swapped + /// Bank1 and Bank2 swapped B_0x1 = 0x1, }; pub const OPTSR_BKPRAM_ECC = enum(u1) { - /// BKPRAM ECC check enabled + /// BKPRAM ECC check enabled B_0x0 = 0x0, - /// BKPRAM ECC check disabled + /// BKPRAM ECC check disabled B_0x1 = 0x1, }; pub const OPTSR_BOOT_UBE = enum(u8) { - /// OEM-iRoT (user flash) selected. In Open PRODUCT_STATE this value selects bootloader. Defaut value. + /// OEM-iRoT (user flash) selected. In Open PRODUCT_STATE this value selects bootloader. Defaut value. B_0xB4 = 0xb4, - /// ST-iRoT (system flash) selected + /// ST-iRoT (system flash) selected B_0xC3 = 0xc3, _, }; pub const OPTSR_BOR_LEV = enum(u2) { - /// BOR Level 2, the threshold level is medium (around 2.4 V) + /// BOR Level 2, the threshold level is medium (around 2.4 V) B_0x1 = 0x1, - /// BOR Level 3, the threshold level is high (around 2.7 V) + /// BOR Level 3, the threshold level is high (around 2.7 V) B_0x2 = 0x2, _, }; pub const OPTSR_IO_VDDIO_HSLV = enum(u1) { - /// High-speed IO at low VDDIO2 voltage feature disabled (VDDIO2 can exceed 2.7�V) + /// High-speed IO at low VDDIO2 voltage feature disabled (VDDIO2 can exceed 2.7�V) B_0x0 = 0x0, - /// High-speed IO at low VDDIO2 voltage feature enabled (VDDIO2 remains below 2.7�V) + /// High-speed IO at low VDDIO2 voltage feature enabled (VDDIO2 remains below 2.7�V) B_0x1 = 0x1, }; pub const OPTSR_IO_VDD_HSLV = enum(u1) { - /// High-speed IO at low VDD voltage feature disabled (VDD can exceed 2.7�V) + /// High-speed IO at low VDD voltage feature disabled (VDD can exceed 2.7�V) B_0x0 = 0x0, - /// High-speed IO at low VDD voltage feature enabled (VDD remains below 2.7�V) + /// High-speed IO at low VDD voltage feature enabled (VDD remains below 2.7�V) B_0x1 = 0x1, }; pub const OPTSR_IWDG_STDBY = enum(u1) { - /// Independent watchdog frozen in Standby mode + /// Independent watchdog frozen in Standby mode B_0x0 = 0x0, - /// Independent watchdog keep running in Standby mode. + /// Independent watchdog keep running in Standby mode. B_0x1 = 0x1, }; pub const OPTSR_IWDG_STOP = enum(u1) { - /// Independent watchdog frozen in system Stop mode + /// Independent watchdog frozen in system Stop mode B_0x0 = 0x0, - /// Independent watchdog keep running in system Stop mode. + /// Independent watchdog keep running in system Stop mode. B_0x1 = 0x1, }; pub const OPTSR_IWDG_SW = enum(u1) { - /// IWDG watchdog is controlled by hardware + /// IWDG watchdog is controlled by hardware B_0x0 = 0x0, - /// IWDG watchdog is controlled by software + /// IWDG watchdog is controlled by software B_0x1 = 0x1, }; pub const OPTSR_NRST_STDBY = enum(u1) { - /// a reset is generated when entering Standby mode on core domain + /// a reset is generated when entering Standby mode on core domain B_0x0 = 0x0, - /// no reset generated when entering Standby mode on core domain. + /// no reset generated when entering Standby mode on core domain. B_0x1 = 0x1, }; pub const OPTSR_NRST_STOP = enum(u1) { - /// a reset is generated when entering Stop mode on core domain + /// a reset is generated when entering Stop mode on core domain B_0x0 = 0x0, - /// no reset generated when entering Stop mode on core domain. + /// no reset generated when entering Stop mode on core domain. B_0x1 = 0x1, }; pub const OPTSR_SRAM_ECC = enum(u1) { - /// SRAM2 ECC check enabled + /// SRAM2 ECC check enabled B_0x0 = 0x0, - /// SRAM2 ECC check disabled + /// SRAM2 ECC check disabled B_0x1 = 0x1, }; pub const OPTSR_SWAP_BANK = enum(u1) { - /// Bank1 and Bank2 not swapped + /// Bank1 and Bank2 not swapped B_0x0 = 0x0, - /// Bank1 and Bank2 swapped + /// Bank1 and Bank2 swapped B_0x1 = 0x1, }; pub const OPTSR_TZEN = enum(u8) { - /// TrustZone enabled. + /// TrustZone enabled. B_0xB4 = 0xb4, - /// TrustZone disabled + /// TrustZone disabled B_0xC3 = 0xc3, _, }; pub const OPTSR_WWDG_SW = enum(u1) { - /// WWDG watchdog is controlled by hardware + /// WWDG watchdog is controlled by hardware B_0x0 = 0x0, - /// WWDG watchdog is controlled by software + /// WWDG watchdog is controlled by software B_0x1 = 0x1, }; pub const PRIVBBR_PRIVBB = enum(u32) { - /// sectors (32 * (x-1) + y) in bank 2 is unprivileged + /// sectors (32 * (x-1) + y) in bank 2 is unprivileged B_0x0 = 0x0, - /// sector (32 * (x-1) + y) in bank 2 is privileged + /// sector (32 * (x-1) + y) in bank 2 is privileged B_0x1 = 0x1, _, }; pub const SECBBR_SECBB = enum(u32) { - /// sectors (32 * (x-1) + y) in bank 2 is non secure + /// sectors (32 * (x-1) + y) in bank 2 is non secure B_0x0 = 0x0, - /// sector (32 * (x-1) + y) in bank 2 is secure + /// sector (32 * (x-1) + y) in bank 2 is secure B_0x1 = 0x1, _, }; pub const SECBOOTR_SECBOOT_LOCK = enum(u8) { - /// The BOOT_UBE and SECBOOTADD are frozen. SWAP_ BANK can only be modified with TZEN set to 0xC3 (disabled). + /// The BOOT_UBE and SECBOOTADD are frozen. SWAP_ BANK can only be modified with TZEN set to 0xC3 (disabled). B_0xB4 = 0xb4, - /// The BOOT_UBE, SWAP_BANK and SECBOOTADD can still be modified following their individual rules. + /// The BOOT_UBE, SWAP_BANK and SECBOOTADD can still be modified following their individual rules. B_0xC3 = 0xc3, _, }; pub const SECCR_BKSEL = enum(u1) { - /// Bank1 is selected for Bank erase / sector erase / interrupt enable + /// Bank1 is selected for Bank erase / sector erase / interrupt enable B_0x0 = 0x0, - /// Bank2 is selected for BER / SER + /// Bank2 is selected for BER / SER B_0x1 = 0x1, }; pub const SPRIV = enum(u1) { - /// access to secure registers is always granted + /// access to secure registers is always granted B_0x0 = 0x0, - /// access to secure registers is denied in case of unprivileged access. + /// access to secure registers is denied in case of unprivileged access. B_0x1 = 0x1, }; - /// FLASH address block description + /// FLASH address block description pub const FLASH = extern struct { - /// FLASH access control register + /// FLASH access control register ACR: mmio.Mmio(packed struct(u32) { - /// Read latency These bits are used to control the number of wait states used during read operations on both nonvolatile memory banks. The application software has to program them to the correct value depending on the embedded flash memory interface frequency and voltage conditions. ... Note: No check is performed by hardware to verify that the configuration is correct. + /// Read latency These bits are used to control the number of wait states used during read operations on both nonvolatile memory banks. The application software has to program them to the correct value depending on the embedded flash memory interface frequency and voltage conditions. ... Note: No check is performed by hardware to verify that the configuration is correct. LATENCY: u4, - /// Flash signal delay These bits are used to control the delay between nonvolatile memory signals during programming operations. Application software has to program them to the correct value depending on the embedded flash memory interface frequency. Please refer to Table�44 for details. Note: No check is performed to verify that the configuration is correct. Note: Two WRHIGHFREQ values can be selected for some frequencies. + /// Flash signal delay These bits are used to control the delay between nonvolatile memory signals during programming operations. Application software has to program them to the correct value depending on the embedded flash memory interface frequency. Please refer to Table�44 for details. Note: No check is performed to verify that the configuration is correct. Note: Two WRHIGHFREQ values can be selected for some frequencies. WRHIGHFREQ: u2, reserved8: u2, - /// Prefetch enable. When bit value is modified, user must read back ACR register to be sure PRFTEN has been taken into account. Bits used to control the prefetch. + /// Prefetch enable. When bit value is modified, user must read back ACR register to be sure PRFTEN has been taken into account. Bits used to control the prefetch. PRFTEN: u1, padding: u23, }), - /// FLASH non-secure key register + /// FLASH non-secure key register NSKEYR: u32, - /// FLASH secure key register + /// FLASH secure key register SECKEYR: u32, - /// FLASH option key register + /// FLASH option key register OPTKEYR: u32, - /// FLASH non-secure OBK key register + /// FLASH non-secure OBK key register NSOBKKEYR: u32, - /// FLASH secure OBK key register + /// FLASH secure OBK key register SECOBKKEYR: u32, - /// FLASH operation status register + /// FLASH operation status register OPSR: mmio.Mmio(packed struct(u32) { - /// Interrupted operation address + /// Interrupted operation address ADDR_OP: u20, reserved21: u1, - /// Flash high-cycle data area operation interrupted It indicates if flash high-cycle data area is concerned by operation. + /// Flash high-cycle data area operation interrupted It indicates if flash high-cycle data area is concerned by operation. DATA_OP: u1, - /// Interrupted operation bank It indicates which bank was concerned by operation. + /// Interrupted operation bank It indicates which bank was concerned by operation. BK_OP: u1, - /// Operation in system flash memory interrupted Indicates that reset interrupted an ongoing operation in system flash. + /// Operation in system flash memory interrupted Indicates that reset interrupted an ongoing operation in system flash. SYSF_OP: u1, - /// OTP operation interrupted Indicates that reset interrupted an ongoing operation in OTP area (or OBKeys area). + /// OTP operation interrupted Indicates that reset interrupted an ongoing operation in OTP area (or OBKeys area). OTP_OP: u1, reserved29: u4, - /// Flash memory operation code - CODE_OP: packed union { - raw: u3, - value: CODE_OP, - }, + /// Flash memory operation code + CODE_OP: CODE_OP, }), - /// FLASH option control register + /// FLASH option control register OPTCR: mmio.Mmio(packed struct(u32) { - /// FLASH_OPTCR lock option configuration bit The OPTLOCK bit locks the FLASH_OPTCR register as well as all _PRG registers. The correct write sequence to FLASH_OPTKEYR register unlocks this bit. If a wrong sequence is executed, or the unlock sequence to FLASH_OPTKEYR is performed twice, this bit remains locked until next system reset. It is possible to set OPTLOCK by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When OPTLOCK changes from 0 to 1, the others bits of FLASH_OPTCR register do not change. + /// FLASH_OPTCR lock option configuration bit The OPTLOCK bit locks the FLASH_OPTCR register as well as all _PRG registers. The correct write sequence to FLASH_OPTKEYR register unlocks this bit. If a wrong sequence is executed, or the unlock sequence to FLASH_OPTKEYR is performed twice, this bit remains locked until next system reset. It is possible to set OPTLOCK by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When OPTLOCK changes from 0 to 1, the others bits of FLASH_OPTCR register do not change. OPTLOCK: u1, - /// Option byte start change option configuration bit OPTSTRT triggers an option byte change operation. The user can set OPTSTRT only when the OPTLOCK bit is cleared to 0. It is set only by Software and cleared when the option byte change is completed or an error occurs (PGSERR or OPTCHANGEERR). It is reseted at the same time as BSY bit. The user application cannot modify any FLASH_XXX_PRG flash interface register until the option change operation has been completed. Before setting this bit, the user has to write the required values in the FLASH_XXX_PRG registers. The FLASH_XXX_PRG registers are locked until the option byte change operation has been executed in nonvolatile memory. + /// Option byte start change option configuration bit OPTSTRT triggers an option byte change operation. The user can set OPTSTRT only when the OPTLOCK bit is cleared to 0. It is set only by Software and cleared when the option byte change is completed or an error occurs (PGSERR or OPTCHANGEERR). It is reseted at the same time as BSY bit. The user application cannot modify any FLASH_XXX_PRG flash interface register until the option change operation has been completed. Before setting this bit, the user has to write the required values in the FLASH_XXX_PRG registers. The FLASH_XXX_PRG registers are locked until the option byte change operation has been executed in nonvolatile memory. OPTSTRT: u1, reserved31: u29, - /// Bank swapping option configuration bit SWAP_BANK controls whether Bank1 and Bank2 are swapped or not. This bit is loaded with the SWAP_BANK bit of FLASH_OPTSR_CUR register only after reset or POR. - SWAP_BANK: packed union { - raw: u1, - value: OPTCR_SWAP_BANK, - }, + /// Bank swapping option configuration bit SWAP_BANK controls whether Bank1 and Bank2 are swapped or not. This bit is loaded with the SWAP_BANK bit of FLASH_OPTSR_CUR register only after reset or POR. + SWAP_BANK: OPTCR_SWAP_BANK, }), - /// FLASH non-secure status register + /// FLASH non-secure status register NSSR: mmio.Mmio(packed struct(u32) { - /// busy flag BSY flag indicates that a flash memory is busy by an operation (write, erase, option byte change, OBK operation). It is set at the beginning of a flash memory operation and cleared when the operation finishes, or an error occurs. + /// busy flag BSY flag indicates that a flash memory is busy by an operation (write, erase, option byte change, OBK operation). It is set at the beginning of a flash memory operation and cleared when the operation finishes, or an error occurs. BSY: u1, - /// write buffer not empty flag WBNE flag is set when the flash interface is waiting for new data to complete the write buffer. In this state, the write buffer is not empty. WBNE is reset by hardware each time the write buffer is complete or the write buffer is emptied following one of the event below: the application software forces the write operation using FW bit in FLASH_NSCR the embedded flash memory detects an error that involves data loss This bit cannot be reset by software writing 0 directly. To reset it, clear the write buffer by performing any of the above listed actions, or send the missing data. + /// write buffer not empty flag WBNE flag is set when the flash interface is waiting for new data to complete the write buffer. In this state, the write buffer is not empty. WBNE is reset by hardware each time the write buffer is complete or the write buffer is emptied following one of the event below: the application software forces the write operation using FW bit in FLASH_NSCR the embedded flash memory detects an error that involves data loss This bit cannot be reset by software writing 0 directly. To reset it, clear the write buffer by performing any of the above listed actions, or send the missing data. WBNE: u1, reserved3: u1, - /// data buffer not empty flag DBNE flag is set when the flash interface is processing 6-bits ECC data in dedicated buffer. This bit cannot be set to 0 by software. The hardware resets it once the buffer is free. + /// data buffer not empty flag DBNE flag is set when the flash interface is processing 6-bits ECC data in dedicated buffer. This bit cannot be set to 0 by software. The hardware resets it once the buffer is free. DBNE: u1, reserved16: u12, - /// end of operation flag EOP flag is set when a operation (program/erase) completes. An interrupt is generated if the EOPIE is set to 1. It is not necessary to reset EOP before starting a new operation. EOP bit is cleared by writing 1 to CLR_EOP bit in FLASH_NSCCR register. + /// end of operation flag EOP flag is set when a operation (program/erase) completes. An interrupt is generated if the EOPIE is set to 1. It is not necessary to reset EOP before starting a new operation. EOP bit is cleared by writing 1 to CLR_EOP bit in FLASH_NSCCR register. EOP: u1, - /// write protection error flag WRPERR flag is raised when a protection error occurs during a program operation. An interrupt is also generated if the WRPERRIE is set to 1. Writing 1 to CLR_WRPERR bit in FLASH_NSCCR register clears WRPERR. + /// write protection error flag WRPERR flag is raised when a protection error occurs during a program operation. An interrupt is also generated if the WRPERRIE is set to 1. Writing 1 to CLR_WRPERR bit in FLASH_NSCCR register clears WRPERR. WRPERR: u1, - /// programming sequence error flag PGSERR flag is raised when a sequence error occurs. An interrupt is generated if the PGSERRIE bit is set to 1. Writing 1 to CLR_PGSERR bit in FLASH_NSCCR register clears PGSERR. + /// programming sequence error flag PGSERR flag is raised when a sequence error occurs. An interrupt is generated if the PGSERRIE bit is set to 1. Writing 1 to CLR_PGSERR bit in FLASH_NSCCR register clears PGSERR. PGSERR: u1, - /// strobe error flag STRBERR flag is raised when a strobe error occurs (when the master attempts to write several times the same byte in the write buffer). An interrupt is generated if the STRBERRIE bit is set to 1. Writing 1 to CLR_STRBERR bit in FLASH_NSCCR register clears STRBERR. + /// strobe error flag STRBERR flag is raised when a strobe error occurs (when the master attempts to write several times the same byte in the write buffer). An interrupt is generated if the STRBERRIE bit is set to 1. Writing 1 to CLR_STRBERR bit in FLASH_NSCCR register clears STRBERR. STRBERR: u1, - /// inconsistency error flag NSINCERR flag is raised when a inconsistency error occurs. An interrupt is generated if INCERRIE is set to 1. Writing 1 to CLR_INCERR bit in the FLASH_NSCCR register clears NSINCERR. + /// inconsistency error flag NSINCERR flag is raised when a inconsistency error occurs. An interrupt is generated if INCERRIE is set to 1. Writing 1 to CLR_INCERR bit in the FLASH_NSCCR register clears NSINCERR. INCERR: u1, - /// OBK general error flag OBKERR flag is raised when the OBK-HDPL signal from the SBS does not match the HDPL value associated with the key slot during access to the key location. Alternatively also when the ALT_SECT is unexpectedly changed while the write buffer is being filled. + /// OBK general error flag OBKERR flag is raised when the OBK-HDPL signal from the SBS does not match the HDPL value associated with the key slot during access to the key location. Alternatively also when the ALT_SECT is unexpectedly changed while the write buffer is being filled. OBKERR: u1, - /// OBK write error flag OBKWERR flag is raised when the address is not virgin on a write access to the OBK storage. Alternatively also when the OBK selector in the alternate sector is not virgin during a swap operation. + /// OBK write error flag OBKWERR flag is raised when the address is not virgin on a write access to the OBK storage. Alternatively also when the OBK selector in the alternate sector is not virgin during a swap operation. OBKWERR: u1, - /// Option byte change error flag OPTCHANGEERR flag indicates that an error occurred during an option byte change operation. When OPTCHANGEERR is set to 1, the option byte change operation did not successfully complete. An interrupt is generated when this flag is raised if the OPTCHANGEERRIE bit of FLASH_NSCR register is set to 1. Writing 1 to CLR_OPTCHANGEERR of register FLASH_NSCCR clears OPTCHANGEERR. Note: The OPTSTRT bit in FLASH_OPTCR cannot be set while OPTCHANGEERR is set. + /// Option byte change error flag OPTCHANGEERR flag indicates that an error occurred during an option byte change operation. When OPTCHANGEERR is set to 1, the option byte change operation did not successfully complete. An interrupt is generated when this flag is raised if the OPTCHANGEERRIE bit of FLASH_NSCR register is set to 1. Writing 1 to CLR_OPTCHANGEERR of register FLASH_NSCCR clears OPTCHANGEERR. Note: The OPTSTRT bit in FLASH_OPTCR cannot be set while OPTCHANGEERR is set. OPTCHANGEERR: u1, padding: u8, }), - /// FLASH secure status register + /// FLASH secure status register SECSR: mmio.Mmio(packed struct(u32) { - /// busy flag BSY flag indicates that a FLASH memory is busy (write, erase, option byte change, OBK operations). It is set at the beginning of a flash memory operation and cleared when the operation finishes or an error occurs. + /// busy flag BSY flag indicates that a FLASH memory is busy (write, erase, option byte change, OBK operations). It is set at the beginning of a flash memory operation and cleared when the operation finishes or an error occurs. BSY: u1, - /// write buffer not empty flag WBNE flag is set when the flash interface is waiting for new data to complete the write buffer. In this state, the write buffer is not empty. WBNE is reset by hardware each time the write buffer is complete or the write buffer is emptied following one of the event below: the application software forces the write operation using FW bit in FLASH_SECCR the flash interface detects an error that involves data loss This bit cannot be reset by writing 0 directly by software. To reset it, clear the write buffer by performing any of the above listed actions, or send the missing data. + /// write buffer not empty flag WBNE flag is set when the flash interface is waiting for new data to complete the write buffer. In this state, the write buffer is not empty. WBNE is reset by hardware each time the write buffer is complete or the write buffer is emptied following one of the event below: the application software forces the write operation using FW bit in FLASH_SECCR the flash interface detects an error that involves data loss This bit cannot be reset by writing 0 directly by software. To reset it, clear the write buffer by performing any of the above listed actions, or send the missing data. WBNE: u1, reserved3: u1, - /// data buffer not empty flag DBNE flag is set when the embedded flash memory interface is processing 6-bits ECC data in dedicated buffer. This bit cannot be set to 0 by software. The hardware resets it once the buffer is free. + /// data buffer not empty flag DBNE flag is set when the embedded flash memory interface is processing 6-bits ECC data in dedicated buffer. This bit cannot be set to 0 by software. The hardware resets it once the buffer is free. DBNE: u1, reserved16: u12, - /// end of operation flag EOP flag is set when a operation (program/erase) completes. An interrupt is generated if the EOPIE is set to. It is not necessary to reset EOP before starting a new operation. EOP bit is cleared by writing 1 to CLR_EOP bit in FLASH_SECCCR register. + /// end of operation flag EOP flag is set when a operation (program/erase) completes. An interrupt is generated if the EOPIE is set to. It is not necessary to reset EOP before starting a new operation. EOP bit is cleared by writing 1 to CLR_EOP bit in FLASH_SECCCR register. EOP: u1, - /// write protection error flag WRPERR flag is raised when a protection error occurs during a program operation. An interrupt is also generated if the WRPERRIE is set to 1. Writing 1 to CLR_WRPERR bit in FLASH_SECCCR register clears WRPERR. + /// write protection error flag WRPERR flag is raised when a protection error occurs during a program operation. An interrupt is also generated if the WRPERRIE is set to 1. Writing 1 to CLR_WRPERR bit in FLASH_SECCCR register clears WRPERR. WRPERR: u1, - /// programming sequence error flag PGSERR flag is raised when a sequence error occurs. An interrupt is generated if the PGSERRIE bit is set to 1. Writing 1 to CLR_PGSERR bit in FLASH_SECCCR register clears PGSERR. + /// programming sequence error flag PGSERR flag is raised when a sequence error occurs. An interrupt is generated if the PGSERRIE bit is set to 1. Writing 1 to CLR_PGSERR bit in FLASH_SECCCR register clears PGSERR. PGSERR: u1, - /// strobe error flag STRBERR flag is raised when a strobe error occurs (when the master attempts to write several times the same byte in the write buffer). An interrupt is generated if the STRBERRIE bit is set to 1. Writing 1 to CLR_STRBERR bit in FLASH_SECCCR register clears STRBERR. + /// strobe error flag STRBERR flag is raised when a strobe error occurs (when the master attempts to write several times the same byte in the write buffer). An interrupt is generated if the STRBERRIE bit is set to 1. Writing 1 to CLR_STRBERR bit in FLASH_SECCCR register clears STRBERR. STRBERR: u1, - /// inconsistency error flag INCERR flag is raised when a inconsistency error occurs. An interrupt is generated if INCERRIE is set to 1. Writing 1 to CLR_INCERR bit in the FLASH_SECCCR register clears INCERR. + /// inconsistency error flag INCERR flag is raised when a inconsistency error occurs. An interrupt is generated if INCERRIE is set to 1. Writing 1 to CLR_INCERR bit in the FLASH_SECCCR register clears INCERR. INCERR: u1, - /// OBK general error flag OBKERR flag is raised when the OBK-HDPL signal from the SBS does not match the HDPL value associated with the key slot during access to the key location. Alternatively also when the ALT_SECT is unexpectedly changed while the write buffer is being filled. + /// OBK general error flag OBKERR flag is raised when the OBK-HDPL signal from the SBS does not match the HDPL value associated with the key slot during access to the key location. Alternatively also when the ALT_SECT is unexpectedly changed while the write buffer is being filled. OBKERR: u1, - /// OBK write error flag OBKWERR flag is raised when the address is not virgin on a write access to the OBK storage. Alternatively also when the OBK selector in the alternate sector is not virgin during a swap operation. + /// OBK write error flag OBKWERR flag is raised when the address is not virgin on a write access to the OBK storage. Alternatively also when the OBK selector in the alternate sector is not virgin during a swap operation. OBKWERR: u1, padding: u9, }), - /// FLASH non-secure control register + /// FLASH non-secure control register NSCR: mmio.Mmio(packed struct(u32) { - /// configuration lock bit This bit locks the FLASH_NSCR register. The correct write sequence to FLASH_NSKEYR register unlocks this bit. If a wrong sequence is executed, or if the unlock sequence to FLASH_NSKEYR is performed twice, this bit remains locked until the next system reset. LOCK can be set by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When LOCK changes from 0 to 1, the other bits of FLASH_NSCR register do not change. + /// configuration lock bit This bit locks the FLASH_NSCR register. The correct write sequence to FLASH_NSKEYR register unlocks this bit. If a wrong sequence is executed, or if the unlock sequence to FLASH_NSKEYR is performed twice, this bit remains locked until the next system reset. LOCK can be set by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When LOCK changes from 0 to 1, the other bits of FLASH_NSCR register do not change. LOCK: u1, - /// programming control bit PG can be programmed only when LOCK is cleared to 0. PG allows programming in Bank1 and Bank2. + /// programming control bit PG can be programmed only when LOCK is cleared to 0. PG allows programming in Bank1 and Bank2. PG: u1, - /// sector erase request Setting SER bit to 1 requests a sector erase. SER can be programmed only when LOCK is cleared to 0. If MER and SER are also set, a PGSERR is raised. + /// sector erase request Setting SER bit to 1 requests a sector erase. SER can be programmed only when LOCK is cleared to 0. If MER and SER are also set, a PGSERR is raised. SER: u1, - /// erase request Setting BER bit to 1 requests a bank erase operation (user flash memory only). BER can be programmed only when LOCK is cleared to 0. If MER and SER are also set, a PGSERR is raised. Note: Write protection error is triggered when a bank erase is required and some sectors are protected. + /// erase request Setting BER bit to 1 requests a bank erase operation (user flash memory only). BER can be programmed only when LOCK is cleared to 0. If MER and SER are also set, a PGSERR is raised. Note: Write protection error is triggered when a bank erase is required and some sectors are protected. BER: u1, - /// write forcing control bit FW forces a write operation even if the write buffer is not full. In this case all bits not written are set to 1 by hardware. FW can be programmed only when LOCK is cleared to 0. The embedded flash memory resets FW when the corresponding operation has been acknowledged. Note: Using a force-write operation prevents the application from updating later the missing bits with something else than 1, because it is likely that it leads to permanent ECC error. Write forcing is effective only if the write buffer is not empty and was filled by non-secure access (in particular, FW does not start several write operations when the force-write operations are performed consecutively). Since there is just one write buffer, FW can force a write in bank1 or bank2. + /// write forcing control bit FW forces a write operation even if the write buffer is not full. In this case all bits not written are set to 1 by hardware. FW can be programmed only when LOCK is cleared to 0. The embedded flash memory resets FW when the corresponding operation has been acknowledged. Note: Using a force-write operation prevents the application from updating later the missing bits with something else than 1, because it is likely that it leads to permanent ECC error. Write forcing is effective only if the write buffer is not empty and was filled by non-secure access (in particular, FW does not start several write operations when the force-write operations are performed consecutively). Since there is just one write buffer, FW can force a write in bank1 or bank2. FW: u1, - /// erase start control bit STRT bit is used to start a sector erase or a bank erase operation. STRT can be programmed only when LOCK is cleared to 0. STRT is reset at the end of the operation or when an error occurs. It cannot be reseted by software. + /// erase start control bit STRT bit is used to start a sector erase or a bank erase operation. STRT can be programmed only when LOCK is cleared to 0. STRT is reset at the end of the operation or when an error occurs. It cannot be reseted by software. STRT: u1, - /// sector erase selection number These bits are used to select the target sector for an erase operation (they are unused otherwise). SNB can be programmed only when LOCK is cleared to 0. .. + /// sector erase selection number These bits are used to select the target sector for an erase operation (they are unused otherwise). SNB can be programmed only when LOCK is cleared to 0. .. SNB: u7, reserved15: u2, - /// Mass erase request Setting MER bit to 1 requests a mass erase operation (user flash memory only). MER can be programmed only when LOCK is cleared to 0. If BER or SER are both set, a PGSERR is raised. Error is triggered when a mass erase is required and some sectors are protected. + /// Mass erase request Setting MER bit to 1 requests a mass erase operation (user flash memory only). MER can be programmed only when LOCK is cleared to 0. If BER or SER are both set, a PGSERR is raised. Error is triggered when a mass erase is required and some sectors are protected. MER: u1, - /// end of operation interrupt control bit Setting EOPIE bit to 1 enables the generation of an interrupt at the end of a program or erase operation. EOPIE can be programmed only when LOCK is cleared to 0. + /// end of operation interrupt control bit Setting EOPIE bit to 1 enables the generation of an interrupt at the end of a program or erase operation. EOPIE can be programmed only when LOCK is cleared to 0. EOPIE: u1, - /// write protection error interrupt enable bit When this bit is set to 1, an interrupt is generated when a protection error occurs during a program operation. WRPERRIE can be programmed only when LOCK is cleared to 0. + /// write protection error interrupt enable bit When this bit is set to 1, an interrupt is generated when a protection error occurs during a program operation. WRPERRIE can be programmed only when LOCK is cleared to 0. WRPERRIE: u1, - /// programming sequence error interrupt enable bit When this bit is set to 1, an interrupt is generated when a sequence error occurs during a program operation. PGSERRIE can be programmed only when LOCK is cleared to 0. + /// programming sequence error interrupt enable bit When this bit is set to 1, an interrupt is generated when a sequence error occurs during a program operation. PGSERRIE can be programmed only when LOCK is cleared to 0. PGSERRIE: u1, - /// strobe error interrupt enable bit When STRBERRIE bit is set to 1, an interrupt is generated when a strobe error occurs (the master programs several times the same byte in the write buffer) during a write operation. STRBERRIE can be programmed only when LOCK is cleared to 0. + /// strobe error interrupt enable bit When STRBERRIE bit is set to 1, an interrupt is generated when a strobe error occurs (the master programs several times the same byte in the write buffer) during a write operation. STRBERRIE can be programmed only when LOCK is cleared to 0. STRBERRIE: u1, - /// inconsistency error interrupt enable bit When INCERRIE bit is set to 1, an interrupt is generated when an inconsistency error occurs during a write operation. INCERRIE can be programmed only when LOCK is cleared to 0. + /// inconsistency error interrupt enable bit When INCERRIE bit is set to 1, an interrupt is generated when an inconsistency error occurs during a write operation. INCERRIE can be programmed only when LOCK is cleared to 0. INCERRIE: u1, - /// OBK general error interrupt enable bit OBKERRIE enables generating an interrupt in case of OBK specific access error. This bit can be programmed only when LOCK bit is cleared to 0. + /// OBK general error interrupt enable bit OBKERRIE enables generating an interrupt in case of OBK specific access error. This bit can be programmed only when LOCK bit is cleared to 0. OBKERRIE: u1, - /// OBK write error interrupt enable bit OBKWERRIE enables generation of interrupt in case of OBK specific write error. This bit can be programmed only when LOCK bit is cleared to 0. + /// OBK write error interrupt enable bit OBKWERRIE enables generation of interrupt in case of OBK specific write error. This bit can be programmed only when LOCK bit is cleared to 0. OBKWERRIE: u1, - /// Option byte change error interrupt enable bit This bit controls if an interrupt must be generated when an error occurs during an option byte change. It can be programmed only when LOCK bit is cleared to 0. + /// Option byte change error interrupt enable bit This bit controls if an interrupt must be generated when an error occurs during an option byte change. It can be programmed only when LOCK bit is cleared to 0. OPTCHANGEERRIE: u1, reserved31: u7, - /// Bank selector bit BKSEL can only be programmed when LOCK is cleared to 0. The bit selects physical bank, SWAP_BANK setting is ignored. - BKSEL: packed union { - raw: u1, - value: NSCR_BKSEL, - }, + /// Bank selector bit BKSEL can only be programmed when LOCK is cleared to 0. The bit selects physical bank, SWAP_BANK setting is ignored. + BKSEL: NSCR_BKSEL, }), - /// FLASH secure control register + /// FLASH secure control register SECCR: mmio.Mmio(packed struct(u32) { - /// configuration lock bit This bit locks the FLASH_SECCR register. The correct write sequence to FLASH_SECKEYR register unlocks this bit. If a wrong sequence is executed, or if the unlock sequence to FLASH_NSKEYR is performed twice, this bit remains locked until the next system reset. LOCK can be set by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When LOCK changes from 0 to 1, the other bits of FLASH_SECCR register do not change. + /// configuration lock bit This bit locks the FLASH_SECCR register. The correct write sequence to FLASH_SECKEYR register unlocks this bit. If a wrong sequence is executed, or if the unlock sequence to FLASH_NSKEYR is performed twice, this bit remains locked until the next system reset. LOCK can be set by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When LOCK changes from 0 to 1, the other bits of FLASH_SECCR register do not change. LOCK: u1, - /// programming control bit PG can be programmed only when LOCK is cleared to 0. PG allows programming in Bank1 and Bank2. + /// programming control bit PG can be programmed only when LOCK is cleared to 0. PG allows programming in Bank1 and Bank2. PG: u1, - /// sector erase request Setting SER bit to 1 requests a sector erase. SER can be programmed only when LOCK is cleared to 0. If BER and MER are also set, a PGSERR is raised. + /// sector erase request Setting SER bit to 1 requests a sector erase. SER can be programmed only when LOCK is cleared to 0. If BER and MER are also set, a PGSERR is raised. SER: u1, - /// erase request Setting BER bit to 1 requests a bank erase operation (user flash memory only). BER can be programmed only when LOCK is cleared to 0. If MER and SER are also set, a PGSERR is raised. Note: Write protection error is triggered when a bank erase is required and some sectors are protected. + /// erase request Setting BER bit to 1 requests a bank erase operation (user flash memory only). BER can be programmed only when LOCK is cleared to 0. If MER and SER are also set, a PGSERR is raised. Note: Write protection error is triggered when a bank erase is required and some sectors are protected. BER: u1, - /// write forcing control bit FW forces a write operation even if the write buffer is not full. In this case all bits not written are set to 1 by hardware. FW can be programmed only when LOCK is cleared to 0. The embedded flash memory resets FW when the corresponding operation has been acknowledged. Note: Using a force-write operation prevents the application from updating later the missing bits with something else than 1, because it is likely that it leads to permanent ECC error. Write forcing is effective only if the write buffer is not empty and was filled by secure access (in particular, FW does not start several write operations when the force-write operations are performed consecutively). Since there is just one write buffer, FW can force a write in bank1 or bank2. + /// write forcing control bit FW forces a write operation even if the write buffer is not full. In this case all bits not written are set to 1 by hardware. FW can be programmed only when LOCK is cleared to 0. The embedded flash memory resets FW when the corresponding operation has been acknowledged. Note: Using a force-write operation prevents the application from updating later the missing bits with something else than 1, because it is likely that it leads to permanent ECC error. Write forcing is effective only if the write buffer is not empty and was filled by secure access (in particular, FW does not start several write operations when the force-write operations are performed consecutively). Since there is just one write buffer, FW can force a write in bank1 or bank2. FW: u1, - /// erase start control bit STRT bit is used to start a sector erase or a bank erase operation. STRT can be programmed only when LOCK is cleared to 0. STRT is reseted at the end of the operation or when an error occurs. It cannot be reset by software. + /// erase start control bit STRT bit is used to start a sector erase or a bank erase operation. STRT can be programmed only when LOCK is cleared to 0. STRT is reseted at the end of the operation or when an error occurs. It cannot be reset by software. STRT: u1, - /// sector erase selection number These bits are used to select the target sector for an erase operation (they are unused otherwise). SNB can be programmed only when LOCK is cleared to 0. .. + /// sector erase selection number These bits are used to select the target sector for an erase operation (they are unused otherwise). SNB can be programmed only when LOCK is cleared to 0. .. SNB: u7, reserved15: u2, - /// mass erase request Setting MER bit to 1 requests a mass erase operation (user flash memory only). MER can be programmed only when LOCK is cleared to 0. If BER or SER are also set, a PGSERR is raised. Error is triggered when a mass erase is required and some sectors are protected. + /// mass erase request Setting MER bit to 1 requests a mass erase operation (user flash memory only). MER can be programmed only when LOCK is cleared to 0. If BER or SER are also set, a PGSERR is raised. Error is triggered when a mass erase is required and some sectors are protected. MER: u1, - /// end of operation interrupt control bit Setting EOPIE bit to 1 enables the generation of an interrupt at the end of a program/erase operation. EOPIE can be programmed only when LOCK is cleared to 0. + /// end of operation interrupt control bit Setting EOPIE bit to 1 enables the generation of an interrupt at the end of a program/erase operation. EOPIE can be programmed only when LOCK is cleared to 0. EOPIE: u1, - /// write protection error interrupt enable bit When WRPERRIE bit is set to 1, an interrupt is generated when a protection error occurs during a program operation. WRPERRIE can be programmed only when LOCK is cleared to 0. + /// write protection error interrupt enable bit When WRPERRIE bit is set to 1, an interrupt is generated when a protection error occurs during a program operation. WRPERRIE can be programmed only when LOCK is cleared to 0. WRPERRIE: u1, - /// programming sequence error interrupt enable bit When PGSERRIE bit is set to 1, an interrupt is generated when a sequence error occurs during a program operation. PGSERRIE can be programmed only when LOCK is cleared to 0. + /// programming sequence error interrupt enable bit When PGSERRIE bit is set to 1, an interrupt is generated when a sequence error occurs during a program operation. PGSERRIE can be programmed only when LOCK is cleared to 0. PGSERRIE: u1, - /// strobe error interrupt enable bit When STRBERRIE bit is set to 1, an interrupt is generated when a strobe error occurs (the master programs several times the same byte in the write buffer) during a write operation. STRBERRIE can be programmed only when LOCK is cleared to 0. + /// strobe error interrupt enable bit When STRBERRIE bit is set to 1, an interrupt is generated when a strobe error occurs (the master programs several times the same byte in the write buffer) during a write operation. STRBERRIE can be programmed only when LOCK is cleared to 0. STRBERRIE: u1, - /// inconsistency error interrupt enable bit When INCERRIE bit is set to 1, an interrupt is generated when an inconsistency error occurs during a write operation. INCERRIE can be programmed only when LOCK is cleared to 0. + /// inconsistency error interrupt enable bit When INCERRIE bit is set to 1, an interrupt is generated when an inconsistency error occurs during a write operation. INCERRIE can be programmed only when LOCK is cleared to 0. INCERRIE: u1, - /// OBK general error interrupt enable bit OBKERRIE enables generating an interrupt in case of OBK specific access error. OBKERRIE can be programmed only when LOCK is cleared to 0. + /// OBK general error interrupt enable bit OBKERRIE enables generating an interrupt in case of OBK specific access error. OBKERRIE can be programmed only when LOCK is cleared to 0. OBKERRIE: u1, - /// OBK write error interrupt enable bit OBKWERRIE enables generation of interrupt in case of OBK specific write error. OBKWERRIE can be programmed only when LOCK is cleared to 0. + /// OBK write error interrupt enable bit OBKWERRIE enables generation of interrupt in case of OBK specific write error. OBKWERRIE can be programmed only when LOCK is cleared to 0. OBKWERRIE: u1, reserved29: u6, - /// Flash memory security state invert. This bit inverts the flash memory security state. + /// Flash memory security state invert. This bit inverts the flash memory security state. INV: u1, reserved31: u1, - /// bank selector bit BKSEL can only be programmed when LOCK is cleared to 0. The bit selects physical bank, SWAP_BANK setting is ignored. - BKSEL: packed union { - raw: u1, - value: SECCR_BKSEL, - }, + /// bank selector bit BKSEL can only be programmed when LOCK is cleared to 0. The bit selects physical bank, SWAP_BANK setting is ignored. + BKSEL: SECCR_BKSEL, }), - /// FLASH non-secure clear control register + /// FLASH non-secure clear control register NSCCR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// EOP flag clear bit Setting this bit to 1 resets to 0 EOP flag in FLASH_NSSR register. + /// EOP flag clear bit Setting this bit to 1 resets to 0 EOP flag in FLASH_NSSR register. CLR_EOP: u1, - /// WRPERR flag clear bit Setting this bit to 1 resets to 0 WRPERR flag in FLASH_NSSR register. + /// WRPERR flag clear bit Setting this bit to 1 resets to 0 WRPERR flag in FLASH_NSSR register. CLR_WRPERR: u1, - /// PGSERR flag clear bit Setting this bit to 1 resets to 0 PGSERR flag in FLASH_NSSR register. + /// PGSERR flag clear bit Setting this bit to 1 resets to 0 PGSERR flag in FLASH_NSSR register. CLR_PGSERR: u1, - /// STRBERR flag clear bit Setting this bit to 1 resets to 0 STRBERR flag in FLASH_NSSR register. + /// STRBERR flag clear bit Setting this bit to 1 resets to 0 STRBERR flag in FLASH_NSSR register. CLR_STRBERR: u1, - /// INCERR flag clear bit Setting this bit to 1 resets to 0 INCERR flag in FLASH_NSSR register. + /// INCERR flag clear bit Setting this bit to 1 resets to 0 INCERR flag in FLASH_NSSR register. CLR_INCERR: u1, - /// OBKERR flag clear bit. Setting this bit to 1 resets to 0 OBKERR flag in FLASH_NSSR register. + /// OBKERR flag clear bit. Setting this bit to 1 resets to 0 OBKERR flag in FLASH_NSSR register. CLR_OBKERR: u1, - /// OBKWERR flag clear bit. Setting this bit to 1 resets to 0 OBKWERR flag in FLASH_NSSR register. + /// OBKWERR flag clear bit. Setting this bit to 1 resets to 0 OBKWERR flag in FLASH_NSSR register. CLR_OBKWERR: u1, - /// Clear the flag corresponding flag in FLASH_NSSR by writing this bit. + /// Clear the flag corresponding flag in FLASH_NSSR by writing this bit. CLR_OPTCHANGEERR: u1, padding: u8, }), - /// FLASH secure clear control register + /// FLASH secure clear control register SECCCR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// EOP flag clear bit Setting this bit to 1 resets to 0 EOP flag in FLASH_SECSR register. + /// EOP flag clear bit Setting this bit to 1 resets to 0 EOP flag in FLASH_SECSR register. CLR_EOP: u1, - /// WRPERR flag clear bit Setting this bit to 1 resets to 0 WRPERR flag in FLASH_SECSR register. + /// WRPERR flag clear bit Setting this bit to 1 resets to 0 WRPERR flag in FLASH_SECSR register. CLR_WRPERR: u1, - /// PGSERR flag clear bit Setting this bit to 1 resets to 0 PGSERR flag in FLASH_SECSR register. + /// PGSERR flag clear bit Setting this bit to 1 resets to 0 PGSERR flag in FLASH_SECSR register. CLR_PGSERR: u1, - /// STRBERR flag clear bit Setting this bit to 1 resets to 0 STRBERR flag in FLASH_SECSR register. + /// STRBERR flag clear bit Setting this bit to 1 resets to 0 STRBERR flag in FLASH_SECSR register. CLR_STRBERR: u1, - /// INCERR flag clear bit Setting this bit to 1 resets to 0 INCERR flag in FLASH_SECSR register. + /// INCERR flag clear bit Setting this bit to 1 resets to 0 INCERR flag in FLASH_SECSR register. CLR_INCERR: u1, - /// OBKWERR flag clear bit Setting this bit to 1 resets to 0 OBKWERR flag in FLASH_SECSR register. + /// OBKWERR flag clear bit Setting this bit to 1 resets to 0 OBKWERR flag in FLASH_SECSR register. CLR_OBKERR: u1, - /// OBKWERR flag clear bit Setting this bit to 1 resets to 0 OBKWERR flag in FLASH_SECSR register. + /// OBKWERR flag clear bit Setting this bit to 1 resets to 0 OBKWERR flag in FLASH_SECSR register. CLR_OBKWERR: u1, padding: u9, }), reserved60: [4]u8, - /// FLASH privilege configuration register + /// FLASH privilege configuration register PRIVCFGR: mmio.Mmio(packed struct(u32) { - /// privilege attribute for secure registers - SPRIV: packed union { - raw: u1, - value: SPRIV, - }, - /// privilege attribute for non secure registers - NSPRIV: packed union { - raw: u1, - value: NSPRIV, - }, + /// privilege attribute for secure registers + SPRIV: SPRIV, + /// privilege attribute for non secure registers + NSPRIV: NSPRIV, padding: u30, }), - /// FLASH non-secure OBK configuration register + /// FLASH non-secure OBK configuration register NSOBKCFGR: mmio.Mmio(packed struct(u32) { - /// OBKCFGR lock option configuration bit This bit locks the FLASH_NSOBKCFGR register. The correct write sequence to FLASH_NSOBKKEYR register unlocks this bit. If a wrong sequence is executed, or if the unlock sequence to FLASH_NSOBKKEYR is performed twice, this bit remains locked until the next system reset. LOCK can be set by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When LOCK changes from 0 to 1, the other bits of FLASH_NSCR register do not change. + /// OBKCFGR lock option configuration bit This bit locks the FLASH_NSOBKCFGR register. The correct write sequence to FLASH_NSOBKKEYR register unlocks this bit. If a wrong sequence is executed, or if the unlock sequence to FLASH_NSOBKKEYR is performed twice, this bit remains locked until the next system reset. LOCK can be set by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When LOCK changes from 0 to 1, the other bits of FLASH_NSCR register do not change. LOCK: u1, - /// OBK swap sector request bit When set, all the OBKs which have not been updated in the alternate sector is copied from current sector to alternate one. The SWAP_OFFSET value must be a certain minimum value in order for the swap to be launched in OBK-HDPL ≠ 0. Minimum value is 16 for OBK-HDPL = 1, 144 for OBK-HDPL = 2 and 192 for OBK-HDPL = 3. + /// OBK swap sector request bit When set, all the OBKs which have not been updated in the alternate sector is copied from current sector to alternate one. The SWAP_OFFSET value must be a certain minimum value in order for the swap to be launched in OBK-HDPL ≠ 0. Minimum value is 16 for OBK-HDPL = 1, 144 for OBK-HDPL = 2 and 192 for OBK-HDPL = 3. SWAP_SECT_REQ: u1, - /// alternate sector bit This bit must not change while filling the write buffer, otherwise an error (OBKERR) is generated + /// alternate sector bit This bit must not change while filling the write buffer, otherwise an error (OBKERR) is generated ALT_SECT: u1, - /// alternate sector erase bit When ALT_SECT bit is set, use this bit to generate an erase command for the OBK alternate sector. It is set only by Software and cleared when the OBK swap operation is completed or an error occurs (PGSERR). It is reseted at the same time as BUSY bit. + /// alternate sector erase bit When ALT_SECT bit is set, use this bit to generate an erase command for the OBK alternate sector. It is set only by Software and cleared when the OBK swap operation is completed or an error occurs (PGSERR). It is reseted at the same time as BUSY bit. ALT_SECT_ERASE: u1, reserved16: u12, - /// Key index (offset /16 bits) pointing for next swap. 0x01 means that only the first OBK data (128 bits) is copied from current to alternate OBK sector 0x02 means that the two first OBK data is copied … … + /// Key index (offset /16 bits) pointing for next swap. 0x01 means that only the first OBK data (128 bits) is copied from current to alternate OBK sector 0x02 means that the two first OBK data is copied … … SWAP_OFFSET: u9, padding: u7, }), - /// FLASH secure OBK configuration register + /// FLASH secure OBK configuration register SECOBKCFGR: mmio.Mmio(packed struct(u32) { - /// OBKCFGR lock option configuration bit This bit locks the FLASH_OBKCFGR register. The correct write sequence to FLASH_SECOBKKEYR register unlocks this bit. If a wrong sequence is executed, or if the unlock sequence to FLASH_SECOBKKEYR is performed twice, this bit remains locked until the next system reset. LOCK can be set by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When LOCK changes from 0 to 1, the other bits of FLASH_NSCR register do not change. + /// OBKCFGR lock option configuration bit This bit locks the FLASH_OBKCFGR register. The correct write sequence to FLASH_SECOBKKEYR register unlocks this bit. If a wrong sequence is executed, or if the unlock sequence to FLASH_SECOBKKEYR is performed twice, this bit remains locked until the next system reset. LOCK can be set by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When LOCK changes from 0 to 1, the other bits of FLASH_NSCR register do not change. LOCK: u1, - /// OBK swap sector request bit When set, all the OBKs which have not been updated in the alternate sector is copied from current sector to alternate one. The SWAP_OFFSET value must be a certain minimum value in order for the swap to be launched in OBK-HDPL ≠ 0. Minimum value is 16 for OBK-HDPL = 1, 144 for OBK-HDPL = 2 and 192 for OBK-HDPL = 3. + /// OBK swap sector request bit When set, all the OBKs which have not been updated in the alternate sector is copied from current sector to alternate one. The SWAP_OFFSET value must be a certain minimum value in order for the swap to be launched in OBK-HDPL ≠ 0. Minimum value is 16 for OBK-HDPL = 1, 144 for OBK-HDPL = 2 and 192 for OBK-HDPL = 3. SWAP_SECT_REQ: u1, - /// alternate sector bit This bit must not change while filling the write buffer, otherwise an error is generated + /// alternate sector bit This bit must not change while filling the write buffer, otherwise an error is generated ALT_SECT: u1, - /// alternate sector erase bit When ALT_SECT bit is set, use this bit to generate an erase command for the OBK alternate sector. It is set only by Software and cleared when the OBK swap operation is completed or an error occurs (PGSERR). It is reseted at the same time as the BUSY bit. + /// alternate sector erase bit When ALT_SECT bit is set, use this bit to generate an erase command for the OBK alternate sector. It is set only by Software and cleared when the OBK swap operation is completed or an error occurs (PGSERR). It is reseted at the same time as the BUSY bit. ALT_SECT_ERASE: u1, reserved16: u12, - /// key index (offset /16 bits) pointing for next swap. … + /// key index (offset /16 bits) pointing for next swap. … SWAP_OFFSET: u9, padding: u7, }), - /// FLASH HDP extension register + /// FLASH HDP extension register HDPEXTR: mmio.Mmio(packed struct(u32) { - /// HDP area extension in 8�Kbytes sectors in Bank1. Extension is added after the HDP1_END sector (included). + /// HDP area extension in 8�Kbytes sectors in Bank1. Extension is added after the HDP1_END sector (included). HDP1_EXT: u7, reserved16: u9, - /// HDP area extension in 8�Kbytes sectors in bank 2. Extension is added after the HDP2_END sector (included). + /// HDP area extension in 8�Kbytes sectors in bank 2. Extension is added after the HDP2_END sector (included). HDP2_EXT: u7, padding: u9, }), reserved80: [4]u8, - /// FLASH option status register + /// FLASH option status register OPTSR_CUR: mmio.Mmio(packed struct(u32) { - /// Brownout level option status bit These bits reflects the power level that generates a system reset. 00 or 11: BOR Level 1, the threshold level is low (around 2.1�V) - BOR_LEV: packed union { - raw: u2, - value: OPTSR_BOR_LEV, - }, - /// Brownout high enable + /// Brownout level option status bit These bits reflects the power level that generates a system reset. 00 or 11: BOR Level 1, the threshold level is low (around 2.1�V) + BOR_LEV: OPTSR_BOR_LEV, + /// Brownout high enable BORH_EN: u1, - /// IWDG control mode option status bit - IWDG_SW: packed union { - raw: u1, - value: OPTSR_IWDG_SW, - }, - /// WWDG control mode option status bit - WWDG_SW: packed union { - raw: u1, - value: OPTSR_WWDG_SW, - }, + /// IWDG control mode option status bit + IWDG_SW: OPTSR_IWDG_SW, + /// WWDG control mode option status bit + WWDG_SW: OPTSR_WWDG_SW, reserved6: u1, - /// Core domain Stop entry reset option status bit - NRST_STOP: packed union { - raw: u1, - value: OPTSR_NRST_STOP, - }, - /// Core domain Standby entry reset option status bit - NRST_STDBY: packed union { - raw: u1, - value: OPTSR_NRST_STDBY, - }, - /// Life state code (based on Hamming 8,4). More information in Section�7.6.11: Product state transitions. + /// Core domain Stop entry reset option status bit + NRST_STOP: OPTSR_NRST_STOP, + /// Core domain Standby entry reset option status bit + NRST_STDBY: OPTSR_NRST_STDBY, + /// Life state code (based on Hamming 8,4). More information in Section�7.6.11: Product state transitions. PRODUCT_STATE: u8, - /// High-speed IO at low VDD voltage configuration bit. This bit can be set only with VDD below 2.7�V. - IO_VDD_HSLV: packed union { - raw: u1, - value: OPTSR_IO_VDD_HSLV, - }, - /// High-speed IO at low VDDIO2 voltage configuration bit. This bit can be set only with VDDIO2 below 2.7�V. - IO_VDDIO2_HSLV: packed union { - raw: u1, - value: OPTSR_IO_VDDIO_HSLV, - }, + /// High-speed IO at low VDD voltage configuration bit. This bit can be set only with VDD below 2.7�V. + IO_VDD_HSLV: OPTSR_IO_VDD_HSLV, + /// High-speed IO at low VDDIO2 voltage configuration bit. This bit can be set only with VDDIO2 below 2.7�V. + IO_VDDIO2_HSLV: OPTSR_IO_VDDIO_HSLV, reserved20: u2, - /// IWDG Stop mode freeze option status bit When set the independent watchdog IWDG is in system Stop mode. - IWDG_STOP: packed union { - raw: u1, - value: OPTSR_IWDG_STOP, - }, - /// IWDG Standby mode freeze option status bit When set the independent watchdog IWDG is frozen in system Standby mode. - IWDG_STDBY: packed union { - raw: u1, - value: OPTSR_IWDG_STDBY, - }, - /// Available only on cryptography enabled devices. Unique boot entry control, selects either ST or OEM iRoT for secure boot. - BOOT_UBE: packed union { - raw: u8, - value: OPTSR_BOOT_UBE, - }, + /// IWDG Stop mode freeze option status bit When set the independent watchdog IWDG is in system Stop mode. + IWDG_STOP: OPTSR_IWDG_STOP, + /// IWDG Standby mode freeze option status bit When set the independent watchdog IWDG is frozen in system Standby mode. + IWDG_STDBY: OPTSR_IWDG_STDBY, + /// Available only on cryptography enabled devices. Unique boot entry control, selects either ST or OEM iRoT for secure boot. + BOOT_UBE: OPTSR_BOOT_UBE, reserved31: u1, - /// Bank swapping option status bit SWAP_BANK reflects whether Bank1 and Bank2 are swapped or not. SWAP_BANK is loaded to SWAP_BANK of FLASH_OPTCR after a reset. - SWAP_BANK: packed union { - raw: u1, - value: OPTSR_SWAP_BANK, - }, + /// Bank swapping option status bit SWAP_BANK reflects whether Bank1 and Bank2 are swapped or not. SWAP_BANK is loaded to SWAP_BANK of FLASH_OPTCR after a reset. + SWAP_BANK: OPTSR_SWAP_BANK, }), - /// FLASH option status register + /// FLASH option status register OPTSR_PRG: mmio.Mmio(packed struct(u32) { - /// Brownout level option status bit These bits reflects the power level that generates a system reset. 00 or 11: BOR Level 1, the threshold level is low (around 2.1�V) - BOR_LEV: packed union { - raw: u2, - value: OPTSR_BOR_LEV, - }, - /// Brownout high enable + /// Brownout level option status bit These bits reflects the power level that generates a system reset. 00 or 11: BOR Level 1, the threshold level is low (around 2.1�V) + BOR_LEV: OPTSR_BOR_LEV, + /// Brownout high enable BORH_EN: u1, - /// IWDG control mode option status bit - IWDG_SW: packed union { - raw: u1, - value: OPTSR_IWDG_SW, - }, - /// WWDG control mode option status bit - WWDG_SW: packed union { - raw: u1, - value: OPTSR_WWDG_SW, - }, + /// IWDG control mode option status bit + IWDG_SW: OPTSR_IWDG_SW, + /// WWDG control mode option status bit + WWDG_SW: OPTSR_WWDG_SW, reserved6: u1, - /// Core domain Stop entry reset option status bit - NRST_STOP: packed union { - raw: u1, - value: OPTSR_NRST_STOP, - }, - /// Core domain Standby entry reset option status bit - NRST_STDBY: packed union { - raw: u1, - value: OPTSR_NRST_STDBY, - }, - /// Life state code (based on Hamming 8,4). More information in Section�7.6.11: Product state transitions. + /// Core domain Stop entry reset option status bit + NRST_STOP: OPTSR_NRST_STOP, + /// Core domain Standby entry reset option status bit + NRST_STDBY: OPTSR_NRST_STDBY, + /// Life state code (based on Hamming 8,4). More information in Section�7.6.11: Product state transitions. PRODUCT_STATE: u8, - /// High-speed IO at low VDD voltage configuration bit. This bit can be set only with VDD below 2.7�V. - IO_VDD_HSLV: packed union { - raw: u1, - value: OPTSR_IO_VDD_HSLV, - }, - /// High-speed IO at low VDDIO2 voltage configuration bit. This bit can be set only with VDDIO2 below 2.7�V. - IO_VDDIO2_HSLV: packed union { - raw: u1, - value: OPTSR_IO_VDDIO_HSLV, - }, + /// High-speed IO at low VDD voltage configuration bit. This bit can be set only with VDD below 2.7�V. + IO_VDD_HSLV: OPTSR_IO_VDD_HSLV, + /// High-speed IO at low VDDIO2 voltage configuration bit. This bit can be set only with VDDIO2 below 2.7�V. + IO_VDDIO2_HSLV: OPTSR_IO_VDDIO_HSLV, reserved20: u2, - /// IWDG Stop mode freeze option status bit When set the independent watchdog IWDG is in system Stop mode. - IWDG_STOP: packed union { - raw: u1, - value: OPTSR_IWDG_STOP, - }, - /// IWDG Standby mode freeze option status bit When set the independent watchdog IWDG is frozen in system Standby mode. - IWDG_STDBY: packed union { - raw: u1, - value: OPTSR_IWDG_STDBY, - }, - /// Available only on cryptography enabled devices. Unique boot entry control, selects either ST or OEM iRoT for secure boot. - BOOT_UBE: packed union { - raw: u8, - value: OPTSR_BOOT_UBE, - }, + /// IWDG Stop mode freeze option status bit When set the independent watchdog IWDG is in system Stop mode. + IWDG_STOP: OPTSR_IWDG_STOP, + /// IWDG Standby mode freeze option status bit When set the independent watchdog IWDG is frozen in system Standby mode. + IWDG_STDBY: OPTSR_IWDG_STDBY, + /// Available only on cryptography enabled devices. Unique boot entry control, selects either ST or OEM iRoT for secure boot. + BOOT_UBE: OPTSR_BOOT_UBE, reserved31: u1, - /// Bank swapping option status bit SWAP_BANK reflects whether Bank1 and Bank2 are swapped or not. SWAP_BANK is loaded to SWAP_BANK of FLASH_OPTCR after a reset. - SWAP_BANK: packed union { - raw: u1, - value: OPTSR_SWAP_BANK, - }, + /// Bank swapping option status bit SWAP_BANK reflects whether Bank1 and Bank2 are swapped or not. SWAP_BANK is loaded to SWAP_BANK of FLASH_OPTCR after a reset. + SWAP_BANK: OPTSR_SWAP_BANK, }), reserved96: [8]u8, - /// FLASH non-secure EPOCH register + /// FLASH non-secure EPOCH register NSEPOCHR_CUR: mmio.Mmio(packed struct(u32) { - /// Non-volatile non-secure EPOCH counter + /// Non-volatile non-secure EPOCH counter NS_EPOCH: u24, padding: u8, }), reserved104: [4]u8, - /// FLASH secure EPOCH register + /// FLASH secure EPOCH register SECEPOCHR_CUR: mmio.Mmio(packed struct(u32) { - /// Non-volatile secure EPOCH counter + /// Non-volatile secure EPOCH counter SEC_EPOCH: u24, padding: u8, }), reserved112: [4]u8, - /// FLASH option status register 2 + /// FLASH option status register 2 OPTSR2_CUR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// SRAM1 and SRAM3 erase upon system reset + /// SRAM1 and SRAM3 erase upon system reset SRAM13_RST: u1, - /// SRAM2 erase when system reset + /// SRAM2 erase when system reset SRAM2_RST: u1, - /// Backup RAM ECC detection and correction disable - BKPRAM_ECC: packed union { - raw: u1, - value: OPTSR_BKPRAM_ECC, - }, - /// SRAM3 ECC detection and correction disable - SRAM3_ECC: packed union { - raw: u1, - value: OPTSR_SRAM_ECC, - }, - /// SRAM2 ECC detection and correction disable - SRAM2_ECC: packed union { - raw: u1, - value: OPTSR_SRAM_ECC, - }, + /// Backup RAM ECC detection and correction disable + BKPRAM_ECC: OPTSR_BKPRAM_ECC, + /// SRAM3 ECC detection and correction disable + SRAM3_ECC: OPTSR_SRAM_ECC, + /// SRAM2 ECC detection and correction disable + SRAM2_ECC: OPTSR_SRAM_ECC, reserved8: u1, - /// USB power delivery configuration option bit + /// USB power delivery configuration option bit USBPD_DIS: u1, reserved24: u15, - /// TrustZone enable configuration bits This bit enables the device is in TrustZone mode during an option byte change. - TZEN: packed union { - raw: u8, - value: OPTSR_TZEN, - }, + /// TrustZone enable configuration bits This bit enables the device is in TrustZone mode during an option byte change. + TZEN: OPTSR_TZEN, }), - /// FLASH option status register 2 + /// FLASH option status register 2 OPTSR2_PRG: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// SRAM1 and SRAM3 erase upon system reset + /// SRAM1 and SRAM3 erase upon system reset SRAM13_RST: u1, - /// SRAM2 erase when system reset + /// SRAM2 erase when system reset SRAM2_RST: u1, - /// Backup RAM ECC detection and correction disable - BKPRAM_ECC: packed union { - raw: u1, - value: OPTSR_BKPRAM_ECC, - }, - /// SRAM3 ECC detection and correction disable - SRAM3_ECC: packed union { - raw: u1, - value: OPTSR_SRAM_ECC, - }, - /// SRAM2 ECC detection and correction disable - SRAM2_ECC: packed union { - raw: u1, - value: OPTSR_SRAM_ECC, - }, + /// Backup RAM ECC detection and correction disable + BKPRAM_ECC: OPTSR_BKPRAM_ECC, + /// SRAM3 ECC detection and correction disable + SRAM3_ECC: OPTSR_SRAM_ECC, + /// SRAM2 ECC detection and correction disable + SRAM2_ECC: OPTSR_SRAM_ECC, reserved8: u1, - /// USB power delivery configuration option bit + /// USB power delivery configuration option bit USBPD_DIS: u1, reserved24: u15, - /// TrustZone enable configuration bits This bit enables the device is in TrustZone mode during an option byte change. - TZEN: packed union { - raw: u8, - value: OPTSR_TZEN, - }, + /// TrustZone enable configuration bits This bit enables the device is in TrustZone mode during an option byte change. + TZEN: OPTSR_TZEN, }), reserved128: [8]u8, - /// FLASH non-secure boot register + /// FLASH non-secure boot register NSBOOTR_CUR: mmio.Mmio(packed struct(u32) { - /// A field locking the values of SWAP_ BANK, and NSBOOTADD settings. - NSBOOT_LOCK: packed union { - raw: u8, - value: NSBOOTR_NSBOOT_LOCK, - }, - /// Non secure unique boot entry address These bits allow configuring the Non secure BOOT address + /// A field locking the values of SWAP_ BANK, and NSBOOTADD settings. + NSBOOT_LOCK: NSBOOTR_NSBOOT_LOCK, + /// Non secure unique boot entry address These bits allow configuring the Non secure BOOT address NSBOOTADD: u24, }), - /// FLASH non-secure boot register + /// FLASH non-secure boot register NSBOOTR_PRG: mmio.Mmio(packed struct(u32) { - /// A field locking the values of SWAP_ BANK, and NSBOOTADD settings. - NSBOOT_LOCK: packed union { - raw: u8, - value: NSBOOTR_NSBOOT_LOCK, - }, - /// Non secure unique boot entry address These bits allow configuring the Non secure BOOT address + /// A field locking the values of SWAP_ BANK, and NSBOOTADD settings. + NSBOOT_LOCK: NSBOOTR_NSBOOT_LOCK, + /// Non secure unique boot entry address These bits allow configuring the Non secure BOOT address NSBOOTADD: u24, }), - /// FLASH secure boot register + /// FLASH secure boot register SECBOOTR_CUR: mmio.Mmio(packed struct(u32) { - /// A field locking the values of UBE, SWAP_BANK, and SECBOOTADD settings. - SECBOOT_LOCK: packed union { - raw: u8, - value: SECBOOTR_SECBOOT_LOCK, - }, - /// Unique boot entry secure address These bits reflect the Secure UBE address + /// A field locking the values of UBE, SWAP_BANK, and SECBOOTADD settings. + SECBOOT_LOCK: SECBOOTR_SECBOOT_LOCK, + /// Unique boot entry secure address These bits reflect the Secure UBE address SECBOOTADD: u24, }), - /// FLASH secure boot register + /// FLASH secure boot register BOOTR_PRG: mmio.Mmio(packed struct(u32) { - /// A field locking the values of UBE, SWAP_ BANK, and SECBOOTADD setting. - SECBOOT_LOCK: packed union { - raw: u8, - value: BOOTR_SECBOOT_LOCK, - }, - /// Secure unique boot entry address. These bits allow configuring the secure UBE address. + /// A field locking the values of UBE, SWAP_ BANK, and SECBOOTADD setting. + SECBOOT_LOCK: BOOTR_SECBOOT_LOCK, + /// Secure unique boot entry address. These bits allow configuring the secure UBE address. SECBOOTADD: u24, }), - /// FLASH non-secure OTP block lock + /// FLASH non-secure OTP block lock OTPBLR_CUR: mmio.Mmio(packed struct(u32) { - /// OTP block lock Block n corresponds to OTP 16-bit word 32 x n to 32 x n + 31. LOCKBL[n] = 1 indicates that all OTP 16-bit words in OTP Block n are locked and attempt to program them results in WRPERR. LOCKBL[n] = 0 indicates that all OTP 16-bit words in OTP Block n are not locked. When one block is locked, it’s not possible to remove the write protection. Also if not locked, it is not possible to erase OTP words. + /// OTP block lock Block n corresponds to OTP 16-bit word 32 x n to 32 x n + 31. LOCKBL[n] = 1 indicates that all OTP 16-bit words in OTP Block n are locked and attempt to program them results in WRPERR. LOCKBL[n] = 0 indicates that all OTP 16-bit words in OTP Block n are not locked. When one block is locked, it’s not possible to remove the write protection. Also if not locked, it is not possible to erase OTP words. LOCKBL: u32, }), - /// FLASH non-secure OTP block lock + /// FLASH non-secure OTP block lock OTPBLR_PRG: mmio.Mmio(packed struct(u32) { - /// OTP block lock Block n corresponds to OTP 16-bit word 32 x n to 32 x n + 31. LOCKBL[n] = 1 indicates that all OTP 16-bit words in OTP Block n are locked and attempt to program them results in WRPERR. LOCKBL[n] = 0 indicates that all OTP 16-bit words in OTP Block n are not locked. When one block is locked, it’s not possible to remove the write protection. Also if not locked, it is not possible to erase OTP words. + /// OTP block lock Block n corresponds to OTP 16-bit word 32 x n to 32 x n + 31. LOCKBL[n] = 1 indicates that all OTP 16-bit words in OTP Block n are locked and attempt to program them results in WRPERR. LOCKBL[n] = 0 indicates that all OTP 16-bit words in OTP Block n are not locked. When one block is locked, it’s not possible to remove the write protection. Also if not locked, it is not possible to erase OTP words. LOCKBL: u32, }), reserved160: [8]u8, - /// FLASH secure block based register for Bank 1 + /// FLASH secure block based register for Bank 1 SECBB1R1: mmio.Mmio(packed struct(u32) { - /// Secure/non-secure flash Bank 2 sector attribute - SECBB: packed union { - raw: u32, - value: SECBBR_SECBB, - }, + /// Secure/non-secure flash Bank 2 sector attribute + SECBB: SECBBR_SECBB, }), - /// FLASH secure block based register for Bank 1 + /// FLASH secure block based register for Bank 1 SECBB1R2: mmio.Mmio(packed struct(u32) { - /// Secure/non-secure flash Bank 2 sector attribute - SECBB: packed union { - raw: u32, - value: SECBBR_SECBB, - }, + /// Secure/non-secure flash Bank 2 sector attribute + SECBB: SECBBR_SECBB, }), - /// FLASH secure block based register for Bank 1 + /// FLASH secure block based register for Bank 1 SECBB1R3: mmio.Mmio(packed struct(u32) { - /// Secure/non-secure flash Bank 2 sector attribute - SECBB: packed union { - raw: u32, - value: SECBBR_SECBB, - }, + /// Secure/non-secure flash Bank 2 sector attribute + SECBB: SECBBR_SECBB, }), - /// FLASH secure block based register for Bank 1 + /// FLASH secure block based register for Bank 1 SECBB1R4: mmio.Mmio(packed struct(u32) { - /// Secure/non-secure flash Bank 2 sector attribute - SECBB: packed union { - raw: u32, - value: SECBBR_SECBB, - }, + /// Secure/non-secure flash Bank 2 sector attribute + SECBB: SECBBR_SECBB, }), reserved192: [16]u8, - /// FLASH privilege block based register for Bank 1 + /// FLASH privilege block based register for Bank 1 PRIVBB1R1: mmio.Mmio(packed struct(u32) { - /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute - PRIVBB: packed union { - raw: u32, - value: PRIVBBR_PRIVBB, - }, + /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute + PRIVBB: PRIVBBR_PRIVBB, }), - /// FLASH privilege block based register for Bank 1 + /// FLASH privilege block based register for Bank 1 PRIVBB1R2: mmio.Mmio(packed struct(u32) { - /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute - PRIVBB: packed union { - raw: u32, - value: PRIVBBR_PRIVBB, - }, + /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute + PRIVBB: PRIVBBR_PRIVBB, }), - /// FLASH privilege block based register for Bank 1 + /// FLASH privilege block based register for Bank 1 PRIVBB1R3: mmio.Mmio(packed struct(u32) { - /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute - PRIVBB: packed union { - raw: u32, - value: PRIVBBR_PRIVBB, - }, + /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute + PRIVBB: PRIVBBR_PRIVBB, }), - /// FLASH privilege block based register for Bank 1 + /// FLASH privilege block based register for Bank 1 PRIVBB1R4: mmio.Mmio(packed struct(u32) { - /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute - PRIVBB: packed union { - raw: u32, - value: PRIVBBR_PRIVBB, - }, + /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute + PRIVBB: PRIVBBR_PRIVBB, }), reserved224: [16]u8, - /// FLASH security watermark for Bank 1 + /// FLASH security watermark for Bank 1 SECWM1R_CUR: mmio.Mmio(packed struct(u32) { - /// Bank2 security WM area start sector + /// Bank2 security WM area start sector SECWMSTRT: u7, reserved16: u9, - /// Bank2 security WM end sector + /// Bank2 security WM end sector SECWMEND: u7, padding: u9, }), - /// FLASH security watermark for Bank 1 + /// FLASH security watermark for Bank 1 SECWM1R_PRG: mmio.Mmio(packed struct(u32) { - /// Bank2 security WM area start sector + /// Bank2 security WM area start sector SECWMSTRT: u7, reserved16: u9, - /// Bank2 security WM end sector + /// Bank2 security WM end sector SECWMEND: u7, padding: u9, }), - /// FLASH write sector group protection for Bank 1 + /// FLASH write sector group protection for Bank 1 WRP1R_CUR: mmio.Mmio(packed struct(u32) { - /// Bank1 sector group protection option status byte Setting WRPSG1 bits to 0 write protects the corresponding group of four consecutive sectors in bank 1 (0: the group is write protected; 1: the group is not write protected) Bit 0: Group embedding sectors 0 to 3 Bit 1: Group embedding sectors 4 to 7 Bit N: Group embedding sectors 4 x N to 4 x N + 3 Bit 31: Group embedding sectors 124 to 127 + /// Bank1 sector group protection option status byte Setting WRPSG1 bits to 0 write protects the corresponding group of four consecutive sectors in bank 1 (0: the group is write protected; 1: the group is not write protected) Bit 0: Group embedding sectors 0 to 3 Bit 1: Group embedding sectors 4 to 7 Bit N: Group embedding sectors 4 x N to 4 x N + 3 Bit 31: Group embedding sectors 124 to 127 WRPSG: u32, }), - /// FLASH write sector group protection for Bank 1 + /// FLASH write sector group protection for Bank 1 WRP1R_PRG: mmio.Mmio(packed struct(u32) { - /// Bank1 sector group protection option status byte Setting WRPSG1 bits to 0 write protects the corresponding group of four consecutive sectors in bank 1 (0: the group is write protected; 1: the group is not write protected) Bit 0: Group embedding sectors 0 to 3 Bit 1: Group embedding sectors 4 to 7 Bit N: Group embedding sectors 4 x N to 4 x N + 3 Bit 31: Group embedding sectors 124 to 127 + /// Bank1 sector group protection option status byte Setting WRPSG1 bits to 0 write protects the corresponding group of four consecutive sectors in bank 1 (0: the group is write protected; 1: the group is not write protected) Bit 0: Group embedding sectors 0 to 3 Bit 1: Group embedding sectors 4 to 7 Bit N: Group embedding sectors 4 x N to 4 x N + 3 Bit 31: Group embedding sectors 124 to 127 WRPSG: u32, }), - /// FLASH data sector configuration Bank 1 + /// FLASH data sector configuration Bank 1 EDATA1R_CUR: mmio.Mmio(packed struct(u32) { - /// EDATA1_STRT contains the start sectors of the flash high-cycle data area in Bank 1 There is no hardware effect to those bits. They shall be managed by ST tools in Flasher. ... Note: 111: The eight last sectors of the Bank 1 are reserved for flash high-cycle data + /// EDATA1_STRT contains the start sectors of the flash high-cycle data area in Bank 1 There is no hardware effect to those bits. They shall be managed by ST tools in Flasher. ... Note: 111: The eight last sectors of the Bank 1 are reserved for flash high-cycle data EDATA1_STRT: u3, reserved15: u12, - /// Bank 1 flash high-cycle data enable + /// Bank 1 flash high-cycle data enable EDATA1_EN: u1, padding: u16, }), - /// FLASH data sector configuration Bank 1 + /// FLASH data sector configuration Bank 1 EDATA1R_PRG: mmio.Mmio(packed struct(u32) { - /// EDATA1_STRT contains the start sectors of the flash high-cycle data area in Bank 1 There is no hardware effect to those bits. They shall be managed by ST tools in Flasher. ... Note: 111: The eight last sectors of the Bank 1 are reserved for flash high-cycle data + /// EDATA1_STRT contains the start sectors of the flash high-cycle data area in Bank 1 There is no hardware effect to those bits. They shall be managed by ST tools in Flasher. ... Note: 111: The eight last sectors of the Bank 1 are reserved for flash high-cycle data EDATA1_STRT: u3, reserved15: u12, - /// Bank 1 flash high-cycle data enable + /// Bank 1 flash high-cycle data enable EDATA1_EN: u1, padding: u16, }), - /// FLASH HDP Bank 1 configuration + /// FLASH HDP Bank 1 configuration HDP1R_CUR: mmio.Mmio(packed struct(u32) { - /// HDPL barrier start set in number of 8-Kbyte sectors + /// HDPL barrier start set in number of 8-Kbyte sectors HDP1_STRT: u7, reserved16: u9, - /// HDPL barrier end set in number of 8-Kbyte sectors + /// HDPL barrier end set in number of 8-Kbyte sectors HDP1_END: u7, padding: u9, }), - /// FLASH HDP Bank 1 configuration + /// FLASH HDP Bank 1 configuration HDP1R_PRG: mmio.Mmio(packed struct(u32) { - /// HDPL barrier start set in number of 8-Kbyte sectors + /// HDPL barrier start set in number of 8-Kbyte sectors HDP1_STRT: u7, reserved16: u9, - /// HDPL barrier end set in number of 8-Kbyte sectors + /// HDPL barrier end set in number of 8-Kbyte sectors HDP1_END: u7, padding: u9, }), - /// FLASH ECC correction register + /// FLASH ECC correction register ECCCORR: mmio.Mmio(packed struct(u32) { - /// ECC error address When an ECC error occurs (for single correction) during a read operation, the ADDR_ECC contains the address that generated the error. ADDR_ECC is reset when the flag error is reset. The flash interface programs the address in this register only when no ECC error flags are set. This means that only the first address that generated an ECC error is saved. The address in ADDR_ECC is relative to the flash memory area where the error occurred (user flash memory, system flash memory, data area, read-only/OTP area). + /// ECC error address When an ECC error occurs (for single correction) during a read operation, the ADDR_ECC contains the address that generated the error. ADDR_ECC is reset when the flag error is reset. The flash interface programs the address in this register only when no ECC error flags are set. This means that only the first address that generated an ECC error is saved. The address in ADDR_ECC is relative to the flash memory area where the error occurred (user flash memory, system flash memory, data area, read-only/OTP area). ADDR_ECC: u16, reserved20: u4, - /// Single ECC error corrected in flash OB Keys storage area. It indicates the OBK storage concerned by ECC error. + /// Single ECC error corrected in flash OB Keys storage area. It indicates the OBK storage concerned by ECC error. OBK_ECC: u1, - /// ECC fail for corrected ECC error in flash high-cycle data area It indicates if flash high-cycle data area is concerned by ECC error. + /// ECC fail for corrected ECC error in flash high-cycle data area It indicates if flash high-cycle data area is concerned by ECC error. EDATA_ECC: u1, - /// ECC fail bank for corrected ECC error It indicates which bank is concerned by ECC error + /// ECC fail bank for corrected ECC error It indicates which bank is concerned by ECC error BK_ECC: u1, - /// ECC fail for corrected ECC error in system flash memory It indicates if system flash memory is concerned by ECC error. + /// ECC fail for corrected ECC error in system flash memory It indicates if system flash memory is concerned by ECC error. SYSF_ECC: u1, - /// OTP ECC error bit This bit is set to 1 when one single ECC correction occurred during the last successful read operation from the read-only/ OTP area. The address of the ECC error is available in ADDR_ECC bitfield. + /// OTP ECC error bit This bit is set to 1 when one single ECC correction occurred during the last successful read operation from the read-only/ OTP area. The address of the ECC error is available in ADDR_ECC bitfield. OTP_ECC: u1, - /// ECC single correction error interrupt enable bit When ECCCIE bit is set to 1, an interrupt is generated when an ECC single correction error occurs during a read operation. + /// ECC single correction error interrupt enable bit When ECCCIE bit is set to 1, an interrupt is generated when an ECC single correction error occurs during a read operation. ECCCIE: u1, reserved30: u4, - /// ECC correction set by hardware when single ECC error has been detected and corrected. Cleared by writing 1. + /// ECC correction set by hardware when single ECC error has been detected and corrected. Cleared by writing 1. ECCC: u1, padding: u1, }), - /// FLASH ECC detection register + /// FLASH ECC detection register ECCDETR: mmio.Mmio(packed struct(u32) { - /// ECC error address When an ECC error occurs (double detection) during a read operation, the ADDR_ECC contains the address that generated the error. ADDR_ECC is reset when the flag error is reset. The flash interface programs the address in this register only when no ECC error flags are set. This means that only the first address that generated an double ECC error is saved. The address in ADDR_ECC is relative to the flash memory area where the error occurred (user flash memory, system flash memory, data area, read-only/OTP area). + /// ECC error address When an ECC error occurs (double detection) during a read operation, the ADDR_ECC contains the address that generated the error. ADDR_ECC is reset when the flag error is reset. The flash interface programs the address in this register only when no ECC error flags are set. This means that only the first address that generated an double ECC error is saved. The address in ADDR_ECC is relative to the flash memory area where the error occurred (user flash memory, system flash memory, data area, read-only/OTP area). ADDR_ECC: u16, reserved20: u4, - /// ECC fail double ECC error in flash OB Keys storage area. It indicates the OBK storage concerned by ECC error. + /// ECC fail double ECC error in flash OB Keys storage area. It indicates the OBK storage concerned by ECC error. OBK_ECC: u1, - /// ECC fail double ECC error in flash high-cycle data area It indicates if flash high-cycle data area is concerned by ECC error. + /// ECC fail double ECC error in flash high-cycle data area It indicates if flash high-cycle data area is concerned by ECC error. EDATA_ECC: u1, - /// ECC fail bank for double ECC error It indicates which bank is concerned by ECC error + /// ECC fail bank for double ECC error It indicates which bank is concerned by ECC error BK_ECC: u1, - /// ECC fail for double ECC error in system flash memory It indicates if system flash memory is concerned by ECC error. + /// ECC fail for double ECC error in system flash memory It indicates if system flash memory is concerned by ECC error. SYSF_ECC: u1, - /// OTP ECC error bit This bit is set to 1 when double ECC detection occurred during the last read operation from the read-only/ OTP area. The address of the ECC error is available in ADDR_ECC bitfield. + /// OTP ECC error bit This bit is set to 1 when double ECC detection occurred during the last read operation from the read-only/ OTP area. The address of the ECC error is available in ADDR_ECC bitfield. OTP_ECC: u1, reserved31: u6, - /// ECC detection Set by hardware when two ECC error has been detected. When this bit is set, a NMI is generated. Cleared by writing 1. Needs to be cleared in order to detect subsequent double ECC errors. + /// ECC detection Set by hardware when two ECC error has been detected. When this bit is set, a NMI is generated. Cleared by writing 1. Needs to be cleared in order to detect subsequent double ECC errors. ECCD: u1, }), - /// FLASH ECC data + /// FLASH ECC data ECCDR: mmio.Mmio(packed struct(u32) { - /// ECC error data When an double detection ECC error occurs on special areas with 6-bit ECC on 16-bit data (data area, read-only/OTP area), the failing data is read to this register. By checking if it is possible to determine whether the failure was on a real data, or due to access to uninitialized memory. + /// ECC error data When an double detection ECC error occurs on special areas with 6-bit ECC on 16-bit data (data area, read-only/OTP area), the failing data is read to this register. By checking if it is possible to determine whether the failure was on a real data, or due to access to uninitialized memory. DATA_ECC: u16, padding: u16, }), reserved416: [148]u8, - /// FLASH secure block-based register for Bank 2 + /// FLASH secure block-based register for Bank 2 SECBB2R1: mmio.Mmio(packed struct(u32) { - /// Secure/non-secure flash Bank 2 sector attribute - SECBB: packed union { - raw: u32, - value: SECBBR_SECBB, - }, + /// Secure/non-secure flash Bank 2 sector attribute + SECBB: SECBBR_SECBB, }), - /// FLASH secure block-based register for Bank 2 + /// FLASH secure block-based register for Bank 2 SECBB2R2: mmio.Mmio(packed struct(u32) { - /// Secure/non-secure flash Bank 2 sector attribute - SECBB: packed union { - raw: u32, - value: SECBBR_SECBB, - }, + /// Secure/non-secure flash Bank 2 sector attribute + SECBB: SECBBR_SECBB, }), - /// FLASH secure block-based register for Bank 2 + /// FLASH secure block-based register for Bank 2 SECBB2R3: mmio.Mmio(packed struct(u32) { - /// Secure/non-secure flash Bank 2 sector attribute - SECBB: packed union { - raw: u32, - value: SECBBR_SECBB, - }, + /// Secure/non-secure flash Bank 2 sector attribute + SECBB: SECBBR_SECBB, }), - /// FLASH secure block-based register for Bank 2 + /// FLASH secure block-based register for Bank 2 SECBB2R4: mmio.Mmio(packed struct(u32) { - /// Secure/non-secure flash Bank 2 sector attribute - SECBB: packed union { - raw: u32, - value: SECBBR_SECBB, - }, + /// Secure/non-secure flash Bank 2 sector attribute + SECBB: SECBBR_SECBB, }), reserved448: [16]u8, - /// FLASH privilege block-based register for Bank 2 + /// FLASH privilege block-based register for Bank 2 PRIVBB2R1: mmio.Mmio(packed struct(u32) { - /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute - PRIVBB: packed union { - raw: u32, - value: PRIVBBR_PRIVBB, - }, + /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute + PRIVBB: PRIVBBR_PRIVBB, }), - /// FLASH privilege block-based register for Bank 2 + /// FLASH privilege block-based register for Bank 2 PRIVBB2R2: mmio.Mmio(packed struct(u32) { - /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute - PRIVBB: packed union { - raw: u32, - value: PRIVBBR_PRIVBB, - }, + /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute + PRIVBB: PRIVBBR_PRIVBB, }), - /// FLASH privilege block-based register for Bank 2 + /// FLASH privilege block-based register for Bank 2 PRIVBB2R3: mmio.Mmio(packed struct(u32) { - /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute - PRIVBB: packed union { - raw: u32, - value: PRIVBBR_PRIVBB, - }, + /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute + PRIVBB: PRIVBBR_PRIVBB, }), - /// FLASH privilege block-based register for Bank 2 + /// FLASH privilege block-based register for Bank 2 PRIVBB2R4: mmio.Mmio(packed struct(u32) { - /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute - PRIVBB: packed union { - raw: u32, - value: PRIVBBR_PRIVBB, - }, + /// Privileged / non-privileged 8-Kbyte flash Bank 2 sector attribute + PRIVBB: PRIVBBR_PRIVBB, }), reserved480: [16]u8, - /// FLASH security watermark for Bank 2 + /// FLASH security watermark for Bank 2 SECWM2R_CUR: mmio.Mmio(packed struct(u32) { - /// Bank2 security WM area start sector + /// Bank2 security WM area start sector SECWMSTRT: u7, reserved16: u9, - /// Bank2 security WM end sector + /// Bank2 security WM end sector SECWMEND: u7, padding: u9, }), - /// FLASH security watermark for Bank 2 + /// FLASH security watermark for Bank 2 SECWM2R_PRG: mmio.Mmio(packed struct(u32) { - /// Bank2 security WM area start sector + /// Bank2 security WM area start sector SECWMSTRT: u7, reserved16: u9, - /// Bank2 security WM end sector + /// Bank2 security WM end sector SECWMEND: u7, padding: u9, }), - /// FLASH write sector group protection for Bank 2 + /// FLASH write sector group protection for Bank 2 WRP2R_CUR: mmio.Mmio(packed struct(u32) { - /// Bank1 sector group protection option status byte Setting WRPSG1 bits to 0 write protects the corresponding group of four consecutive sectors in bank 1 (0: the group is write protected; 1: the group is not write protected) Bit 0: Group embedding sectors 0 to 3 Bit 1: Group embedding sectors 4 to 7 Bit N: Group embedding sectors 4 x N to 4 x N + 3 Bit 31: Group embedding sectors 124 to 127 + /// Bank1 sector group protection option status byte Setting WRPSG1 bits to 0 write protects the corresponding group of four consecutive sectors in bank 1 (0: the group is write protected; 1: the group is not write protected) Bit 0: Group embedding sectors 0 to 3 Bit 1: Group embedding sectors 4 to 7 Bit N: Group embedding sectors 4 x N to 4 x N + 3 Bit 31: Group embedding sectors 124 to 127 WRPSG: u32, }), - /// FLASH write sector group protection for Bank 2 + /// FLASH write sector group protection for Bank 2 WRP2R_PRG: mmio.Mmio(packed struct(u32) { - /// Bank1 sector group protection option status byte Setting WRPSG1 bits to 0 write protects the corresponding group of four consecutive sectors in bank 1 (0: the group is write protected; 1: the group is not write protected) Bit 0: Group embedding sectors 0 to 3 Bit 1: Group embedding sectors 4 to 7 Bit N: Group embedding sectors 4 x N to 4 x N + 3 Bit 31: Group embedding sectors 124 to 127 + /// Bank1 sector group protection option status byte Setting WRPSG1 bits to 0 write protects the corresponding group of four consecutive sectors in bank 1 (0: the group is write protected; 1: the group is not write protected) Bit 0: Group embedding sectors 0 to 3 Bit 1: Group embedding sectors 4 to 7 Bit N: Group embedding sectors 4 x N to 4 x N + 3 Bit 31: Group embedding sectors 124 to 127 WRPSG: u32, }), - /// FLASH data sectors configuration Bank 2 + /// FLASH data sectors configuration Bank 2 EDATA2R_CUR: mmio.Mmio(packed struct(u32) { - /// EDATA2_STRT contains the start sectors of the flash high-cycle data area in Bank 2 There is no hardware effect to those bits. They shall be managed by ST tools in Flasher. ... Note: 111: The eight last sectors of the Bank 2 are reserved for flash high-cycle data. + /// EDATA2_STRT contains the start sectors of the flash high-cycle data area in Bank 2 There is no hardware effect to those bits. They shall be managed by ST tools in Flasher. ... Note: 111: The eight last sectors of the Bank 2 are reserved for flash high-cycle data. EDATA2_STRT: u3, reserved15: u12, - /// Bank 2 flash high-cycle data enable + /// Bank 2 flash high-cycle data enable EDATA2_EN: u1, padding: u16, }), - /// FLASH data sector configuration Bank 2 + /// FLASH data sector configuration Bank 2 EDATA2R_PRG: mmio.Mmio(packed struct(u32) { - /// EDATA2_STRT contains the start sectors of the flash high-cycle data area in Bank 2 There is no hardware effect to those bits. They shall be managed by ST tools in Flasher. ... Note: 111: The eight last sectors of the Bank 2 are reserved for flash high-cycle data. + /// EDATA2_STRT contains the start sectors of the flash high-cycle data area in Bank 2 There is no hardware effect to those bits. They shall be managed by ST tools in Flasher. ... Note: 111: The eight last sectors of the Bank 2 are reserved for flash high-cycle data. EDATA2_STRT: u3, reserved15: u12, - /// Bank 2 flash high-cycle data enable + /// Bank 2 flash high-cycle data enable EDATA2_EN: u1, padding: u16, }), - /// FLASH HDP Bank 2 configuration + /// FLASH HDP Bank 2 configuration HDP2R_CUR: mmio.Mmio(packed struct(u32) { - /// HDPL barrier start set in number of 8-Kbyte sectors + /// HDPL barrier start set in number of 8-Kbyte sectors HDP2_STRT: u7, reserved16: u9, - /// HDPL barrier end set in number of 8-Kbyte sectors + /// HDPL barrier end set in number of 8-Kbyte sectors HDP2_END: u7, padding: u9, }), - /// FLASH HDP Bank 2 configuration + /// FLASH HDP Bank 2 configuration HDP2R_PRG: mmio.Mmio(packed struct(u32) { - /// HDPL barrier start set in number of 8-Kbyte sectors + /// HDPL barrier start set in number of 8-Kbyte sectors HDP2_STRT: u7, reserved16: u9, - /// HDPL barrier end set in number of 8-Kbyte sectors + /// HDPL barrier end set in number of 8-Kbyte sectors HDP2_END: u7, padding: u9, }), @@ -333626,654 +331682,552 @@ pub const types = struct { pub const flash_h50 = struct { pub const BKSEL = enum(u1) { - /// Bank1 is selected for Bank erase / sector erase / interrupt enable + /// Bank1 is selected for Bank erase / sector erase / interrupt enable BANK1 = 0x0, - /// Bank1 is selected for Bank erase / sector erase / interrupt enable + /// Bank1 is selected for Bank erase / sector erase / interrupt enable BANK2 = 0x1, }; pub const CODE_OP = enum(u3) { - /// No Flash operation on going during previous reset + /// No Flash operation on going during previous reset B_0x0 = 0x0, - /// Single write operation interrupted + /// Single write operation interrupted B_0x1 = 0x1, - /// Sector erase operation interrupted + /// Sector erase operation interrupted B_0x3 = 0x3, - /// Bank erase operation interrupted + /// Bank erase operation interrupted B_0x4 = 0x4, - /// Mass erase operation interrupted + /// Mass erase operation interrupted B_0x5 = 0x5, - /// Option change operation interrupted + /// Option change operation interrupted B_0x6 = 0x6, _, }; pub const NSBOOTR_NSBOOT_LOCK = enum(u8) { - /// The NSBOOTADD and SWAP_BANK are frozen. + /// The NSBOOTADD and SWAP_BANK are frozen. B_0xB4 = 0xb4, - /// The SWAP_BANK and NSBOOTADD can still be modified following their individual rules. + /// The SWAP_BANK and NSBOOTADD can still be modified following their individual rules. B_0xC3 = 0xc3, _, }; pub const NSPRIV = enum(u1) { - /// access to non secure registers is always granted + /// access to non secure registers is always granted B_0x0 = 0x0, - /// access to non secure registers is denied in case of non privileged access. + /// access to non secure registers is denied in case of non privileged access. B_0x1 = 0x1, }; pub const OPTSR_BKPRAM_ECC = enum(u1) { - /// BKPRAM ECC check enabled + /// BKPRAM ECC check enabled B_0x0 = 0x0, - /// BKPRAM ECC check disabled + /// BKPRAM ECC check disabled B_0x1 = 0x1, }; pub const OPTSR_BOR_LEV = enum(u2) { - /// BOR OFF, POR/PDR reset threshold level is applied + /// BOR OFF, POR/PDR reset threshold level is applied B_0x0 = 0x0, - /// BOR Level 1, the threshold level is low (around 2.1 V) + /// BOR Level 1, the threshold level is low (around 2.1 V) B_0x1 = 0x1, - /// BOR Level 2, the threshold level is medium (around 2.4 V) + /// BOR Level 2, the threshold level is medium (around 2.4 V) B_0x2 = 0x2, - /// BOR Level 3, the threshold level is high (around 2.7 V) + /// BOR Level 3, the threshold level is high (around 2.7 V) B_0x3 = 0x3, }; pub const OPTSR_IO_VDDIO_HSLV = enum(u1) { - /// High-speed IO at low VDDIO2 voltage feature disabled (VDDIO2 can exceed 2.5 V) + /// High-speed IO at low VDDIO2 voltage feature disabled (VDDIO2 can exceed 2.5 V) B_0x0 = 0x0, - /// High-speed IO at low VDDIO2 voltage feature enabled (VDDIO2 remains below 2.5 V) + /// High-speed IO at low VDDIO2 voltage feature enabled (VDDIO2 remains below 2.5 V) B_0x1 = 0x1, }; pub const OPTSR_IO_VDD_HSLV = enum(u1) { - /// High-speed IO at low VDD voltage feature disabled (VDD can exceed 2.5 V) + /// High-speed IO at low VDD voltage feature disabled (VDD can exceed 2.5 V) B_0x0 = 0x0, - /// High-speed IO at low VDD voltage feature enabled (VDD remains below 2.5 V) + /// High-speed IO at low VDD voltage feature enabled (VDD remains below 2.5 V) B_0x1 = 0x1, }; pub const OPTSR_IWDG_STDBY = enum(u1) { - /// Independent watchdog frozen in Standby mode + /// Independent watchdog frozen in Standby mode B_0x0 = 0x0, - /// Independent watchdog keep running in Standby mode. + /// Independent watchdog keep running in Standby mode. B_0x1 = 0x1, }; pub const OPTSR_IWDG_STOP = enum(u1) { - /// Independent watchdog frozen in system Stop mode + /// Independent watchdog frozen in system Stop mode B_0x0 = 0x0, - /// Independent watchdog keep running in system Stop mode. + /// Independent watchdog keep running in system Stop mode. B_0x1 = 0x1, }; pub const OPTSR_IWDG_SW = enum(u1) { - /// IWDG watchdog is controlled by hardware + /// IWDG watchdog is controlled by hardware B_0x0 = 0x0, - /// IWDG watchdog is controlled by software + /// IWDG watchdog is controlled by software B_0x1 = 0x1, }; pub const OPTSR_NRST_SHDW = enum(u1) { - /// a reset is generated when entering Shutdown mode on core domain + /// a reset is generated when entering Shutdown mode on core domain B_0x0 = 0x0, - /// no reset generated when entering Shutdown mode on core domain. + /// no reset generated when entering Shutdown mode on core domain. B_0x1 = 0x1, }; pub const OPTSR_NRST_STDBY = enum(u1) { - /// a reset is generated when entering Standby mode on core domain + /// a reset is generated when entering Standby mode on core domain B_0x0 = 0x0, - /// no reset generated when entering Standby mode on core domain. + /// no reset generated when entering Standby mode on core domain. B_0x1 = 0x1, }; pub const OPTSR_NRST_STOP = enum(u1) { - /// a reset is generated when entering Stop mode on core domain + /// a reset is generated when entering Stop mode on core domain B_0x0 = 0x0, - /// no reset generated when entering Stop mode on core domain. + /// no reset generated when entering Stop mode on core domain. B_0x1 = 0x1, }; pub const OPTSR_SRAM_ECC = enum(u1) { - /// SRAM2 ECC check enabled + /// SRAM2 ECC check enabled B_0x0 = 0x0, - /// SRAM2 ECC check disabled + /// SRAM2 ECC check disabled B_0x1 = 0x1, }; pub const OPTSR_WWDG_SW = enum(u1) { - /// WWDG watchdog is controlled by hardware + /// WWDG watchdog is controlled by hardware B_0x0 = 0x0, - /// WWDG watchdog is controlled by software + /// WWDG watchdog is controlled by software B_0x1 = 0x1, }; pub const PRIVBB = enum(u8) { - /// sectors y in bank 1 is non privileged + /// sectors y in bank 1 is non privileged B_0x0 = 0x0, - /// sector y in bank 1 is privileged + /// sector y in bank 1 is privileged B_0x1 = 0x1, _, }; pub const PRODUCT_STATE = enum(u8) { - /// Provisioning + /// Provisioning PROVISIONING = 0x17, - /// iROT-Provisioned + /// iROT-Provisioned IROT_PROVISIONED = 0x2e, - /// Locked + /// Locked LOCKED = 0x5c, - /// Closed + /// Closed CLOSED = 0x72, - /// Regression + /// Regression REGRESSION = 0x9a, - /// Open + /// Open OPEN = 0xed, _, }; - /// FLASH address block description + /// FLASH address block description pub const FLASH = extern struct { - /// FLASH access control register + /// FLASH access control register ACR: mmio.Mmio(packed struct(u32) { - /// Read latency These bits are used to control the number of wait states used during read operations on both non-volatile memory banks. The application software has to program them to the correct value depending on the embedded Flash memory interface frequency and voltage conditions. ... Note: No check is performed by hardware to verify that the configuration is correct. + /// Read latency These bits are used to control the number of wait states used during read operations on both non-volatile memory banks. The application software has to program them to the correct value depending on the embedded Flash memory interface frequency and voltage conditions. ... Note: No check is performed by hardware to verify that the configuration is correct. LATENCY: u4, - /// Flash signal delay These bits are used to control the delay between non-volatile memory signals during programming operations. Application software has to program them to the correct value depending on the embedded Flash memory interface frequency. Please refer to for details. Note: No check is performed to verify that the configuration is correct. Two WRHIGHFREQ values can be selected for some frequencies. + /// Flash signal delay These bits are used to control the delay between non-volatile memory signals during programming operations. Application software has to program them to the correct value depending on the embedded Flash memory interface frequency. Please refer to for details. Note: No check is performed to verify that the configuration is correct. Two WRHIGHFREQ values can be selected for some frequencies. WRHIGHFREQ: u2, reserved8: u2, - /// Prefetch enable. When bit value is modified, user must read back ACR register to be sure PRFTEN has been taken into account. Bits used to control the prefetch. + /// Prefetch enable. When bit value is modified, user must read back ACR register to be sure PRFTEN has been taken into account. Bits used to control the prefetch. PRFTEN: u1, - /// Smart prefetch enable. When bit value is modified, user must read back ACR register to be sure S_PRFTEN has been taken into account. Bits used to control the prefetch functionality. + /// Smart prefetch enable. When bit value is modified, user must read back ACR register to be sure S_PRFTEN has been taken into account. Bits used to control the prefetch functionality. S_PRFTEN: u1, padding: u22, }), - /// FLASH key register + /// FLASH key register NSKEYR: u32, reserved12: [4]u8, - /// FLASH option key register + /// FLASH option key register OPTKEYR: u32, reserved24: [8]u8, - /// FLASH operation status register + /// FLASH operation status register OPSR: mmio.Mmio(packed struct(u32) { - /// Interrupted operation address. + /// Interrupted operation address. ADDR_OP: u20, reserved22: u2, - /// Interrupted operation bank It indicates which bank was concerned by operation. + /// Interrupted operation bank It indicates which bank was concerned by operation. BK_OP: u1, - /// Operation in system Flash memory interrupted Indicates that reset interrupted an ongoing operation in System Flash. + /// Operation in system Flash memory interrupted Indicates that reset interrupted an ongoing operation in System Flash. SYSF_OP: u1, - /// OTP operation interrupted Indicates that reset interrupted an ongoing operation in OTP area. + /// OTP operation interrupted Indicates that reset interrupted an ongoing operation in OTP area. OTP_OP: u1, reserved29: u4, - /// Flash memory operation code - CODE_OP: packed union { - raw: u3, - value: CODE_OP, - }, + /// Flash memory operation code + CODE_OP: CODE_OP, }), - /// FLASH option control register + /// FLASH option control register OPTCR: mmio.Mmio(packed struct(u32) { - /// FLASH_OPTCR lock option configuration bit The OPTLOCK bit locks the FLASH_OPTCR register as well as all _PRG registers. The correct write sequence to FLASH_OPTKEYR register unlocks this bit. If a wrong sequence is executed, or the unlock sequence to FLASH_OPTKEYR is performed twice, this bit remains locked until next system reset. It is possible to set OPTLOCK by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When OPTLOCK changes from 0 to 1, the others bits of FLASH_OPTCR register do not change. + /// FLASH_OPTCR lock option configuration bit The OPTLOCK bit locks the FLASH_OPTCR register as well as all _PRG registers. The correct write sequence to FLASH_OPTKEYR register unlocks this bit. If a wrong sequence is executed, or the unlock sequence to FLASH_OPTKEYR is performed twice, this bit remains locked until next system reset. It is possible to set OPTLOCK by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When OPTLOCK changes from 0 to 1, the others bits of FLASH_OPTCR register do not change. OPTLOCK: u1, - /// Option byte start change option configuration bit OPTSTRT triggers an option byte change operation. The user can set OPTSTRT only when the OPTLOCK bit is cleared to 0. It’s set only by Software and cleared when the option byte change is completed or an error occurs (PGSERR or OPTCHANGEERR). It’s reseted at the same time as BSY bit. The user application cannot modify any FLASH_XXX_PRG embedded Flash memory register until the option change operation has been completed. Before setting this bit, the user has to write the required values in the FLASH_XXX_PRG registers. The FLASH_XXX_PRG registers are locked until the option byte change operation has been executed in non-volatile memory. + /// Option byte start change option configuration bit OPTSTRT triggers an option byte change operation. The user can set OPTSTRT only when the OPTLOCK bit is cleared to 0. It’s set only by Software and cleared when the option byte change is completed or an error occurs (PGSERR or OPTCHANGEERR). It’s reseted at the same time as BSY bit. The user application cannot modify any FLASH_XXX_PRG embedded Flash memory register until the option change operation has been completed. Before setting this bit, the user has to write the required values in the FLASH_XXX_PRG registers. The FLASH_XXX_PRG registers are locked until the option byte change operation has been executed in non-volatile memory. OPTSTRT: u1, reserved31: u29, - /// Bank swapping option configuration bit SWAP_BANK controls whether Bank1 and Bank2 are swapped or not. This bit is loaded with the SWAP_BANK bit of FLASH_OPTSR_CUR register only after reset or POR. + /// Bank swapping option configuration bit SWAP_BANK controls whether Bank1 and Bank2 are swapped or not. This bit is loaded with the SWAP_BANK bit of FLASH_OPTSR_CUR register only after reset or POR. SWAP_BANK: u1, }), - /// FLASH non-secure status register + /// FLASH non-secure status register NSSR: mmio.Mmio(packed struct(u32) { - /// busy flag BSY flag indicates that a Flash memory is busy by an operation (write, erase, option byte change). It is set at the beginning of a Flash memory operation and cleared when the operation finishes or an error occurs. + /// busy flag BSY flag indicates that a Flash memory is busy by an operation (write, erase, option byte change). It is set at the beginning of a Flash memory operation and cleared when the operation finishes or an error occurs. BSY: u1, - /// write buffer not empty flag WBNE flag is set when the embedded Flash memory is waiting for new data to complete the write buffer. In this state, the write buffer is not empty. WBNE is reset by hardware each time the write buffer is complete or the write buffer is emptied following one of the event below: the application software forces the write operation using FW bit in FLASH_NSCR the embedded Flash memory detects an error that involves data loss This bit cannot be reset by software writing 0 directly. To reset it, clear the write buffer by performing any of the above listed actions, or send the missing data. + /// write buffer not empty flag WBNE flag is set when the embedded Flash memory is waiting for new data to complete the write buffer. In this state, the write buffer is not empty. WBNE is reset by hardware each time the write buffer is complete or the write buffer is emptied following one of the event below: the application software forces the write operation using FW bit in FLASH_NSCR the embedded Flash memory detects an error that involves data loss This bit cannot be reset by software writing 0 directly. To reset it, clear the write buffer by performing any of the above listed actions, or send the missing data. WBNE: u1, reserved3: u1, - /// data buffer not empty flag DBNE flag is set when the embedded Flash memory interface is processing 6-bits ECC data in dedicated buffer. This bit cannot be set to 0 by software. The hardware resets it once the buffer is free. + /// data buffer not empty flag DBNE flag is set when the embedded Flash memory interface is processing 6-bits ECC data in dedicated buffer. This bit cannot be set to 0 by software. The hardware resets it once the buffer is free. DBNE: u1, reserved16: u12, - /// end of operation flag EOP flag is set when a operation (program/erase) completes. An interrupt is generated if the EOPIE is set to 1. It is not necessary to reset EOP before starting a new operation. EOP bit is cleared by writing 1 to CLR_EOP bit in FLASH_NSCCR register. + /// end of operation flag EOP flag is set when a operation (program/erase) completes. An interrupt is generated if the EOPIE is set to 1. It is not necessary to reset EOP before starting a new operation. EOP bit is cleared by writing 1 to CLR_EOP bit in FLASH_NSCCR register. EOP: u1, - /// write protection error flag WRPERR flag is raised when a protection error occurs during a program operation. An interrupt is also generated if the WRPERRIE is set to 1. Writing 1 to CLR_WRPERR bit in FLASH_NSCCR register clears WRPERR. + /// write protection error flag WRPERR flag is raised when a protection error occurs during a program operation. An interrupt is also generated if the WRPERRIE is set to 1. Writing 1 to CLR_WRPERR bit in FLASH_NSCCR register clears WRPERR. WRPERR: u1, - /// programming sequence error flag PGSERR flag is raised when a sequence error occurs. An interrupt is generated if the PGSERRIE bit is set to 1. Writing 1 to CLR_PGSERR bit in FLASH_NSCCR register clears PGSERR. + /// programming sequence error flag PGSERR flag is raised when a sequence error occurs. An interrupt is generated if the PGSERRIE bit is set to 1. Writing 1 to CLR_PGSERR bit in FLASH_NSCCR register clears PGSERR. PGSERR: u1, - /// strobe error flag STRBERR flag is raised when a strobe error occurs (when the master attempts to write several times the same byte in the write buffer). An interrupt is generated if the STRBERRIE bit is set to 1. Writing 1 to CLR_STRBERR bit in FLASH_NSCCR register clears STRBERR. + /// strobe error flag STRBERR flag is raised when a strobe error occurs (when the master attempts to write several times the same byte in the write buffer). An interrupt is generated if the STRBERRIE bit is set to 1. Writing 1 to CLR_STRBERR bit in FLASH_NSCCR register clears STRBERR. STRBERR: u1, - /// inconsistency error flag INCERR flag is raised when a inconsistency error occurs. An interrupt is generated if INCERRIE is set to 1. Writing 1 to CLR_INCERR bit in the FLASH_NSCCR register clears INCERR. + /// inconsistency error flag INCERR flag is raised when a inconsistency error occurs. An interrupt is generated if INCERRIE is set to 1. Writing 1 to CLR_INCERR bit in the FLASH_NSCCR register clears INCERR. INCERR: u1, reserved23: u2, - /// Option byte change error flag OPTCHANGEERR flag indicates that an error occurred during an option byte change operation. When OPTCHANGEERR is set to 1, the option byte change operation did not successfully complete. An interrupt is generated when this flag is raised if the OPTCHANGEERRIE bit of FLASH_NSCR register is set to 1. Writing 1 to CLR_OPTCHANGEERR of register FLASH_CCR clears OPTCHANGEERR. Note: The OPTSTRT bit in FLASH_OPTCR cannot be set while OPTCHANGEERR is set. + /// Option byte change error flag OPTCHANGEERR flag indicates that an error occurred during an option byte change operation. When OPTCHANGEERR is set to 1, the option byte change operation did not successfully complete. An interrupt is generated when this flag is raised if the OPTCHANGEERRIE bit of FLASH_NSCR register is set to 1. Writing 1 to CLR_OPTCHANGEERR of register FLASH_CCR clears OPTCHANGEERR. Note: The OPTSTRT bit in FLASH_OPTCR cannot be set while OPTCHANGEERR is set. OPTCHANGEERR: u1, padding: u8, }), - /// FLASH secure status register + /// FLASH secure status register SECSR: mmio.Mmio(packed struct(u32) { - /// busy flag BSY flag indicates that a FLASH memory is busy by an operation (write, erase, option byte change, OBK operations, PUF operation). It is set at the beginning of a Flash memory operation and cleared when the operation finishes or an error occurs. + /// busy flag BSY flag indicates that a FLASH memory is busy by an operation (write, erase, option byte change, OBK operations, PUF operation). It is set at the beginning of a Flash memory operation and cleared when the operation finishes or an error occurs. SECBSY: u1, - /// write buffer not empty flag WBNE flag is set when the embedded Flash memory is waiting for new data to complete the write buffer. In this state, the write buffer is not empty. WBNE is reset by hardware each time the write buffer is complete or the write buffer is emptied following one of the event below: the application software forces the write operation using FW bit in FLASH_SECCR the embedded Flash memory detects an error that involves data loss This bit cannot be reset by writing 0 directly by software. To reset it, clear the write buffer by performing any of the above listed actions, or send the missing data. + /// write buffer not empty flag WBNE flag is set when the embedded Flash memory is waiting for new data to complete the write buffer. In this state, the write buffer is not empty. WBNE is reset by hardware each time the write buffer is complete or the write buffer is emptied following one of the event below: the application software forces the write operation using FW bit in FLASH_SECCR the embedded Flash memory detects an error that involves data loss This bit cannot be reset by writing 0 directly by software. To reset it, clear the write buffer by performing any of the above listed actions, or send the missing data. SECWBNE: u1, reserved3: u1, - /// data buffer not empty flag DBNE flag is set when the embedded Flash memory interface is processing 6-bits ECC data in dedicated buffer. This bit cannot be set to 0 by software. The hardware resets it once the buffer is free. + /// data buffer not empty flag DBNE flag is set when the embedded Flash memory interface is processing 6-bits ECC data in dedicated buffer. This bit cannot be set to 0 by software. The hardware resets it once the buffer is free. SECDBNE: u1, reserved16: u12, - /// end of operation flag EOP flag is set when a operation (program/erase) completes. An interrupt is generated if the EOPIE is set to. It is not necessary to reset EOP before starting a new operation. EOP bit is cleared by writing 1 to CLR_EOP bit in FLASH_SECCCR register. + /// end of operation flag EOP flag is set when a operation (program/erase) completes. An interrupt is generated if the EOPIE is set to. It is not necessary to reset EOP before starting a new operation. EOP bit is cleared by writing 1 to CLR_EOP bit in FLASH_SECCCR register. SECEOP: u1, - /// write protection error flag WRPERR flag is raised when a protection error occurs during a program operation. An interrupt is also generated if the WRPERRIE is set to 1. Writing 1 to CLR_WRPERR bit in FLASH_SECCCR register clears WRPERR. + /// write protection error flag WRPERR flag is raised when a protection error occurs during a program operation. An interrupt is also generated if the WRPERRIE is set to 1. Writing 1 to CLR_WRPERR bit in FLASH_SECCCR register clears WRPERR. SECWRPERR: u1, - /// programming sequence error flag PGSERR flag is raised when a sequence error occurs. An interrupt is generated if the PGSERRIE bit is set to 1. Writing 1 to CLR_PGSERR bit in FLASH_SECCCR register clears PGSERR. + /// programming sequence error flag PGSERR flag is raised when a sequence error occurs. An interrupt is generated if the PGSERRIE bit is set to 1. Writing 1 to CLR_PGSERR bit in FLASH_SECCCR register clears PGSERR. SECPGSERR: u1, - /// strobe error flag STRBERR flag is raised when a strobe error occurs (when the master attempts to write several times the same byte in the write buffer). An interrupt is generated if the STRBERRIE bit is set to 1. Writing 1 to CLR_STRBERR bit in FLASH_SECCCR register clears STRBERR. + /// strobe error flag STRBERR flag is raised when a strobe error occurs (when the master attempts to write several times the same byte in the write buffer). An interrupt is generated if the STRBERRIE bit is set to 1. Writing 1 to CLR_STRBERR bit in FLASH_SECCCR register clears STRBERR. SECSTRBERR: u1, - /// inconsistency error flag INCERR flag is raised when a inconsistency error occurs. An interrupt is generated if INCERRIE is set to 1. Writing 1 to CLR_INCERR bit in the FLASH_SECCCR register clears INCERR. + /// inconsistency error flag INCERR flag is raised when a inconsistency error occurs. An interrupt is generated if INCERRIE is set to 1. Writing 1 to CLR_INCERR bit in the FLASH_SECCCR register clears INCERR. SECINCERR: u1, padding: u11, }), - /// FLASH Non Secure control register + /// FLASH Non Secure control register NSCR: mmio.Mmio(packed struct(u32) { - /// configuration lock bit This bit locks the FLASH_NSCR register. The correct write sequence to FLASH_NSKEYR register unlocks this bit. If a wrong sequence is executed, or if the unlock sequence to FLASH_NSKEYR is performed twice, this bit remains locked until the next system reset. LOCK can be set by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When LOCK changes from 0 to 1, the other bits of FLASH_NSCR register do not change. + /// configuration lock bit This bit locks the FLASH_NSCR register. The correct write sequence to FLASH_NSKEYR register unlocks this bit. If a wrong sequence is executed, or if the unlock sequence to FLASH_NSKEYR is performed twice, this bit remains locked until the next system reset. LOCK can be set by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When LOCK changes from 0 to 1, the other bits of FLASH_NSCR register do not change. LOCK: u1, - /// programming control bit PG can be programmed only when LOCK is cleared to 0. PG allows programming in Bank1 and Bank2. + /// programming control bit PG can be programmed only when LOCK is cleared to 0. PG allows programming in Bank1 and Bank2. PG: u1, - /// sector erase request Setting SER bit to 1 requests a sector erase. SER can be programmed only when LOCK is cleared to 0. If MER and SER are also set, a PGSERR is raised. + /// sector erase request Setting SER bit to 1 requests a sector erase. SER can be programmed only when LOCK is cleared to 0. If MER and SER are also set, a PGSERR is raised. SER: u1, - /// erase request Setting BER bit to 1 requests a bank erase operation (user Flash memory only). BER can be programmed only when LOCK is cleared to 0. If MER and SER are also set, a PGSERR is raised. Note: Write protection error is triggered when a bank erase is required and some sectors are protected. + /// erase request Setting BER bit to 1 requests a bank erase operation (user Flash memory only). BER can be programmed only when LOCK is cleared to 0. If MER and SER are also set, a PGSERR is raised. Note: Write protection error is triggered when a bank erase is required and some sectors are protected. BER: u1, - /// write forcing control bit FW forces a write operation even if the write buffer is not full. In this case all bits not written are set to 1 by hardware. FW can be programmed only when LOCK is cleared to 0. The embedded Flash memory resets FW when the corresponding operation has been acknowledged. Note: Using a force-write operation prevents the application from updating later the missing bits with something else than 1, because it is likely that it leads to permanent ECC error. Write forcing is effective only if the write buffer is not empty (in particular, FW does not start several write operations when the force-write operations are performed consecutively). Since there is just one write buffer, FW can force a write in bank1 or bank2. + /// write forcing control bit FW forces a write operation even if the write buffer is not full. In this case all bits not written are set to 1 by hardware. FW can be programmed only when LOCK is cleared to 0. The embedded Flash memory resets FW when the corresponding operation has been acknowledged. Note: Using a force-write operation prevents the application from updating later the missing bits with something else than 1, because it is likely that it leads to permanent ECC error. Write forcing is effective only if the write buffer is not empty (in particular, FW does not start several write operations when the force-write operations are performed consecutively). Since there is just one write buffer, FW can force a write in bank1 or bank2. FW: u1, - /// erase start control bit STRT bit is used to start a sector erase or a bank erase operation. STRT can be programmed only when LOCK is cleared to 0. STRT is reset at the end of the operation or when an error occurs. It cannot be reseted by software. + /// erase start control bit STRT bit is used to start a sector erase or a bank erase operation. STRT can be programmed only when LOCK is cleared to 0. STRT is reset at the end of the operation or when an error occurs. It cannot be reseted by software. STRT: u1, - /// sector erase selection number These bits are used to select the target sector for an erase operation (they are unused otherwise). SNB can be programmed only when LOCK is cleared to 0. ... + /// sector erase selection number These bits are used to select the target sector for an erase operation (they are unused otherwise). SNB can be programmed only when LOCK is cleared to 0. ... SNB: u3, reserved15: u6, - /// Mass erase request Setting MER bit to 1 requests a mass erase operation (user Flash memory only). MER can be programmed only when LOCK is cleared to 0. If BER or SER are both set, a PGSERR is raised. Error is triggered when a mass erase is required and some sectors are protected. + /// Mass erase request Setting MER bit to 1 requests a mass erase operation (user Flash memory only). MER can be programmed only when LOCK is cleared to 0. If BER or SER are both set, a PGSERR is raised. Error is triggered when a mass erase is required and some sectors are protected. MER: u1, - /// end of operation interrupt control bit Setting EOPIE bit to 1 enables the generation of an interrupt at the end of a program or erase operation. EOPIE can be programmed only when LOCK is cleared to 0. + /// end of operation interrupt control bit Setting EOPIE bit to 1 enables the generation of an interrupt at the end of a program or erase operation. EOPIE can be programmed only when LOCK is cleared to 0. EOPIE: u1, - /// write protection error interrupt enable bit When WRPERRIE bit is set to 1, an interrupt is generated when a protection error occurs during a program operation. WRPERRIE can be programmed only when LOCK is cleared to 0. + /// write protection error interrupt enable bit When WRPERRIE bit is set to 1, an interrupt is generated when a protection error occurs during a program operation. WRPERRIE can be programmed only when LOCK is cleared to 0. WRPERRIE: u1, - /// programming sequence error interrupt enable bit When PGSERRIE bit is set to 1, an interrupt is generated when a sequence error occurs during a program operation. PGSERRIE can be programmed only when LOCK is cleared to 0. + /// programming sequence error interrupt enable bit When PGSERRIE bit is set to 1, an interrupt is generated when a sequence error occurs during a program operation. PGSERRIE can be programmed only when LOCK is cleared to 0. PGSERRIE: u1, - /// strobe error interrupt enable bit When STRBERRIE bit is set to 1, an interrupt is generated when a strobe error occurs (the master programs several times the same byte in the write buffer) during a write operation. STRBERRIE can be programmed only when LOCK is cleared to 0. + /// strobe error interrupt enable bit When STRBERRIE bit is set to 1, an interrupt is generated when a strobe error occurs (the master programs several times the same byte in the write buffer) during a write operation. STRBERRIE can be programmed only when LOCK is cleared to 0. STRBERRIE: u1, - /// inconsistency error interrupt enable bit When INCERRIE bit is set to 1, an interrupt is generated when an inconsistency error occurs during a write operation. INCERRIE can be programmed only when LOCK is cleared to 0. + /// inconsistency error interrupt enable bit When INCERRIE bit is set to 1, an interrupt is generated when an inconsistency error occurs during a write operation. INCERRIE can be programmed only when LOCK is cleared to 0. INCERRIE: u1, reserved23: u2, - /// Option byte change error interrupt enable bit OPTCHANGEERRIE bit controls if an interrupt has to be generated when an error occurs during an option byte change. This bit can be programmed only when LOCK bit is cleared to 0. + /// Option byte change error interrupt enable bit OPTCHANGEERRIE bit controls if an interrupt has to be generated when an error occurs during an option byte change. This bit can be programmed only when LOCK bit is cleared to 0. OPTCHANGEERRIE: u1, reserved31: u7, - /// Bank selector bit BKSEL can only be programmed when LOCK is cleared to 0. The bit selects physical bank, SWAP_BANK setting is ignored. - BKSEL: packed union { - raw: u1, - value: BKSEL, - }, + /// Bank selector bit BKSEL can only be programmed when LOCK is cleared to 0. The bit selects physical bank, SWAP_BANK setting is ignored. + BKSEL: BKSEL, }), reserved48: [4]u8, - /// FLASH non-secure clear control register + /// FLASH non-secure clear control register NSCCR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// EOP flag clear bit Setting this bit to 1 resets to 0 EOP flag in FLASH_NSSR register. + /// EOP flag clear bit Setting this bit to 1 resets to 0 EOP flag in FLASH_NSSR register. CLR_EOP: u1, - /// WRPERR flag clear bit Setting this bit to 1 resets to 0 WRPERR flag in FLASH_NSSR register. + /// WRPERR flag clear bit Setting this bit to 1 resets to 0 WRPERR flag in FLASH_NSSR register. CLR_WRPERR: u1, - /// PGSERR flag clear bit Setting this bit to 1 resets to 0 PGSERR flag in FLASH_NSSR register. + /// PGSERR flag clear bit Setting this bit to 1 resets to 0 PGSERR flag in FLASH_NSSR register. CLR_PGSERR: u1, - /// STRBERR flag clear bit Setting this bit to 1 resets to 0 STRBERR flag in FLASH_NSSR register. + /// STRBERR flag clear bit Setting this bit to 1 resets to 0 STRBERR flag in FLASH_NSSR register. CLR_STRBERR: u1, - /// INCERR flag clear bit Setting this bit to 1 resets to 0 INCERR flag in FLASH_NSSR register. + /// INCERR flag clear bit Setting this bit to 1 resets to 0 INCERR flag in FLASH_NSSR register. CLR_INCERR: u1, reserved23: u2, - /// Clear the flag corresponding flag in FLASH_NSSR by writing this bit. + /// Clear the flag corresponding flag in FLASH_NSSR by writing this bit. CLR_OPTCHANGEERR: u1, padding: u8, }), reserved60: [8]u8, - /// FLASH privilege configuration register + /// FLASH privilege configuration register PRIVCFGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// privilege attribute for non secure registers - NSPRIV: packed union { - raw: u1, - value: NSPRIV, - }, + /// privilege attribute for non secure registers + NSPRIV: NSPRIV, padding: u30, }), reserved72: [8]u8, - /// FLASH HDP extension register + /// FLASH HDP extension register HDPEXTR: mmio.Mmio(packed struct(u32) { - /// HDP area extension in 8 Kbytes sectors in Bank1. Extension is added after the HDP1_END sector. + /// HDP area extension in 8 Kbytes sectors in Bank1. Extension is added after the HDP1_END sector. HDP1_EXT: u3, reserved16: u13, - /// HDP area extension in 8 Kbytes sectors in Bank2. Extension is added after the HDP2_END sector. + /// HDP area extension in 8 Kbytes sectors in Bank2. Extension is added after the HDP2_END sector. HDP2_EXT: u3, padding: u13, }), reserved80: [4]u8, - /// FLASH option status register + /// FLASH option status register OPTSR_CUR: mmio.Mmio(packed struct(u32) { - /// Brownout level option status bit These bits reflects the power level that generates a system reset. - BOR_LEV: packed union { - raw: u2, - value: OPTSR_BOR_LEV, - }, - /// Brownout high enable status bit + /// Brownout level option status bit These bits reflects the power level that generates a system reset. + BOR_LEV: OPTSR_BOR_LEV, + /// Brownout high enable status bit BORH_EN: u1, - /// IWDG control mode option status bit - IWDG_SW: packed union { - raw: u1, - value: OPTSR_IWDG_SW, - }, - /// WWDG control mode option status bit - WWDG_SW: packed union { - raw: u1, - value: OPTSR_WWDG_SW, - }, - /// Core domain Shutdown entry reset option status bit - NRST_SHDW: packed union { - raw: u1, - value: OPTSR_NRST_SHDW, - }, - /// Core domain Stop entry reset option status bit - NRST_STOP: packed union { - raw: u1, - value: OPTSR_NRST_STOP, - }, - /// Core domain Standby entry reset option status bit - NRST_STDBY: packed union { - raw: u1, - value: OPTSR_NRST_STDBY, - }, - /// Life state code (based on Hamming 8,4). - PRODUCT_STATE: packed union { - raw: u8, - value: PRODUCT_STATE, - }, - /// High-speed IO at low VDD voltage status bit. This bit can be set only with VDD below 2.5 V. - IO_VDD_HSLV: packed union { - raw: u1, - value: OPTSR_IO_VDD_HSLV, - }, - /// High-speed IO at low VDDIO2 voltage status bit. This bit can be set only with VDDIO2 below 2.5 V. - IO_VDDIO2_HSLV: packed union { - raw: u1, - value: OPTSR_IO_VDDIO_HSLV, - }, + /// IWDG control mode option status bit + IWDG_SW: OPTSR_IWDG_SW, + /// WWDG control mode option status bit + WWDG_SW: OPTSR_WWDG_SW, + /// Core domain Shutdown entry reset option status bit + NRST_SHDW: OPTSR_NRST_SHDW, + /// Core domain Stop entry reset option status bit + NRST_STOP: OPTSR_NRST_STOP, + /// Core domain Standby entry reset option status bit + NRST_STDBY: OPTSR_NRST_STDBY, + /// Life state code (based on Hamming 8,4). + PRODUCT_STATE: PRODUCT_STATE, + /// High-speed IO at low VDD voltage status bit. This bit can be set only with VDD below 2.5 V. + IO_VDD_HSLV: OPTSR_IO_VDD_HSLV, + /// High-speed IO at low VDDIO2 voltage status bit. This bit can be set only with VDDIO2 below 2.5 V. + IO_VDDIO2_HSLV: OPTSR_IO_VDDIO_HSLV, reserved20: u2, - /// IWDG Stop mode freeze option status bit When set the independent watchdog IWDG is in system Stop mode. - IWDG_STOP: packed union { - raw: u1, - value: OPTSR_IWDG_STOP, - }, - /// IWDG Standby mode freeze option status bit When set the independent watchdog IWDG is frozen in system Standby mode. - IWDG_STDBY: packed union { - raw: u1, - value: OPTSR_IWDG_STDBY, - }, + /// IWDG Stop mode freeze option status bit When set the independent watchdog IWDG is in system Stop mode. + IWDG_STOP: OPTSR_IWDG_STOP, + /// IWDG Standby mode freeze option status bit When set the independent watchdog IWDG is frozen in system Standby mode. + IWDG_STDBY: OPTSR_IWDG_STDBY, reserved31: u9, - /// Bank swapping option status bit SWAP_BANK reflects whether Bank1 and Bank2 are swapped or not. SWAP_BANK is loaded to SWAP_BANK of FLASH_OPTCR after a reset. + /// Bank swapping option status bit SWAP_BANK reflects whether Bank1 and Bank2 are swapped or not. SWAP_BANK is loaded to SWAP_BANK of FLASH_OPTCR after a reset. SWAP_BANK: u1, }), - /// FLASH option status register + /// FLASH option status register OPTSR_PRG: mmio.Mmio(packed struct(u32) { - /// Brownout level option status bit These bits reflects the power level that generates a system reset. - BOR_LEV: packed union { - raw: u2, - value: OPTSR_BOR_LEV, - }, - /// Brownout high enable status bit + /// Brownout level option status bit These bits reflects the power level that generates a system reset. + BOR_LEV: OPTSR_BOR_LEV, + /// Brownout high enable status bit BORH_EN: u1, - /// IWDG control mode option status bit - IWDG_SW: packed union { - raw: u1, - value: OPTSR_IWDG_SW, - }, - /// WWDG control mode option status bit - WWDG_SW: packed union { - raw: u1, - value: OPTSR_WWDG_SW, - }, - /// Core domain Shutdown entry reset option status bit - NRST_SHDW: packed union { - raw: u1, - value: OPTSR_NRST_SHDW, - }, - /// Core domain Stop entry reset option status bit - NRST_STOP: packed union { - raw: u1, - value: OPTSR_NRST_STOP, - }, - /// Core domain Standby entry reset option status bit - NRST_STDBY: packed union { - raw: u1, - value: OPTSR_NRST_STDBY, - }, - /// Life state code (based on Hamming 8,4). - PRODUCT_STATE: packed union { - raw: u8, - value: PRODUCT_STATE, - }, - /// High-speed IO at low VDD voltage status bit. This bit can be set only with VDD below 2.5 V. - IO_VDD_HSLV: packed union { - raw: u1, - value: OPTSR_IO_VDD_HSLV, - }, - /// High-speed IO at low VDDIO2 voltage status bit. This bit can be set only with VDDIO2 below 2.5 V. - IO_VDDIO2_HSLV: packed union { - raw: u1, - value: OPTSR_IO_VDDIO_HSLV, - }, + /// IWDG control mode option status bit + IWDG_SW: OPTSR_IWDG_SW, + /// WWDG control mode option status bit + WWDG_SW: OPTSR_WWDG_SW, + /// Core domain Shutdown entry reset option status bit + NRST_SHDW: OPTSR_NRST_SHDW, + /// Core domain Stop entry reset option status bit + NRST_STOP: OPTSR_NRST_STOP, + /// Core domain Standby entry reset option status bit + NRST_STDBY: OPTSR_NRST_STDBY, + /// Life state code (based on Hamming 8,4). + PRODUCT_STATE: PRODUCT_STATE, + /// High-speed IO at low VDD voltage status bit. This bit can be set only with VDD below 2.5 V. + IO_VDD_HSLV: OPTSR_IO_VDD_HSLV, + /// High-speed IO at low VDDIO2 voltage status bit. This bit can be set only with VDDIO2 below 2.5 V. + IO_VDDIO2_HSLV: OPTSR_IO_VDDIO_HSLV, reserved20: u2, - /// IWDG Stop mode freeze option status bit When set the independent watchdog IWDG is in system Stop mode. - IWDG_STOP: packed union { - raw: u1, - value: OPTSR_IWDG_STOP, - }, - /// IWDG Standby mode freeze option status bit When set the independent watchdog IWDG is frozen in system Standby mode. - IWDG_STDBY: packed union { - raw: u1, - value: OPTSR_IWDG_STDBY, - }, + /// IWDG Stop mode freeze option status bit When set the independent watchdog IWDG is in system Stop mode. + IWDG_STOP: OPTSR_IWDG_STOP, + /// IWDG Standby mode freeze option status bit When set the independent watchdog IWDG is frozen in system Standby mode. + IWDG_STDBY: OPTSR_IWDG_STDBY, reserved31: u9, - /// Bank swapping option status bit SWAP_BANK reflects whether Bank1 and Bank2 are swapped or not. SWAP_BANK is loaded to SWAP_BANK of FLASH_OPTCR after a reset. + /// Bank swapping option status bit SWAP_BANK reflects whether Bank1 and Bank2 are swapped or not. SWAP_BANK is loaded to SWAP_BANK of FLASH_OPTCR after a reset. SWAP_BANK: u1, }), reserved112: [24]u8, - /// FLASH option status register 2 + /// FLASH option status register 2 OPTSR2_CUR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// SRAM2 erase when system reset + /// SRAM2 erase when system reset SRAM2_RST: u1, - /// Backup RAM ECC detection and correction disable - BKPRAM_ECC: packed union { - raw: u1, - value: OPTSR_BKPRAM_ECC, - }, + /// Backup RAM ECC detection and correction disable + BKPRAM_ECC: OPTSR_BKPRAM_ECC, reserved6: u1, - /// SRAM2 ECC detection and correction disable - SRAM2_ECC: packed union { - raw: u1, - value: OPTSR_SRAM_ECC, - }, + /// SRAM2 ECC detection and correction disable + SRAM2_ECC: OPTSR_SRAM_ECC, reserved9: u2, - /// SRAM1 erase upon system reset + /// SRAM1 erase upon system reset SRAM1_RST: u1, - /// SRAM1 ECC detection and correction disable - SRAM1_ECC: packed union { - raw: u1, - value: OPTSR_SRAM_ECC, - }, + /// SRAM1 ECC detection and correction disable + SRAM1_ECC: OPTSR_SRAM_ECC, padding: u21, }), - /// FLASH option status register 2 + /// FLASH option status register 2 OPTSR2_PRG: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// SRAM2 erase when system reset + /// SRAM2 erase when system reset SRAM2_RST: u1, - /// Backup RAM ECC detection and correction disable - BKPRAM_ECC: packed union { - raw: u1, - value: OPTSR_BKPRAM_ECC, - }, + /// Backup RAM ECC detection and correction disable + BKPRAM_ECC: OPTSR_BKPRAM_ECC, reserved6: u1, - /// SRAM2 ECC detection and correction disable - SRAM2_ECC: packed union { - raw: u1, - value: OPTSR_SRAM_ECC, - }, + /// SRAM2 ECC detection and correction disable + SRAM2_ECC: OPTSR_SRAM_ECC, reserved9: u2, - /// SRAM1 erase upon system reset + /// SRAM1 erase upon system reset SRAM1_RST: u1, - /// SRAM1 ECC detection and correction disable - SRAM1_ECC: packed union { - raw: u1, - value: OPTSR_SRAM_ECC, - }, + /// SRAM1 ECC detection and correction disable + SRAM1_ECC: OPTSR_SRAM_ECC, padding: u21, }), reserved128: [8]u8, - /// FLASH non-secure unique boot entry register + /// FLASH non-secure unique boot entry register NSBOOTR_CUR: mmio.Mmio(packed struct(u32) { - /// A field locking the values of SWAP_BANK, and NSBOOTADD settings. - NSBOOT_LOCK: packed union { - raw: u8, - value: NSBOOTR_NSBOOT_LOCK, - }, - /// unique boot entry address These bits reflect the UBE address + /// A field locking the values of SWAP_BANK, and NSBOOTADD settings. + NSBOOT_LOCK: NSBOOTR_NSBOOT_LOCK, + /// unique boot entry address These bits reflect the UBE address NSBOOTADD: u24, }), - /// FLASH non-secure unique boot entry address + /// FLASH non-secure unique boot entry address NSBOOTR_PRG: mmio.Mmio(packed struct(u32) { - /// A field locking the values of SWAP_BANK, and NSBOOTADD settings. - NSBOOT_LOCK: packed union { - raw: u8, - value: NSBOOTR_NSBOOT_LOCK, - }, - /// unique boot entry address These bits reflect the UBE address + /// A field locking the values of SWAP_BANK, and NSBOOTADD settings. + NSBOOT_LOCK: NSBOOTR_NSBOOT_LOCK, + /// unique boot entry address These bits reflect the UBE address NSBOOTADD: u24, }), reserved144: [8]u8, - /// FLASH non-secure OTP block lock + /// FLASH non-secure OTP block lock OTPBLR_CUR: mmio.Mmio(packed struct(u32) { - /// OTP block lock Block n corresponds to OTP 16-bit word 32 x n to 32 x n + 31. LOCKBL[n] = 1 indicates that all OTP 16-bit words in OTP Block n are locked and attempt to program them results in WRPERR. LOCKBL[n] = 0 indicates that all OTP 16-bit words in OTP Block n are not locked. When one block is locked, it is not possible to remove the write protection. LOCKBL bits can be set if the corresponding bit in FLASH_OTPBLR_CUR is cleared. + /// OTP block lock Block n corresponds to OTP 16-bit word 32 x n to 32 x n + 31. LOCKBL[n] = 1 indicates that all OTP 16-bit words in OTP Block n are locked and attempt to program them results in WRPERR. LOCKBL[n] = 0 indicates that all OTP 16-bit words in OTP Block n are not locked. When one block is locked, it is not possible to remove the write protection. LOCKBL bits can be set if the corresponding bit in FLASH_OTPBLR_CUR is cleared. LOCKBL: u32, }), - /// FLASH non-secure OTP block lock + /// FLASH non-secure OTP block lock OTPBLR_PRG: mmio.Mmio(packed struct(u32) { - /// OTP block lock Block n corresponds to OTP 16-bit word 32 x n to 32 x n + 31. LOCKBL[n] = 1 indicates that all OTP 16-bit words in OTP Block n are locked and attempt to program them results in WRPERR. LOCKBL[n] = 0 indicates that all OTP 16-bit words in OTP Block n are not locked. When one block is locked, it is not possible to remove the write protection. LOCKBL bits can be set if the corresponding bit in FLASH_OTPBLR_CUR is cleared. + /// OTP block lock Block n corresponds to OTP 16-bit word 32 x n to 32 x n + 31. LOCKBL[n] = 1 indicates that all OTP 16-bit words in OTP Block n are locked and attempt to program them results in WRPERR. LOCKBL[n] = 0 indicates that all OTP 16-bit words in OTP Block n are not locked. When one block is locked, it is not possible to remove the write protection. LOCKBL bits can be set if the corresponding bit in FLASH_OTPBLR_CUR is cleared. LOCKBL: u32, }), reserved192: [40]u8, - /// FLASH privilege register for bank 1 + /// FLASH privilege register for bank 1 PRIVBB1R: mmio.Mmio(packed struct(u32) { - /// Privileged / unprivileged 8 Kbytes Flash Bank1 sector attribute (y = 0 to 7) - PRIVBB: packed union { - raw: u8, - value: PRIVBB, - }, + /// Privileged / unprivileged 8 Kbytes Flash Bank1 sector attribute (y = 0 to 7) + PRIVBB: PRIVBB, padding: u24, }), reserved232: [36]u8, - /// FLASH write sector protection for Bank1 + /// FLASH write sector protection for Bank1 WRPSGN1R_CUR: mmio.Mmio(packed struct(u32) { - /// Bank2 sector protection option status byte Setting WRPSG2 bits to 0 write protects the corresponding sectors in bank 2 (0: write protected; 1: not write protected) + /// Bank2 sector protection option status byte Setting WRPSG2 bits to 0 write protects the corresponding sectors in bank 2 (0: write protected; 1: not write protected) WRPSG: u8, padding: u24, }), - /// FLASH write sector protection for Bank1 + /// FLASH write sector protection for Bank1 WRPSGN1R_PRG: mmio.Mmio(packed struct(u32) { - /// Bank2 sector protection option status byte Setting WRPSG2 bits to 0 write protects the corresponding sectors in bank 2 (0: write protected; 1: not write protected) + /// Bank2 sector protection option status byte Setting WRPSG2 bits to 0 write protects the corresponding sectors in bank 2 (0: write protected; 1: not write protected) WRPSG: u8, padding: u24, }), reserved248: [8]u8, - /// FLASH HDP Bank1 register + /// FLASH HDP Bank1 register HDP1R_CUR: mmio.Mmio(packed struct(u32) { - /// HDPL barrier start set in number of 8 Kbytes sectors + /// HDPL barrier start set in number of 8 Kbytes sectors HDP1_STRT: u3, reserved16: u13, - /// HDPL barrier end set in number of 8 Kbytes sectors + /// HDPL barrier end set in number of 8 Kbytes sectors HDP1_END: u3, padding: u13, }), - /// FLASH HDP Bank1 register + /// FLASH HDP Bank1 register HDP1R_PRG: mmio.Mmio(packed struct(u32) { - /// HDPL barrier start set in number of 8 Kbytes sectors + /// HDPL barrier start set in number of 8 Kbytes sectors HDP1_STRT: u3, reserved16: u13, - /// HDPL barrier end set in number of 8 Kbytes sectors + /// HDPL barrier end set in number of 8 Kbytes sectors HDP1_END: u3, padding: u13, }), - /// FLASH Flash ECC correction register + /// FLASH Flash ECC correction register ECCCORR: mmio.Mmio(packed struct(u32) { - /// ECC error address When an ECC error occurs (for single correction) during a read operation, the ADDR_ECC contains the address that generated the error. ADDR_ECC is reset when the flag error is reset. The embedded Flash memory programs the address in this register only when no ECC error flags are set. This means that only the first address that generated an ECC error is saved. The address in ADDR_ECC is relative to the Flash memory area where the error occurred (user Flash memory, system Flash memory, data area, read-only/OTP area). + /// ECC error address When an ECC error occurs (for single correction) during a read operation, the ADDR_ECC contains the address that generated the error. ADDR_ECC is reset when the flag error is reset. The embedded Flash memory programs the address in this register only when no ECC error flags are set. This means that only the first address that generated an ECC error is saved. The address in ADDR_ECC is relative to the Flash memory area where the error occurred (user Flash memory, system Flash memory, data area, read-only/OTP area). ADDR_ECC: u16, reserved22: u6, - /// ECC bank flag for corrected ECC error It indicates which bank is concerned by ECC error + /// ECC bank flag for corrected ECC error It indicates which bank is concerned by ECC error BK_ECC: u1, - /// ECC flag for corrected ECC error in system FLASH It indicates if system Flash memory is concerned by ECC error. + /// ECC flag for corrected ECC error in system FLASH It indicates if system Flash memory is concerned by ECC error. SYSF_ECC: u1, - /// OTP ECC error bit This bit is set to 1 when one single ECC correction occurred during the last successful read operation from the read-only/ OTP area. The address of the ECC error is available in ADDR_ECC bitfield. + /// OTP ECC error bit This bit is set to 1 when one single ECC correction occurred during the last successful read operation from the read-only/ OTP area. The address of the ECC error is available in ADDR_ECC bitfield. OTP_ECC: u1, - /// ECC single correction error interrupt enable bit When ECCCIE bit is set to 1, an interrupt is generated when an ECC single correction error occurs during a read operation. + /// ECC single correction error interrupt enable bit When ECCCIE bit is set to 1, an interrupt is generated when an ECC single correction error occurs during a read operation. ECCCIE: u1, reserved30: u4, - /// ECC correction set by hardware when single ECC error has been detected and corrected. Cleared by writing 1. + /// ECC correction set by hardware when single ECC error has been detected and corrected. Cleared by writing 1. ECCC: u1, padding: u1, }), - /// FLASH ECC detection register + /// FLASH ECC detection register ECCDETR: mmio.Mmio(packed struct(u32) { - /// ECC error address When an ECC error occurs (double detection) during a read operation, the ADDR_ECC contains the address that generated the error. ADDR_ECC is reset when the flag error is reset. The embedded Flash memory programs the address in this register only when no ECC error flags are set. This means that only the first address that generated an double ECC error is saved. The address in ADDR_ECC is relative to the Flash memory area where the error occurred (user Flash memory, system Flash memory, data area, read-only/OTP area). + /// ECC error address When an ECC error occurs (double detection) during a read operation, the ADDR_ECC contains the address that generated the error. ADDR_ECC is reset when the flag error is reset. The embedded Flash memory programs the address in this register only when no ECC error flags are set. This means that only the first address that generated an double ECC error is saved. The address in ADDR_ECC is relative to the Flash memory area where the error occurred (user Flash memory, system Flash memory, data area, read-only/OTP area). ADDR_ECC: u16, reserved22: u6, - /// ECC fail bank for double ECC Error It indicates which bank is concerned by ECC error + /// ECC fail bank for double ECC Error It indicates which bank is concerned by ECC error BK_ECC: u1, - /// ECC fail for double ECC error in system Flash memory It indicates if system Flash memory is concerned by ECC error. + /// ECC fail for double ECC error in system Flash memory It indicates if system Flash memory is concerned by ECC error. SYSF_ECC: u1, - /// OTP ECC error bit This bit is set to 1 when double ECC detection occurred during the last read operation from the read-only/ OTP area. The address of the ECC error is available in ADDR_ECC bit field. + /// OTP ECC error bit This bit is set to 1 when double ECC detection occurred during the last read operation from the read-only/ OTP area. The address of the ECC error is available in ADDR_ECC bit field. OTP_ECC: u1, reserved31: u6, - /// ECC detection set by hardware when two ECC error has been detected. When this bit is set, a NMI is generated. Cleared by writing 1. Needs to be cleared in order to detect subsequent double ECC errors. + /// ECC detection set by hardware when two ECC error has been detected. When this bit is set, a NMI is generated. Cleared by writing 1. Needs to be cleared in order to detect subsequent double ECC errors. ECCD: u1, }), - /// FLASH ECC data + /// FLASH ECC data ECCDR: mmio.Mmio(packed struct(u32) { - /// ECC error data When an double detection ECC error occurs on special areas with 6-bit ECC on 16-bit of data (data area, read-only/OTP area), the failing data is read to this register. By checking if it is possible to determine whether the failure was on a real data, or due to access to uninitialized memory. + /// ECC error data When an double detection ECC error occurs on special areas with 6-bit ECC on 16-bit of data (data area, read-only/OTP area), the failing data is read to this register. By checking if it is possible to determine whether the failure was on a real data, or due to access to uninitialized memory. DATA_ECC: u16, padding: u16, }), reserved488: [220]u8, - /// FLASH write sector protection for Bank2 + /// FLASH write sector protection for Bank2 WRPSGN2R_CUR: mmio.Mmio(packed struct(u32) { - /// Bank2 sector protection option status byte Setting WRPSG2 bits to 0 write protects the corresponding sectors in bank 2 (0: write protected; 1: not write protected) + /// Bank2 sector protection option status byte Setting WRPSG2 bits to 0 write protects the corresponding sectors in bank 2 (0: write protected; 1: not write protected) WRPSG: u8, padding: u24, }), - /// FLASH write sector protection for Bank2 + /// FLASH write sector protection for Bank2 WRPSGN2R_PRG: mmio.Mmio(packed struct(u32) { - /// Bank2 sector protection option status byte Setting WRPSG2 bits to 0 write protects the corresponding sectors in bank 2 (0: write protected; 1: not write protected) + /// Bank2 sector protection option status byte Setting WRPSG2 bits to 0 write protects the corresponding sectors in bank 2 (0: write protected; 1: not write protected) WRPSG: u8, padding: u24, }), reserved504: [8]u8, - /// FLASH HDP Bank2 register + /// FLASH HDP Bank2 register HDP2R_CUR: mmio.Mmio(packed struct(u32) { - /// Bank 2 HDPL barrier start set in number of 8 Kbytes sectors + /// Bank 2 HDPL barrier start set in number of 8 Kbytes sectors HDP2_STRT: u3, reserved16: u13, - /// Bank 2 HDPL barrier end set in number of 8 Kbytes sectors + /// Bank 2 HDPL barrier end set in number of 8 Kbytes sectors HDP2_END: u3, padding: u13, }), - /// FLASH HDP Bank2 register + /// FLASH HDP Bank2 register HDP2R_PRG: mmio.Mmio(packed struct(u32) { - /// Bank 2 HDPL barrier start set in number of 8 Kbytes sectors + /// Bank 2 HDPL barrier start set in number of 8 Kbytes sectors HDP2_STRT: u3, reserved16: u13, - /// Bank 2 HDPL barrier end set in number of 8 Kbytes sectors + /// Bank 2 HDPL barrier end set in number of 8 Kbytes sectors HDP2_END: u3, padding: u13, }), @@ -334281,714 +332235,714 @@ pub const types = struct { }; pub const flash_h7 = struct { - /// Cluster BANK%s, containing KEYR?, CR?, SR?, CCR?, PRAR_CUR?, PRAR_PRG?, SCAR_CUR?, SCAR_PRG?, WPSN_CUR?R, WPSN_PRG?R, CRCCR?, CRCSADD?R, CRCEADD?R, ECC_FA?R + /// Cluster BANK%s, containing KEYR?, CR?, SR?, CCR?, PRAR_CUR?, PRAR_PRG?, SCAR_CUR?, SCAR_PRG?, WPSN_CUR?R, WPSN_PRG?R, CRCCR?, CRCSADD?R, CRCEADD?R, ECC_FA?R pub const BANK = extern struct { - /// FLASH key register for bank 1 + /// FLASH key register for bank 1 KEYR: u32, reserved8: [4]u8, - /// FLASH control register for bank 1 + /// FLASH control register for bank 1 CR: mmio.Mmio(packed struct(u32) { - /// Bank 1 configuration lock bit + /// Bank 1 configuration lock bit LOCK: u1, - /// Bank 1 program enable bit + /// Bank 1 program enable bit PG: u1, - /// Bank 1 sector erase request + /// Bank 1 sector erase request SER: u1, - /// Bank 1 erase request + /// Bank 1 erase request BER: u1, - /// Bank 1 program size + /// Bank 1 program size PSIZE: u2, - /// Bank 1 write forcing control bit + /// Bank 1 write forcing control bit FW: u1, - /// Bank 1 bank or sector erase start control bit + /// Bank 1 bank or sector erase start control bit START: u1, - /// Bank 1 sector erase selection number + /// Bank 1 sector erase selection number SNB: u3, reserved15: u4, - /// Bank 1 CRC control bit + /// Bank 1 CRC control bit CRC_EN: u1, - /// Bank 1 end-of-program interrupt control bit + /// Bank 1 end-of-program interrupt control bit EOPIE: u1, - /// Bank 1 write protection error interrupt enable bit + /// Bank 1 write protection error interrupt enable bit WRPERRIE: u1, - /// Bank 1 programming sequence error interrupt enable bit + /// Bank 1 programming sequence error interrupt enable bit PGSERRIE: u1, - /// Bank 1 strobe error interrupt enable bit + /// Bank 1 strobe error interrupt enable bit STRBERRIE: u1, reserved21: u1, - /// Bank 1 inconsistency error interrupt enable bit + /// Bank 1 inconsistency error interrupt enable bit INCERRIE: u1, - /// Bank 1 write/erase error interrupt enable bit + /// Bank 1 write/erase error interrupt enable bit OPERRIE: u1, - /// Bank 1 read protection error interrupt enable bit + /// Bank 1 read protection error interrupt enable bit RDPERRIE: u1, - /// Bank 1 secure error interrupt enable bit + /// Bank 1 secure error interrupt enable bit RDSERRIE: u1, - /// Bank 1 ECC single correction error interrupt enable bit + /// Bank 1 ECC single correction error interrupt enable bit SNECCERRIE: u1, - /// Bank 1 ECC double detection error interrupt enable bit + /// Bank 1 ECC double detection error interrupt enable bit DBECCERRIE: u1, - /// Bank 1 end of CRC calculation interrupt enable bit + /// Bank 1 end of CRC calculation interrupt enable bit CRCENDIE: u1, - /// Bank 1 CRC read error interrupt enable bit + /// Bank 1 CRC read error interrupt enable bit CRCRDERRIE: u1, padding: u3, }), - /// FLASH status register for bank 1 + /// FLASH status register for bank 1 SR: mmio.Mmio(packed struct(u32) { - /// Bank 1 ongoing program flag + /// Bank 1 ongoing program flag BSY: u1, - /// Bank 1 write buffer not empty flag + /// Bank 1 write buffer not empty flag WBNE: u1, - /// Bank 1 wait queue flag + /// Bank 1 wait queue flag QW: u1, - /// Bank 1 CRC busy flag + /// Bank 1 CRC busy flag CRC_BUSY: u1, reserved16: u12, - /// Bank 1 end-of-program flag + /// Bank 1 end-of-program flag EOP: u1, - /// Bank 1 write protection error flag + /// Bank 1 write protection error flag WRPERR: u1, - /// Bank 1 programming sequence error flag + /// Bank 1 programming sequence error flag PGSERR: u1, - /// Bank 1 strobe error flag + /// Bank 1 strobe error flag STRBERR: u1, reserved21: u1, - /// Bank 1 inconsistency error flag + /// Bank 1 inconsistency error flag INCERR: u1, - /// Bank 1 write/erase error flag + /// Bank 1 write/erase error flag OPERR: u1, - /// Bank 1 read protection error flag + /// Bank 1 read protection error flag RDPERR: u1, - /// Bank 1 secure error flag + /// Bank 1 secure error flag RDSERR: u1, - /// Bank 1 single correction error flag + /// Bank 1 single correction error flag SNECCERR1: u1, - /// Bank 1 ECC double detection error flag + /// Bank 1 ECC double detection error flag DBECCERR: u1, - /// Bank 1 CRC-complete flag + /// Bank 1 CRC-complete flag CRCEND: u1, - /// Bank 1 CRC read error flag + /// Bank 1 CRC read error flag CRCRDERR: u1, padding: u3, }), - /// FLASH clear control register for bank 1 + /// FLASH clear control register for bank 1 CCR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Bank 1 EOP1 flag clear bit + /// Bank 1 EOP1 flag clear bit CLR_EOP: u1, - /// Bank 1 WRPERR1 flag clear bit + /// Bank 1 WRPERR1 flag clear bit CLR_WRPERR: u1, - /// Bank 1 PGSERR1 flag clear bi + /// Bank 1 PGSERR1 flag clear bi CLR_PGSERR: u1, - /// Bank 1 STRBERR1 flag clear bit + /// Bank 1 STRBERR1 flag clear bit CLR_STRBERR: u1, reserved21: u1, - /// Bank 1 INCERR1 flag clear bit + /// Bank 1 INCERR1 flag clear bit CLR_INCERR: u1, - /// Bank 1 OPERR1 flag clear bit + /// Bank 1 OPERR1 flag clear bit CLR_OPERR: u1, - /// Bank 1 RDPERR1 flag clear bit + /// Bank 1 RDPERR1 flag clear bit CLR_RDPERR: u1, - /// Bank 1 RDSERR1 flag clear bit + /// Bank 1 RDSERR1 flag clear bit CLR_RDSERR: u1, - /// Bank 1 SNECCERR1 flag clear bit + /// Bank 1 SNECCERR1 flag clear bit CLR_SNECCERR: u1, - /// Bank 1 DBECCERR1 flag clear bit + /// Bank 1 DBECCERR1 flag clear bit CLR_DBECCERR: u1, - /// Bank 1 CRCEND1 flag clear bit + /// Bank 1 CRCEND1 flag clear bit CLR_CRCEND: u1, - /// Bank 1 CRC read error clear bit + /// Bank 1 CRC read error clear bit CLR_CRCRDERR: u1, padding: u3, }), reserved36: [16]u8, - /// FLASH protection address for bank 1 + /// FLASH protection address for bank 1 PRAR_CUR: mmio.Mmio(packed struct(u32) { - /// Bank 1 lowest PCROP protected address + /// Bank 1 lowest PCROP protected address PROT_AREA_START: u12, reserved16: u4, - /// Bank 1 highest PCROP protected address + /// Bank 1 highest PCROP protected address PROT_AREA_END: u12, reserved31: u3, - /// Bank 1 PCROP protected erase enable option status bit + /// Bank 1 PCROP protected erase enable option status bit DMEP: u1, }), - /// FLASH protection address for bank 1 + /// FLASH protection address for bank 1 PRAR_PRG: mmio.Mmio(packed struct(u32) { - /// Bank 1 lowest PCROP protected address configuration + /// Bank 1 lowest PCROP protected address configuration PROT_AREA_START: u12, reserved16: u4, - /// Bank 1 highest PCROP protected address configuration + /// Bank 1 highest PCROP protected address configuration PROT_AREA_END: u12, reserved31: u3, - /// Bank 1 PCROP protected erase enable option configuration bit + /// Bank 1 PCROP protected erase enable option configuration bit DMEP: u1, }), - /// FLASH secure address for bank 1 + /// FLASH secure address for bank 1 SCAR_CUR: mmio.Mmio(packed struct(u32) { - /// Bank 1 lowest secure protected address + /// Bank 1 lowest secure protected address SEC_AREA_START: u12, reserved16: u4, - /// Bank 1 highest secure protected address + /// Bank 1 highest secure protected address SEC_AREA_END: u12, reserved31: u3, - /// Bank 1 secure protected erase enable option status bit + /// Bank 1 secure protected erase enable option status bit DMES: u1, }), - /// FLASH secure address for bank 1 + /// FLASH secure address for bank 1 SCAR_PRG: mmio.Mmio(packed struct(u32) { - /// Bank 1 lowest secure protected address configuration + /// Bank 1 lowest secure protected address configuration SEC_AREA_START: u12, reserved16: u4, - /// Bank 1 highest secure protected address configuration + /// Bank 1 highest secure protected address configuration SEC_AREA_END: u12, reserved31: u3, - /// Bank 1 secure protected erase enable option configuration bit + /// Bank 1 secure protected erase enable option configuration bit DMES: u1, }), - /// FLASH write sector protection for bank 1 + /// FLASH write sector protection for bank 1 WPSN_CURR: mmio.Mmio(packed struct(u32) { - /// Bank 1 sector write protection option status byte + /// Bank 1 sector write protection option status byte WRPSn: u8, padding: u24, }), - /// FLASH write sector protection for bank 1 + /// FLASH write sector protection for bank 1 WPSN_PRGR: mmio.Mmio(packed struct(u32) { - /// Bank 1 sector write protection configuration byte + /// Bank 1 sector write protection configuration byte WRPSn: u8, padding: u24, }), reserved76: [16]u8, - /// FLASH CRC control register for bank 1 + /// FLASH CRC control register for bank 1 CRCCR: mmio.Mmio(packed struct(u32) { - /// Bank 1 CRC sector number + /// Bank 1 CRC sector number CRC_SECT: u3, reserved7: u4, - /// Bank 1 CRC select bit + /// Bank 1 CRC select bit ALL_BANK: u1, - /// Bank 1 CRC sector mode select bit + /// Bank 1 CRC sector mode select bit CRC_BY_SECT: u1, - /// Bank 1 CRC sector select bit + /// Bank 1 CRC sector select bit ADD_SECT: u1, - /// Bank 1 CRC sector list clear bit + /// Bank 1 CRC sector list clear bit CLEAN_SECT: u1, reserved16: u5, - /// Bank 1 CRC start bit + /// Bank 1 CRC start bit START_CRC: u1, - /// Bank 1 CRC clear bit + /// Bank 1 CRC clear bit CLEAN_CRC: u1, reserved20: u2, - /// Bank 1 CRC burst size + /// Bank 1 CRC burst size CRC_BURST: u2, padding: u10, }), - /// FLASH CRC start address register for bank 1 + /// FLASH CRC start address register for bank 1 CRCSADDR: mmio.Mmio(packed struct(u32) { - /// CRC start address on bank 1 + /// CRC start address on bank 1 CRC_START_ADDR: u32, }), - /// FLASH CRC end address register for bank 1 + /// FLASH CRC end address register for bank 1 CRCEADDR: mmio.Mmio(packed struct(u32) { - /// CRC end address on bank 1 + /// CRC end address on bank 1 CRC_END_ADDR: u32, }), reserved92: [4]u8, - /// FLASH ECC fail address for bank 1 + /// FLASH ECC fail address for bank 1 FAR: mmio.Mmio(packed struct(u32) { - /// Bank 1 ECC error address + /// Bank 1 ECC error address FAIL_ECC_ADDR: u15, padding: u17, }), }; - /// Flash + /// Flash pub const FLASH = extern struct { - /// Access control register + /// Access control register ACR: mmio.Mmio(packed struct(u32) { - /// Read latency + /// Read latency LATENCY: u3, reserved4: u1, - /// Flash signal delay + /// Flash signal delay WRHIGHFREQ: u2, padding: u26, }), - /// Cluster BANK%s, containing KEYR?, CR?, SR?, CCR?, PRAR_CUR?, PRAR_PRG?, SCAR_CUR?, SCAR_PRG?, WPSN_CUR?R, WPSN_PRG?R, CRCCR?, CRCSADD?R, CRCEADD?R, ECC_FA?R + /// Cluster BANK%s, containing KEYR?, CR?, SR?, CCR?, PRAR_CUR?, PRAR_PRG?, SCAR_CUR?, SCAR_PRG?, WPSN_CUR?R, WPSN_PRG?R, CRCCR?, CRCSADD?R, CRCEADD?R, ECC_FA?R BANK: u32, - /// FLASH option key register + /// FLASH option key register OPTKEYR: u32, reserved24: [12]u8, - /// FLASH option control register + /// FLASH option control register OPTCR: mmio.Mmio(packed struct(u32) { - /// FLASH_OPTCR lock option configuration bit + /// FLASH_OPTCR lock option configuration bit OPTLOCK: u1, - /// Option byte start change option configuration bit + /// Option byte start change option configuration bit OPTSTART: u1, reserved4: u2, - /// Flash mass erase enable bit + /// Flash mass erase enable bit MER: u1, reserved30: u25, - /// Option byte change error interrupt enable bit + /// Option byte change error interrupt enable bit OPTCHANGEERRIE: u1, - /// Bank swapping configuration bit + /// Bank swapping configuration bit SWAP_BANK: u1, }), - /// FLASH option status register + /// FLASH option status register OPTSR_CUR: mmio.Mmio(packed struct(u32) { - /// Option byte change ongoing flag + /// Option byte change ongoing flag OPT_BUSY: u1, reserved2: u1, - /// Brownout level option status bit + /// Brownout level option status bit BOR_LEV: u2, - /// IWDG1 control option status bit + /// IWDG1 control option status bit IWDG1_HW: u1, reserved6: u1, - /// D1 DStop entry reset option status bit + /// D1 DStop entry reset option status bit nRST_STOP_D1: u1, - /// D1 DStandby entry reset option status bit + /// D1 DStandby entry reset option status bit nRST_STBY_D1: u1, - /// Readout protection level option status byte + /// Readout protection level option status byte RDP: u8, reserved17: u1, - /// IWDG Stop mode freeze option status bit + /// IWDG Stop mode freeze option status bit FZ_IWDG_STOP: u1, - /// IWDG Standby mode freeze option status bit + /// IWDG Standby mode freeze option status bit FZ_IWDG_SDBY: u1, - /// DTCM RAM size option status + /// DTCM RAM size option status ST_RAM_SIZE: u2, - /// Security enable option status bit + /// Security enable option status bit SECURITY: u1, reserved26: u4, - /// User option bit 1 + /// User option bit 1 RSS1: u1, reserved28: u1, - /// Device personalization status bit + /// Device personalization status bit PERSO_OK: u1, - /// I/O high-speed at low-voltage status bit (PRODUCT_BELOW_25V) + /// I/O high-speed at low-voltage status bit (PRODUCT_BELOW_25V) IO_HSLV: u1, - /// Option byte change error flag + /// Option byte change error flag OPTCHANGEERR: u1, - /// Bank swapping option status bit + /// Bank swapping option status bit SWAP_BANK_OPT: u1, }), - /// FLASH option status register + /// FLASH option status register OPTSR_PRG: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// BOR reset level option configuration bits + /// BOR reset level option configuration bits BOR_LEV: u2, - /// IWDG1 option configuration bit + /// IWDG1 option configuration bit IWDG1_HW: u1, reserved6: u1, - /// Option byte erase after D1 DStop option configuration bit + /// Option byte erase after D1 DStop option configuration bit nRST_STOP_D1: u1, - /// Option byte erase after D1 DStandby option configuration bit + /// Option byte erase after D1 DStandby option configuration bit nRST_STBY_D1: u1, - /// Readout protection level option configuration byte + /// Readout protection level option configuration byte RDP: u8, reserved17: u1, - /// IWDG Stop mode freeze option configuration bit + /// IWDG Stop mode freeze option configuration bit FZ_IWDG_STOP: u1, - /// IWDG Standby mode freeze option configuration bit + /// IWDG Standby mode freeze option configuration bit FZ_IWDG_SDBY: u1, - /// DTCM size select option configuration bits + /// DTCM size select option configuration bits ST_RAM_SIZE: u2, - /// Security option configuration bit + /// Security option configuration bit SECURITY: u1, reserved26: u4, - /// User option configuration bit 1 + /// User option configuration bit 1 RSS1: u1, - /// User option configuration bit 2 + /// User option configuration bit 2 RSS2: u1, reserved29: u1, - /// I/O high-speed at low-voltage (PRODUCT_BELOW_25V) + /// I/O high-speed at low-voltage (PRODUCT_BELOW_25V) IO_HSLV: u1, reserved31: u1, - /// Bank swapping option configuration bit + /// Bank swapping option configuration bit SWAP_BANK_OPT: u1, }), - /// FLASH option clear control register + /// FLASH option clear control register OPTCCR: mmio.Mmio(packed struct(u32) { reserved30: u30, - /// OPTCHANGEERR reset bit + /// OPTCHANGEERR reset bit CLR_OPTCHANGEERR: u1, padding: u1, }), reserved64: [24]u8, - /// FLASH register with boot address + /// FLASH register with boot address BOOT_CURR: mmio.Mmio(packed struct(u32) { - /// Boot address 0 + /// Boot address 0 BOOT_ADD0: u16, - /// Boot address 1 + /// Boot address 1 BOOT_ADD1: u16, }), - /// FLASH register with boot address + /// FLASH register with boot address BOOT_PRGR: mmio.Mmio(packed struct(u32) { - /// Boot address 0 + /// Boot address 0 BOOT_ADD0: u16, - /// Boot address 1 + /// Boot address 1 BOOT_ADD1: u16, }), reserved92: [20]u8, - /// FLASH CRC data register + /// FLASH CRC data register CRCDATAR: mmio.Mmio(packed struct(u32) { - /// CRC result + /// CRC result CRC_DATA: u32, }), }; }; pub const flash_h7ab = struct { - /// Cluster BANK%s, containing KEYR?, CR?, SR?, CCR?, PRAR_CUR?, PRAR_PRG?, SCAR_CUR?, SCAR_PRG?, WPSN_CUR?R, WPSN_PRG?R, CRCCR?, CRCSADD?R, CRCEADD?R, ECC_FA?R + /// Cluster BANK%s, containing KEYR?, CR?, SR?, CCR?, PRAR_CUR?, PRAR_PRG?, SCAR_CUR?, SCAR_PRG?, WPSN_CUR?R, WPSN_PRG?R, CRCCR?, CRCSADD?R, CRCEADD?R, ECC_FA?R pub const BANK = extern struct { - /// FLASH key register for bank 1 + /// FLASH key register for bank 1 KEYR: u32, reserved8: [4]u8, - /// FLASH control register for bank 1 + /// FLASH control register for bank 1 CR: mmio.Mmio(packed struct(u32) { - /// Bank 1 configuration lock bit + /// Bank 1 configuration lock bit LOCK: u1, - /// Bank 1 program enable bit + /// Bank 1 program enable bit PG: u1, - /// Bank 1 sector erase request + /// Bank 1 sector erase request SER: u1, - /// Bank 1 erase request + /// Bank 1 erase request BER: u1, - /// Bank 1 write forcing control bit + /// Bank 1 write forcing control bit FW: u1, - /// Bank 1 bank or sector erase start control bit + /// Bank 1 bank or sector erase start control bit START: u1, - /// Bank 1 sector erase selection number + /// Bank 1 sector erase selection number SSN: u7, reserved15: u2, - /// Bank 1 CRC control bit + /// Bank 1 CRC control bit CRC_EN: u1, - /// Bank 1 end-of-program interrupt control bit + /// Bank 1 end-of-program interrupt control bit EOPIE: u1, - /// Bank 1 write protection error interrupt enable bit + /// Bank 1 write protection error interrupt enable bit WRPERRIE: u1, - /// Bank 1 programming sequence error interrupt enable bit + /// Bank 1 programming sequence error interrupt enable bit PGSERRIE: u1, - /// Bank 1 strobe error interrupt enable bit + /// Bank 1 strobe error interrupt enable bit STRBERRIE: u1, reserved21: u1, - /// Bank 1 inconsistency error interrupt enable bit + /// Bank 1 inconsistency error interrupt enable bit INCERRIE: u1, - /// Bank 1 write/erase error interrupt enable bit + /// Bank 1 write/erase error interrupt enable bit OPERRIE: u1, - /// Bank 1 read protection error interrupt enable bit + /// Bank 1 read protection error interrupt enable bit RDPERRIE: u1, - /// Bank 1 secure error interrupt enable bit + /// Bank 1 secure error interrupt enable bit RDSERRIE: u1, - /// Bank 1 ECC single correction error interrupt enable bit + /// Bank 1 ECC single correction error interrupt enable bit SNECCERRIE: u1, - /// Bank 1 ECC double detection error interrupt enable bit + /// Bank 1 ECC double detection error interrupt enable bit DBECCERRIE: u1, - /// Bank 1 end of CRC calculation interrupt enable bit + /// Bank 1 end of CRC calculation interrupt enable bit CRCENDIE: u1, - /// Bank 1 CRC read error interrupt enable bit + /// Bank 1 CRC read error interrupt enable bit CRCRDERRIE: u1, padding: u3, }), - /// FLASH status register for bank 1 + /// FLASH status register for bank 1 SR: mmio.Mmio(packed struct(u32) { - /// Bank 1 ongoing program flag + /// Bank 1 ongoing program flag BSY: u1, - /// Bank 1 write buffer not empty flag + /// Bank 1 write buffer not empty flag WBNE: u1, - /// Bank 1 wait queue flag + /// Bank 1 wait queue flag QW: u1, - /// Bank 1 CRC busy flag + /// Bank 1 CRC busy flag CRC_BUSY: u1, reserved16: u12, - /// Bank 1 end-of-program flag + /// Bank 1 end-of-program flag EOP: u1, - /// Bank 1 write protection error flag + /// Bank 1 write protection error flag WRPERR: u1, - /// Bank 1 programming sequence error flag + /// Bank 1 programming sequence error flag PGSERR: u1, - /// Bank 1 strobe error flag + /// Bank 1 strobe error flag STRBERR: u1, reserved21: u1, - /// Bank 1 inconsistency error flag + /// Bank 1 inconsistency error flag INCERR: u1, - /// Bank 1 write/erase error flag + /// Bank 1 write/erase error flag OPERR: u1, - /// Bank 1 read protection error flag + /// Bank 1 read protection error flag RDPERR: u1, - /// Bank 1 secure error flag + /// Bank 1 secure error flag RDSERR: u1, - /// Bank 1 single correction error flag + /// Bank 1 single correction error flag SNECCERR1: u1, - /// Bank 1 ECC double detection error flag + /// Bank 1 ECC double detection error flag DBECCERR: u1, - /// Bank 1 CRC-complete flag + /// Bank 1 CRC-complete flag CRCEND: u1, - /// Bank 1 CRC read error flag + /// Bank 1 CRC read error flag CRCRDERR: u1, padding: u3, }), - /// FLASH clear control register for bank 1 + /// FLASH clear control register for bank 1 CCR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Bank 1 EOP1 flag clear bit + /// Bank 1 EOP1 flag clear bit CLR_EOP: u1, - /// Bank 1 WRPERR1 flag clear bit + /// Bank 1 WRPERR1 flag clear bit CLR_WRPERR: u1, - /// Bank 1 PGSERR1 flag clear bi + /// Bank 1 PGSERR1 flag clear bi CLR_PGSERR: u1, - /// Bank 1 STRBERR1 flag clear bit + /// Bank 1 STRBERR1 flag clear bit CLR_STRBERR: u1, reserved21: u1, - /// Bank 1 INCERR1 flag clear bit + /// Bank 1 INCERR1 flag clear bit CLR_INCERR: u1, - /// Bank 1 OPERR1 flag clear bit + /// Bank 1 OPERR1 flag clear bit CLR_OPERR: u1, - /// Bank 1 RDPERR1 flag clear bit + /// Bank 1 RDPERR1 flag clear bit CLR_RDPERR: u1, - /// Bank 1 RDSERR1 flag clear bit + /// Bank 1 RDSERR1 flag clear bit CLR_RDSERR: u1, - /// Bank 1 SNECCERR1 flag clear bit + /// Bank 1 SNECCERR1 flag clear bit CLR_SNECCERR: u1, - /// Bank 1 DBECCERR1 flag clear bit + /// Bank 1 DBECCERR1 flag clear bit CLR_DBECCERR: u1, - /// Bank 1 CRCEND1 flag clear bit + /// Bank 1 CRCEND1 flag clear bit CLR_CRCEND: u1, - /// Bank 1 CRC read error clear bit + /// Bank 1 CRC read error clear bit CLR_CRCRDERR: u1, padding: u3, }), reserved36: [16]u8, - /// FLASH protection address for bank 1 + /// FLASH protection address for bank 1 PRAR_CUR: mmio.Mmio(packed struct(u32) { - /// Bank 1 lowest PCROP protected address + /// Bank 1 lowest PCROP protected address PROT_AREA_START: u12, reserved16: u4, - /// Bank 1 highest PCROP protected address + /// Bank 1 highest PCROP protected address PROT_AREA_END: u12, reserved31: u3, - /// Bank 1 PCROP protected erase enable option status bit + /// Bank 1 PCROP protected erase enable option status bit DMEP: u1, }), - /// FLASH protection address for bank 1 + /// FLASH protection address for bank 1 PRAR_PRG: mmio.Mmio(packed struct(u32) { - /// Bank 1 lowest PCROP protected address configuration + /// Bank 1 lowest PCROP protected address configuration PROT_AREA_START: u12, reserved16: u4, - /// Bank 1 highest PCROP protected address configuration + /// Bank 1 highest PCROP protected address configuration PROT_AREA_END: u12, reserved31: u3, - /// Bank 1 PCROP protected erase enable option configuration bit + /// Bank 1 PCROP protected erase enable option configuration bit DMEP: u1, }), - /// FLASH secure address for bank 1 + /// FLASH secure address for bank 1 SCAR_CUR: mmio.Mmio(packed struct(u32) { - /// Bank 1 lowest secure protected address + /// Bank 1 lowest secure protected address SEC_AREA_START: u12, reserved16: u4, - /// Bank 1 highest secure protected address + /// Bank 1 highest secure protected address SEC_AREA_END: u12, reserved31: u3, - /// Bank 1 secure protected erase enable option status bit + /// Bank 1 secure protected erase enable option status bit DMES: u1, }), - /// FLASH secure address for bank 1 + /// FLASH secure address for bank 1 SCAR_PRG: mmio.Mmio(packed struct(u32) { - /// Bank 1 lowest secure protected address configuration + /// Bank 1 lowest secure protected address configuration SEC_AREA_START: u12, reserved16: u4, - /// Bank 1 highest secure protected address configuration + /// Bank 1 highest secure protected address configuration SEC_AREA_END: u12, reserved31: u3, - /// Bank 1 secure protected erase enable option configuration bit + /// Bank 1 secure protected erase enable option configuration bit DMES: u1, }), - /// FLASH write sector protection for bank 1 + /// FLASH write sector protection for bank 1 WPSN_CURR: mmio.Mmio(packed struct(u32) { - /// Bank 1 sector write protection option status byte + /// Bank 1 sector write protection option status byte WRPSn: u8, padding: u24, }), - /// FLASH write sector protection for bank 1 + /// FLASH write sector protection for bank 1 WPSN_PRGR: mmio.Mmio(packed struct(u32) { - /// Bank 1 sector write protection configuration byte + /// Bank 1 sector write protection configuration byte WRPSn: u8, padding: u24, }), reserved76: [16]u8, - /// FLASH CRC control register for bank 1 + /// FLASH CRC control register for bank 1 CRCCR: mmio.Mmio(packed struct(u32) { - /// Bank 1 CRC sector number + /// Bank 1 CRC sector number CRC_SECT: u3, reserved7: u4, - /// Bank 1 CRC select bit + /// Bank 1 CRC select bit ALL_BANK: u1, - /// Bank 1 CRC sector mode select bit + /// Bank 1 CRC sector mode select bit CRC_BY_SECT: u1, - /// Bank 1 CRC sector select bit + /// Bank 1 CRC sector select bit ADD_SECT: u1, - /// Bank 1 CRC sector list clear bit + /// Bank 1 CRC sector list clear bit CLEAN_SECT: u1, reserved16: u5, - /// Bank 1 CRC start bit + /// Bank 1 CRC start bit START_CRC: u1, - /// Bank 1 CRC clear bit + /// Bank 1 CRC clear bit CLEAN_CRC: u1, reserved20: u2, - /// Bank 1 CRC burst size + /// Bank 1 CRC burst size CRC_BURST: u2, padding: u10, }), - /// FLASH CRC start address register for bank 1 + /// FLASH CRC start address register for bank 1 CRCSADDR: mmio.Mmio(packed struct(u32) { - /// CRC start address on bank 1 + /// CRC start address on bank 1 CRC_START_ADDR: u32, }), - /// FLASH CRC end address register for bank 1 + /// FLASH CRC end address register for bank 1 CRCEADDR: mmio.Mmio(packed struct(u32) { - /// CRC end address on bank 1 + /// CRC end address on bank 1 CRC_END_ADDR: u32, }), reserved92: [4]u8, - /// FLASH ECC fail address for bank 1 + /// FLASH ECC fail address for bank 1 FAR: mmio.Mmio(packed struct(u32) { - /// Bank 1 ECC error address + /// Bank 1 ECC error address FAIL_ECC_ADDR: u15, padding: u17, }), }; - /// Flash + /// Flash pub const FLASH = extern struct { - /// Access control register + /// Access control register ACR: mmio.Mmio(packed struct(u32) { - /// Read latency + /// Read latency LATENCY: u3, reserved4: u1, - /// Flash signal delay + /// Flash signal delay WRHIGHFREQ: u2, padding: u26, }), - /// Cluster BANK%s, containing KEYR?, CR?, SR?, CCR?, PRAR_CUR?, PRAR_PRG?, SCAR_CUR?, SCAR_PRG?, WPSN_CUR?R, WPSN_PRG?R, CRCCR?, CRCSADD?R, CRCEADD?R, ECC_FA?R + /// Cluster BANK%s, containing KEYR?, CR?, SR?, CCR?, PRAR_CUR?, PRAR_PRG?, SCAR_CUR?, SCAR_PRG?, WPSN_CUR?R, WPSN_PRG?R, CRCCR?, CRCSADD?R, CRCEADD?R, ECC_FA?R BANK: u32, - /// FLASH option key register + /// FLASH option key register OPTKEYR: u32, reserved24: [12]u8, - /// FLASH option control register + /// FLASH option control register OPTCR: mmio.Mmio(packed struct(u32) { - /// FLASH_OPTCR lock option configuration bit + /// FLASH_OPTCR lock option configuration bit OPTLOCK: u1, - /// Option byte start change option configuration bit + /// Option byte start change option configuration bit OPTSTART: u1, reserved4: u2, - /// Flash mass erase enable bit + /// Flash mass erase enable bit MER: u1, - /// OTP program control bit + /// OTP program control bit PG_OTP: u1, reserved30: u24, - /// Option byte change error interrupt enable bit + /// Option byte change error interrupt enable bit OPTCHANGEERRIE: u1, - /// Bank swapping configuration bit + /// Bank swapping configuration bit SWAP_BANK: u1, }), - /// FLASH option status register + /// FLASH option status register OPTSR_CUR: mmio.Mmio(packed struct(u32) { - /// Option byte change ongoing flag + /// Option byte change ongoing flag OPT_BUSY: u1, reserved2: u1, - /// Brownout level option status bit + /// Brownout level option status bit BOR_LEV: u2, - /// IWDG1 control option status bit + /// IWDG1 control option status bit IWDG1_HW: u1, reserved6: u1, - /// D1 DStop entry reset option status bit + /// D1 DStop entry reset option status bit nRST_STOP_D1: u1, - /// D1 DStandby entry reset option status bit + /// D1 DStandby entry reset option status bit nRST_STBY_D1: u1, - /// Readout protection level option status byte + /// Readout protection level option status byte RDP: u8, reserved17: u1, - /// IWDG Stop mode freeze option status bit + /// IWDG Stop mode freeze option status bit FZ_IWDG_STOP: u1, - /// IWDG Standby mode freeze option status bit + /// IWDG Standby mode freeze option status bit FZ_IWDG_SDBY: u1, - /// DTCM RAM size option status + /// DTCM RAM size option status ST_RAM_SIZE: u2, - /// Security enable option status bit + /// Security enable option status bit SECURITY: u1, reserved26: u4, - /// User option bit 1 + /// User option bit 1 RSS1: u1, reserved28: u1, - /// Device personalization status bit + /// Device personalization status bit PERSO_OK: u1, - /// I/O high-speed at low-voltage status bit (PRODUCT_BELOW_25V) + /// I/O high-speed at low-voltage status bit (PRODUCT_BELOW_25V) IO_HSLV: u1, - /// Option byte change error flag + /// Option byte change error flag OPTCHANGEERR: u1, - /// Bank swapping option status bit + /// Bank swapping option status bit SWAP_BANK_OPT: u1, }), - /// FLASH option status register + /// FLASH option status register OPTSR_PRG: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// BOR reset level option configuration bits + /// BOR reset level option configuration bits BOR_LEV: u2, - /// IWDG1 option configuration bit + /// IWDG1 option configuration bit IWDG1_HW: u1, reserved6: u1, - /// Option byte erase after D1 DStop option configuration bit + /// Option byte erase after D1 DStop option configuration bit nRST_STOP_D1: u1, - /// Option byte erase after D1 DStandby option configuration bit + /// Option byte erase after D1 DStandby option configuration bit nRST_STBY_D1: u1, - /// Readout protection level option configuration byte + /// Readout protection level option configuration byte RDP: u8, reserved17: u1, - /// IWDG Stop mode freeze option configuration bit + /// IWDG Stop mode freeze option configuration bit FZ_IWDG_STOP: u1, - /// IWDG Standby mode freeze option configuration bit + /// IWDG Standby mode freeze option configuration bit FZ_IWDG_SDBY: u1, - /// DTCM size select option configuration bits + /// DTCM size select option configuration bits ST_RAM_SIZE: u2, - /// Security option configuration bit + /// Security option configuration bit SECURITY: u1, reserved26: u4, - /// User option configuration bit 1 + /// User option configuration bit 1 RSS1: u1, - /// User option configuration bit 2 + /// User option configuration bit 2 RSS2: u1, reserved29: u1, - /// I/O high-speed at low-voltage (PRODUCT_BELOW_25V) + /// I/O high-speed at low-voltage (PRODUCT_BELOW_25V) IO_HSLV: u1, reserved31: u1, - /// Bank swapping option configuration bit + /// Bank swapping option configuration bit SWAP_BANK_OPT: u1, }), - /// FLASH option clear control register + /// FLASH option clear control register OPTCCR: mmio.Mmio(packed struct(u32) { reserved30: u30, - /// OPTCHANGEERR reset bit + /// OPTCHANGEERR reset bit CLR_OPTCHANGEERR: u1, padding: u1, }), reserved64: [24]u8, - /// FLASH register with boot address + /// FLASH register with boot address BOOT_CURR: mmio.Mmio(packed struct(u32) { - /// Boot address 0 + /// Boot address 0 BOOT_ADD0: u16, - /// Boot address 1 + /// Boot address 1 BOOT_ADD1: u16, }), - /// FLASH register with boot address + /// FLASH register with boot address BOOT_PRGR: mmio.Mmio(packed struct(u32) { - /// Boot address 0 + /// Boot address 0 BOOT_ADD0: u16, - /// Boot address 1 + /// Boot address 1 BOOT_ADD1: u16, }), reserved92: [20]u8, - /// FLASH CRC data register + /// FLASH CRC data register CRCDATAR: mmio.Mmio(packed struct(u32) { - /// CRC result + /// CRC result CRC_DATA: u32, }), }; @@ -334996,556 +332950,529 @@ pub const types = struct { pub const flash_h7rs = struct { pub const BOR_LEV = enum(u2) { - /// BOR OFF, POR/PDR reset threshold level is applied. + /// BOR OFF, POR/PDR reset threshold level is applied. Disabled = 0x0, - /// BOR Level 1, the threshold level is low (around 2.1 V). + /// BOR Level 1, the threshold level is low (around 2.1 V). Level1 = 0x1, - /// BOR Level 2, the threshold level is medium (around 2.4 V). + /// BOR Level 2, the threshold level is medium (around 2.4 V). Level2 = 0x2, - /// BOR Level 3, the threshold level is high (around 2.7 V). + /// BOR Level 3, the threshold level is high (around 2.7 V). Level3 = 0x3, }; pub const CRC_BURST = enum(u2) { - /// every burst has a size of 4 Flash words (64 Bytes). + /// every burst has a size of 4 Flash words (64 Bytes). Word4 = 0x0, - /// every burst has a size of 16 Flash words (256 Bytes). + /// every burst has a size of 16 Flash words (256 Bytes). Word16 = 0x1, - /// every burst has a size of 64 Flash words (1 Kbytes). + /// every burst has a size of 64 Flash words (1 Kbytes). Word64 = 0x2, - /// every burst has a size of 256 Flash words (4 Kbytes). + /// every burst has a size of 256 Flash words (4 Kbytes). Word256 = 0x3, }; pub const DBG_AUTH = enum(u8) { - /// Authentication method using ECDSA signature (NIST P256). + /// Authentication method using ECDSA signature (NIST P256). ECDSA = 0x51, - /// Delegated debug (to OEM iRoT code in user Flash). + /// Delegated debug (to OEM iRoT code in user Flash). Delegated = 0x6f, - /// Authentication method using password. + /// Authentication method using password. Password = 0x8a, - /// Locked device (no debug allowed). + /// Locked device (no debug allowed). Locked = 0xb4, _, }; pub const IROT_SELECT = enum(u8) { - /// ST iRoT is selected at boot. + /// ST iRoT is selected at boot. Selected = 0xb4, _, }; pub const NEXTKL = enum(u2) { - /// OBKINDEX represents the index of the option byte key stored for the hide protection level indicated in SBS_HDPLSR. + /// OBKINDEX represents the index of the option byte key stored for the hide protection level indicated in SBS_HDPLSR. Plus0 = 0x0, - /// OBKINDEX represents the index of the option byte key stored for the hide protection level indicated in SBS_HDPLSR plus one (e.g. if HDPL=1 in SBS_HDPLR the key of level 2 is selected). + /// OBKINDEX represents the index of the option byte key stored for the hide protection level indicated in SBS_HDPLSR plus one (e.g. if HDPL=1 in SBS_HDPLR the key of level 2 is selected). Plus1 = 0x1, _, }; pub const NVSRP_NVSTATE = enum(u8) { - /// CLOSE. + /// CLOSE. Close = 0x51, - /// OPEN. + /// OPEN. Open = 0xb4, _, }; pub const NVSR_NVSTATE = enum(u8) { - /// CLOSED device. + /// CLOSED device. Closed = 0x51, - /// OPEN device. + /// OPEN device. Open = 0xb4, _, }; pub const OBKSIZE = enum(u2) { - /// Key size is 32 bits. + /// Key size is 32 bits. Bits32 = 0x0, - /// Key size is 64 bits. + /// Key size is 64 bits. Bits64 = 0x1, - /// Key size is 128 bits. + /// Key size is 128 bits. Bits128 = 0x2, - /// Key size is 256 bits. + /// Key size is 256 bits. Bits256 = 0x3, }; pub const OEM_PROVD = enum(u8) { - /// Device has been provisioned by the OEM. + /// Device has been provisioned by the OEM. Provisioned = 0xb4, _, }; - /// Embedded Flash memory. + /// Embedded Flash memory. pub const FLASH = extern struct { - /// Access control register. + /// Access control register. ACR: mmio.Mmio(packed struct(u32) { - /// Read latency These bits are used to control the number of wait states used during read operations on both non-volatile memory banks. The application software has to program them to the correct value depending on the embedded Flash memory interface frequency and voltage conditions. Please refer to Table 27 for details. ... Note: Embedded Flash does not verify that the configuration is correct. + /// Read latency These bits are used to control the number of wait states used during read operations on both non-volatile memory banks. The application software has to program them to the correct value depending on the embedded Flash memory interface frequency and voltage conditions. Please refer to Table 27 for details. ... Note: Embedded Flash does not verify that the configuration is correct. LATENCY: u4, - /// Flash signal delay These bits are used to control the delay between non-volatile memory signals during programming operations. Application software has to program them to the correct value depending on the embedded Flash memory interface frequency. Please refer to Table 27 for details. Note: Embedded Flash does not verify that the configuration is correct. + /// Flash signal delay These bits are used to control the delay between non-volatile memory signals during programming operations. Application software has to program them to the correct value depending on the embedded Flash memory interface frequency. Please refer to Table 27 for details. Note: Embedded Flash does not verify that the configuration is correct. WRHIGHFREQ: u2, padding: u26, }), - /// FLASH control key register. + /// FLASH control key register. KEYR: mmio.Mmio(packed struct(u32) { - /// Control unlock key Following values must be written to FLASH_KEYR consecutively to unlock FLASH_CR register: 1st key = 0x4567 0123 2nd key = 0xCDEF 89AB Reads to this register returns zero. If above sequence is wrong or performed twice, the FLASH_CR register is locked until the next system reset, and access to it generates a bus error. + /// Control unlock key Following values must be written to FLASH_KEYR consecutively to unlock FLASH_CR register: 1st key = 0x4567 0123 2nd key = 0xCDEF 89AB Reads to this register returns zero. If above sequence is wrong or performed twice, the FLASH_CR register is locked until the next system reset, and access to it generates a bus error. CUKEY: u32, }), reserved16: [8]u8, - /// FLASH control register. + /// FLASH control register. CR: mmio.Mmio(packed struct(u32) { - /// Configuration lock bit When this bit is set write to all other bits in this register, and to FLASH_IER register, are ignored. Clearing this bit requires the correct write sequence to FLASH_KEYR register (see this register for details). If a wrong sequence is executed, or if the unlock sequence is performed twice, this bit remains locked until the next system reset. During the write access to set LOCK bit from 0 to 1, it is possible to change the other bits of this register. + /// Configuration lock bit When this bit is set write to all other bits in this register, and to FLASH_IER register, are ignored. Clearing this bit requires the correct write sequence to FLASH_KEYR register (see this register for details). If a wrong sequence is executed, or if the unlock sequence is performed twice, this bit remains locked until the next system reset. During the write access to set LOCK bit from 0 to 1, it is possible to change the other bits of this register. LOCK: u1, - /// Internal buffer control bit Setting this bit enables internal buffer for write operations. This allows preparing program operations even if a sector or bank erase is ongoing. When PG is cleared, the internal buffer is disabled for write operations, and all the data stored in the buffer but not sent to the operation queue are lost. + /// Internal buffer control bit Setting this bit enables internal buffer for write operations. This allows preparing program operations even if a sector or bank erase is ongoing. When PG is cleared, the internal buffer is disabled for write operations, and all the data stored in the buffer but not sent to the operation queue are lost. PG: u1, - /// Sector erase request Setting this bit requests a sector erase. Write protection error is triggered when a sector erase is required on at least one protected sector. BER has a higher priority than SER: if both bits are set, the embedded Flash memory executes a bank erase. + /// Sector erase request Setting this bit requests a sector erase. Write protection error is triggered when a sector erase is required on at least one protected sector. BER has a higher priority than SER: if both bits are set, the embedded Flash memory executes a bank erase. SER: u1, - /// Bank erase request Setting this bit requests a bank erase operation (user Flash memory only). Write protection error is triggered when a bank erase is required and some sectors are protected. BER has a higher priority than SER: if both are set, the embedded Flash memory executes a bank erase. + /// Bank erase request Setting this bit requests a bank erase operation (user Flash memory only). Write protection error is triggered when a bank erase is required and some sectors are protected. BER has a higher priority than SER: if both are set, the embedded Flash memory executes a bank erase. BER: u1, - /// Force write This bit forces a write operation even if the write buffer is not full. In this case all bits not written are set by hardware. The embedded Flash memory resets FW when the corresponding operation has been acknowledged. Note: Using a force-write operation prevents the application from updating later the missing bits with something else than 1, because it is likely that it will lead to permanent ECC error. Write forcing is effective only if the write buffer is not empty (in particular, FW does not start several write operations when the force-write operations are performed consecutively). + /// Force write This bit forces a write operation even if the write buffer is not full. In this case all bits not written are set by hardware. The embedded Flash memory resets FW when the corresponding operation has been acknowledged. Note: Using a force-write operation prevents the application from updating later the missing bits with something else than 1, because it is likely that it will lead to permanent ECC error. Write forcing is effective only if the write buffer is not empty (in particular, FW does not start several write operations when the force-write operations are performed consecutively). FW: u1, - /// Erase start control bit This bit is used to start a sector erase or a bank erase operation. The embedded Flash memory resets START when the corresponding operation has been acknowledged. The user application cannot access any embedded Flash memory register until the operation is acknowledged. + /// Erase start control bit This bit is used to start a sector erase or a bank erase operation. The embedded Flash memory resets START when the corresponding operation has been acknowledged. The user application cannot access any embedded Flash memory register until the operation is acknowledged. START: u1, - /// Sector erase selection number These bits are used to select the target sector for an erase operation (they are unused otherwise). ... + /// Sector erase selection number These bits are used to select the target sector for an erase operation (they are unused otherwise). ... SSN: u2, reserved16: u8, - /// Program Enable for OTP Area Set this bit to enable write operations to OTP area. + /// Program Enable for OTP Area Set this bit to enable write operations to OTP area. PG_OTP: u1, - /// CRC enable Setting this bit enables the CRC calculation. CRC_EN does not start CRC calculation but enables CRC configuration through FLASH_CRCCR register. When CRC calculation is performed it can be disabled by clearing CRC_EN bit. Doing so sets CRCDATA to 0x0, clears CRC configuration and resets the content of FLASH_CRCDATAR register. + /// CRC enable Setting this bit enables the CRC calculation. CRC_EN does not start CRC calculation but enables CRC configuration through FLASH_CRCCR register. When CRC calculation is performed it can be disabled by clearing CRC_EN bit. Doing so sets CRCDATA to 0x0, clears CRC configuration and resets the content of FLASH_CRCDATAR register. CRC_EN: u1, reserved24: u6, - /// All banks select bit When this bit is set the erase is done on all Flash Memory sectors. ALL_BANKS is used only if a bank erase is required (BER=1). In all others operations, this control bit is ignored. + /// All banks select bit When this bit is set the erase is done on all Flash Memory sectors. ALL_BANKS is used only if a bank erase is required (BER=1). In all others operations, this control bit is ignored. ALL_BANKS: u1, padding: u7, }), - /// FLASH status register. + /// FLASH status register. SR: mmio.Mmio(packed struct(u32) { - /// Busy flag This bit is set when an effective write, erase or option byte change operation is ongoing. It is possible to know what type of operation is being executed reading the flags IS_PROGRAM, IS_ERASE and IS_OPTCHANGE. BUSY cannot be cleared by application. It is automatically reset by hardware every time a step in a write, erase or option byte change operation completes. It is not recommended to do software polling on BUSY to know when one operation completed because, depending of operation, more pulses are possible for one only operation. For software polling it is therefore better to use QW flag or to check the EOPF flag. + /// Busy flag This bit is set when an effective write, erase or option byte change operation is ongoing. It is possible to know what type of operation is being executed reading the flags IS_PROGRAM, IS_ERASE and IS_OPTCHANGE. BUSY cannot be cleared by application. It is automatically reset by hardware every time a step in a write, erase or option byte change operation completes. It is not recommended to do software polling on BUSY to know when one operation completed because, depending of operation, more pulses are possible for one only operation. For software polling it is therefore better to use QW flag or to check the EOPF flag. BUSY: u1, - /// Write buffer not empty flag This bit is set when the embedded Flash memory is waiting for new data to complete the write buffer. In this state, the write buffer is not empty. WBNE is reset by hardware each time the write buffer is complete or the write buffer is emptied following one of the event below: the application software forces the write operation using FW bit in FLASH_CR the embedded Flash memory detects an error that involves data loss the application software has disabled write operations This bit cannot be forced to 0. To reset it, clear the write buffer by performing any of the above listed actions, or send the missing data. + /// Write buffer not empty flag This bit is set when the embedded Flash memory is waiting for new data to complete the write buffer. In this state, the write buffer is not empty. WBNE is reset by hardware each time the write buffer is complete or the write buffer is emptied following one of the event below: the application software forces the write operation using FW bit in FLASH_CR the embedded Flash memory detects an error that involves data loss the application software has disabled write operations This bit cannot be forced to 0. To reset it, clear the write buffer by performing any of the above listed actions, or send the missing data. WBNE: u1, - /// Wait queue flag This bit is set when a write, erase or option byte change operation is pending in the command queue buffer. It is not possible to know what type of programming operation is present in the queue. This flag is reset by hardware when all write, erase or option byte change operations have been executed and thus removed from the waiting queue(s). This bit cannot be forced to 0. It is reset after a deterministic time if no other operations are requested. + /// Wait queue flag This bit is set when a write, erase or option byte change operation is pending in the command queue buffer. It is not possible to know what type of programming operation is present in the queue. This flag is reset by hardware when all write, erase or option byte change operations have been executed and thus removed from the waiting queue(s). This bit cannot be forced to 0. It is reset after a deterministic time if no other operations are requested. QW: u1, - /// CRC busy flag This bit is set when a CRC calculation is ongoing. This bit cannot be forced to 0. The user must wait until the CRC calculation has completed or disable CRC computation using CRC_EN bit in FLASH_CR register. + /// CRC busy flag This bit is set when a CRC calculation is ongoing. This bit cannot be forced to 0. The user must wait until the CRC calculation has completed or disable CRC computation using CRC_EN bit in FLASH_CR register. CRC_BUSY: u1, - /// Is a program This bit is set together with BUSY when a program operation is ongoing. It is cleared when BUSY is cleared. This flag can also raise with IS_OPTCHANGE, because an program operation can happen during an option change. + /// Is a program This bit is set together with BUSY when a program operation is ongoing. It is cleared when BUSY is cleared. This flag can also raise with IS_OPTCHANGE, because an program operation can happen during an option change. IS_PROGRAM: u1, - /// Is an erase This bit is set together with BUSY when an erase operation is ongoing. It is cleared when BUSY is cleared. This flag can also raise with IS_OPTCHANGE, because an erase operation can happen during an option change. + /// Is an erase This bit is set together with BUSY when an erase operation is ongoing. It is cleared when BUSY is cleared. This flag can also raise with IS_OPTCHANGE, because an erase operation can happen during an option change. IS_ERASE: u1, - /// Is an option change This bit is set together with BUSY when an option change operation is ongoing. It is cleared when BUSY is cleared. This flag can also raise with IS_PROGRAM or IS_ERASE, because a program or erase step is ongoing during option change. + /// Is an option change This bit is set together with BUSY when an option change operation is ongoing. It is cleared when BUSY is cleared. This flag can also raise with IS_PROGRAM or IS_ERASE, because a program or erase step is ongoing during option change. IS_OPTCHANGE: u1, reserved25: u18, - /// Root code check flag This bit returns the status of the root code check performed following the first access to the Flash. This bit is cleared with RCHECKF bit in FLASH_FCR (optional). + /// Root code check flag This bit returns the status of the root code check performed following the first access to the Flash. This bit is cleared with RCHECKF bit in FLASH_FCR (optional). RCHECKF: u1, padding: u6, }), - /// FLASH status register. + /// FLASH status register. FCR: mmio.Mmio(packed struct(u32) { reserved25: u25, - /// Root code check flag clear Set this bit to clear RCHECKF bit in FLASH_SR. + /// Root code check flag clear Set this bit to clear RCHECKF bit in FLASH_SR. RCHECKF: u1, padding: u6, }), reserved32: [4]u8, - /// FLASH interrupt enable register. + /// FLASH interrupt enable register. IER: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// End-of-program interrupt control bit. + /// End-of-program interrupt control bit. EOPIE: u1, - /// Write protection error interrupt enable bit. + /// Write protection error interrupt enable bit. WRPERRIE: u1, - /// Programming sequence error interrupt enable bit. + /// Programming sequence error interrupt enable bit. PGSERRIE: u1, - /// Strobe error interrupt enable bit. + /// Strobe error interrupt enable bit. STRBERRIE: u1, - /// Option byte loading error interrupt enable bit. + /// Option byte loading error interrupt enable bit. OBLERRIE: u1, - /// Inconsistency error interrupt enable bit. + /// Inconsistency error interrupt enable bit. INCERRIE: u1, reserved24: u2, - /// Read security error interrupt enable bit. + /// Read security error interrupt enable bit. RDSERRIE: u1, - /// ECC single correction error interrupt enable bit. + /// ECC single correction error interrupt enable bit. SNECCERRIE: u1, - /// ECC double detection error interrupt enable bit. + /// ECC double detection error interrupt enable bit. DBECCERRIE: u1, - /// CRC end of calculation interrupt enable bit. + /// CRC end of calculation interrupt enable bit. CRCENDIE: u1, - /// CRC read error interrupt enable bit. + /// CRC read error interrupt enable bit. CRCRDERRIE: u1, padding: u3, }), - /// FLASH interrupt status register. + /// FLASH interrupt status register. ISR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// End-of-program flag This bit is set when a programming operation completes. An interrupt is generated if the EOPIE is set. It is not necessary to reset EOPF before starting a new operation. Setting EOPF bit in FLASH_ICR register clears this bit. + /// End-of-program flag This bit is set when a programming operation completes. An interrupt is generated if the EOPIE is set. It is not necessary to reset EOPF before starting a new operation. Setting EOPF bit in FLASH_ICR register clears this bit. EOPF: u1, - /// Write protection error flag This bit is set when a protection error occurs during a program operation. An interrupt is also generated if the WRPERRIE is set. Setting WRPERRF bit in FLASH_ICR register clears this bit. + /// Write protection error flag This bit is set when a protection error occurs during a program operation. An interrupt is also generated if the WRPERRIE is set. Setting WRPERRF bit in FLASH_ICR register clears this bit. WRPERRF: u1, - /// Programming sequence error flag This bit is set when a sequence error occurs. An interrupt is generated if the PGSERRIE bit is set. Setting PGSERRF bit in FLASH_ICR register clears this bit. + /// Programming sequence error flag This bit is set when a sequence error occurs. An interrupt is generated if the PGSERRIE bit is set. Setting PGSERRF bit in FLASH_ICR register clears this bit. PGSERRF: u1, - /// Strobe error flag This bit is set when a strobe error occurs (when the master attempts to write several times the same byte in the write buffer). An interrupt is generated if the STRBERRIE bit is set. Setting STRBERRF bit in FLASH_ICR register clears this bit. + /// Strobe error flag This bit is set when a strobe error occurs (when the master attempts to write several times the same byte in the write buffer). An interrupt is generated if the STRBERRIE bit is set. Setting STRBERRF bit in FLASH_ICR register clears this bit. STRBERRF: u1, - /// Option byte loading error flag This bit is set when an error is found during the option byte loading sequence. An interrupt is generated if OBLERRIE is set. Setting OBLERRF bit in the FLASH_ICR register clears this bit. + /// Option byte loading error flag This bit is set when an error is found during the option byte loading sequence. An interrupt is generated if OBLERRIE is set. Setting OBLERRF bit in the FLASH_ICR register clears this bit. OBLERRF: u1, - /// Inconsistency error flag This bit is set when a inconsistency error occurs. An interrupt is generated if INCERRIE is set. Setting INCERRF bit in the FLASH_ICR register clears this bit. + /// Inconsistency error flag This bit is set when a inconsistency error occurs. An interrupt is generated if INCERRIE is set. Setting INCERRF bit in the FLASH_ICR register clears this bit. INCERRF: u1, reserved24: u2, - /// Read security error flag This bit is set when a read security error occurs (read access to hide protected area with incorrect hide protection level). An interrupt is generated if RDSERRIE is set. Setting RDSERRF bit in FLASH_ICR register clears this bit. + /// Read security error flag This bit is set when a read security error occurs (read access to hide protected area with incorrect hide protection level). An interrupt is generated if RDSERRIE is set. Setting RDSERRF bit in FLASH_ICR register clears this bit. RDSERRF: u1, - /// ECC single error flag This bit is set when an ECC single correction error occurs during a read operation. An interrupt is generated if SNECCERRIE is set. Setting SNECCERRF bit in FLASH_ICR register clears this bit. + /// ECC single error flag This bit is set when an ECC single correction error occurs during a read operation. An interrupt is generated if SNECCERRIE is set. Setting SNECCERRF bit in FLASH_ICR register clears this bit. SNECCERRF: u1, - /// ECC double error flag This bit is set when an ECC double detection error occurs during a read operation. An interrupt is generated if DBECCERRIE is set. Setting DBECCERRF bit in FLASH_ICR register clears this bit. + /// ECC double error flag This bit is set when an ECC double detection error occurs during a read operation. An interrupt is generated if DBECCERRIE is set. Setting DBECCERRF bit in FLASH_ICR register clears this bit. DBECCERRF: u1, - /// CRC end flag This bit is set when the CRC computation has completed. An interrupt is generated if CRCENDIE is set. It is not necessary to reset CRCEND before restarting CRC computation. Setting CRCENDF bit in FLASH_ICR register clears this bit. + /// CRC end flag This bit is set when the CRC computation has completed. An interrupt is generated if CRCENDIE is set. It is not necessary to reset CRCEND before restarting CRC computation. Setting CRCENDF bit in FLASH_ICR register clears this bit. CRCENDF: u1, - /// CRC read error flag This bit is set when a word is found read protected during a CRC operation. An interrupt is generated if CRCRDIE is set. Setting CRCRDERRF bit in FLASH_ICR register clears this bit. This flag is valid only when CRCEND bit is set. + /// CRC read error flag This bit is set when a word is found read protected during a CRC operation. An interrupt is generated if CRCRDIE is set. Setting CRCRDERRF bit in FLASH_ICR register clears this bit. This flag is valid only when CRCEND bit is set. CRCRDERRF: u1, padding: u3, }), - /// FLASH interrupt clear register. + /// FLASH interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// End-of-program flag clear Setting this bit clears EOPF flag in FLASH_ISR register. + /// End-of-program flag clear Setting this bit clears EOPF flag in FLASH_ISR register. EOPF: u1, - /// Write protection error flag clear Setting this bit clears WRPERRF flag in FLASH_ISR register. + /// Write protection error flag clear Setting this bit clears WRPERRF flag in FLASH_ISR register. WRPERRF: u1, - /// Programming sequence error flag clear Setting this bit clears PGSERRF flag in FLASH_ISR register. + /// Programming sequence error flag clear Setting this bit clears PGSERRF flag in FLASH_ISR register. PGSERRF: u1, - /// Strobe error flag clear Setting this bit clears STRBERRF flag in FLASH_ISR register. + /// Strobe error flag clear Setting this bit clears STRBERRF flag in FLASH_ISR register. STRBERRF: u1, - /// Option byte loading error flag clear Setting this bit clears OBLERRF flag in FLASH_ISR register. + /// Option byte loading error flag clear Setting this bit clears OBLERRF flag in FLASH_ISR register. OBLERRF: u1, - /// Inconsistency error flag clear Setting this bit clears INCERRF flag in FLASH_ISR register. + /// Inconsistency error flag clear Setting this bit clears INCERRF flag in FLASH_ISR register. INCERRF: u1, reserved24: u2, - /// Read security error flag clear Setting this bit clears RDSERRF flag in FLASH_ISR register. + /// Read security error flag clear Setting this bit clears RDSERRF flag in FLASH_ISR register. RDSERRF: u1, - /// ECC single error flag clear Setting this bit clears SNECCERRF flag in FLASH_ISR register. If the DBECCERRF flag of FLASH_ISR register is also cleared, FLASH_ECCFAR register is reset to zero as well. + /// ECC single error flag clear Setting this bit clears SNECCERRF flag in FLASH_ISR register. If the DBECCERRF flag of FLASH_ISR register is also cleared, FLASH_ECCFAR register is reset to zero as well. SNECCERRF: u1, - /// ECC double error flag clear Setting this bit clears DBECCERRF flag in FLASH_ISR register. If the SNECCERRF flag of FLASH_ISR register is also cleared, FLASH_ECCFAR register is reset to zero as well. + /// ECC double error flag clear Setting this bit clears DBECCERRF flag in FLASH_ISR register. If the SNECCERRF flag of FLASH_ISR register is also cleared, FLASH_ECCFAR register is reset to zero as well. DBECCERRF: u1, - /// CRC end flag clear Setting this bit clears CRCENDF flag in FLASH_ISR register. + /// CRC end flag clear Setting this bit clears CRCENDF flag in FLASH_ISR register. CRCENDF: u1, - /// CRC error flag clear Setting this bit clears CRCRDERRF flag in FLASH_ISR register. + /// CRC error flag clear Setting this bit clears CRCRDERRF flag in FLASH_ISR register. CRCRDERRF: u1, padding: u3, }), reserved48: [4]u8, - /// FLASH CRC control register. + /// FLASH CRC control register. CRCCR: mmio.Mmio(packed struct(u32) { - /// CRC sector number CRC_SECT is used to select one user Flash sectors to be added to the list of sectors on which the CRC is calculated. The CRC can be computed either between two addresses (using registers FLASH_CRCSADDR and FLASH_CRCEADDR) or on a list of sectors using this register. If this latter option is selected, it is possible to add a sector to the list of sectors by programming the sector number in CRC_SECT and then setting ADD_SECT bit. The list of sectors can be erased either by setting CLEAN_SECT bit or by disabling the CRC computation. ... + /// CRC sector number CRC_SECT is used to select one user Flash sectors to be added to the list of sectors on which the CRC is calculated. The CRC can be computed either between two addresses (using registers FLASH_CRCSADDR and FLASH_CRCEADDR) or on a list of sectors using this register. If this latter option is selected, it is possible to add a sector to the list of sectors by programming the sector number in CRC_SECT and then setting ADD_SECT bit. The list of sectors can be erased either by setting CLEAN_SECT bit or by disabling the CRC computation. ... CRC_SECT: u2, reserved9: u7, - /// CRC sector mode select bit When this bit is set the CRC calculation is performed at sector level, on the sectors present in the list of sectors. To add a sector to this list, use ADD_SECT and CRC_SECT bits. To clean the list, use CLEAN_SECT bit. When CRC_BY_SECT is cleared the CRC calculation is performed on all addresses defined between start and end addresses defined in FLASH_CRCSADDR and FLASH_CRCEADDR registers. + /// CRC sector mode select bit When this bit is set the CRC calculation is performed at sector level, on the sectors present in the list of sectors. To add a sector to this list, use ADD_SECT and CRC_SECT bits. To clean the list, use CLEAN_SECT bit. When CRC_BY_SECT is cleared the CRC calculation is performed on all addresses defined between start and end addresses defined in FLASH_CRCSADDR and FLASH_CRCEADDR registers. CRC_BY_SECT: u1, - /// CRC sector select bit When this bit is set the sector whose number is written in CRC_SECT is added to the list of sectors on which the CRC is calculated. + /// CRC sector select bit When this bit is set the sector whose number is written in CRC_SECT is added to the list of sectors on which the CRC is calculated. ADD_SECT: u1, - /// CRC sector list clear bit When this bit is set the list of sectors on which the CRC is calculated is cleared. + /// CRC sector list clear bit When this bit is set the list of sectors on which the CRC is calculated is cleared. CLEAN_SECT: u1, reserved16: u4, - /// CRC start bit START_CRC bit triggers a CRC calculation using the current configuration. No CRC calculation can launched when an option byte change operation is ongoing because all read accesses to embedded Flash memory registers are put on hold until the option byte change operation has completed. This bit is cleared when CRC computation starts. + /// CRC start bit START_CRC bit triggers a CRC calculation using the current configuration. No CRC calculation can launched when an option byte change operation is ongoing because all read accesses to embedded Flash memory registers are put on hold until the option byte change operation has completed. This bit is cleared when CRC computation starts. START_CRC: u1, - /// CRC clear bit Setting CLEAN_CRC to 1 clears the current CRC result stored in the FLASH_CRCDATAR register. + /// CRC clear bit Setting CLEAN_CRC to 1 clears the current CRC result stored in the FLASH_CRCDATAR register. CLEAN_CRC: u1, reserved20: u2, - /// CRC burst size CRC_BURST bits set the size of the bursts that are generated by the CRC calculation unit. A Flash word is 128-bit. - CRC_BURST: packed union { - raw: u2, - value: CRC_BURST, - }, + /// CRC burst size CRC_BURST bits set the size of the bursts that are generated by the CRC calculation unit. A Flash word is 128-bit. + CRC_BURST: CRC_BURST, reserved24: u2, - /// All sectors selection When this bit is set all the sectors in user Flash are added to list of sectors on which the CRC shall be calculated. This bit is cleared when CRC computation starts. + /// All sectors selection When this bit is set all the sectors in user Flash are added to list of sectors on which the CRC shall be calculated. This bit is cleared when CRC computation starts. ALL_SECT: u1, padding: u7, }), - /// FLASH CRC start address register. + /// FLASH CRC start address register. CRCSADDR: mmio.Mmio(packed struct(u32) { reserved6: u6, - /// CRC start address This register is used when CRC_BY_SECT is cleared. It must be programmed to the address of the first Flash word to use for the CRC calculation, done burst by burst. CRC computation starts at an address aligned to the burst size defined in CRC_BURST of FLASH_CRCCR register. Hence least significant bits [5:0] of the address are set by hardware to 0 (minimum burst size= 64 bytes). The address is relative to the Flash bank. + /// CRC start address This register is used when CRC_BY_SECT is cleared. It must be programmed to the address of the first Flash word to use for the CRC calculation, done burst by burst. CRC computation starts at an address aligned to the burst size defined in CRC_BURST of FLASH_CRCCR register. Hence least significant bits [5:0] of the address are set by hardware to 0 (minimum burst size= 64 bytes). The address is relative to the Flash bank. CRC_START_ADDR: u11, padding: u15, }), - /// FLASH CRC end address register. + /// FLASH CRC end address register. CRCEADDR: mmio.Mmio(packed struct(u32) { reserved6: u6, - /// CRC end address This register is used when CRC_BY_SECT is cleared. It must be programmed to the address of the Flash word starting the last burst of the CRC calculation. The burst size is defined in CRC_BURST of FLASH_CRCCR register. The least significant bits [5:0] of the address are set by hardware to 0 (minimum burst size= 64 bytes). The address is relative to the Flash bank. + /// CRC end address This register is used when CRC_BY_SECT is cleared. It must be programmed to the address of the Flash word starting the last burst of the CRC calculation. The burst size is defined in CRC_BURST of FLASH_CRCCR register. The least significant bits [5:0] of the address are set by hardware to 0 (minimum burst size= 64 bytes). The address is relative to the Flash bank. CRC_END_ADDR: u11, padding: u15, }), - /// FLASH CRC data register. + /// FLASH CRC data register. CRCDATAR: mmio.Mmio(packed struct(u32) { - /// CRC result This bitfield contains the result of the last CRC calculation. The value is valid only when CRC calculation completed (CRCENDF is set in FLASH_ISR register). CRC_DATA is cleared when CRC_EN is cleared in FLASH_CR register (CRC disabled), or when CLEAN_CRC bit is set in FLASH_CRCCR register. + /// CRC result This bitfield contains the result of the last CRC calculation. The value is valid only when CRC calculation completed (CRCENDF is set in FLASH_ISR register). CRC_DATA is cleared when CRC_EN is cleared in FLASH_CR register (CRC disabled), or when CLEAN_CRC bit is set in FLASH_CRCCR register. CRC_DATA: u32, }), - /// FLASH ECC single error fail address. + /// FLASH ECC single error fail address. ECCSFADDR: mmio.Mmio(packed struct(u32) { - /// ECC single error correction fail address When a single ECC error correction occurs during a read operation, the SEC_FADD bitfield contains the system bus address that generated the error. This register is automatically cleared when SNECCERRF flag that generated the error is cleared. Note that only the first address that generated an ECC single error correction error is saved in this register. + /// ECC single error correction fail address When a single ECC error correction occurs during a read operation, the SEC_FADD bitfield contains the system bus address that generated the error. This register is automatically cleared when SNECCERRF flag that generated the error is cleared. Note that only the first address that generated an ECC single error correction error is saved in this register. SEC_FADD: u32, }), - /// FLASH ECC double error fail address. + /// FLASH ECC double error fail address. ECCDFADDR: mmio.Mmio(packed struct(u32) { - /// ECC double error detection fail address When a double ECC detection occurs during a read operation, the DED_FADD bitfield contains the system bus address that generated the error. This register is automatically cleared when the DBECCERRF flag that generated the error is cleared. Note that only the first address that generated an ECC double error detection error is saved in this register. + /// ECC double error detection fail address When a double ECC detection occurs during a read operation, the DED_FADD bitfield contains the system bus address that generated the error. This register is automatically cleared when the DBECCERRF flag that generated the error is cleared. Note that only the first address that generated an ECC double error detection error is saved in this register. DED_FADD: u32, }), reserved256: [184]u8, - /// FLASH options key register. + /// FLASH options key register. OPTKEYR: mmio.Mmio(packed struct(u32) { - /// Options configuration unlock key Following values must be written to FLASH_OPTKEYR consecutively to unlock FLASH_OPTCR register: 1st key = 0x0819 2A3B 2nd key = 0x4C5D 6E7F Reads to this register returns zero. If above sequence is performed twice locks up the corresponding register/bit until the next system reset, and generates a bus error. + /// Options configuration unlock key Following values must be written to FLASH_OPTKEYR consecutively to unlock FLASH_OPTCR register: 1st key = 0x0819 2A3B 2nd key = 0x4C5D 6E7F Reads to this register returns zero. If above sequence is performed twice locks up the corresponding register/bit until the next system reset, and generates a bus error. OCUKEY: u32, }), - /// FLASH options control register. + /// FLASH options control register. OPTCR: mmio.Mmio(packed struct(u32) { - /// Options lock When this bit is set write to all other bits in this register, and write to OTP words, option bytes and option bytes keys control registers, are ignored. Clearing this bit requires the correct write sequence to FLASH_OPTKEYR register (see this register for details). If a wrong sequence is executed, or the unlock sequence is performed twice, this bit remains locked until next system reset. During the write access to set LOCK bit from 0 to 1, it is possible to change the other bits of this register. + /// Options lock When this bit is set write to all other bits in this register, and write to OTP words, option bytes and option bytes keys control registers, are ignored. Clearing this bit requires the correct write sequence to FLASH_OPTKEYR register (see this register for details). If a wrong sequence is executed, or the unlock sequence is performed twice, this bit remains locked until next system reset. During the write access to set LOCK bit from 0 to 1, it is possible to change the other bits of this register. OPTLOCK: u1, - /// Program options. + /// Program options. PG_OPT: u1, reserved27: u25, - /// Key valid error interrupt enable bit This bit controls if an interrupt has to be generated when KVEF is set in FLASH_OPTISR. + /// Key valid error interrupt enable bit This bit controls if an interrupt has to be generated when KVEF is set in FLASH_OPTISR. KVEIE: u1, - /// Key transfer error interrupt enable bit This bit controls if an interrupt has to be generated when KTEF is set in FLASH_OPTISR. + /// Key transfer error interrupt enable bit This bit controls if an interrupt has to be generated when KTEF is set in FLASH_OPTISR. KTEIE: u1, reserved30: u1, - /// Option byte change error interrupt enable bit This bit controls if an interrupt has to be generated when an error occurs during an option byte change. + /// Option byte change error interrupt enable bit This bit controls if an interrupt has to be generated when an error occurs during an option byte change. OPTERRIE: u1, padding: u1, }), - /// FLASH options interrupt status register. + /// FLASH options interrupt status register. OPTISR: mmio.Mmio(packed struct(u32) { reserved27: u27, - /// Key valid error flag This bit is set when loading an unknown or corrupted option byte key. More specifically: Embedded Flash did not find an option byte key that corresponds to the given OBKINDEX[4:0] and the requested HDPL (optionally modified by NEXTKL[1:0]). It can happen for example when requested key has not being provisioned. A double error detection was found when loading the requested option byte key. In this case, if this key is provisioned again the error should disappear. When KVEF is set write to START bit in FLASH_OBKCR is ignored. An interrupt is generated when this flag is raised if the KVEIE bit of FLASH_OPTCR register is set. Setting KVEF bit of register FLASH_OPTICR clears this bit. + /// Key valid error flag This bit is set when loading an unknown or corrupted option byte key. More specifically: Embedded Flash did not find an option byte key that corresponds to the given OBKINDEX[4:0] and the requested HDPL (optionally modified by NEXTKL[1:0]). It can happen for example when requested key has not being provisioned. A double error detection was found when loading the requested option byte key. In this case, if this key is provisioned again the error should disappear. When KVEF is set write to START bit in FLASH_OBKCR is ignored. An interrupt is generated when this flag is raised if the KVEIE bit of FLASH_OPTCR register is set. Setting KVEF bit of register FLASH_OPTICR clears this bit. KVEF: u1, - /// Key transfer error flag This bit is set when embedded Flash signals an error to the SAES peripheral. It happens when the key size (128-bit or 256-bit) is not matching between embedded Flash OBKSIZE[1:0] and KEYSIZE bit in SAES_CR register. It also happen when an ECC dual error detection occurred while embedded Flash loaded an option byte key for the SAES peripheral. When KTEF is set write to START bit in FLASH_OBKCR is ignored. An interrupt is generated when this flag is raised if the KTEIE bit of FLASH_OPTCR register is set. Setting KTEF bit of register FLASH_OPTICR clears this bit. + /// Key transfer error flag This bit is set when embedded Flash signals an error to the SAES peripheral. It happens when the key size (128-bit or 256-bit) is not matching between embedded Flash OBKSIZE[1:0] and KEYSIZE bit in SAES_CR register. It also happen when an ECC dual error detection occurred while embedded Flash loaded an option byte key for the SAES peripheral. When KTEF is set write to START bit in FLASH_OBKCR is ignored. An interrupt is generated when this flag is raised if the KTEIE bit of FLASH_OPTCR register is set. Setting KTEF bit of register FLASH_OPTICR clears this bit. KTEF: u1, reserved30: u1, - /// Option byte change error flag When OPTERRF is set, the option byte change operation did not successfully complete. An interrupt is generated when this flag is raised if the OPTERRIE bit of FLASH_OPTCR register is set. Setting OPTERRF of register FLASH_OPTICR clears this bit. + /// Option byte change error flag When OPTERRF is set, the option byte change operation did not successfully complete. An interrupt is generated when this flag is raised if the OPTERRIE bit of FLASH_OPTCR register is set. Setting OPTERRF of register FLASH_OPTICR clears this bit. OPTERRF: u1, padding: u1, }), - /// FLASH options interrupt clear register. + /// FLASH options interrupt clear register. OPTICR: mmio.Mmio(packed struct(u32) { reserved27: u27, - /// key valid error flag Set this bit to clear KVEF flag in FLASH_OPTISR register. + /// key valid error flag Set this bit to clear KVEF flag in FLASH_OPTISR register. KVEF: u1, - /// key transfer error flag Set this bit to clear KTEF flag in FLASH_OPTISR register. + /// key transfer error flag Set this bit to clear KTEF flag in FLASH_OPTISR register. KTEF: u1, reserved30: u1, - /// Option byte change error flag Set this bit to clear OPTERRF flag in FLASH_OPTISR register. + /// Option byte change error flag Set this bit to clear OPTERRF flag in FLASH_OPTISR register. OPTERRF: u1, padding: u1, }), - /// FLASH option byte key control register. + /// FLASH option byte key control register. OBKCR: mmio.Mmio(packed struct(u32) { - /// Option byte key index This bitfield represents the index of the option byte key in a given hide protection level. Reading keys with index lower that 8, the value is not be available in OBKDRx registers. It is instead sent directly to SAES peripheral. All others keys can be read using OBKDRx registers. Up to 32 keys can be provisioned per hide protection level (0, 1 or 2), provided there is enough space left in the Flash to store them. + /// Option byte key index This bitfield represents the index of the option byte key in a given hide protection level. Reading keys with index lower that 8, the value is not be available in OBKDRx registers. It is instead sent directly to SAES peripheral. All others keys can be read using OBKDRx registers. Up to 32 keys can be provisioned per hide protection level (0, 1 or 2), provided there is enough space left in the Flash to store them. OBKINDEX: u5, reserved8: u3, - /// Next key level 10 or 11: reserved. - NEXTKL: packed union { - raw: u2, - value: NEXTKL, - }, - /// Option byte key size Application must use this bitfield to specify how many bits must be used for the new key. Embedded Flash ignores OBKSIZE during read of option keys because size is stored with the key. - OBKSIZE: packed union { - raw: u2, - value: OBKSIZE, - }, + /// Next key level 10 or 11: reserved. + NEXTKL: NEXTKL, + /// Option byte key size Application must use this bitfield to specify how many bits must be used for the new key. Embedded Flash ignores OBKSIZE during read of option keys because size is stored with the key. + OBKSIZE: OBKSIZE, reserved14: u2, - /// Key program This bit must be set to write option byte keys (keys are read otherwise). + /// Key program This bit must be set to write option byte keys (keys are read otherwise). KEYPROG: u1, - /// Key option start This bit is used to start the option byte key operation defined by the PROG bit. The embedded Flash memory resets START when the corresponding operation has been acknowledged. + /// Key option start This bit is used to start the option byte key operation defined by the PROG bit. The embedded Flash memory resets START when the corresponding operation has been acknowledged. KEYSTART: u1, padding: u16, }), reserved280: [4]u8, - /// FLASH option bytes key data register 0. + /// FLASH option bytes key data register 0. OBKDR: [8]u32, reserved512: [200]u8, - /// FLASH non-volatile status register. + /// FLASH non-volatile status register. NVSR: mmio.Mmio(packed struct(u32) { - /// Non-volatile state others: invalid configuration. - NVSTATE: packed union { - raw: u8, - value: NVSR_NVSTATE, - }, + /// Non-volatile state others: invalid configuration. + NVSTATE: NVSR_NVSTATE, padding: u24, }), - /// FLASH security status register programming. + /// FLASH security status register programming. NVSRP: mmio.Mmio(packed struct(u32) { - /// Non-volatile state programming Write to change corresponding bits in FLASH_NVSR register: Actual option byte change from close to open is triggered only after memory clear hardware process is confirmed. When NVSTATE=0xB4 (resp. 0x51) writing any other value than 0x51 (resp. 0xB4) triggers an option byte change error (OPTERRF). - NVSTATE: packed union { - raw: u8, - value: NVSRP_NVSTATE, - }, + /// Non-volatile state programming Write to change corresponding bits in FLASH_NVSR register: Actual option byte change from close to open is triggered only after memory clear hardware process is confirmed. When NVSTATE=0xB4 (resp. 0x51) writing any other value than 0x51 (resp. 0xB4) triggers an option byte change error (OPTERRF). + NVSTATE: NVSRP_NVSTATE, padding: u24, }), - /// FLASH RoT status register. + /// FLASH RoT status register. ROTSR: mmio.Mmio(packed struct(u32) { - /// OEM provisioned device Any other value: device is not provisioned by the OEM. - OEM_PROVD: packed union { - raw: u8, - value: OEM_PROVD, - }, - /// Debug authentication method Any other value: no authentication method selected (NotSet). - DBG_AUTH: packed union { - raw: u8, - value: DBG_AUTH, - }, + /// OEM provisioned device Any other value: device is not provisioned by the OEM. + OEM_PROVD: OEM_PROVD, + /// Debug authentication method Any other value: no authentication method selected (NotSet). + DBG_AUTH: DBG_AUTH, reserved24: u8, - /// iRoT selection This option is ignored for STM32H7R devices (OEM iRoT is always selected). Any other value: OEM iRoT is selected at boot. - IROT_SELECT: packed union { - raw: u8, - value: IROT_SELECT, - }, + /// iRoT selection This option is ignored for STM32H7R devices (OEM iRoT is always selected). Any other value: OEM iRoT is selected at boot. + IROT_SELECT: IROT_SELECT, }), - /// FLASH RoT status register programming. + /// FLASH RoT status register programming. ROTSRP: mmio.Mmio(packed struct(u32) { - /// OEM provisioned device Write to change corresponding bits in FLASH_ROTSR register. Write are ignored if HDPL is greater than 1. + /// OEM provisioned device Write to change corresponding bits in FLASH_ROTSR register. Write are ignored if HDPL is greater than 1. OEM_PROVD: u8, - /// Debug authentication method programming Write to change corresponding bits in FLASH_ROTSR register. Write are ignored if HDPL is greater than 0. + /// Debug authentication method programming Write to change corresponding bits in FLASH_ROTSR register. Write are ignored if HDPL is greater than 0. DBG_AUTH: u8, reserved24: u8, - /// iRoT selection This option is ignored for STM32H7R devices. Write to change corresponding bits in FLASH_ROTSR register. Write are ignored if HDPL is greater than 1 and if NVSTATE is not 0xB4 (OPEN). + /// iRoT selection This option is ignored for STM32H7R devices. Write to change corresponding bits in FLASH_ROTSR register. Write are ignored if HDPL is greater than 1 and if NVSTATE is not 0xB4 (OPEN). IROT_SELECT: u8, }), - /// FLASH OTP lock status register. + /// FLASH OTP lock status register. OTPLSR: mmio.Mmio(packed struct(u32) { - /// OTP lock n Block n corresponds to OTP 16-bit word 32 x n to 32 x n + 31. OTPL[n] = 1 indicates that all OTP 16-bit words in OTP Block n are locked and can no longer be programmed. OTPL[n] = 0 indicates that all OTP 16-bit words in OTP Block n are not locked and can still be modified. + /// OTP lock n Block n corresponds to OTP 16-bit word 32 x n to 32 x n + 31. OTPL[n] = 1 indicates that all OTP 16-bit words in OTP Block n are locked and can no longer be programmed. OTPL[n] = 0 indicates that all OTP 16-bit words in OTP Block n are not locked and can still be modified. OTPL: u16, padding: u16, }), - /// FLASH OTP lock status register programming. + /// FLASH OTP lock status register programming. OTPLSRP: mmio.Mmio(packed struct(u32) { - /// OTP lock n programming Write to change corresponding option byte bit in FLASH_OTPLSR. OTPL bits can be only be set, not cleared. + /// OTP lock n programming Write to change corresponding option byte bit in FLASH_OTPLSR. OTPL bits can be only be set, not cleared. OTPL: u16, padding: u16, }), - /// FLASH write protection status register. + /// FLASH write protection status register. WRPSR: mmio.Mmio(packed struct(u32) { - /// Write protection for sector n This bit reflects the write protection status of user Flash sector n. + /// Write protection for sector n This bit reflects the write protection status of user Flash sector n. WRPS: u8, padding: u24, }), - /// FLASH write protection status register programming. + /// FLASH write protection status register programming. WRPSRP: mmio.Mmio(packed struct(u32) { - /// Write protection for sector n programming Write to change corresponding bit in FLASH_WRPSR. + /// Write protection for sector n programming Write to change corresponding bit in FLASH_WRPSR. WRPS: u8, padding: u24, }), reserved560: [16]u8, - /// FLASH hide protection status register. + /// FLASH hide protection status register. HDPSR: mmio.Mmio(packed struct(u32) { - /// Hide protection user Flash area start This option sets the start address that contains the first 256-byte block of the hide protection (HDP) area in user Flash area. If HDP_AREA_END=HDP_AREA_START all the sectors are protected. If HDP_AREA_ENDDD supply level threshold that activates/releases the reset. - BOR_LEV: packed union { - raw: u3, - value: BOR_LEV, - }, + /// Readout protection level Others: Level 1 (memories readout protection active) Note: Refer to Section�7.6.2: Readout protection (RDP) for more details. + RDP: RDP, + /// BOR reset level These bits contain the VDD supply level threshold that activates/releases the reset. + BOR_LEV: BOR_LEV, reserved12: u1, - /// Reset generation in Stop mode + /// Reset generation in Stop mode NRST_STOP: u1, - /// Reset generation in Standby mode + /// Reset generation in Standby mode NRST_STDBY: u1, reserved15: u1, - /// SRAM1 erase upon system reset + /// SRAM1 erase upon system reset SRAM1_RST: u1, - /// Independent watchdog enable selection + /// Independent watchdog enable selection IWDG_SW: u1, - /// Independent watchdog counter freeze in Stop mode + /// Independent watchdog counter freeze in Stop mode IWDG_STOP: u1, - /// Independent watchdog counter freeze in Standby mode + /// Independent watchdog counter freeze in Standby mode IWDG_STDBY: u1, - /// Window watchdog selection + /// Window watchdog selection WWDG_SW: u1, reserved24: u4, - /// SRAM2 parity check enable + /// SRAM2 parity check enable SRAM2_PE: u1, - /// SRAM2 erase when system reset + /// SRAM2 erase when system reset SRAM2_RST: u1, - /// Software BOOT0 + /// Software BOOT0 NSWBOOT0: u1, - /// NBOOT0 option bit + /// NBOOT0 option bit NBOOT0: u1, reserved31: u3, - /// Global TrustZone security enable + /// Global TrustZone security enable TZEN: u1, }), - /// boot address 0 register + /// boot address 0 register NSBOOTADD0R: mmio.Mmio(packed struct(u32) { reserved7: u7, - /// Non-secure boot base address 0 This address is only used when TZEN = 0. The non-secure boot memory address can be programmed to any address in the valid address range (see Table 28: Boot space versus RDP protection) with a granularity of 128 bytes. These bits correspond to address [31:7]. The NSBOOTADD0 option bytes are selected following the BOOT0 pin or NSWBOOT0 state. Examples: NSBOOTADD0[24:0] = 0x0100000: Boot from memory (0x0800 0000) NSBOOTADD0[24:0] = 0x017F100: Boot from system memory bootloader (0x0BF8 8000) NSBOOTADD0[24:0] = 0x0400200: Boot from SRAM2 on S-Bus (0x2001 0000) + /// Non-secure boot base address 0 This address is only used when TZEN = 0. The non-secure boot memory address can be programmed to any address in the valid address range (see Table 28: Boot space versus RDP protection) with a granularity of 128 bytes. These bits correspond to address [31:7]. The NSBOOTADD0 option bytes are selected following the BOOT0 pin or NSWBOOT0 state. Examples: NSBOOTADD0[24:0] = 0x0100000: Boot from memory (0x0800 0000) NSBOOTADD0[24:0] = 0x017F100: Boot from system memory bootloader (0x0BF8 8000) NSBOOTADD0[24:0] = 0x0400200: Boot from SRAM2 on S-Bus (0x2001 0000) NSBOOTADD0: u25, }), - /// boot address 1 register + /// boot address 1 register NSBOOTADD1R: mmio.Mmio(packed struct(u32) { reserved7: u7, - /// Non-secure boot address 1 This address is only used when TZEN = 0. The non-secure boot memory address can be programmed to any address in the valid address range (see Table 28: Boot space versus RDP protection) with a granularity of 128 bytes. These bits correspond to address [31:7]. The NSBOOTADD0 option bytes are selected following the BOOT0 pin or NSWBOOT0 state. Examples: NSBOOTADD1[24:0] = 0x0100000: Boot from memory (0x0800 0000) NSBOOTADD1[24:0] = 0x017F100: Boot from system memory bootloader (0x0BF8 8000) NSBOOTADD1[24:0] = 0x0400200: Boot from SRAM2 (0x2001 0000) + /// Non-secure boot address 1 This address is only used when TZEN = 0. The non-secure boot memory address can be programmed to any address in the valid address range (see Table 28: Boot space versus RDP protection) with a granularity of 128 bytes. These bits correspond to address [31:7]. The NSBOOTADD0 option bytes are selected following the BOOT0 pin or NSWBOOT0 state. Examples: NSBOOTADD1[24:0] = 0x0100000: Boot from memory (0x0800 0000) NSBOOTADD1[24:0] = 0x017F100: Boot from system memory bootloader (0x0BF8 8000) NSBOOTADD1[24:0] = 0x0400200: Boot from SRAM2 (0x2001 0000) NSBOOTADD1: u25, }), - /// secure boot address 0 register + /// secure boot address 0 register SECBOOTADD0R: mmio.Mmio(packed struct(u32) { - /// Boot lock This lock is only used when TZEN = 0. When set, the boot is always forced to base address value programmed in SECBOOTADD0[24:0] option bytes whatever the boot selection option. When set, this bit can only be cleared by an RDP regression level 1 to level 0. + /// Boot lock This lock is only used when TZEN = 0. When set, the boot is always forced to base address value programmed in SECBOOTADD0[24:0] option bytes whatever the boot selection option. When set, this bit can only be cleared by an RDP regression level 1 to level 0. BOOT_LOCK: u1, reserved7: u6, - /// Secure boot base address 0 This address is only used when TZEN = 1. The secure boot memory address can be programmed to any address in the valid address range (see Table�28: Boot space versus RDP protection) with a granularity of 128 bytes. This bits correspond to address [31:7] The SECBOOTADD0 option bytes are selected following the BOOT0 pin or NSWBOOT0 state. Examples: SECBOOTADD0[24:0] = 0x018 0000: Boot from secure user memory (0x0C00 0000) SECBOOTADD0[24:0] = 0x01F F000: Boot from RSS system memory (0x0FF8 0000) SECBOOTADD0[24:0] = 0x060 0000: Boot from secure SRAM1 on S-Bus (0x3000 0000) + /// Secure boot base address 0 This address is only used when TZEN = 1. The secure boot memory address can be programmed to any address in the valid address range (see Table�28: Boot space versus RDP protection) with a granularity of 128 bytes. This bits correspond to address [31:7] The SECBOOTADD0 option bytes are selected following the BOOT0 pin or NSWBOOT0 state. Examples: SECBOOTADD0[24:0] = 0x018 0000: Boot from secure user memory (0x0C00 0000) SECBOOTADD0[24:0] = 0x01F F000: Boot from RSS system memory (0x0FF8 0000) SECBOOTADD0[24:0] = 0x060 0000: Boot from secure SRAM1 on S-Bus (0x3000 0000) SECBOOTADD0: u25, }), - /// secure watermark register 1 + /// secure watermark register 1 SECWMR1: mmio.Mmio(packed struct(u32) { - /// Start page of secure area This field contains the first page of the secure area. + /// Start page of secure area This field contains the first page of the secure area. SECWM_PSTRT: u7, reserved16: u9, - /// End page of secure area This field contains the last page of the secure area. + /// End page of secure area This field contains the last page of the secure area. SECWM_PEND: u7, padding: u9, }), - /// secure watermark register 2 + /// secure watermark register 2 SECWMR2: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// End page of secure hide protection area This field contains the last page of the secure HDP area. + /// End page of secure hide protection area This field contains the last page of the secure HDP area. HDP_PEND: u7, reserved31: u8, - /// Secure Hide protection area enable + /// Secure Hide protection area enable HDPEN: u1, }), - /// WRP area A address register + /// WRP area A address register WRPAR: mmio.Mmio(packed struct(u32) { - /// WPR area A start page This field contains the first page of the WPR area A. Note that bit 6 is reserved on STM32WBAxEx devices. + /// WPR area A start page This field contains the first page of the WPR area A. Note that bit 6 is reserved on STM32WBAxEx devices. WRPA_PSTRT: u7, reserved16: u9, - /// WPR area A end page This field contains the last page of the WPR area A. Note that bit 22 is reserved on STM32WBAxEx devices. + /// WPR area A end page This field contains the last page of the WPR area A. Note that bit 22 is reserved on STM32WBAxEx devices. WRPA_PEND: u7, reserved31: u8, - /// WPR area A unlock + /// WPR area A unlock UNLOCK: u1, }), - /// WRP area B address register + /// WRP area B address register WRPBR: mmio.Mmio(packed struct(u32) { - /// WRP area B start page This field contains the first page of the WRP area B. Note that bit 6 is reserved on STM32WBAxEx devices. + /// WRP area B start page This field contains the first page of the WRP area B. Note that bit 6 is reserved on STM32WBAxEx devices. WRPB_PSTRT: u7, reserved16: u9, - /// WRP area B end page This field contains the last page of the WRP area B. Note that bit 22 is reserved on STM32WBAxEx devices. + /// WRP area B end page This field contains the last page of the WRP area B. Note that bit 22 is reserved on STM32WBAxEx devices. WRPB_PEND: u7, reserved31: u8, - /// WPR area B unlock + /// WPR area B unlock UNLOCK: u1, }), reserved112: [16]u8, - /// OEM1 key register 1 + /// OEM1 key register 1 OEM1KEYR1: u32, - /// OEM1 key register 2 + /// OEM1 key register 2 OEM1KEYR2: u32, - /// OEM2 key register 1 + /// OEM2 key register 1 OEM2KEYR1: u32, - /// OEM2 key register 2 + /// OEM2 key register 2 OEM2KEYR2: u32, - /// secure block based register 1 + /// secure block based register 1 SECBBR: [4]mmio.Mmio(packed struct(u32) { BLOCK: u1, padding: u31, }), reserved192: [48]u8, - /// secure HDP control register + /// secure HDP control register SECHDPCR: mmio.Mmio(packed struct(u32) { - /// Secure HDP area access disable When set, this bit is only cleared by a system reset. + /// Secure HDP area access disable When set, this bit is only cleared by a system reset. HDP_ACCDIS: u1, padding: u31, }), - /// privilege configuration register + /// privilege configuration register PRIFCFGR: mmio.Mmio(packed struct(u32) { - /// Privileged protection for secure registers This bit is secure write protected. It can only be written by a secure privileged access when TrustZone is enabled (TZEN�=�1). + /// Privileged protection for secure registers This bit is secure write protected. It can only be written by a secure privileged access when TrustZone is enabled (TZEN�=�1). SPRIV: u1, - /// Privileged protection for non-secure registers + /// Privileged protection for non-secure registers NSPRIV: u1, padding: u30, }), reserved208: [8]u8, - /// privilege block based register 1 + /// privilege block based register 1 PRIVBBR: [4]mmio.Mmio(packed struct(u32) { BLOCK: u1, padding: u31, @@ -339186,412 +336960,412 @@ pub const types = struct { }; pub const flash_wl = struct { - /// Flash + /// Flash pub const FLASH = extern struct { - /// Access control register + /// Access control register ACR: mmio.Mmio(packed struct(u32) { - /// Latency + /// Latency LATENCY: u3, reserved8: u5, - /// Prefetch enable + /// Prefetch enable PRFTEN: u1, - /// Instruction cache enable + /// Instruction cache enable ICEN: u1, - /// Data cache enable + /// Data cache enable DCEN: u1, - /// Instruction cache reset + /// Instruction cache reset ICRST: u1, - /// Data cache reset + /// Data cache reset DCRST: u1, reserved15: u2, - /// CPU1 CortexM4 program erase suspend request + /// CPU1 CortexM4 program erase suspend request PES: u1, - /// Flash User area empty + /// Flash User area empty EMPTY: u1, padding: u15, }), reserved8: [4]u8, - /// Flash key register + /// Flash key register KEYR: u32, - /// Option byte key register + /// Option byte key register OPTKEYR: u32, - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// End of operation + /// End of operation EOP: u1, - /// Operation error + /// Operation error OPERR: u1, reserved3: u1, - /// Programming error + /// Programming error PROGERR: u1, - /// Write protected error + /// Write protected error WRPERR: u1, - /// Programming alignment error + /// Programming alignment error PGAERR: u1, - /// Size error + /// Size error SIZERR: u1, - /// Programming sequence error + /// Programming sequence error PGSERR: u1, - /// Fast programming data miss error + /// Fast programming data miss error MISERR: u1, - /// Fast programming error + /// Fast programming error FASTERR: u1, reserved13: u3, - /// User Option OPTVAL indication + /// User Option OPTVAL indication OPTNV: u1, - /// PCROP read error + /// PCROP read error RDERR: u1, - /// Option validity error + /// Option validity error OPTVERR: u1, - /// Busy + /// Busy BSY: u1, reserved18: u1, - /// Programming or erase configuration busy + /// Programming or erase configuration busy CFGBSY: u1, - /// Programming or erase operation suspended + /// Programming or erase operation suspended PESD: u1, padding: u12, }), - /// Flash control register + /// Flash control register CR: mmio.Mmio(packed struct(u32) { - /// Programming + /// Programming PG: u1, - /// Page erase + /// Page erase PER: u1, - /// This bit triggers the mass erase (all user pages) when set + /// This bit triggers the mass erase (all user pages) when set MER: u1, - /// Page number selection + /// Page number selection PNB: u8, reserved16: u5, - /// Start + /// Start STRT: u1, - /// Options modification start + /// Options modification start OPTSTRT: u1, - /// Fast programming + /// Fast programming FSTPG: u1, reserved24: u5, - /// End of operation interrupt enable + /// End of operation interrupt enable EOPIE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, - /// PCROP read error interrupt enable + /// PCROP read error interrupt enable RDERRIE: u1, - /// Force the option byte loading + /// Force the option byte loading OBL_LAUNCH: u1, reserved30: u2, - /// Options Lock + /// Options Lock OPTLOCK: u1, - /// FLASH_CR Lock + /// FLASH_CR Lock LOCK: u1, }), - /// Flash ECC register + /// Flash ECC register ECCR: mmio.Mmio(packed struct(u32) { - /// ECC fail address + /// ECC fail address ADDR_ECC: u17, reserved20: u3, - /// System Flash ECC fail + /// System Flash ECC fail SYSF_ECC: u1, reserved24: u3, - /// ECC correction interrupt enable + /// ECC correction interrupt enable ECCCIE: u1, reserved26: u1, - /// CPU identification + /// CPU identification CPUID: u3, reserved30: u1, - /// ECC correction + /// ECC correction ECCC: u1, - /// ECC detection + /// ECC detection ECCD: u1, }), reserved32: [4]u8, - /// Flash option register + /// Flash option register OPTR: mmio.Mmio(packed struct(u32) { - /// Read protection level + /// Read protection level RDP: u8, - /// Security enabled + /// Security enabled ESE: u1, - /// BOR reset Level + /// BOR reset Level BOR_LEV: u3, - /// nRST_STOP + /// nRST_STOP nRST_STOP: u1, - /// nRST_STDBY + /// nRST_STDBY nRST_STDBY: u1, - /// nRST_SHDW + /// nRST_SHDW nRST_SHDW: u1, reserved16: u1, - /// Independent watchdog selection + /// Independent watchdog selection IDWG_SW: u1, - /// Independent watchdog counter freeze in Stop mode + /// Independent watchdog counter freeze in Stop mode IWDG_STOP: u1, - /// Independent watchdog counter freeze in Standby mode + /// Independent watchdog counter freeze in Standby mode IWDG_STDBY: u1, - /// Window watchdog selection + /// Window watchdog selection WWDG_SW: u1, reserved23: u3, - /// Boot configuration + /// Boot configuration nBOOT1: u1, - /// SRAM2 parity check enable + /// SRAM2 parity check enable SRAM2_PE: u1, - /// SRAM2 Erase when system reset + /// SRAM2 Erase when system reset SRAM2_RST: u1, - /// Software Boot0 + /// Software Boot0 nSWBOOT0: u1, - /// nBoot0 option bit + /// nBoot0 option bit nBOOT0: u1, reserved29: u1, - /// Radio Automatic Gain Control Trimming + /// Radio Automatic Gain Control Trimming AGC_TRIM: u3, }), - /// Flash Bank 1 PCROP Start address zone A register + /// Flash Bank 1 PCROP Start address zone A register PCROP1ASR: mmio.Mmio(packed struct(u32) { - /// Bank 1 PCROPQ area start offset + /// Bank 1 PCROPQ area start offset PCROP1A_STRT: u9, padding: u23, }), - /// Flash Bank 1 PCROP End address zone A register + /// Flash Bank 1 PCROP End address zone A register PCROP1AER: mmio.Mmio(packed struct(u32) { - /// Bank 1 PCROP area end offset + /// Bank 1 PCROP area end offset PCROP1A_END: u9, reserved31: u22, - /// PCROP area preserved when RDP level decreased + /// PCROP area preserved when RDP level decreased PCROP_RDP: u1, }), - /// Flash Bank 1 WRP area A address register + /// Flash Bank 1 WRP area A address register WRP1AR: mmio.Mmio(packed struct(u32) { - /// Bank 1 WRP first area A start offset + /// Bank 1 WRP first area A start offset WRP1A_STRT: u8, reserved16: u8, - /// Bank 1 WRP first area A end offset + /// Bank 1 WRP first area A end offset WRP1A_END: u8, padding: u8, }), - /// Flash Bank 1 WRP area B address register + /// Flash Bank 1 WRP area B address register WRP1BR: mmio.Mmio(packed struct(u32) { - /// Bank 1 WRP second area B start offset + /// Bank 1 WRP second area B start offset WRP1B_END: u8, reserved16: u8, - /// Bank 1 WRP second area B end offset + /// Bank 1 WRP second area B end offset WRP1B_STRT: u8, padding: u8, }), - /// Flash Bank 1 PCROP Start address area B register + /// Flash Bank 1 PCROP Start address area B register PCROP1BSR: mmio.Mmio(packed struct(u32) { - /// Bank 1 PCROP area B start offset + /// Bank 1 PCROP area B start offset PCROP1B_STRT: u9, padding: u23, }), - /// Flash Bank 1 PCROP End address area B register + /// Flash Bank 1 PCROP End address area B register PCROP1BER: mmio.Mmio(packed struct(u32) { - /// Bank 1 PCROP area end area B offset + /// Bank 1 PCROP area end area B offset PCROP1B_END: u9, padding: u23, }), - /// IPCC mailbox data buffer address register + /// IPCC mailbox data buffer address register IPCCBR: mmio.Mmio(packed struct(u32) { - /// PCC mailbox data buffer base address + /// PCC mailbox data buffer base address IPCCDBA: u14, padding: u18, }), reserved92: [28]u8, - /// CPU2 cortex M0 access control register + /// CPU2 cortex M0 access control register C2ACR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// CPU2 cortex M0 prefetch enable + /// CPU2 cortex M0 prefetch enable PRFTEN: u1, - /// CPU2 cortex M0 instruction cache enable + /// CPU2 cortex M0 instruction cache enable ICEN: u1, reserved11: u1, - /// CPU2 cortex M0 instruction cache reset + /// CPU2 cortex M0 instruction cache reset ICRST: u1, reserved15: u3, - /// CPU2 cortex M0 program erase suspend request + /// CPU2 cortex M0 program erase suspend request PES: u1, padding: u16, }), - /// CPU2 cortex M0 status register + /// CPU2 cortex M0 status register C2SR: mmio.Mmio(packed struct(u32) { - /// End of operation + /// End of operation EOP: u1, - /// Operation error + /// Operation error OPERR: u1, reserved3: u1, - /// Programming error + /// Programming error PROGERR: u1, - /// write protection error + /// write protection error WRPERR: u1, - /// Programming alignment error + /// Programming alignment error PGAERR: u1, - /// Size error + /// Size error SIZERR: u1, - /// Programming sequence error + /// Programming sequence error PGSERR: u1, - /// Fast programming data miss error + /// Fast programming data miss error MISSERR: u1, - /// Fast programming error + /// Fast programming error FASTERR: u1, reserved14: u4, - /// PCROP read error + /// PCROP read error RDERR: u1, reserved16: u1, - /// Busy + /// Busy BSY: u1, reserved18: u1, - /// Programming or erase configuration busy + /// Programming or erase configuration busy CFGBSY: u1, - /// Programming or erase operation suspended + /// Programming or erase operation suspended PESD: u1, padding: u12, }), - /// CPU2 cortex M0 control register + /// CPU2 cortex M0 control register C2CR: mmio.Mmio(packed struct(u32) { - /// Programming + /// Programming PG: u1, - /// Page erase + /// Page erase PER: u1, - /// Masse erase + /// Masse erase MER: u1, - /// Page Number selection + /// Page Number selection PNB: u8, reserved16: u5, - /// Start + /// Start STRT: u1, reserved18: u1, - /// Fast programming + /// Fast programming FSTPG: u1, reserved24: u5, - /// End of operation interrupt enable + /// End of operation interrupt enable EOPIE: u1, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, - /// PCROP read error interrupt enable + /// PCROP read error interrupt enable RDERRIE: u1, padding: u5, }), reserved128: [24]u8, - /// Secure flash start address register + /// Secure flash start address register SFR: mmio.Mmio(packed struct(u32) { - /// Secure flash start address + /// Secure flash start address SFSA: u8, - /// Flash security disable + /// Flash security disable FSD: u1, reserved12: u3, - /// Disable Cortex M0 debug access + /// Disable Cortex M0 debug access DDS: u1, padding: u19, }), - /// Secure SRAM2 start address and cortex M0 reset vector register + /// Secure SRAM2 start address and cortex M0 reset vector register SRRVR: mmio.Mmio(packed struct(u32) { - /// cortex M0 access control register + /// cortex M0 access control register SBRV: u18, - /// Secure backup SRAM2a start address + /// Secure backup SRAM2a start address SBRSA: u5, - /// backup SRAM2a security disable + /// backup SRAM2a security disable BRSD: u1, reserved25: u1, - /// Secure non backup SRAM2a start address + /// Secure non backup SRAM2a start address SNBRSA: u5, - /// non-backup SRAM2b security disable + /// non-backup SRAM2b security disable NBRSD: u1, - /// CPU2 cortex M0 boot reset vector memory selection + /// CPU2 cortex M0 boot reset vector memory selection C2OPT: u1, }), }; }; pub const fmac_v1 = struct { - /// Filter math accelerator + /// Filter math accelerator pub const FMAC = extern struct { - /// X1 buffer configuration register + /// X1 buffer configuration register X1BUFCFG: mmio.Mmio(packed struct(u32) { - /// Base address of X1 buffer + /// Base address of X1 buffer X1_BASE: u8, - /// Allocated size of X1 buffer in 16-bit words + /// Allocated size of X1 buffer in 16-bit words X1_BUF_SIZE: u8, reserved24: u8, - /// Watermark for buffer full flag + /// Watermark for buffer full flag FULL_WM: u2, padding: u6, }), - /// X2 buffer configuration register + /// X2 buffer configuration register X2BUFCFG: mmio.Mmio(packed struct(u32) { - /// Base address of X2 buffer + /// Base address of X2 buffer X2_BASE: u8, - /// Size of X2 buffer in 16-bit words + /// Size of X2 buffer in 16-bit words X2_BUF_SIZE: u8, padding: u16, }), - /// Y buffer configuration register + /// Y buffer configuration register YBUFCFG: mmio.Mmio(packed struct(u32) { - /// Base address of Y buffer + /// Base address of Y buffer Y_BASE: u8, - /// Size of Y buffer in 16-bit words + /// Size of Y buffer in 16-bit words Y_BUF_SIZE: u8, reserved24: u8, - /// Watermark for buffer empty flag + /// Watermark for buffer empty flag EMPTY_WM: u2, padding: u6, }), - /// Parameter register + /// Parameter register PARAM: mmio.Mmio(packed struct(u32) { - /// Input parameter P + /// Input parameter P P: u8, - /// Input parameter Q + /// Input parameter Q Q: u8, - /// Input parameter R + /// Input parameter R R: u8, - /// Function + /// Function FUNC: u7, - /// Enable execution + /// Enable execution START: u1, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Enable read interrupt + /// Enable read interrupt RIEN: u1, - /// Enable write interrupt + /// Enable write interrupt WIEN: u1, - /// Enable overflow error interrupts + /// Enable overflow error interrupts OVFLIEN: u1, - /// Enable underflow error interrupts + /// Enable underflow error interrupts UNFLIEN: u1, - /// Enable saturation error interrupts + /// Enable saturation error interrupts SATIEN: u1, reserved8: u3, - /// Enable DMA read channel requests + /// Enable DMA read channel requests DMAREN: u1, - /// Enable DMA write channel requests + /// Enable DMA write channel requests DMAWEN: u1, reserved15: u5, - /// Enable clipping + /// Enable clipping CLIPEN: u1, - /// Reset FMAC unit + /// Reset FMAC unit RESET: u1, padding: u15, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Y buffer empty flag + /// Y buffer empty flag YEMPTY: u1, - /// X1 buffer full flag + /// X1 buffer full flag X1FULL: u1, reserved8: u6, - /// Overflow error flag + /// Overflow error flag OVFL: u1, - /// Underflow error flag + /// Underflow error flag UNFL: u1, - /// Saturation error flag + /// Saturation error flag SAT: u1, padding: u21, }), - /// Write data register + /// Write data register WDATA: mmio.Mmio(packed struct(u32) { - /// Write data (write data are transferred to the address indicated by the write pointer) + /// Write data (write data are transferred to the address indicated by the write pointer) WDATA: u16, padding: u16, }), - /// Read data register + /// Read data register RDATA: mmio.Mmio(packed struct(u32) { - /// Read data (contents of the Y output buffer at the address indicated by the READ pointer) + /// Read data (contents of the Y output buffer at the address indicated by the READ pointer) RES: u16, padding: u16, }), @@ -339600,518 +337374,443 @@ pub const types = struct { pub const fmc_v1x3 = struct { pub const ACCMOD = enum(u2) { - /// Access mode A + /// Access mode A A = 0x0, - /// Access mode B + /// Access mode B B = 0x1, - /// Access mode C + /// Access mode C C = 0x2, - /// Access mode D + /// Access mode D D = 0x3, }; pub const CAS = enum(u2) { - /// 1 cycle + /// 1 cycle Clocks1 = 0x1, - /// 2 cycles + /// 2 cycles Clocks2 = 0x2, - /// 3 cycles + /// 3 cycles Clocks3 = 0x3, _, }; pub const CPSIZE = enum(u3) { - /// No burst split when crossing page boundary + /// No burst split when crossing page boundary NoBurstSplit = 0x0, - /// 128 bytes CRAM page size + /// 128 bytes CRAM page size Bytes128 = 0x1, - /// 256 bytes CRAM page size + /// 256 bytes CRAM page size Bytes256 = 0x2, - /// 512 bytes CRAM page size + /// 512 bytes CRAM page size Bytes512 = 0x3, - /// 1024 bytes CRAM page size + /// 1024 bytes CRAM page size Bytes1024 = 0x4, _, }; pub const ECCPS = enum(u3) { - /// ECC page size 256 bytes + /// ECC page size 256 bytes Bytes256 = 0x0, - /// ECC page size 512 bytes + /// ECC page size 512 bytes Bytes512 = 0x1, - /// ECC page size 1024 bytes + /// ECC page size 1024 bytes Bytes1024 = 0x2, - /// ECC page size 2048 bytes + /// ECC page size 2048 bytes Bytes2048 = 0x3, - /// ECC page size 4096 bytes + /// ECC page size 4096 bytes Bytes4096 = 0x4, - /// ECC page size 8192 bytes + /// ECC page size 8192 bytes Bytes8192 = 0x5, _, }; pub const MODE = enum(u3) { - /// Normal Mode + /// Normal Mode Normal = 0x0, - /// Clock Configuration Enable + /// Clock Configuration Enable ClockConfigurationEnable = 0x1, - /// PALL (All Bank Precharge) command + /// PALL (All Bank Precharge) command PALL = 0x2, - /// Auto-refresh command + /// Auto-refresh command AutoRefreshCommand = 0x3, - /// Load Mode Resgier + /// Load Mode Resgier LoadModeRegister = 0x4, - /// Self-refresh command + /// Self-refresh command SelfRefreshCommand = 0x5, - /// Power-down command + /// Power-down command PowerDownCommand = 0x6, _, }; pub const MODES = enum(u2) { - /// Normal Mode + /// Normal Mode Normal = 0x0, - /// Self-refresh mode + /// Self-refresh mode SelfRefresh = 0x1, - /// Power-down mode + /// Power-down mode PowerDown = 0x2, _, }; pub const MTYP = enum(u2) { - /// SRAM memory type + /// SRAM memory type SRAM = 0x0, - /// PSRAM (CRAM) memory type + /// PSRAM (CRAM) memory type PSRAM = 0x1, - /// NOR Flash/OneNAND Flash + /// NOR Flash/OneNAND Flash Flash = 0x2, _, }; pub const MWID = enum(u2) { - /// Memory data bus width 8 bits + /// Memory data bus width 8 bits Bits8 = 0x0, - /// Memory data bus width 16 bits + /// Memory data bus width 16 bits Bits16 = 0x1, - /// Memory data bus width 32 bits + /// Memory data bus width 32 bits Bits32 = 0x2, _, }; pub const NB = enum(u1) { - /// Two internal Banks + /// Two internal Banks NB2 = 0x0, - /// Four internal Banks + /// Four internal Banks NB4 = 0x1, }; pub const NC = enum(u2) { - /// 8 bits + /// 8 bits Bits8 = 0x0, - /// 9 bits + /// 9 bits Bits9 = 0x1, - /// 10 bits + /// 10 bits Bits10 = 0x2, - /// 11 bits + /// 11 bits Bits11 = 0x3, }; pub const NR = enum(u2) { - /// 11 bits + /// 11 bits Bits11 = 0x0, - /// 12 bits + /// 12 bits Bits12 = 0x1, - /// 13 bits + /// 13 bits Bits13 = 0x2, _, }; pub const PTYP = enum(u1) { - /// NAND Flash + /// NAND Flash NANDFlash = 0x1, _, }; pub const PWID = enum(u2) { - /// External memory device width 8 bits + /// External memory device width 8 bits Bits8 = 0x0, - /// External memory device width 16 bits + /// External memory device width 16 bits Bits16 = 0x1, _, }; pub const RPIPE = enum(u2) { - /// No clock cycle delay + /// No clock cycle delay NoDelay = 0x0, - /// One clock cycle delay + /// One clock cycle delay Clocks1 = 0x1, - /// Two clock cycles delay + /// Two clock cycles delay Clocks2 = 0x2, _, }; pub const SDCLK = enum(u2) { - /// SDCLK clock disabled + /// SDCLK clock disabled Disabled = 0x0, - /// SDCLK period = 2 x HCLK period + /// SDCLK period = 2 x HCLK period Div2 = 0x2, - /// SDCLK period = 3 x HCLK period + /// SDCLK period = 3 x HCLK period Div3 = 0x3, _, }; pub const WAITCFG = enum(u1) { - /// NWAIT signal is active one data cycle before wait state + /// NWAIT signal is active one data cycle before wait state BeforeWaitState = 0x0, - /// NWAIT signal is active during wait state + /// NWAIT signal is active during wait state DuringWaitState = 0x1, }; pub const WAITPOL = enum(u1) { - /// NWAIT active low + /// NWAIT active low ActiveLow = 0x0, - /// NWAIT active high + /// NWAIT active high ActiveHigh = 0x1, }; - /// Flexible memory controller + /// Flexible memory controller pub const FMC = extern struct { - /// SRAM/NOR-Flash chip-select control register 1 + /// SRAM/NOR-Flash chip-select control register 1 BCR1: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, - /// WRAPMOD + /// Wait signal polarity bit + WAITPOL: WAITPOL, + /// WRAPMOD WRAPMOD: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, - /// CRAM page size - CPSIZE: packed union { - raw: u3, - value: CPSIZE, - }, - /// Write burst enable + /// CRAM page size + CPSIZE: CPSIZE, + /// Write burst enable CBURSTRW: u1, - /// Continuous clock enable + /// Continuous clock enable CCLKEN: u1, padding: u11, }), - /// SRAM/NOR-Flash chip-select timing register 1-4 + /// SRAM/NOR-Flash chip-select timing register 1-4 BTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, - /// Clock divide ratio (for FMC_CLK signal) + /// Clock divide ratio (for FMC_CLK signal) CLKDIV: u4, - /// Data latency for synchronous memory + /// Data latency for synchronous memory DATLAT: u4, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, + /// Access mode + ACCMOD: ACCMOD, padding: u2, }), - /// SRAM/NOR-Flash chip-select control register 2-4 + /// SRAM/NOR-Flash chip-select control register 2-4 BCR: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, - /// WRAPMOD + /// Wait signal polarity bit + WAITPOL: WAITPOL, + /// WRAPMOD WRAPMOD: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, - /// CRAM page size - CPSIZE: packed union { - raw: u3, - value: CPSIZE, - }, - /// Write burst enable + /// CRAM page size + CPSIZE: CPSIZE, + /// Write burst enable CBURSTRW: u1, padding: u12, }), reserved96: [84]u8, - /// PC Card/NAND Flash control register 2-4 + /// PC Card/NAND Flash control register 2-4 PCR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Wait feature enable bit + /// Wait feature enable bit PWAITEN: u1, - /// NAND Flash memory bank enable bit + /// NAND Flash memory bank enable bit PBKEN: u1, - /// Memory type - PTYP: packed union { - raw: u1, - value: PTYP, - }, - /// Data bus width - PWID: packed union { - raw: u2, - value: PWID, - }, - /// ECC computation logic enable bit + /// Memory type + PTYP: PTYP, + /// Data bus width + PWID: PWID, + /// ECC computation logic enable bit ECCEN: u1, reserved9: u2, - /// CLE to RE delay + /// CLE to RE delay TCLR: u4, - /// ALE to RE delay + /// ALE to RE delay TAR: u4, - /// ECC page size - ECCPS: packed union { - raw: u3, - value: ECCPS, - }, + /// ECC page size + ECCPS: ECCPS, padding: u12, }), - /// FIFO status and interrupt register 2-4 + /// FIFO status and interrupt register 2-4 SR: mmio.Mmio(packed struct(u32) { - /// Interrupt rising edge status + /// Interrupt rising edge status IRS: u1, - /// Interrupt high-level status + /// Interrupt high-level status ILS: u1, - /// Interrupt falling edge status + /// Interrupt falling edge status IFS: u1, - /// Interrupt rising edge detection enable bit + /// Interrupt rising edge detection enable bit IREN: u1, - /// Interrupt high-level detection enable bit + /// Interrupt high-level detection enable bit ILEN: u1, - /// Interrupt falling edge detection enable bit + /// Interrupt falling edge detection enable bit IFEN: u1, - /// FIFO empty status + /// FIFO empty status FEMPT: u1, padding: u25, }), - /// Common memory space timing register 2-4 + /// Common memory space timing register 2-4 PMEM: mmio.Mmio(packed struct(u32) { - /// Common memory x setup time + /// Common memory x setup time MEMSET: u8, - /// Common memory wait time + /// Common memory wait time MEMWAIT: u8, - /// Common memory hold time + /// Common memory hold time MEMHOLD: u8, - /// Common memory x data bus Hi-Z time + /// Common memory x data bus Hi-Z time MEMHIZ: u8, }), - /// Attribute memory space timing register 2-4 + /// Attribute memory space timing register 2-4 PATT: mmio.Mmio(packed struct(u32) { - /// Attribute memory setup time + /// Attribute memory setup time ATTSET: u8, - /// Attribute memory wait time + /// Attribute memory wait time ATTWAIT: u8, - /// Attribute memory hold time + /// Attribute memory hold time ATTHOLD: u8, - /// Attribute memory data bus Hi-Z time + /// Attribute memory data bus Hi-Z time ATTHIZ: u8, }), reserved116: [4]u8, - /// ECC result register 2-3 + /// ECC result register 2-3 ECCR: mmio.Mmio(packed struct(u32) { - /// ECC computation result value + /// ECC computation result value ECC: u32, }), reserved176: [56]u8, - /// I/O space timing register 4 + /// I/O space timing register 4 PIO4: mmio.Mmio(packed struct(u32) { - /// IOSETx + /// IOSETx IOSETx: u8, - /// IOWAITx + /// IOWAITx IOWAITx: u8, - /// IOHOLDx + /// IOHOLDx IOHOLDx: u8, - /// IOHIZx + /// IOHIZx IOHIZx: u8, }), reserved260: [80]u8, - /// SRAM/NOR-Flash write timing registers 1-4 + /// SRAM/NOR-Flash write timing registers 1-4 BWTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, reserved28: u8, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, + /// Access mode + ACCMOD: ACCMOD, padding: u2, }), reserved320: [56]u8, - /// SDRAM Control Register 1-2 + /// SDRAM Control Register 1-2 SDCR: [2]mmio.Mmio(packed struct(u32) { - /// Number of column address bits - NC: packed union { - raw: u2, - value: NC, - }, - /// Number of row address bits - NR: packed union { - raw: u2, - value: NR, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Number of internal banks - NB: packed union { - raw: u1, - value: NB, - }, - /// CAS latency - CAS: packed union { - raw: u2, - value: CAS, - }, - /// Write protection + /// Number of column address bits + NC: NC, + /// Number of row address bits + NR: NR, + /// Memory data bus width + MWID: MWID, + /// Number of internal banks + NB: NB, + /// CAS latency + CAS: CAS, + /// Write protection WP: u1, - /// SDRAM clock configuration - SDCLK: packed union { - raw: u2, - value: SDCLK, - }, - /// Burst read + /// SDRAM clock configuration + SDCLK: SDCLK, + /// Burst read RBURST: u1, - /// Read pipe - RPIPE: packed union { - raw: u2, - value: RPIPE, - }, + /// Read pipe + RPIPE: RPIPE, padding: u17, }), - /// SDRAM Timing register 1-2 + /// SDRAM Timing register 1-2 SDTR: [2]mmio.Mmio(packed struct(u32) { - /// Load Mode Register to Active + /// Load Mode Register to Active TMRD: u4, - /// Exit self-refresh delay + /// Exit self-refresh delay TXSR: u4, - /// Self refresh time + /// Self refresh time TRAS: u4, - /// Row cycle delay + /// Row cycle delay TRC: u4, - /// Recovery delay + /// Recovery delay TWR: u4, - /// Row precharge delay + /// Row precharge delay TRP: u4, - /// Row to column delay + /// Row to column delay TRCD: u4, padding: u4, }), - /// SDRAM Command Mode register + /// SDRAM Command Mode register SDCMR: mmio.Mmio(packed struct(u32) { - /// Command mode - MODE: packed union { - raw: u3, - value: MODE, - }, - /// Command target bank 2 + /// Command mode + MODE: MODE, + /// Command target bank 2 CTB2: u1, - /// Command target bank 1 + /// Command target bank 1 CTB1: u1, - /// Number of Auto-refresh + /// Number of Auto-refresh NRFS: u4, - /// Mode Register definition + /// Mode Register definition MRD: u13, padding: u10, }), - /// SDRAM Refresh Timer register + /// SDRAM Refresh Timer register SDRTR: mmio.Mmio(packed struct(u32) { - /// Clear Refresh error flag + /// Clear Refresh error flag CRE: u1, - /// Refresh Timer Count + /// Refresh Timer Count COUNT: u13, - /// RES Interrupt Enable + /// RES Interrupt Enable REIE: u1, padding: u17, }), - /// SDRAM Status register + /// SDRAM Status register SDSR: mmio.Mmio(packed struct(u32) { - /// Refresh error flag + /// Refresh error flag RE: u1, - /// Status Mode for Bank 1 - MODES1: packed union { - raw: u2, - value: MODES, - }, - /// Status Mode for Bank 2 - MODES2: packed union { - raw: u2, - value: MODES, - }, - /// Busy status + /// Status Mode for Bank 1 + MODES1: MODES, + /// Status Mode for Bank 2 + MODES2: MODES, + /// Busy status BUSY: u1, padding: u26, }), @@ -340120,506 +337819,431 @@ pub const types = struct { pub const fmc_v2x1 = struct { pub const ACCMOD = enum(u2) { - /// Access mode A + /// Access mode A A = 0x0, - /// Access mode B + /// Access mode B B = 0x1, - /// Access mode C + /// Access mode C C = 0x2, - /// Access mode D + /// Access mode D D = 0x3, }; pub const CAS = enum(u2) { - /// 1 cycle + /// 1 cycle Clocks1 = 0x1, - /// 2 cycles + /// 2 cycles Clocks2 = 0x2, - /// 3 cycles + /// 3 cycles Clocks3 = 0x3, _, }; pub const CPSIZE = enum(u3) { - /// No burst split when crossing page boundary + /// No burst split when crossing page boundary NoBurstSplit = 0x0, - /// 128 bytes CRAM page size + /// 128 bytes CRAM page size Bytes128 = 0x1, - /// 256 bytes CRAM page size + /// 256 bytes CRAM page size Bytes256 = 0x2, - /// 512 bytes CRAM page size + /// 512 bytes CRAM page size Bytes512 = 0x3, - /// 1024 bytes CRAM page size + /// 1024 bytes CRAM page size Bytes1024 = 0x4, _, }; pub const ECCPS = enum(u3) { - /// ECC page size 256 bytes + /// ECC page size 256 bytes Bytes256 = 0x0, - /// ECC page size 512 bytes + /// ECC page size 512 bytes Bytes512 = 0x1, - /// ECC page size 1024 bytes + /// ECC page size 1024 bytes Bytes1024 = 0x2, - /// ECC page size 2048 bytes + /// ECC page size 2048 bytes Bytes2048 = 0x3, - /// ECC page size 4096 bytes + /// ECC page size 4096 bytes Bytes4096 = 0x4, - /// ECC page size 8192 bytes + /// ECC page size 8192 bytes Bytes8192 = 0x5, _, }; pub const MODE = enum(u3) { - /// Normal Mode + /// Normal Mode Normal = 0x0, - /// Clock Configuration Enable + /// Clock Configuration Enable ClockConfigurationEnable = 0x1, - /// PALL (All Bank Precharge) command + /// PALL (All Bank Precharge) command PALL = 0x2, - /// Auto-refresh command + /// Auto-refresh command AutoRefreshCommand = 0x3, - /// Load Mode Resgier + /// Load Mode Resgier LoadModeRegister = 0x4, - /// Self-refresh command + /// Self-refresh command SelfRefreshCommand = 0x5, - /// Power-down command + /// Power-down command PowerDownCommand = 0x6, _, }; pub const MODES = enum(u2) { - /// Normal Mode + /// Normal Mode Normal = 0x0, - /// Self-refresh mode + /// Self-refresh mode SelfRefresh = 0x1, - /// Power-down mode + /// Power-down mode PowerDown = 0x2, _, }; pub const MTYP = enum(u2) { - /// SRAM memory type + /// SRAM memory type SRAM = 0x0, - /// PSRAM (CRAM) memory type + /// PSRAM (CRAM) memory type PSRAM = 0x1, - /// NOR Flash/OneNAND Flash + /// NOR Flash/OneNAND Flash Flash = 0x2, _, }; pub const MWID = enum(u2) { - /// Memory data bus width 8 bits + /// Memory data bus width 8 bits Bits8 = 0x0, - /// Memory data bus width 16 bits + /// Memory data bus width 16 bits Bits16 = 0x1, - /// Memory data bus width 32 bits + /// Memory data bus width 32 bits Bits32 = 0x2, _, }; pub const NB = enum(u1) { - /// Two internal Banks + /// Two internal Banks NB2 = 0x0, - /// Four internal Banks + /// Four internal Banks NB4 = 0x1, }; pub const NC = enum(u2) { - /// 8 bits + /// 8 bits Bits8 = 0x0, - /// 9 bits + /// 9 bits Bits9 = 0x1, - /// 10 bits + /// 10 bits Bits10 = 0x2, - /// 11 bits + /// 11 bits Bits11 = 0x3, }; pub const NR = enum(u2) { - /// 11 bits + /// 11 bits Bits11 = 0x0, - /// 12 bits + /// 12 bits Bits12 = 0x1, - /// 13 bits + /// 13 bits Bits13 = 0x2, _, }; pub const PTYP = enum(u1) { - /// NAND Flash + /// NAND Flash NANDFlash = 0x1, _, }; pub const PWID = enum(u2) { - /// External memory device width 8 bits + /// External memory device width 8 bits Bits8 = 0x0, - /// External memory device width 16 bits + /// External memory device width 16 bits Bits16 = 0x1, _, }; pub const RPIPE = enum(u2) { - /// No clock cycle delay + /// No clock cycle delay NoDelay = 0x0, - /// One clock cycle delay + /// One clock cycle delay Clocks1 = 0x1, - /// Two clock cycles delay + /// Two clock cycles delay Clocks2 = 0x2, _, }; pub const SDCLK = enum(u2) { - /// SDCLK clock disabled + /// SDCLK clock disabled Disabled = 0x0, - /// SDCLK period = 2 x HCLK period + /// SDCLK period = 2 x HCLK period Div2 = 0x2, - /// SDCLK period = 3 x HCLK period + /// SDCLK period = 3 x HCLK period Div3 = 0x3, _, }; pub const WAITCFG = enum(u1) { - /// NWAIT signal is active one data cycle before wait state + /// NWAIT signal is active one data cycle before wait state BeforeWaitState = 0x0, - /// NWAIT signal is active during wait state + /// NWAIT signal is active during wait state DuringWaitState = 0x1, }; pub const WAITPOL = enum(u1) { - /// NWAIT active low + /// NWAIT active low ActiveLow = 0x0, - /// NWAIT active high + /// NWAIT active high ActiveHigh = 0x1, }; - /// Flexible memory controller + /// Flexible memory controller pub const FMC = extern struct { - /// SRAM/NOR-Flash chip-select control register 1 + /// SRAM/NOR-Flash chip-select control register 1 BCR1: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, + /// Wait signal polarity bit + WAITPOL: WAITPOL, reserved11: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, - /// CRAM page size - CPSIZE: packed union { - raw: u3, - value: CPSIZE, - }, - /// Write burst enable + /// CRAM page size + CPSIZE: CPSIZE, + /// Write burst enable CBURSTRW: u1, - /// Continuous clock enable + /// Continuous clock enable CCLKEN: u1, - /// Write FIFO disable + /// Write FIFO disable WFDIS: u1, padding: u10, }), - /// SRAM/NOR-Flash chip-select timing register 1-4 + /// SRAM/NOR-Flash chip-select timing register 1-4 BTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, - /// Clock divide ratio (for FMC_CLK signal) + /// Clock divide ratio (for FMC_CLK signal) CLKDIV: u4, - /// Data latency for synchronous memory + /// Data latency for synchronous memory DATLAT: u4, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, + /// Access mode + ACCMOD: ACCMOD, padding: u2, }), - /// SRAM/NOR-Flash chip-select control register 2-4 + /// SRAM/NOR-Flash chip-select control register 2-4 BCR: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, + /// Wait signal polarity bit + WAITPOL: WAITPOL, reserved11: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, - /// CRAM page size - CPSIZE: packed union { - raw: u3, - value: CPSIZE, - }, - /// Write burst enable + /// CRAM page size + CPSIZE: CPSIZE, + /// Write burst enable CBURSTRW: u1, padding: u12, }), reserved128: [116]u8, - /// PC Card/NAND Flash control register + /// PC Card/NAND Flash control register PCR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Wait feature enable bit + /// Wait feature enable bit PWAITEN: u1, - /// NAND Flash memory bank enable bit + /// NAND Flash memory bank enable bit PBKEN: u1, - /// Memory type - PTYP: packed union { - raw: u1, - value: PTYP, - }, - /// Data bus width - PWID: packed union { - raw: u2, - value: PWID, - }, - /// ECC computation logic enable bit + /// Memory type + PTYP: PTYP, + /// Data bus width + PWID: PWID, + /// ECC computation logic enable bit ECCEN: u1, reserved9: u2, - /// CLE to RE delay + /// CLE to RE delay TCLR: u4, - /// ALE to RE delay + /// ALE to RE delay TAR: u4, - /// ECC page size - ECCPS: packed union { - raw: u3, - value: ECCPS, - }, + /// ECC page size + ECCPS: ECCPS, padding: u12, }), - /// FIFO status and interrupt register + /// FIFO status and interrupt register SR: mmio.Mmio(packed struct(u32) { - /// Interrupt rising edge status + /// Interrupt rising edge status IRS: u1, - /// Interrupt high-level status + /// Interrupt high-level status ILS: u1, - /// Interrupt falling edge status + /// Interrupt falling edge status IFS: u1, - /// Interrupt rising edge detection enable bit + /// Interrupt rising edge detection enable bit IREN: u1, - /// Interrupt high-level detection enable bit + /// Interrupt high-level detection enable bit ILEN: u1, - /// Interrupt falling edge detection enable bit + /// Interrupt falling edge detection enable bit IFEN: u1, - /// FIFO empty status + /// FIFO empty status FEMPT: u1, padding: u25, }), - /// Common memory space timing register + /// Common memory space timing register PMEM: mmio.Mmio(packed struct(u32) { - /// Common memory x setup time + /// Common memory x setup time MEMSET: u8, - /// Common memory wait time + /// Common memory wait time MEMWAIT: u8, - /// Common memory hold time + /// Common memory hold time MEMHOLD: u8, - /// Common memory x data bus Hi-Z time + /// Common memory x data bus Hi-Z time MEMHIZ: u8, }), - /// Attribute memory space timing register + /// Attribute memory space timing register PATT: mmio.Mmio(packed struct(u32) { - /// Attribute memory setup time + /// Attribute memory setup time ATTSET: u8, - /// Attribute memory wait time + /// Attribute memory wait time ATTWAIT: u8, - /// Attribute memory hold time + /// Attribute memory hold time ATTHOLD: u8, - /// Attribute memory data bus Hi-Z time + /// Attribute memory data bus Hi-Z time ATTHIZ: u8, }), reserved148: [4]u8, - /// ECC result register + /// ECC result register ECCR: mmio.Mmio(packed struct(u32) { - /// ECC computation result value + /// ECC computation result value ECC: u32, }), reserved260: [108]u8, - /// SRAM/NOR-Flash write timing registers 1-4 + /// SRAM/NOR-Flash write timing registers 1-4 BWTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, reserved28: u8, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, + /// Access mode + ACCMOD: ACCMOD, padding: u2, }), reserved320: [56]u8, - /// SDRAM Control Register 1-2 + /// SDRAM Control Register 1-2 SDCR: [2]mmio.Mmio(packed struct(u32) { - /// Number of column address bits - NC: packed union { - raw: u2, - value: NC, - }, - /// Number of row address bits - NR: packed union { - raw: u2, - value: NR, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Number of internal banks - NB: packed union { - raw: u1, - value: NB, - }, - /// CAS latency - CAS: packed union { - raw: u2, - value: CAS, - }, - /// Write protection + /// Number of column address bits + NC: NC, + /// Number of row address bits + NR: NR, + /// Memory data bus width + MWID: MWID, + /// Number of internal banks + NB: NB, + /// CAS latency + CAS: CAS, + /// Write protection WP: u1, - /// SDRAM clock configuration - SDCLK: packed union { - raw: u2, - value: SDCLK, - }, - /// Burst read + /// SDRAM clock configuration + SDCLK: SDCLK, + /// Burst read RBURST: u1, - /// Read pipe - RPIPE: packed union { - raw: u2, - value: RPIPE, - }, + /// Read pipe + RPIPE: RPIPE, padding: u17, }), - /// SDRAM Timing register 1-2 + /// SDRAM Timing register 1-2 SDTR: [2]mmio.Mmio(packed struct(u32) { - /// Load Mode Register to Active + /// Load Mode Register to Active TMRD: u4, - /// Exit self-refresh delay + /// Exit self-refresh delay TXSR: u4, - /// Self refresh time + /// Self refresh time TRAS: u4, - /// Row cycle delay + /// Row cycle delay TRC: u4, - /// Recovery delay + /// Recovery delay TWR: u4, - /// Row precharge delay + /// Row precharge delay TRP: u4, - /// Row to column delay + /// Row to column delay TRCD: u4, padding: u4, }), - /// SDRAM Command Mode register + /// SDRAM Command Mode register SDCMR: mmio.Mmio(packed struct(u32) { - /// Command mode - MODE: packed union { - raw: u3, - value: MODE, - }, - /// Command target bank 2 + /// Command mode + MODE: MODE, + /// Command target bank 2 CTB2: u1, - /// Command target bank 1 + /// Command target bank 1 CTB1: u1, - /// Number of Auto-refresh + /// Number of Auto-refresh NRFS: u4, - /// Mode Register definition + /// Mode Register definition MRD: u13, padding: u10, }), - /// SDRAM Refresh Timer register + /// SDRAM Refresh Timer register SDRTR: mmio.Mmio(packed struct(u32) { - /// Clear Refresh error flag + /// Clear Refresh error flag CRE: u1, - /// Refresh Timer Count + /// Refresh Timer Count COUNT: u13, - /// RES Interrupt Enable + /// RES Interrupt Enable REIE: u1, padding: u17, }), - /// SDRAM Status register + /// SDRAM Status register SDSR: mmio.Mmio(packed struct(u32) { - /// Refresh error flag + /// Refresh error flag RE: u1, - /// Status Mode for Bank 1 - MODES1: packed union { - raw: u2, - value: MODES, - }, - /// Status Mode for Bank 2 - MODES2: packed union { - raw: u2, - value: MODES, - }, - /// Busy status + /// Status Mode for Bank 1 + MODES1: MODES, + /// Status Mode for Bank 2 + MODES2: MODES, + /// Busy status BUSY: u1, padding: u26, }), @@ -340628,500 +338252,428 @@ pub const types = struct { pub const fmc_v3x1 = struct { pub const ACCMOD = enum(u2) { - /// Access mode A + /// Access mode A A = 0x0, - /// Access mode B + /// Access mode B B = 0x1, - /// Access mode C + /// Access mode C C = 0x2, - /// Access mode D + /// Access mode D D = 0x3, }; pub const CAS = enum(u2) { - /// 1 cycle + /// 1 cycle Clocks1 = 0x1, - /// 2 cycles + /// 2 cycles Clocks2 = 0x2, - /// 3 cycles + /// 3 cycles Clocks3 = 0x3, _, }; pub const CPSIZE = enum(u3) { - /// No burst split when crossing page boundary + /// No burst split when crossing page boundary NoBurstSplit = 0x0, - /// 128 bytes CRAM page size + /// 128 bytes CRAM page size Bytes128 = 0x1, - /// 256 bytes CRAM page size + /// 256 bytes CRAM page size Bytes256 = 0x2, - /// 512 bytes CRAM page size + /// 512 bytes CRAM page size Bytes512 = 0x3, - /// 1024 bytes CRAM page size + /// 1024 bytes CRAM page size Bytes1024 = 0x4, _, }; pub const ECCPS = enum(u3) { - /// ECC page size 256 bytes + /// ECC page size 256 bytes Bytes256 = 0x0, - /// ECC page size 512 bytes + /// ECC page size 512 bytes Bytes512 = 0x1, - /// ECC page size 1024 bytes + /// ECC page size 1024 bytes Bytes1024 = 0x2, - /// ECC page size 2048 bytes + /// ECC page size 2048 bytes Bytes2048 = 0x3, - /// ECC page size 4096 bytes + /// ECC page size 4096 bytes Bytes4096 = 0x4, - /// ECC page size 8192 bytes + /// ECC page size 8192 bytes Bytes8192 = 0x5, _, }; pub const MODE = enum(u3) { - /// Normal Mode + /// Normal Mode Normal = 0x0, - /// Clock Configuration Enable + /// Clock Configuration Enable ClockConfigurationEnable = 0x1, - /// PALL (All Bank Precharge) command + /// PALL (All Bank Precharge) command PALL = 0x2, - /// Auto-refresh command + /// Auto-refresh command AutoRefreshCommand = 0x3, - /// Load Mode Resgier + /// Load Mode Resgier LoadModeRegister = 0x4, - /// Self-refresh command + /// Self-refresh command SelfRefreshCommand = 0x5, - /// Power-down command + /// Power-down command PowerDownCommand = 0x6, _, }; pub const MODES = enum(u2) { - /// Normal Mode + /// Normal Mode Normal = 0x0, - /// Self-refresh mode + /// Self-refresh mode SelfRefresh = 0x1, - /// Power-down mode + /// Power-down mode PowerDown = 0x2, _, }; pub const MTYP = enum(u2) { - /// SRAM memory type + /// SRAM memory type SRAM = 0x0, - /// PSRAM (CRAM) memory type + /// PSRAM (CRAM) memory type PSRAM = 0x1, - /// NOR Flash/OneNAND Flash + /// NOR Flash/OneNAND Flash Flash = 0x2, _, }; pub const MWID = enum(u2) { - /// Memory data bus width 8 bits + /// Memory data bus width 8 bits Bits8 = 0x0, - /// Memory data bus width 16 bits + /// Memory data bus width 16 bits Bits16 = 0x1, - /// Memory data bus width 32 bits + /// Memory data bus width 32 bits Bits32 = 0x2, _, }; pub const NB = enum(u1) { - /// Two internal Banks + /// Two internal Banks NB2 = 0x0, - /// Four internal Banks + /// Four internal Banks NB4 = 0x1, }; pub const NC = enum(u2) { - /// 8 bits + /// 8 bits Bits8 = 0x0, - /// 9 bits + /// 9 bits Bits9 = 0x1, - /// 10 bits + /// 10 bits Bits10 = 0x2, - /// 11 bits + /// 11 bits Bits11 = 0x3, }; pub const NR = enum(u2) { - /// 11 bits + /// 11 bits Bits11 = 0x0, - /// 12 bits + /// 12 bits Bits12 = 0x1, - /// 13 bits + /// 13 bits Bits13 = 0x2, _, }; pub const PWID = enum(u2) { - /// External memory device width 8 bits + /// External memory device width 8 bits Bits8 = 0x0, - /// External memory device width 16 bits + /// External memory device width 16 bits Bits16 = 0x1, _, }; pub const RPIPE = enum(u2) { - /// No clock cycle delay + /// No clock cycle delay NoDelay = 0x0, - /// One clock cycle delay + /// One clock cycle delay Clocks1 = 0x1, - /// Two clock cycles delay + /// Two clock cycles delay Clocks2 = 0x2, _, }; pub const SDCLK = enum(u2) { - /// SDCLK clock disabled + /// SDCLK clock disabled Disabled = 0x0, - /// SDCLK period = 2 x HCLK period + /// SDCLK period = 2 x HCLK period Div2 = 0x2, - /// SDCLK period = 3 x HCLK period + /// SDCLK period = 3 x HCLK period Div3 = 0x3, _, }; pub const WAITCFG = enum(u1) { - /// NWAIT signal is active one data cycle before wait state + /// NWAIT signal is active one data cycle before wait state BeforeWaitState = 0x0, - /// NWAIT signal is active during wait state + /// NWAIT signal is active during wait state DuringWaitState = 0x1, }; pub const WAITPOL = enum(u1) { - /// NWAIT active low + /// NWAIT active low ActiveLow = 0x0, - /// NWAIT active high + /// NWAIT active high ActiveHigh = 0x1, }; - /// Flexible memory controller + /// Flexible memory controller pub const FMC = extern struct { - /// SRAM/NOR-Flash chip-select control register 1 + /// SRAM/NOR-Flash chip-select control register 1 BCR1: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, + /// Wait signal polarity bit + WAITPOL: WAITPOL, reserved11: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, - /// CRAM page size - CPSIZE: packed union { - raw: u3, - value: CPSIZE, - }, - /// Write burst enable + /// CRAM page size + CPSIZE: CPSIZE, + /// Write burst enable CBURSTRW: u1, - /// Continuous clock enable + /// Continuous clock enable CCLKEN: u1, - /// Write FIFO disable + /// Write FIFO disable WFDIS: u1, reserved24: u2, - /// FMC bank mapping These bits allows different to remap SDRAM bank2 or swap the FMC NOR/PSRAM and SDRAM banks.Refer to Table 10 for Note: The BMAP bits of the FMC_BCR2..4 registers are dont care. It is only enabled through the FMC_BCR1 register. + /// FMC bank mapping These bits allows different to remap SDRAM bank2 or swap the FMC NOR/PSRAM and SDRAM banks.Refer to Table 10 for Note: The BMAP bits of the FMC_BCR2..4 registers are dont care. It is only enabled through the FMC_BCR1 register. BMAP: u2, reserved31: u5, - /// FMC controller enable + /// FMC controller enable FMCEN: u1, }), - /// SRAM/NOR-Flash chip-select timing register 1-4 + /// SRAM/NOR-Flash chip-select timing register 1-4 BTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, - /// Clock divide ratio (for FMC_CLK signal) + /// Clock divide ratio (for FMC_CLK signal) CLKDIV: u4, - /// Data latency for synchronous memory + /// Data latency for synchronous memory DATLAT: u4, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, + /// Access mode + ACCMOD: ACCMOD, padding: u2, }), - /// SRAM/NOR-Flash chip-select control register 2-4 + /// SRAM/NOR-Flash chip-select control register 2-4 BCR: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, + /// Wait signal polarity bit + WAITPOL: WAITPOL, reserved11: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, - /// CRAM page size - CPSIZE: packed union { - raw: u3, - value: CPSIZE, - }, - /// Write burst enable + /// CRAM page size + CPSIZE: CPSIZE, + /// Write burst enable CBURSTRW: u1, padding: u12, }), reserved128: [116]u8, - /// PC Card/NAND Flash control register + /// PC Card/NAND Flash control register PCR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Wait feature enable bit + /// Wait feature enable bit PWAITEN: u1, - /// NAND Flash memory bank enable bit + /// NAND Flash memory bank enable bit PBKEN: u1, reserved4: u1, - /// Data bus width - PWID: packed union { - raw: u2, - value: PWID, - }, - /// ECC computation logic enable bit + /// Data bus width + PWID: PWID, + /// ECC computation logic enable bit ECCEN: u1, reserved9: u2, - /// CLE to RE delay + /// CLE to RE delay TCLR: u4, - /// ALE to RE delay + /// ALE to RE delay TAR: u4, - /// ECC page size - ECCPS: packed union { - raw: u3, - value: ECCPS, - }, + /// ECC page size + ECCPS: ECCPS, padding: u12, }), - /// FIFO status and interrupt register + /// FIFO status and interrupt register SR: mmio.Mmio(packed struct(u32) { - /// Interrupt rising edge status + /// Interrupt rising edge status IRS: u1, - /// Interrupt high-level status + /// Interrupt high-level status ILS: u1, - /// Interrupt falling edge status + /// Interrupt falling edge status IFS: u1, - /// Interrupt rising edge detection enable bit + /// Interrupt rising edge detection enable bit IREN: u1, - /// Interrupt high-level detection enable bit + /// Interrupt high-level detection enable bit ILEN: u1, - /// Interrupt falling edge detection enable bit + /// Interrupt falling edge detection enable bit IFEN: u1, - /// FIFO empty status + /// FIFO empty status FEMPT: u1, padding: u25, }), - /// Common memory space timing register + /// Common memory space timing register PMEM: mmio.Mmio(packed struct(u32) { - /// Common memory x setup time + /// Common memory x setup time MEMSET: u8, - /// Common memory wait time + /// Common memory wait time MEMWAIT: u8, - /// Common memory hold time + /// Common memory hold time MEMHOLD: u8, - /// Common memory x data bus Hi-Z time + /// Common memory x data bus Hi-Z time MEMHIZ: u8, }), - /// Attribute memory space timing register + /// Attribute memory space timing register PATT: mmio.Mmio(packed struct(u32) { - /// Attribute memory setup time + /// Attribute memory setup time ATTSET: u8, - /// Attribute memory wait time + /// Attribute memory wait time ATTWAIT: u8, - /// Attribute memory hold time + /// Attribute memory hold time ATTHOLD: u8, - /// Attribute memory data bus Hi-Z time + /// Attribute memory data bus Hi-Z time ATTHIZ: u8, }), reserved148: [4]u8, - /// ECC result register + /// ECC result register ECCR: mmio.Mmio(packed struct(u32) { - /// ECC computation result value + /// ECC computation result value ECC: u32, }), reserved260: [108]u8, - /// SRAM/NOR-Flash write timing registers 1-4 + /// SRAM/NOR-Flash write timing registers 1-4 BWTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, reserved28: u8, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, + /// Access mode + ACCMOD: ACCMOD, padding: u2, }), reserved320: [56]u8, - /// SDRAM Control Register 1-2 + /// SDRAM Control Register 1-2 SDCR: [2]mmio.Mmio(packed struct(u32) { - /// Number of column address bits - NC: packed union { - raw: u2, - value: NC, - }, - /// Number of row address bits - NR: packed union { - raw: u2, - value: NR, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Number of internal banks - NB: packed union { - raw: u1, - value: NB, - }, - /// CAS latency - CAS: packed union { - raw: u2, - value: CAS, - }, - /// Write protection + /// Number of column address bits + NC: NC, + /// Number of row address bits + NR: NR, + /// Memory data bus width + MWID: MWID, + /// Number of internal banks + NB: NB, + /// CAS latency + CAS: CAS, + /// Write protection WP: u1, - /// SDRAM clock configuration - SDCLK: packed union { - raw: u2, - value: SDCLK, - }, - /// Burst read + /// SDRAM clock configuration + SDCLK: SDCLK, + /// Burst read RBURST: u1, - /// Read pipe - RPIPE: packed union { - raw: u2, - value: RPIPE, - }, + /// Read pipe + RPIPE: RPIPE, padding: u17, }), - /// SDRAM Timing register 1-2 + /// SDRAM Timing register 1-2 SDTR: [2]mmio.Mmio(packed struct(u32) { - /// Load Mode Register to Active + /// Load Mode Register to Active TMRD: u4, - /// Exit self-refresh delay + /// Exit self-refresh delay TXSR: u4, - /// Self refresh time + /// Self refresh time TRAS: u4, - /// Row cycle delay + /// Row cycle delay TRC: u4, - /// Recovery delay + /// Recovery delay TWR: u4, - /// Row precharge delay + /// Row precharge delay TRP: u4, - /// Row to column delay + /// Row to column delay TRCD: u4, padding: u4, }), - /// SDRAM Command Mode register + /// SDRAM Command Mode register SDCMR: mmio.Mmio(packed struct(u32) { - /// Command mode - MODE: packed union { - raw: u3, - value: MODE, - }, - /// Command target bank 2 + /// Command mode + MODE: MODE, + /// Command target bank 2 CTB2: u1, - /// Command target bank 1 + /// Command target bank 1 CTB1: u1, - /// Number of Auto-refresh + /// Number of Auto-refresh NRFS: u4, - /// Mode Register definition + /// Mode Register definition MRD: u13, padding: u10, }), - /// SDRAM Refresh Timer register + /// SDRAM Refresh Timer register SDRTR: mmio.Mmio(packed struct(u32) { - /// Clear Refresh error flag + /// Clear Refresh error flag CRE: u1, - /// Refresh Timer Count + /// Refresh Timer Count COUNT: u13, - /// RES Interrupt Enable + /// RES Interrupt Enable REIE: u1, padding: u17, }), - /// SDRAM Status register + /// SDRAM Status register SDSR: mmio.Mmio(packed struct(u32) { - /// Refresh error flag + /// Refresh error flag RE: u1, - /// Status Mode for Bank 1 - MODES1: packed union { - raw: u2, - value: MODES, - }, - /// Status Mode for Bank 2 - MODES2: packed union { - raw: u2, - value: MODES, - }, + /// Status Mode for Bank 1 + MODES1: MODES, + /// Status Mode for Bank 2 + MODES2: MODES, padding: u27, }), }; @@ -341129,188 +338681,188 @@ pub const types = struct { pub const fmc_v4 = struct { pub const ACCMOD = enum(u2) { - /// Access mode A + /// Access mode A A = 0x0, - /// Access mode B + /// Access mode B B = 0x1, - /// Access mode C + /// Access mode C C = 0x2, - /// Access mode D + /// Access mode D D = 0x3, }; pub const CAS = enum(u2) { - /// 1 cycle + /// 1 cycle Clocks1 = 0x1, - /// 2 cycles + /// 2 cycles Clocks2 = 0x2, - /// 3 cycles + /// 3 cycles Clocks3 = 0x3, _, }; pub const CBURSTRW = enum(u1) { - /// Write operations are always performed in Asynchronous mode. + /// Write operations are always performed in Asynchronous mode. Asynchronous = 0x0, - /// Write operations are performed in Synchronous mode. + /// Write operations are performed in Synchronous mode. Synchronous = 0x1, }; pub const CPSIZE = enum(u3) { - /// No burst split when crossing page boundary + /// No burst split when crossing page boundary NoBurstSplit = 0x0, - /// 128 bytes CRAM page size + /// 128 bytes CRAM page size Bytes128 = 0x1, - /// 256 bytes CRAM page size + /// 256 bytes CRAM page size Bytes256 = 0x2, - /// 512 bytes CRAM page size + /// 512 bytes CRAM page size Bytes512 = 0x3, - /// 1024 bytes CRAM page size + /// 1024 bytes CRAM page size Bytes1024 = 0x4, _, }; pub const ECCPS = enum(u3) { - /// ECC page size 256 bytes + /// ECC page size 256 bytes Bytes256 = 0x0, - /// ECC page size 512 bytes + /// ECC page size 512 bytes Bytes512 = 0x1, - /// ECC page size 1024 bytes + /// ECC page size 1024 bytes Bytes1024 = 0x2, - /// ECC page size 2048 bytes + /// ECC page size 2048 bytes Bytes2048 = 0x3, - /// ECC page size 4096 bytes + /// ECC page size 4096 bytes Bytes4096 = 0x4, - /// ECC page size 8192 bytes + /// ECC page size 8192 bytes Bytes8192 = 0x5, _, }; pub const MODE = enum(u3) { - /// Normal Mode + /// Normal Mode Normal = 0x0, - /// Clock Configuration Enable + /// Clock Configuration Enable ClockConfigurationEnable = 0x1, - /// PALL (All Bank Precharge) command + /// PALL (All Bank Precharge) command PALL = 0x2, - /// Auto-refresh command + /// Auto-refresh command AutoRefreshCommand = 0x3, - /// Load Mode Resgier + /// Load Mode Resgier LoadModeRegister = 0x4, - /// Self-refresh command + /// Self-refresh command SelfRefreshCommand = 0x5, - /// Power-down command + /// Power-down command PowerDownCommand = 0x6, _, }; pub const MODES = enum(u2) { - /// Normal Mode + /// Normal Mode Normal = 0x0, - /// Self-refresh mode + /// Self-refresh mode SelfRefresh = 0x1, - /// Power-down mode + /// Power-down mode PowerDown = 0x2, _, }; pub const MTYP = enum(u2) { - /// SRAM memory type + /// SRAM memory type SRAM = 0x0, - /// PSRAM (CRAM) memory type + /// PSRAM (CRAM) memory type PSRAM = 0x1, - /// NOR Flash/OneNAND Flash + /// NOR Flash/OneNAND Flash Flash = 0x2, _, }; pub const MWID = enum(u2) { - /// Memory data bus width 8 bits + /// Memory data bus width 8 bits Bits8 = 0x0, - /// Memory data bus width 16 bits + /// Memory data bus width 16 bits Bits16 = 0x1, - /// Memory data bus width 32 bits + /// Memory data bus width 32 bits Bits32 = 0x2, _, }; pub const NB = enum(u1) { - /// Two internal Banks + /// Two internal Banks NB2 = 0x0, - /// Four internal Banks + /// Four internal Banks NB4 = 0x1, }; pub const NC = enum(u2) { - /// 8 bits + /// 8 bits Bits8 = 0x0, - /// 9 bits + /// 9 bits Bits9 = 0x1, - /// 10 bits + /// 10 bits Bits10 = 0x2, - /// 11 bits + /// 11 bits Bits11 = 0x3, }; pub const NR = enum(u2) { - /// 11 bits + /// 11 bits Bits11 = 0x0, - /// 12 bits + /// 12 bits Bits12 = 0x1, - /// 13 bits + /// 13 bits Bits13 = 0x2, _, }; pub const PTYP = enum(u1) { - /// NAND flash + /// NAND flash NAND = 0x1, _, }; pub const PWID = enum(u2) { - /// External memory device width 8 bits + /// External memory device width 8 bits Bits8 = 0x0, - /// External memory device width 16 bits + /// External memory device width 16 bits Bits16 = 0x1, _, }; pub const RPIPE = enum(u2) { - /// No clock cycle delay + /// No clock cycle delay NoDelay = 0x0, - /// One clock cycle delay + /// One clock cycle delay Clocks1 = 0x1, - /// Two clock cycles delay + /// Two clock cycles delay Clocks2 = 0x2, _, }; pub const SDCLK = enum(u2) { - /// SDCLK clock disabled + /// SDCLK clock disabled Disabled = 0x0, - /// SDCLK period = 2 x HCLK period + /// SDCLK period = 2 x HCLK period Div2 = 0x2, - /// SDCLK period = 3 x HCLK period + /// SDCLK period = 3 x HCLK period Div3 = 0x3, _, }; pub const WAITCFG = enum(u1) { - /// NWAIT signal is active one data cycle before wait state + /// NWAIT signal is active one data cycle before wait state BeforeWaitState = 0x0, - /// NWAIT signal is active during wait state + /// NWAIT signal is active during wait state DuringWaitState = 0x1, }; pub const WAITPOL = enum(u1) { - /// NWAIT active low + /// NWAIT active low ActiveLow = 0x0, - /// NWAIT active high + /// NWAIT active high ActiveHigh = 0x1, }; - /// Flexible memory controller. + /// Flexible memory controller. pub const FMC = extern struct { NOR_PSRAM: u32, reserved128: [124]u8, @@ -341320,291 +338872,234 @@ pub const types = struct { }; pub const NAND = extern struct { - /// NAND Flash control registers. + /// NAND Flash control registers. PCR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Wait feature enable bit Enables the Wait feature for the NAND Flash memory bank:. + /// Wait feature enable bit Enables the Wait feature for the NAND Flash memory bank:. PWAITEN: u1, - /// NAND Flash memory bank enable bit Enables the memory bank. Accessing a disabled memory bank causes an ERROR on AHB bus. + /// NAND Flash memory bank enable bit Enables the memory bank. Accessing a disabled memory bank causes an ERROR on AHB bus. PBKEN: u1, - /// Memory type Defines the type of device attached to the corresponding memory bank:. - PTYP: packed union { - raw: u1, - value: PTYP, - }, - /// Data bus width Defines the external memory device width. - PWID: packed union { - raw: u2, - value: PWID, - }, - /// ECC computation logic enable bit. + /// Memory type Defines the type of device attached to the corresponding memory bank:. + PTYP: PTYP, + /// Data bus width Defines the external memory device width. + PWID: PWID, + /// ECC computation logic enable bit. ECCEN: u1, reserved9: u2, - /// CLE to RE delay Sets time from CLE low to RE low in number of AHB clock cycles (HCLK). Time is t_clr = (TCLR + SET + 2) � THCLK where THCLK is the HCLK clock period Note: SET is MEMSET or ATTSET according to the addressed space. + /// CLE to RE delay Sets time from CLE low to RE low in number of AHB clock cycles (HCLK). Time is t_clr = (TCLR + SET + 2) � THCLK where THCLK is the HCLK clock period Note: SET is MEMSET or ATTSET according to the addressed space. TCLR: u4, - /// ALE to RE delay Sets time from ALE low to RE low in number of AHB clock cycles (HCLK). Time is: t_ar = (TAR + SET + 2) � THCLK where THCLK is the HCLK clock period Note: SET is MEMSET or ATTSET according to the addressed space. + /// ALE to RE delay Sets time from ALE low to RE low in number of AHB clock cycles (HCLK). Time is: t_ar = (TAR + SET + 2) � THCLK where THCLK is the HCLK clock period Note: SET is MEMSET or ATTSET according to the addressed space. TAR: u4, - /// ECC page size Defines the page size for the extended ECC:. - ECCPS: packed union { - raw: u3, - value: ECCPS, - }, + /// ECC page size Defines the page size for the extended ECC:. + ECCPS: ECCPS, padding: u12, }), - /// FIFO status and interrupt register. + /// FIFO status and interrupt register. SR: mmio.Mmio(packed struct(u32) { - /// Interrupt rising edge status The flag is set by hardware and reset by software. Note: If this bit is written by software to 1 it is set. + /// Interrupt rising edge status The flag is set by hardware and reset by software. Note: If this bit is written by software to 1 it is set. IRS: u1, - /// Interrupt high-level status The flag is set by hardware and reset by software. + /// Interrupt high-level status The flag is set by hardware and reset by software. ILS: u1, - /// Interrupt falling edge status The flag is set by hardware and reset by software. Note: If this bit is written by software to 1 it is set. + /// Interrupt falling edge status The flag is set by hardware and reset by software. Note: If this bit is written by software to 1 it is set. IFS: u1, - /// Interrupt rising edge detection enable bit. + /// Interrupt rising edge detection enable bit. IREN: u1, - /// Interrupt high-level detection enable bit. + /// Interrupt high-level detection enable bit. ILEN: u1, - /// Interrupt falling edge detection enable bit. + /// Interrupt falling edge detection enable bit. IFEN: u1, - /// FIFO empty Read-only bit that provides the status of the FIFO. + /// FIFO empty Read-only bit that provides the status of the FIFO. FEMPT: u1, padding: u25, }), - /// Common memory space timing register. + /// Common memory space timing register. PMEM: mmio.Mmio(packed struct(u32) { - /// Common memory x setup time Defines the number of HCLK (+1) clock cycles to set up the address before the command assertion (NWE, NOE), for NAND Flash read or write access to common memory space on socket x:. + /// Common memory x setup time Defines the number of HCLK (+1) clock cycles to set up the address before the command assertion (NWE, NOE), for NAND Flash read or write access to common memory space on socket x:. MEMSET: u8, - /// Common memory wait time Defines the minimum number of HCLK (+1) clock cycles to assert the command (NWE, NOE), for NAND Flash read or write access to common memory space on socket. The duration of command assertion is extended if the wait signal (NWAIT) is active (low) at the end of the programmed value of HCLK:. + /// Common memory wait time Defines the minimum number of HCLK (+1) clock cycles to assert the command (NWE, NOE), for NAND Flash read or write access to common memory space on socket. The duration of command assertion is extended if the wait signal (NWAIT) is active (low) at the end of the programmed value of HCLK:. MEMWAIT: u8, - /// Common memory hold time Defines the number of HCLK clock cycles for write access and HCLK (+2) clock cycles for read access during which the address is held (and data for write accesses) after the command is deasserted (NWE, NOE), for NAND Flash read or write access to common memory space on socket x:. + /// Common memory hold time Defines the number of HCLK clock cycles for write access and HCLK (+2) clock cycles for read access during which the address is held (and data for write accesses) after the command is deasserted (NWE, NOE), for NAND Flash read or write access to common memory space on socket x:. MEMHOLD: u8, - /// Common memory x data bus Hi-Z time Defines the number of HCLK clock cycles during which the data bus is kept Hi-Z after the start of a NAND Flash write access to common memory space on socket. This is only valid for write transactions:. + /// Common memory x data bus Hi-Z time Defines the number of HCLK clock cycles during which the data bus is kept Hi-Z after the start of a NAND Flash write access to common memory space on socket. This is only valid for write transactions:. MEMHIZ: u8, }), - /// Attribute memory space timing register. + /// Attribute memory space timing register. PATT: mmio.Mmio(packed struct(u32) { - /// Attribute memory setup time Defines the number of HCLK (+1) clock cycles to set up address before the command assertion (NWE, NOE), for NAND Flash read or write access to attribute memory space on socket:. + /// Attribute memory setup time Defines the number of HCLK (+1) clock cycles to set up address before the command assertion (NWE, NOE), for NAND Flash read or write access to attribute memory space on socket:. ATTSET: u8, - /// Attribute memory wait time Defines the minimum number of HCLK (+1) clock cycles to assert the command (NWE, NOE), for NAND Flash read or write access to attribute memory space on socket x. The duration for command assertion is extended if the wait signal (NWAIT) is active (low) at the end of the programmed value of HCLK:. + /// Attribute memory wait time Defines the minimum number of HCLK (+1) clock cycles to assert the command (NWE, NOE), for NAND Flash read or write access to attribute memory space on socket x. The duration for command assertion is extended if the wait signal (NWAIT) is active (low) at the end of the programmed value of HCLK:. ATTWAIT: u8, - /// Attribute memory hold time Defines the number of HCLK clock cycles for write access and HCLK (+2) clock cycles for read access during which the address is held (and data for write access) after the command deassertion (NWE, NOE), for NAND Flash read or write access to attribute memory space on socket:. + /// Attribute memory hold time Defines the number of HCLK clock cycles for write access and HCLK (+2) clock cycles for read access during which the address is held (and data for write access) after the command deassertion (NWE, NOE), for NAND Flash read or write access to attribute memory space on socket:. ATTHOLD: u8, - /// Attribute memory data bus Hi-Z time Defines the number of HCLK clock cycles during which the data bus is kept in Hi-Z after the start of a NAND Flash write access to attribute memory space on socket. Only valid for writ transaction:. + /// Attribute memory data bus Hi-Z time Defines the number of HCLK clock cycles during which the data bus is kept in Hi-Z after the start of a NAND Flash write access to attribute memory space on socket. Only valid for writ transaction:. ATTHIZ: u8, }), reserved20: [4]u8, - /// ECC result registers. + /// ECC result registers. ECCR: u32, }; pub const NOR_PSRAM = extern struct { - /// SRAM/NOR-Flash chip-select control register for bank 1. + /// SRAM/NOR-Flash chip-select control register for bank 1. BCR1: mmio.Mmio(packed struct(u32) { reserved20: u20, - /// Continuous clock enable This bit enables the FMC_CLK clock output to external memory devices. Note: The CCLKEN bit of the FMC_BCR2..4 registers is don’t care. It is only enabled through the FMC_BCR1 register. Bank 1 must be configured in Synchronous mode to generate the FMC_CLK continuous clock. Note: If CCLKEN bit is set, the FMC_CLK clock ratio is specified by CLKDIV value in the FMC_BTR1 register. CLKDIV in FMC_BWTR1 is don’t care. Note: If the Synchronous mode is used and CCLKEN bit is set, the synchronous memories connected to other banks than Bank 1 are clocked by the same clock (the CLKDIV value in the FMC_BTR2..4 and FMC_BWTR2..4 registers for other banks has no effect.). + /// Continuous clock enable This bit enables the FMC_CLK clock output to external memory devices. Note: The CCLKEN bit of the FMC_BCR2..4 registers is don’t care. It is only enabled through the FMC_BCR1 register. Bank 1 must be configured in Synchronous mode to generate the FMC_CLK continuous clock. Note: If CCLKEN bit is set, the FMC_CLK clock ratio is specified by CLKDIV value in the FMC_BTR1 register. CLKDIV in FMC_BWTR1 is don’t care. Note: If the Synchronous mode is used and CCLKEN bit is set, the synchronous memories connected to other banks than Bank 1 are clocked by the same clock (the CLKDIV value in the FMC_BTR2..4 and FMC_BWTR2..4 registers for other banks has no effect.). CCLKEN: u1, - /// Write FIFO disable This bit disables the Write FIFO used by the FMC controller. Note: The WFDIS bit of the FMC_BCR2..4 registers is don’t care. It is only enabled through the FMC_BCR1 register. + /// Write FIFO disable This bit disables the Write FIFO used by the FMC controller. Note: The WFDIS bit of the FMC_BCR2..4 registers is don’t care. It is only enabled through the FMC_BCR1 register. WFDIS: u1, padding: u10, }), - /// SRAM/NOR-Flash chip-select timing register for bank 1. + /// SRAM/NOR-Flash chip-select timing register for bank 1. BTR: mmio.Mmio(packed struct(u32) { reserved20: u20, - /// Clock divide ratio (for FMC_CLK signal) Defines the period of FMC_CLK clock output signal, expressed in number of HCLK cycles: In asynchronous NOR Flash, SRAM or PSRAM accesses, this value is don’t care. Note: Refer to Section 5.6.5: Synchronous transactions for FMC_CLK divider ratio formula). + /// Clock divide ratio (for FMC_CLK signal) Defines the period of FMC_CLK clock output signal, expressed in number of HCLK cycles: In asynchronous NOR Flash, SRAM or PSRAM accesses, this value is don’t care. Note: Refer to Section 5.6.5: Synchronous transactions for FMC_CLK divider ratio formula). CLKDIV: u4, - /// (see note below bit descriptions): Data latency for synchronous memory For synchronous access with read/write Burst mode enabled (BURSTEN / CBURSTRW bits set), defines the number of memory clock cycles (+2) to issue to the memory before reading/writing the first data: This timing parameter is not expressed in HCLK periods, but in FMC_CLK periods. For asynchronous access, this value is don't care. + /// (see note below bit descriptions): Data latency for synchronous memory For synchronous access with read/write Burst mode enabled (BURSTEN / CBURSTRW bits set), defines the number of memory clock cycles (+2) to issue to the memory before reading/writing the first data: This timing parameter is not expressed in HCLK periods, but in FMC_CLK periods. For asynchronous access, this value is don't care. DATLAT: u4, padding: u4, }), - /// SRAM/NOR-Flash chip-select control register for bank 2. + /// SRAM/NOR-Flash chip-select control register for bank 2. BCR: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit Enables the memory bank. After reset Bank1 is enabled, all others are disabled. Accessing a disabled bank causes an ERROR on AHB bus. + /// Memory bank enable bit Enables the memory bank. After reset Bank1 is enabled, all others are disabled. Accessing a disabled bank causes an ERROR on AHB bus. MBKEN: u1, - /// Address/data multiplexing enable bit When this bit is set, the address and data values are multiplexed on the data bus, valid only with NOR and PSRAM memories:. + /// Address/data multiplexing enable bit When this bit is set, the address and data values are multiplexed on the data bus, valid only with NOR and PSRAM memories:. MUXEN: u1, - /// Memory type Defines the type of external memory attached to the corresponding memory bank. - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width Defines the external memory device width, valid for all type of memories. - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable Enables NOR Flash memory access operations. + /// Memory type Defines the type of external memory attached to the corresponding memory bank. + MTYP: MTYP, + /// Memory data bus width Defines the external memory device width, valid for all type of memories. + MWID: MWID, + /// Flash access enable Enables NOR Flash memory access operations. FACCEN: u1, reserved8: u1, - /// Burst enable bit This bit enables/disables synchronous accesses during read operations. It is valid only for synchronous memories operating in Burst mode. + /// Burst enable bit This bit enables/disables synchronous accesses during read operations. It is valid only for synchronous memories operating in Burst mode. BURSTEN: u1, - /// Wait signal polarity bit Defines the polarity of the wait signal from memory used for either in Synchronous or Asynchronous mode. - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, + /// Wait signal polarity bit Defines the polarity of the wait signal from memory used for either in Synchronous or Asynchronous mode. + WAITPOL: WAITPOL, reserved11: u1, - /// Wait timing configuration The NWAIT signal indicates whether the data from the memory are valid or if a wait state must be inserted when accessing the memory in Synchronous mode. This configuration bit determines if NWAIT is asserted by the memory one clock cycle before the wait state or during the wait state:. - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit This bit indicates whether write operations are enabled/disabled in the bank by the FMC. + /// Wait timing configuration The NWAIT signal indicates whether the data from the memory are valid or if a wait state must be inserted when accessing the memory in Synchronous mode. This configuration bit determines if NWAIT is asserted by the memory one clock cycle before the wait state or during the wait state:. + WAITCFG: WAITCFG, + /// Write enable bit This bit indicates whether write operations are enabled/disabled in the bank by the FMC. WREN: u1, - /// Wait enable bit This bit enables/disables wait-state insertion via the NWAIT signal when accessing the memory in Synchronous mode. + /// Wait enable bit This bit enables/disables wait-state insertion via the NWAIT signal when accessing the memory in Synchronous mode. WAITEN: u1, - /// Extended mode enable This bit enables the FMC to program the write timings for non multiplexed asynchronous accesses inside the FMC_BWTR register, thus resulting in different timings for read and write operations. Note: When the Extended mode is disabled, the FMC can operate in mode 1 or mode 2 as follows: Mode 1 is the default mode when the SRAM/PSRAM memory type is selected (MTYP = 0x0 or 0x01) Mode 2 is the default mode when the NOR memory type is selected (MTYP = 0x10). + /// Extended mode enable This bit enables the FMC to program the write timings for non multiplexed asynchronous accesses inside the FMC_BWTR register, thus resulting in different timings for read and write operations. Note: When the Extended mode is disabled, the FMC can operate in mode 1 or mode 2 as follows: Mode 1 is the default mode when the SRAM/PSRAM memory type is selected (MTYP = 0x0 or 0x01) Mode 2 is the default mode when the NOR memory type is selected (MTYP = 0x10). EXTMOD: u1, - /// Wait signal during asynchronous transfers This bit enables/disables the FMC to use the wait signal even during an asynchronous protocol. + /// Wait signal during asynchronous transfers This bit enables/disables the FMC to use the wait signal even during an asynchronous protocol. ASYNCWAIT: u1, - /// CRAM page size These are used for CellularRAM™ 1.5 which does not allow burst access to cross the address boundaries between pages. When these bits are configured, the FMC controller splits automatically the burst access when the memory page size is reached (refer to memory datasheet for page size). Others: reserved. - CPSIZE: packed union { - raw: u3, - value: CPSIZE, - }, - /// Write burst enable For PSRAM (CRAM) operating in Burst mode, the bit enables synchronous accesses during write operations. The enable bit for synchronous read accesses is the BURSTEN bit in the FMC_BCRx register. - CBURSTRW: packed union { - raw: u1, - value: CBURSTRW, - }, - /// Continuous clock enable This bit enables the FMC_CLK clock output to external memory devices. Note: The CCLKEN bit of the FMC_BCR2..4 registers is don’t care. It is only enabled through the FMC_BCR1 register. Bank 1 must be configured in Synchronous mode to generate the FMC_CLK continuous clock. Note: If CCLKEN bit is set, the FMC_CLK clock ratio is specified by CLKDIV value in the FMC_BTR1 register. CLKDIV in FMC_BWTR1 is don’t care. Note: If the Synchronous mode is used and CCLKEN bit is set, the synchronous memories connected to other banks than Bank 1 are clocked by the same clock (the CLKDIV value in the FMC_BTR2..4 and FMC_BWTR2..4 registers for other banks has no effect.). + /// CRAM page size These are used for CellularRAM™ 1.5 which does not allow burst access to cross the address boundaries between pages. When these bits are configured, the FMC controller splits automatically the burst access when the memory page size is reached (refer to memory datasheet for page size). Others: reserved. + CPSIZE: CPSIZE, + /// Write burst enable For PSRAM (CRAM) operating in Burst mode, the bit enables synchronous accesses during write operations. The enable bit for synchronous read accesses is the BURSTEN bit in the FMC_BCRx register. + CBURSTRW: CBURSTRW, + /// Continuous clock enable This bit enables the FMC_CLK clock output to external memory devices. Note: The CCLKEN bit of the FMC_BCR2..4 registers is don’t care. It is only enabled through the FMC_BCR1 register. Bank 1 must be configured in Synchronous mode to generate the FMC_CLK continuous clock. Note: If CCLKEN bit is set, the FMC_CLK clock ratio is specified by CLKDIV value in the FMC_BTR1 register. CLKDIV in FMC_BWTR1 is don’t care. Note: If the Synchronous mode is used and CCLKEN bit is set, the synchronous memories connected to other banks than Bank 1 are clocked by the same clock (the CLKDIV value in the FMC_BTR2..4 and FMC_BWTR2..4 registers for other banks has no effect.). CCLKEN: u1, - /// Write FIFO disable This bit disables the Write FIFO used by the FMC controller. Note: The WFDIS bit of the FMC_BCR2..4 registers is don’t care. It is only enabled through the FMC_BCR1 register. + /// Write FIFO disable This bit disables the Write FIFO used by the FMC controller. Note: The WFDIS bit of the FMC_BCR2..4 registers is don’t care. It is only enabled through the FMC_BCR1 register. WFDIS: u1, - /// Byte lane (NBL) setup These bits configure the NBL setup timing from NBLx low to chip select NEx low. + /// Byte lane (NBL) setup These bits configure the NBL setup timing from NBLx low to chip select NEx low. NBLSET: u2, reserved31: u7, - /// FMC controller enable This bit enables or disables the FMC controller. Note: The FMCEN bit of the FMC_BCR2..4 registers is don’t care. It is only enabled through the FMC_BCR1 register. + /// FMC controller enable This bit enables or disables the FMC controller. Note: The FMCEN bit of the FMC_BCR2..4 registers is don’t care. It is only enabled through the FMC_BCR1 register. FMCEN: u1, }), reserved32: [20]u8, - /// PSRAM chip select counter register. + /// PSRAM chip select counter register. PCSCNTR: mmio.Mmio(packed struct(u32) { - /// Chip select counter. These bits are written by software to define the maximum chip select low pulse duration. It is expressed in FMC_CLK cycles for synchronous accesses and in HCLK cycles for asynchronous accesses. The counter is disabled if the programmed value is 0. + /// Chip select counter. These bits are written by software to define the maximum chip select low pulse duration. It is expressed in FMC_CLK cycles for synchronous accesses and in HCLK cycles for asynchronous accesses. The counter is disabled if the programmed value is 0. CSCOUNT: u16, - /// Counter Bank 1 enable This bit enables the chip select counter for PSRAM/NOR Bank 1. + /// Counter Bank 1 enable This bit enables the chip select counter for PSRAM/NOR Bank 1. CNTBEN: u1, padding: u15, }), reserved260: [224]u8, - /// SRAM/NOR-Flash write timing registers 1. + /// SRAM/NOR-Flash write timing registers 1. BWTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration. These bits are written by software to define the duration of the address setup phase in HCLK cycles (refer to Figure 21 to Figure 33), used in asynchronous accesses: ... Note: In synchronous accesses, this value is not used, the address setup phase is always 1 Flash clock period duration. In muxed mode, the minimum ADDSET value is 1. + /// Address setup phase duration. These bits are written by software to define the duration of the address setup phase in HCLK cycles (refer to Figure 21 to Figure 33), used in asynchronous accesses: ... Note: In synchronous accesses, this value is not used, the address setup phase is always 1 Flash clock period duration. In muxed mode, the minimum ADDSET value is 1. ADDSET: u4, - /// Address-hold phase duration. These bits are written by software to define the duration of the address hold phase (refer to Figure 30 to Figure 33), used in asynchronous multiplexed accesses: ... Note: In synchronous NOR Flash accesses, this value is not used, the address hold phase is always 1 Flash clock period duration. + /// Address-hold phase duration. These bits are written by software to define the duration of the address hold phase (refer to Figure 30 to Figure 33), used in asynchronous multiplexed accesses: ... Note: In synchronous NOR Flash accesses, this value is not used, the address hold phase is always 1 Flash clock period duration. ADDHLD: u4, - /// Data-phase duration. These bits are written by software to define the duration of the data phase (refer to Figure 21 to Figure 33), used in asynchronous SRAM, PSRAM and NOR Flash memory accesses: ... + /// Data-phase duration. These bits are written by software to define the duration of the data phase (refer to Figure 21 to Figure 33), used in asynchronous SRAM, PSRAM and NOR Flash memory accesses: ... DATAST: u8, - /// Bus turnaround phase duration These bits are written by software to add a delay at the end of current write transaction to next transaction on the same bank. For FRAM memories, the bus turnaround delay should be configured to match the minimum tPC (precharge time) timings. The bus turnaround delay is inserted between any consecutive transactions on the same bank (read/read, write/write, read/write and write/read). The chip select is toggling between any consecutive accesses. (BUSTURN + 1)HCLK period ≥ tPC min ... + /// Bus turnaround phase duration These bits are written by software to add a delay at the end of current write transaction to next transaction on the same bank. For FRAM memories, the bus turnaround delay should be configured to match the minimum tPC (precharge time) timings. The bus turnaround delay is inserted between any consecutive transactions on the same bank (read/read, write/write, read/write and write/read). The chip select is toggling between any consecutive accesses. (BUSTURN + 1)HCLK period ≥ tPC min ... BUSTURN: u4, reserved28: u8, - /// Access mode. Specifies the asynchronous access modes as shown in the next timing diagrams.These bits are taken into account only when the EXTMOD bit in the FMC_BCRx register is 1. - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, - /// Data hold phase duration These bits are written by software to define the duration of the data hold phase in HCLK cycles (refer to Figure 21 to Figure 33), used in asynchronous write accesses:. + /// Access mode. Specifies the asynchronous access modes as shown in the next timing diagrams.These bits are taken into account only when the EXTMOD bit in the FMC_BCRx register is 1. + ACCMOD: ACCMOD, + /// Data hold phase duration These bits are written by software to define the duration of the data hold phase in HCLK cycles (refer to Figure 21 to Figure 33), used in asynchronous write accesses:. DATAHLD: u2, }), }; pub const SDRAM = extern struct { - /// SDRAM control registers 1. + /// SDRAM control registers 1. SDCR: [2]mmio.Mmio(packed struct(u32) { - /// Number of column address bits These bits define the number of bits of a column address. - NC: packed union { - raw: u2, - value: NC, - }, - /// Number of row address bits These bits define the number of bits of a row address. - NR: packed union { - raw: u2, - value: NR, - }, - /// Memory data bus width. These bits define the memory device width. - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Number of internal banks This bit sets the number of internal banks. - NB: packed union { - raw: u1, - value: NB, - }, - /// CAS Latency This bits sets the SDRAM CAS latency in number of memory clock cycles. - CAS: packed union { - raw: u2, - value: CAS, - }, - /// Write protection This bit enables write mode access to the SDRAM bank. + /// Number of column address bits These bits define the number of bits of a column address. + NC: NC, + /// Number of row address bits These bits define the number of bits of a row address. + NR: NR, + /// Memory data bus width. These bits define the memory device width. + MWID: MWID, + /// Number of internal banks This bit sets the number of internal banks. + NB: NB, + /// CAS Latency This bits sets the SDRAM CAS latency in number of memory clock cycles. + CAS: CAS, + /// Write protection This bit enables write mode access to the SDRAM bank. WP: u1, - /// SDRAM clock configuration These bits define the SDRAM clock period for both SDRAM banks and allow disabling the clock before changing the frequency. In this case the SDRAM must be re-initialized. Note: The corresponding bits in the FMC_SDCR2 register are don’t care. - SDCLK: packed union { - raw: u2, - value: SDCLK, - }, - /// Burst read This bit enables Burst read mode. The SDRAM controller anticipates the next read commands during the CAS latency and stores data in the Read FIFO. Note: The corresponding bit in the FMC_SDCR2 register is don’t care. + /// SDRAM clock configuration These bits define the SDRAM clock period for both SDRAM banks and allow disabling the clock before changing the frequency. In this case the SDRAM must be re-initialized. Note: The corresponding bits in the FMC_SDCR2 register are don’t care. + SDCLK: SDCLK, + /// Burst read This bit enables Burst read mode. The SDRAM controller anticipates the next read commands during the CAS latency and stores data in the Read FIFO. Note: The corresponding bit in the FMC_SDCR2 register is don’t care. RBURST: u1, - /// Read pipe These bits define the delay, in clock cycles, for reading data after CAS latency. Note: The corresponding bits in the FMC_SDCR2 register is read only. - RPIPE: packed union { - raw: u2, - value: RPIPE, - }, + /// Read pipe These bits define the delay, in clock cycles, for reading data after CAS latency. Note: The corresponding bits in the FMC_SDCR2 register is read only. + RPIPE: RPIPE, padding: u17, }), - /// SDRAM timing registers 1. + /// SDRAM timing registers 1. SDTR: [2]mmio.Mmio(packed struct(u32) { - /// Load Mode Register to Active These bits define the delay between a Load Mode Register command and an Active or Refresh command in number of memory clock cycles. .... + /// Load Mode Register to Active These bits define the delay between a Load Mode Register command and an Active or Refresh command in number of memory clock cycles. .... TMRD: u4, - /// Exit Self-refresh delay These bits define the delay from releasing the Self-refresh command to issuing the Activate command in number of memory clock cycles. .... Note: If two SDRAM devices are used, the FMC_SDTR1 and FMC_SDTR2 must be programmed with the same TXSR timing corresponding to the slowest SDRAM device. + /// Exit Self-refresh delay These bits define the delay from releasing the Self-refresh command to issuing the Activate command in number of memory clock cycles. .... Note: If two SDRAM devices are used, the FMC_SDTR1 and FMC_SDTR2 must be programmed with the same TXSR timing corresponding to the slowest SDRAM device. TXSR: u4, - /// Self refresh time These bits define the minimum Self-refresh period in number of memory clock cycles. .... + /// Self refresh time These bits define the minimum Self-refresh period in number of memory clock cycles. .... TRAS: u4, - /// Row cycle delay These bits define the delay between the Refresh command and the Activate command, as well as the delay between two consecutive Refresh commands. It is expressed in number of memory clock cycles. The TRC timing is only configured in the FMC_SDTR1 register. If two SDRAM devices are used, the TRC must be programmed with the timings of the slowest device. .... Note: TRC must match the TRC and TRFC (Auto Refresh period) timings defined in the SDRAM device datasheet. Note: The corresponding bits in the FMC_SDTR2 register are don’t care. + /// Row cycle delay These bits define the delay between the Refresh command and the Activate command, as well as the delay between two consecutive Refresh commands. It is expressed in number of memory clock cycles. The TRC timing is only configured in the FMC_SDTR1 register. If two SDRAM devices are used, the TRC must be programmed with the timings of the slowest device. .... Note: TRC must match the TRC and TRFC (Auto Refresh period) timings defined in the SDRAM device datasheet. Note: The corresponding bits in the FMC_SDTR2 register are don’t care. TRC: u4, - /// Recovery delay These bits define the delay between a Write and a Precharge command in number of memory clock cycles. .... Note: TWR must be programmed to match the write recovery time (tWR) defined in the SDRAM datasheet, and to guarantee that: Note: TWR ≥ TRAS - TRCD and TWR ≥TRC - TRCD - TRP Note: Example: TRAS= 4 cycles, TRCD= 2 cycles. So, TWR >= 2 cycles. TWR must be programmed to 0x1. Note: If two SDRAM devices are used, the FMC_SDTR1 and FMC_SDTR2 must be programmed with the same TWR timing corresponding to the slowest SDRAM device. Note: If only one SDRAM device is used, the TWR timing must be kept at reset value (0xF) for the not used bank. + /// Recovery delay These bits define the delay between a Write and a Precharge command in number of memory clock cycles. .... Note: TWR must be programmed to match the write recovery time (tWR) defined in the SDRAM datasheet, and to guarantee that: Note: TWR ≥ TRAS - TRCD and TWR ≥TRC - TRCD - TRP Note: Example: TRAS= 4 cycles, TRCD= 2 cycles. So, TWR >= 2 cycles. TWR must be programmed to 0x1. Note: If two SDRAM devices are used, the FMC_SDTR1 and FMC_SDTR2 must be programmed with the same TWR timing corresponding to the slowest SDRAM device. Note: If only one SDRAM device is used, the TWR timing must be kept at reset value (0xF) for the not used bank. TWR: u4, - /// Row precharge delay These bits define the delay between a Precharge command and another command in number of memory clock cycles. The TRP timing is only configured in the FMC_SDTR1 register. If two SDRAM devices are used, the TRP must be programmed with the timing of the slowest device. .... Note: The corresponding bits in the FMC_SDTR2 register are don’t care. + /// Row precharge delay These bits define the delay between a Precharge command and another command in number of memory clock cycles. The TRP timing is only configured in the FMC_SDTR1 register. If two SDRAM devices are used, the TRP must be programmed with the timing of the slowest device. .... Note: The corresponding bits in the FMC_SDTR2 register are don’t care. TRP: u4, - /// Row to column delay These bits define the delay between the Activate command and a Read/Write command in number of memory clock cycles. .... + /// Row to column delay These bits define the delay between the Activate command and a Read/Write command in number of memory clock cycles. .... TRCD: u4, padding: u4, }), - /// SDRAM Command Mode register. + /// SDRAM Command Mode register. SDCMR: mmio.Mmio(packed struct(u32) { - /// Command mode These bits define the command issued to the SDRAM device. Note: When a command is issued, at least one Command Target Bank bit ( CTB1 or CTB2) must be set otherwise the command will be ignored. Note: If two SDRAM banks are used, the Auto-refresh and PALL command must be issued simultaneously to the two devices with CTB1 and CTB2 bits set otherwise the command will be ignored. Note: If only one SDRAM bank is used and a command is issued with it’s associated CTB bit set, the other CTB bit of the the unused bank must be kept to 0. - MODE: packed union { - raw: u3, - value: MODE, - }, - /// Command Target Bank 2 This bit indicates whether the command will be issued to SDRAM Bank 2 or not. + /// Command mode These bits define the command issued to the SDRAM device. Note: When a command is issued, at least one Command Target Bank bit ( CTB1 or CTB2) must be set otherwise the command will be ignored. Note: If two SDRAM banks are used, the Auto-refresh and PALL command must be issued simultaneously to the two devices with CTB1 and CTB2 bits set otherwise the command will be ignored. Note: If only one SDRAM bank is used and a command is issued with it’s associated CTB bit set, the other CTB bit of the the unused bank must be kept to 0. + MODE: MODE, + /// Command Target Bank 2 This bit indicates whether the command will be issued to SDRAM Bank 2 or not. CTB: u1, reserved5: u1, - /// Number of Auto-refresh These bits define the number of consecutive Auto-refresh commands issued when MODE = ‘011’. .... + /// Number of Auto-refresh These bits define the number of consecutive Auto-refresh commands issued when MODE = ‘011’. .... NRFS: u4, - /// Mode Register definition This 13-bit field defines the SDRAM Mode Register content. The Mode Register is programmed using the Load Mode Register command. + /// Mode Register definition This 13-bit field defines the SDRAM Mode Register content. The Mode Register is programmed using the Load Mode Register command. MRD: u13, padding: u10, }), - /// SDRAM refresh timer register. + /// SDRAM refresh timer register. SDRTR: mmio.Mmio(packed struct(u32) { - /// Clear Refresh error flag This bit is used to clear the Refresh Error Flag (RE) in the Status Register. + /// Clear Refresh error flag This bit is used to clear the Refresh Error Flag (RE) in the Status Register. CRE: u1, - /// Refresh Timer Count This 13-bit field defines the refresh rate of the SDRAM device. It is expressed in number of memory clock cycles. It must be set at least to 41 SDRAM clock cycles (0x29). Refresh rate = (COUNT + 1) x SDRAM frequency clock COUNT = (SDRAM refresh period / Number of rows) - 20. + /// Refresh Timer Count This 13-bit field defines the refresh rate of the SDRAM device. It is expressed in number of memory clock cycles. It must be set at least to 41 SDRAM clock cycles (0x29). Refresh rate = (COUNT + 1) x SDRAM frequency clock COUNT = (SDRAM refresh period / Number of rows) - 20. COUNT: u13, - /// RES Interrupt Enable. + /// RES Interrupt Enable. REIE: u1, padding: u17, }), - /// SDRAM status register. + /// SDRAM status register. SDSR: mmio.Mmio(packed struct(u32) { - /// Refresh error flag An interrupt is generated if REIE = 1 and RE = 1. + /// Refresh error flag An interrupt is generated if REIE = 1 and RE = 1. RE: u1, - /// Status Mode for Bank 1 This bit defines the Status Mode of SDRAM Bank 1. - MODES: packed union { - raw: u2, - value: MODES, - }, + /// Status Mode for Bank 1 This bit defines the Status Mode of SDRAM Bank 1. + MODES: MODES, reserved5: u2, - /// Busy status This bit defines the status of the SDRAM controller after a Command Mode request 1; SDRAM Controller is not ready to accept a new request. + /// Busy status This bit defines the status of the SDRAM controller after a Command Mode request 1; SDRAM Controller is not ready to accept a new request. BUSY: u1, padding: u26, }), @@ -341613,154 +339108,133 @@ pub const types = struct { pub const fsmc_v1x0 = struct { pub const ACCMOD = enum(u2) { - /// Access mode A + /// Access mode A A = 0x0, - /// Access mode B + /// Access mode B B = 0x1, - /// Access mode C + /// Access mode C C = 0x2, - /// Access mode D + /// Access mode D D = 0x3, }; pub const CPSIZE = enum(u3) { - /// No burst split when crossing page boundary + /// No burst split when crossing page boundary NoBurstSplit = 0x0, - /// 128 bytes CRAM page size + /// 128 bytes CRAM page size Bytes128 = 0x1, - /// 256 bytes CRAM page size + /// 256 bytes CRAM page size Bytes256 = 0x2, - /// 512 bytes CRAM page size + /// 512 bytes CRAM page size Bytes512 = 0x3, - /// 1024 bytes CRAM page size + /// 1024 bytes CRAM page size Bytes1024 = 0x4, _, }; pub const MTYP = enum(u2) { - /// SRAM memory type + /// SRAM memory type SRAM = 0x0, - /// PSRAM (CRAM) memory type + /// PSRAM (CRAM) memory type PSRAM = 0x1, - /// NOR Flash/OneNAND Flash + /// NOR Flash/OneNAND Flash Flash = 0x2, _, }; pub const MWID = enum(u2) { - /// Memory data bus width 8 bits + /// Memory data bus width 8 bits Bits8 = 0x0, - /// Memory data bus width 16 bits + /// Memory data bus width 16 bits Bits16 = 0x1, - /// Memory data bus width 32 bits + /// Memory data bus width 32 bits Bits32 = 0x2, _, }; pub const WAITCFG = enum(u1) { - /// NWAIT signal is active one data cycle before wait state + /// NWAIT signal is active one data cycle before wait state BeforeWaitState = 0x0, - /// NWAIT signal is active during wait state + /// NWAIT signal is active during wait state DuringWaitState = 0x1, }; pub const WAITPOL = enum(u1) { - /// NWAIT active low + /// NWAIT active low ActiveLow = 0x0, - /// NWAIT active high + /// NWAIT active high ActiveHigh = 0x1, }; - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC = extern struct { - /// SRAM/NOR-Flash chip-select control register 1-4 + /// SRAM/NOR-Flash chip-select control register 1-4 BCR: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, - /// WRAPMOD + /// Wait signal polarity bit + WAITPOL: WAITPOL, + /// WRAPMOD WRAPMOD: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, - /// CRAM page size - CPSIZE: packed union { - raw: u3, - value: CPSIZE, - }, - /// Write burst enable + /// CRAM page size + CPSIZE: CPSIZE, + /// Write burst enable CBURSTRW: u1, padding: u12, }), - /// SRAM/NOR-Flash chip-select timing register 1-4 + /// SRAM/NOR-Flash chip-select timing register 1-4 BTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, - /// Clock divide ratio (for FMC_CLK signal) + /// Clock divide ratio (for FMC_CLK signal) CLKDIV: u4, - /// Data latency for synchronous memory + /// Data latency for synchronous memory DATLAT: u4, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, + /// Access mode + ACCMOD: ACCMOD, padding: u2, }), reserved260: [252]u8, - /// SRAM/NOR-Flash write timing registers 1-4 + /// SRAM/NOR-Flash write timing registers 1-4 BWTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, reserved28: u8, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, + /// Access mode + ACCMOD: ACCMOD, padding: u2, }), }; @@ -341768,274 +339242,244 @@ pub const types = struct { pub const fsmc_v1x3 = struct { pub const ACCMOD = enum(u2) { - /// Access mode A + /// Access mode A A = 0x0, - /// Access mode B + /// Access mode B B = 0x1, - /// Access mode C + /// Access mode C C = 0x2, - /// Access mode D + /// Access mode D D = 0x3, }; pub const CPSIZE = enum(u3) { - /// No burst split when crossing page boundary + /// No burst split when crossing page boundary NoBurstSplit = 0x0, - /// 128 bytes CRAM page size + /// 128 bytes CRAM page size Bytes128 = 0x1, - /// 256 bytes CRAM page size + /// 256 bytes CRAM page size Bytes256 = 0x2, - /// 512 bytes CRAM page size + /// 512 bytes CRAM page size Bytes512 = 0x3, - /// 1024 bytes CRAM page size + /// 1024 bytes CRAM page size Bytes1024 = 0x4, _, }; pub const ECCPS = enum(u3) { - /// ECC page size 256 bytes + /// ECC page size 256 bytes Bytes256 = 0x0, - /// ECC page size 512 bytes + /// ECC page size 512 bytes Bytes512 = 0x1, - /// ECC page size 1024 bytes + /// ECC page size 1024 bytes Bytes1024 = 0x2, - /// ECC page size 2048 bytes + /// ECC page size 2048 bytes Bytes2048 = 0x3, - /// ECC page size 4096 bytes + /// ECC page size 4096 bytes Bytes4096 = 0x4, - /// ECC page size 8192 bytes + /// ECC page size 8192 bytes Bytes8192 = 0x5, _, }; pub const MTYP = enum(u2) { - /// SRAM memory type + /// SRAM memory type SRAM = 0x0, - /// PSRAM (CRAM) memory type + /// PSRAM (CRAM) memory type PSRAM = 0x1, - /// NOR Flash/OneNAND Flash + /// NOR Flash/OneNAND Flash Flash = 0x2, _, }; pub const MWID = enum(u2) { - /// Memory data bus width 8 bits + /// Memory data bus width 8 bits Bits8 = 0x0, - /// Memory data bus width 16 bits + /// Memory data bus width 16 bits Bits16 = 0x1, - /// Memory data bus width 32 bits + /// Memory data bus width 32 bits Bits32 = 0x2, _, }; pub const PTYP = enum(u1) { - /// NAND Flash + /// NAND Flash NANDFlash = 0x1, _, }; pub const PWID = enum(u2) { - /// External memory device width 8 bits + /// External memory device width 8 bits Bits8 = 0x0, - /// External memory device width 16 bits + /// External memory device width 16 bits Bits16 = 0x1, _, }; pub const WAITCFG = enum(u1) { - /// NWAIT signal is active one data cycle before wait state + /// NWAIT signal is active one data cycle before wait state BeforeWaitState = 0x0, - /// NWAIT signal is active during wait state + /// NWAIT signal is active during wait state DuringWaitState = 0x1, }; pub const WAITPOL = enum(u1) { - /// NWAIT active low + /// NWAIT active low ActiveLow = 0x0, - /// NWAIT active high + /// NWAIT active high ActiveHigh = 0x1, }; - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC = extern struct { - /// SRAM/NOR-Flash chip-select control register 1-4 + /// SRAM/NOR-Flash chip-select control register 1-4 BCR: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, - /// WRAPMOD + /// Wait signal polarity bit + WAITPOL: WAITPOL, + /// WRAPMOD WRAPMOD: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, - /// CRAM page size - CPSIZE: packed union { - raw: u3, - value: CPSIZE, - }, - /// Write burst enable + /// CRAM page size + CPSIZE: CPSIZE, + /// Write burst enable CBURSTRW: u1, padding: u12, }), - /// SRAM/NOR-Flash chip-select timing register 1-4 + /// SRAM/NOR-Flash chip-select timing register 1-4 BTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, - /// Clock divide ratio (for FMC_CLK signal) + /// Clock divide ratio (for FMC_CLK signal) CLKDIV: u4, - /// Data latency for synchronous memory + /// Data latency for synchronous memory DATLAT: u4, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, + /// Access mode + ACCMOD: ACCMOD, padding: u2, }), reserved96: [88]u8, - /// PC Card/NAND Flash control register 2-4 + /// PC Card/NAND Flash control register 2-4 PCR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Wait feature enable bit + /// Wait feature enable bit PWAITEN: u1, - /// NAND Flash memory bank enable bit + /// NAND Flash memory bank enable bit PBKEN: u1, - /// Memory type - PTYP: packed union { - raw: u1, - value: PTYP, - }, - /// Data bus width - PWID: packed union { - raw: u2, - value: PWID, - }, - /// ECC computation logic enable bit + /// Memory type + PTYP: PTYP, + /// Data bus width + PWID: PWID, + /// ECC computation logic enable bit ECCEN: u1, reserved9: u2, - /// CLE to RE delay + /// CLE to RE delay TCLR: u4, - /// ALE to RE delay + /// ALE to RE delay TAR: u4, - /// ECC page size - ECCPS: packed union { - raw: u3, - value: ECCPS, - }, + /// ECC page size + ECCPS: ECCPS, padding: u12, }), - /// FIFO status and interrupt register 2-4 + /// FIFO status and interrupt register 2-4 SR: mmio.Mmio(packed struct(u32) { - /// Interrupt rising edge status + /// Interrupt rising edge status IRS: u1, - /// Interrupt high-level status + /// Interrupt high-level status ILS: u1, - /// Interrupt falling edge status + /// Interrupt falling edge status IFS: u1, - /// Interrupt rising edge detection enable bit + /// Interrupt rising edge detection enable bit IREN: u1, - /// Interrupt high-level detection enable bit + /// Interrupt high-level detection enable bit ILEN: u1, - /// Interrupt falling edge detection enable bit + /// Interrupt falling edge detection enable bit IFEN: u1, - /// FIFO empty status + /// FIFO empty status FEMPT: u1, padding: u25, }), - /// Common memory space timing register 2-4 + /// Common memory space timing register 2-4 PMEM: mmio.Mmio(packed struct(u32) { - /// Common memory x setup time + /// Common memory x setup time MEMSET: u8, - /// Common memory wait time + /// Common memory wait time MEMWAIT: u8, - /// Common memory hold time + /// Common memory hold time MEMHOLD: u8, - /// Common memory x data bus Hi-Z time + /// Common memory x data bus Hi-Z time MEMHIZ: u8, }), - /// Attribute memory space timing register 2-4 + /// Attribute memory space timing register 2-4 PATT: mmio.Mmio(packed struct(u32) { - /// Attribute memory setup time + /// Attribute memory setup time ATTSET: u8, - /// Attribute memory wait time + /// Attribute memory wait time ATTWAIT: u8, - /// Attribute memory hold time + /// Attribute memory hold time ATTHOLD: u8, - /// Attribute memory data bus Hi-Z time + /// Attribute memory data bus Hi-Z time ATTHIZ: u8, }), reserved116: [4]u8, - /// ECC result register 2-3 + /// ECC result register 2-3 ECCR: mmio.Mmio(packed struct(u32) { - /// ECC computation result value + /// ECC computation result value ECC: u32, }), reserved176: [56]u8, - /// I/O space timing register 4 + /// I/O space timing register 4 PIO4: mmio.Mmio(packed struct(u32) { - /// IOSETx + /// IOSETx IOSETx: u8, - /// IOWAITx + /// IOWAITx IOWAITx: u8, - /// IOHOLDx + /// IOHOLDx IOHOLDx: u8, - /// IOHIZx + /// IOHIZx IOHIZx: u8, }), reserved260: [80]u8, - /// SRAM/NOR-Flash write timing registers 1-4 + /// SRAM/NOR-Flash write timing registers 1-4 BWTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, reserved28: u8, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, + /// Access mode + ACCMOD: ACCMOD, padding: u2, }), }; @@ -342043,302 +339487,263 @@ pub const types = struct { pub const fsmc_v2x3 = struct { pub const ACCMOD = enum(u2) { - /// Access mode A + /// Access mode A A = 0x0, - /// Access mode B + /// Access mode B B = 0x1, - /// Access mode C + /// Access mode C C = 0x2, - /// Access mode D + /// Access mode D D = 0x3, }; pub const ECCPS = enum(u3) { - /// ECC page size 256 bytes + /// ECC page size 256 bytes Bytes256 = 0x0, - /// ECC page size 512 bytes + /// ECC page size 512 bytes Bytes512 = 0x1, - /// ECC page size 1024 bytes + /// ECC page size 1024 bytes Bytes1024 = 0x2, - /// ECC page size 2048 bytes + /// ECC page size 2048 bytes Bytes2048 = 0x3, - /// ECC page size 4096 bytes + /// ECC page size 4096 bytes Bytes4096 = 0x4, - /// ECC page size 8192 bytes + /// ECC page size 8192 bytes Bytes8192 = 0x5, _, }; pub const MTYP = enum(u2) { - /// SRAM memory type + /// SRAM memory type SRAM = 0x0, - /// PSRAM (CRAM) memory type + /// PSRAM (CRAM) memory type PSRAM = 0x1, - /// NOR Flash/OneNAND Flash + /// NOR Flash/OneNAND Flash Flash = 0x2, _, }; pub const MWID = enum(u2) { - /// Memory data bus width 8 bits + /// Memory data bus width 8 bits Bits8 = 0x0, - /// Memory data bus width 16 bits + /// Memory data bus width 16 bits Bits16 = 0x1, - /// Memory data bus width 32 bits + /// Memory data bus width 32 bits Bits32 = 0x2, _, }; pub const PTYP = enum(u1) { - /// NAND Flash + /// NAND Flash NANDFlash = 0x1, _, }; pub const PWID = enum(u2) { - /// External memory device width 8 bits + /// External memory device width 8 bits Bits8 = 0x0, - /// External memory device width 16 bits + /// External memory device width 16 bits Bits16 = 0x1, _, }; pub const WAITCFG = enum(u1) { - /// NWAIT signal is active one data cycle before wait state + /// NWAIT signal is active one data cycle before wait state BeforeWaitState = 0x0, - /// NWAIT signal is active during wait state + /// NWAIT signal is active during wait state DuringWaitState = 0x1, }; pub const WAITPOL = enum(u1) { - /// NWAIT active low + /// NWAIT active low ActiveLow = 0x0, - /// NWAIT active high + /// NWAIT active high ActiveHigh = 0x1, }; - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC = extern struct { - /// SRAM/NOR-Flash chip-select control register 1 + /// SRAM/NOR-Flash chip-select control register 1 BCR1: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, - /// WRAPMOD + /// Wait signal polarity bit + WAITPOL: WAITPOL, + /// WRAPMOD WRAPMOD: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, reserved19: u3, - /// Write burst enable + /// Write burst enable CBURSTRW: u1, - /// Continuous clock enable + /// Continuous clock enable CCLKEN: u1, padding: u11, }), - /// SRAM/NOR-Flash chip-select timing register 1-4 + /// SRAM/NOR-Flash chip-select timing register 1-4 BTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, - /// Clock divide ratio (for FMC_CLK signal) + /// Clock divide ratio (for FMC_CLK signal) CLKDIV: u4, - /// Data latency for synchronous memory + /// Data latency for synchronous memory DATLAT: u4, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, + /// Access mode + ACCMOD: ACCMOD, padding: u2, }), - /// SRAM/NOR-Flash chip-select control register 2-4 + /// SRAM/NOR-Flash chip-select control register 2-4 BCR: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, - /// WRAPMOD + /// Wait signal polarity bit + WAITPOL: WAITPOL, + /// WRAPMOD WRAPMOD: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, reserved19: u3, - /// Write burst enable + /// Write burst enable CBURSTRW: u1, padding: u12, }), reserved96: [84]u8, - /// PC Card/NAND Flash control register 2-4 + /// PC Card/NAND Flash control register 2-4 PCR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Wait feature enable bit + /// Wait feature enable bit PWAITEN: u1, - /// NAND Flash memory bank enable bit + /// NAND Flash memory bank enable bit PBKEN: u1, - /// Memory type - PTYP: packed union { - raw: u1, - value: PTYP, - }, - /// Data bus width - PWID: packed union { - raw: u2, - value: PWID, - }, - /// ECC computation logic enable bit + /// Memory type + PTYP: PTYP, + /// Data bus width + PWID: PWID, + /// ECC computation logic enable bit ECCEN: u1, reserved9: u2, - /// CLE to RE delay + /// CLE to RE delay TCLR: u4, - /// ALE to RE delay + /// ALE to RE delay TAR: u4, - /// ECC page size - ECCPS: packed union { - raw: u3, - value: ECCPS, - }, + /// ECC page size + ECCPS: ECCPS, padding: u12, }), - /// FIFO status and interrupt register 2-4 + /// FIFO status and interrupt register 2-4 SR: mmio.Mmio(packed struct(u32) { - /// Interrupt rising edge status + /// Interrupt rising edge status IRS: u1, - /// Interrupt high-level status + /// Interrupt high-level status ILS: u1, - /// Interrupt falling edge status + /// Interrupt falling edge status IFS: u1, - /// Interrupt rising edge detection enable bit + /// Interrupt rising edge detection enable bit IREN: u1, - /// Interrupt high-level detection enable bit + /// Interrupt high-level detection enable bit ILEN: u1, - /// Interrupt falling edge detection enable bit + /// Interrupt falling edge detection enable bit IFEN: u1, - /// FIFO empty status + /// FIFO empty status FEMPT: u1, padding: u25, }), - /// Common memory space timing register 2-4 + /// Common memory space timing register 2-4 PMEM: mmio.Mmio(packed struct(u32) { - /// Common memory x setup time + /// Common memory x setup time MEMSET: u8, - /// Common memory wait time + /// Common memory wait time MEMWAIT: u8, - /// Common memory hold time + /// Common memory hold time MEMHOLD: u8, - /// Common memory x data bus Hi-Z time + /// Common memory x data bus Hi-Z time MEMHIZ: u8, }), - /// Attribute memory space timing register 2-4 + /// Attribute memory space timing register 2-4 PATT: mmio.Mmio(packed struct(u32) { - /// Attribute memory setup time + /// Attribute memory setup time ATTSET: u8, - /// Attribute memory wait time + /// Attribute memory wait time ATTWAIT: u8, - /// Attribute memory hold time + /// Attribute memory hold time ATTHOLD: u8, - /// Attribute memory data bus Hi-Z time + /// Attribute memory data bus Hi-Z time ATTHIZ: u8, }), reserved116: [4]u8, - /// ECC result register 2-3 + /// ECC result register 2-3 ECCR: mmio.Mmio(packed struct(u32) { - /// ECC computation result value + /// ECC computation result value ECC: u32, }), reserved176: [56]u8, - /// I/O space timing register 4 + /// I/O space timing register 4 PIO4: mmio.Mmio(packed struct(u32) { - /// IOSETx + /// IOSETx IOSETx: u8, - /// IOWAITx + /// IOWAITx IOWAITx: u8, - /// IOHOLDx + /// IOHOLDx IOHOLDx: u8, - /// IOHIZx + /// IOHIZx IOHIZx: u8, }), reserved260: [80]u8, - /// SRAM/NOR-Flash write timing registers 1-4 + /// SRAM/NOR-Flash write timing registers 1-4 BWTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, reserved28: u12, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, + /// Access mode + ACCMOD: ACCMOD, padding: u2, }), }; @@ -342346,314 +339751,269 @@ pub const types = struct { pub const fsmc_v3x1 = struct { pub const ACCMOD = enum(u2) { - /// Access mode A + /// Access mode A A = 0x0, - /// Access mode B + /// Access mode B B = 0x1, - /// Access mode C + /// Access mode C C = 0x2, - /// Access mode D + /// Access mode D D = 0x3, }; pub const CPSIZE = enum(u3) { - /// No burst split when crossing page boundary + /// No burst split when crossing page boundary NoBurstSplit = 0x0, - /// 128 bytes CRAM page size + /// 128 bytes CRAM page size Bytes128 = 0x1, - /// 256 bytes CRAM page size + /// 256 bytes CRAM page size Bytes256 = 0x2, - /// 512 bytes CRAM page size + /// 512 bytes CRAM page size Bytes512 = 0x3, - /// 1024 bytes CRAM page size + /// 1024 bytes CRAM page size Bytes1024 = 0x4, _, }; pub const ECCPS = enum(u3) { - /// ECC page size 256 bytes + /// ECC page size 256 bytes Bytes256 = 0x0, - /// ECC page size 512 bytes + /// ECC page size 512 bytes Bytes512 = 0x1, - /// ECC page size 1024 bytes + /// ECC page size 1024 bytes Bytes1024 = 0x2, - /// ECC page size 2048 bytes + /// ECC page size 2048 bytes Bytes2048 = 0x3, - /// ECC page size 4096 bytes + /// ECC page size 4096 bytes Bytes4096 = 0x4, - /// ECC page size 8192 bytes + /// ECC page size 8192 bytes Bytes8192 = 0x5, _, }; pub const MTYP = enum(u2) { - /// SRAM memory type + /// SRAM memory type SRAM = 0x0, - /// PSRAM (CRAM) memory type + /// PSRAM (CRAM) memory type PSRAM = 0x1, - /// NOR Flash/OneNAND Flash + /// NOR Flash/OneNAND Flash Flash = 0x2, _, }; pub const MWID = enum(u2) { - /// Memory data bus width 8 bits + /// Memory data bus width 8 bits Bits8 = 0x0, - /// Memory data bus width 16 bits + /// Memory data bus width 16 bits Bits16 = 0x1, - /// Memory data bus width 32 bits + /// Memory data bus width 32 bits Bits32 = 0x2, _, }; pub const PTYP = enum(u1) { - /// NAND Flash + /// NAND Flash NANDFlash = 0x1, _, }; pub const PWID = enum(u2) { - /// External memory device width 8 bits + /// External memory device width 8 bits Bits8 = 0x0, - /// External memory device width 16 bits + /// External memory device width 16 bits Bits16 = 0x1, _, }; pub const WAITCFG = enum(u1) { - /// NWAIT signal is active one data cycle before wait state + /// NWAIT signal is active one data cycle before wait state BeforeWaitState = 0x0, - /// NWAIT signal is active during wait state + /// NWAIT signal is active during wait state DuringWaitState = 0x1, }; pub const WAITPOL = enum(u1) { - /// NWAIT active low + /// NWAIT active low ActiveLow = 0x0, - /// NWAIT active high + /// NWAIT active high ActiveHigh = 0x1, }; - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC = extern struct { - /// SRAM/NOR-Flash chip-select control register 1 + /// SRAM/NOR-Flash chip-select control register 1 BCR1: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, + /// Wait signal polarity bit + WAITPOL: WAITPOL, reserved11: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, - /// CRAM page size - CPSIZE: packed union { - raw: u3, - value: CPSIZE, - }, - /// Write burst enable + /// CRAM page size + CPSIZE: CPSIZE, + /// Write burst enable CBURSTRW: u1, - /// Continuous clock enable + /// Continuous clock enable CCLKEN: u1, - /// Write FIFO disable + /// Write FIFO disable WFDIS: u1, padding: u10, }), - /// SRAM/NOR-Flash chip-select timing register 1-4 + /// SRAM/NOR-Flash chip-select timing register 1-4 BTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, - /// Clock divide ratio (for FMC_CLK signal) + /// Clock divide ratio (for FMC_CLK signal) CLKDIV: u4, - /// Data latency for synchronous memory + /// Data latency for synchronous memory DATLAT: u4, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, + /// Access mode + ACCMOD: ACCMOD, padding: u2, }), - /// SRAM/NOR-Flash chip-select control register 2-4 + /// SRAM/NOR-Flash chip-select control register 2-4 BCR: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, + /// Wait signal polarity bit + WAITPOL: WAITPOL, reserved11: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, - /// CRAM page size - CPSIZE: packed union { - raw: u3, - value: CPSIZE, - }, - /// Write burst enable + /// CRAM page size + CPSIZE: CPSIZE, + /// Write burst enable CBURSTRW: u1, padding: u12, }), reserved128: [116]u8, - /// PC Card/NAND Flash control register + /// PC Card/NAND Flash control register PCR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Wait feature enable bit + /// Wait feature enable bit PWAITEN: u1, - /// NAND Flash memory bank enable bit + /// NAND Flash memory bank enable bit PBKEN: u1, - /// Memory type - PTYP: packed union { - raw: u1, - value: PTYP, - }, - /// Data bus width - PWID: packed union { - raw: u2, - value: PWID, - }, - /// ECC computation logic enable bit + /// Memory type + PTYP: PTYP, + /// Data bus width + PWID: PWID, + /// ECC computation logic enable bit ECCEN: u1, reserved9: u2, - /// CLE to RE delay + /// CLE to RE delay TCLR: u4, - /// ALE to RE delay + /// ALE to RE delay TAR: u4, - /// ECC page size - ECCPS: packed union { - raw: u3, - value: ECCPS, - }, + /// ECC page size + ECCPS: ECCPS, padding: u12, }), - /// FIFO status and interrupt register + /// FIFO status and interrupt register SR: mmio.Mmio(packed struct(u32) { - /// Interrupt rising edge status + /// Interrupt rising edge status IRS: u1, - /// Interrupt high-level status + /// Interrupt high-level status ILS: u1, - /// Interrupt falling edge status + /// Interrupt falling edge status IFS: u1, - /// Interrupt rising edge detection enable bit + /// Interrupt rising edge detection enable bit IREN: u1, - /// Interrupt high-level detection enable bit + /// Interrupt high-level detection enable bit ILEN: u1, - /// Interrupt falling edge detection enable bit + /// Interrupt falling edge detection enable bit IFEN: u1, - /// FIFO empty status + /// FIFO empty status FEMPT: u1, padding: u25, }), - /// Common memory space timing register + /// Common memory space timing register PMEM: mmio.Mmio(packed struct(u32) { - /// Common memory x setup time + /// Common memory x setup time MEMSET: u8, - /// Common memory wait time + /// Common memory wait time MEMWAIT: u8, - /// Common memory hold time + /// Common memory hold time MEMHOLD: u8, - /// Common memory x data bus Hi-Z time + /// Common memory x data bus Hi-Z time MEMHIZ: u8, }), - /// Attribute memory space timing register + /// Attribute memory space timing register PATT: mmio.Mmio(packed struct(u32) { - /// Attribute memory setup time + /// Attribute memory setup time ATTSET: u8, - /// Attribute memory wait time + /// Attribute memory wait time ATTWAIT: u8, - /// Attribute memory hold time + /// Attribute memory hold time ATTHOLD: u8, - /// Attribute memory data bus Hi-Z time + /// Attribute memory data bus Hi-Z time ATTHIZ: u8, }), reserved148: [4]u8, - /// ECC result register + /// ECC result register ECCR: mmio.Mmio(packed struct(u32) { - /// ECC computation result value + /// ECC computation result value ECC: u32, }), reserved260: [108]u8, - /// SRAM/NOR-Flash write timing registers 1-4 + /// SRAM/NOR-Flash write timing registers 1-4 BWTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, reserved28: u8, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, + /// Access mode + ACCMOD: ACCMOD, padding: u2, }), }; @@ -342661,338 +340021,293 @@ pub const types = struct { pub const fsmc_v4x1 = struct { pub const ACCMOD = enum(u2) { - /// Access mode A + /// Access mode A A = 0x0, - /// Access mode B + /// Access mode B B = 0x1, - /// Access mode C + /// Access mode C C = 0x2, - /// Access mode D + /// Access mode D D = 0x3, }; pub const CPSIZE = enum(u3) { - /// No burst split when crossing page boundary + /// No burst split when crossing page boundary NoBurstSplit = 0x0, - /// 128 bytes CRAM page size + /// 128 bytes CRAM page size Bytes128 = 0x1, - /// 256 bytes CRAM page size + /// 256 bytes CRAM page size Bytes256 = 0x2, - /// 512 bytes CRAM page size + /// 512 bytes CRAM page size Bytes512 = 0x3, - /// 1024 bytes CRAM page size + /// 1024 bytes CRAM page size Bytes1024 = 0x4, _, }; pub const ECCPS = enum(u3) { - /// ECC page size 256 bytes + /// ECC page size 256 bytes Bytes256 = 0x0, - /// ECC page size 512 bytes + /// ECC page size 512 bytes Bytes512 = 0x1, - /// ECC page size 1024 bytes + /// ECC page size 1024 bytes Bytes1024 = 0x2, - /// ECC page size 2048 bytes + /// ECC page size 2048 bytes Bytes2048 = 0x3, - /// ECC page size 4096 bytes + /// ECC page size 4096 bytes Bytes4096 = 0x4, - /// ECC page size 8192 bytes + /// ECC page size 8192 bytes Bytes8192 = 0x5, _, }; pub const MTYP = enum(u2) { - /// SRAM memory type + /// SRAM memory type SRAM = 0x0, - /// PSRAM (CRAM) memory type + /// PSRAM (CRAM) memory type PSRAM = 0x1, - /// NOR Flash/OneNAND Flash + /// NOR Flash/OneNAND Flash Flash = 0x2, _, }; pub const MWID = enum(u2) { - /// Memory data bus width 8 bits + /// Memory data bus width 8 bits Bits8 = 0x0, - /// Memory data bus width 16 bits + /// Memory data bus width 16 bits Bits16 = 0x1, - /// Memory data bus width 32 bits + /// Memory data bus width 32 bits Bits32 = 0x2, _, }; pub const PTYP = enum(u1) { - /// NAND Flash + /// NAND Flash NANDFlash = 0x1, _, }; pub const PWID = enum(u2) { - /// External memory device width 8 bits + /// External memory device width 8 bits Bits8 = 0x0, - /// External memory device width 16 bits + /// External memory device width 16 bits Bits16 = 0x1, _, }; pub const WAITCFG = enum(u1) { - /// NWAIT signal is active one data cycle before wait state + /// NWAIT signal is active one data cycle before wait state BeforeWaitState = 0x0, - /// NWAIT signal is active during wait state + /// NWAIT signal is active during wait state DuringWaitState = 0x1, }; pub const WAITPOL = enum(u1) { - /// NWAIT active low + /// NWAIT active low ActiveLow = 0x0, - /// NWAIT active high + /// NWAIT active high ActiveHigh = 0x1, }; - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC = extern struct { - /// SRAM/NOR-Flash chip-select control register 1 + /// SRAM/NOR-Flash chip-select control register 1 BCR1: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, + /// Wait signal polarity bit + WAITPOL: WAITPOL, reserved11: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, - /// CRAM page size - CPSIZE: packed union { - raw: u3, - value: CPSIZE, - }, - /// Write burst enable + /// CRAM page size + CPSIZE: CPSIZE, + /// Write burst enable CBURSTRW: u1, - /// Continuous clock enable + /// Continuous clock enable CCLKEN: u1, - /// Write FIFO disable + /// Write FIFO disable WFDIS: u1, - /// Byte lane (NBL) setup + /// Byte lane (NBL) setup NBLSET: u2, reserved31: u7, - /// FMC controller enable + /// FMC controller enable FMCEN: u1, }), - /// SRAM/NOR-Flash chip-select timing register 1-4 + /// SRAM/NOR-Flash chip-select timing register 1-4 BTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, - /// Clock divide ratio (for FMC_CLK signal) + /// Clock divide ratio (for FMC_CLK signal) CLKDIV: u4, - /// Data latency for synchronous memory + /// Data latency for synchronous memory DATLAT: u4, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, - /// Data hold phase duration + /// Access mode + ACCMOD: ACCMOD, + /// Data hold phase duration DATAHLD: u2, }), - /// SRAM/NOR-Flash chip-select control register 2-4 + /// SRAM/NOR-Flash chip-select control register 2-4 BCR: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, + /// Wait signal polarity bit + WAITPOL: WAITPOL, reserved11: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, - /// CRAM page size - CPSIZE: packed union { - raw: u3, - value: CPSIZE, - }, - /// Write burst enable + /// CRAM page size + CPSIZE: CPSIZE, + /// Write burst enable CBURSTRW: u1, reserved22: u2, - /// Byte lane (NBL) setup + /// Byte lane (NBL) setup NBLSET: u2, padding: u8, }), reserved32: [20]u8, - /// PSRAM chip select counter register + /// PSRAM chip select counter register PCSCNTR: mmio.Mmio(packed struct(u32) { - /// Chip select counter + /// Chip select counter CSCOUNT: u16, - /// Counter Bank 1 enable + /// Counter Bank 1 enable CNTB1EN: u1, - /// Counter Bank 2 enable + /// Counter Bank 2 enable CNTB2EN: u1, - /// Counter Bank 3 enable + /// Counter Bank 3 enable CNTB3EN: u1, - /// Counter Bank 4 enable + /// Counter Bank 4 enable CNTB4EN: u1, padding: u12, }), reserved128: [92]u8, - /// PC Card/NAND Flash control register + /// PC Card/NAND Flash control register PCR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Wait feature enable bit + /// Wait feature enable bit PWAITEN: u1, - /// NAND Flash memory bank enable bit + /// NAND Flash memory bank enable bit PBKEN: u1, - /// Memory type - PTYP: packed union { - raw: u1, - value: PTYP, - }, - /// Data bus width - PWID: packed union { - raw: u2, - value: PWID, - }, - /// ECC computation logic enable bit + /// Memory type + PTYP: PTYP, + /// Data bus width + PWID: PWID, + /// ECC computation logic enable bit ECCEN: u1, reserved9: u2, - /// CLE to RE delay + /// CLE to RE delay TCLR: u4, - /// ALE to RE delay + /// ALE to RE delay TAR: u4, - /// ECC page size - ECCPS: packed union { - raw: u3, - value: ECCPS, - }, + /// ECC page size + ECCPS: ECCPS, padding: u12, }), - /// FIFO status and interrupt register + /// FIFO status and interrupt register SR: mmio.Mmio(packed struct(u32) { - /// Interrupt rising edge status + /// Interrupt rising edge status IRS: u1, - /// Interrupt high-level status + /// Interrupt high-level status ILS: u1, - /// Interrupt falling edge status + /// Interrupt falling edge status IFS: u1, - /// Interrupt rising edge detection enable bit + /// Interrupt rising edge detection enable bit IREN: u1, - /// Interrupt high-level detection enable bit + /// Interrupt high-level detection enable bit ILEN: u1, - /// Interrupt falling edge detection enable bit + /// Interrupt falling edge detection enable bit IFEN: u1, - /// FIFO empty status + /// FIFO empty status FEMPT: u1, padding: u25, }), - /// Common memory space timing register + /// Common memory space timing register PMEM: mmio.Mmio(packed struct(u32) { - /// Common memory x setup time + /// Common memory x setup time MEMSET: u8, - /// Common memory wait time + /// Common memory wait time MEMWAIT: u8, - /// Common memory hold time + /// Common memory hold time MEMHOLD: u8, - /// Common memory x data bus Hi-Z time + /// Common memory x data bus Hi-Z time MEMHIZ: u8, }), - /// Attribute memory space timing register + /// Attribute memory space timing register PATT: mmio.Mmio(packed struct(u32) { - /// Attribute memory setup time + /// Attribute memory setup time ATTSET: u8, - /// Attribute memory wait time + /// Attribute memory wait time ATTWAIT: u8, - /// Attribute memory hold time + /// Attribute memory hold time ATTHOLD: u8, - /// Attribute memory data bus Hi-Z time + /// Attribute memory data bus Hi-Z time ATTHIZ: u8, }), reserved148: [4]u8, - /// ECC result register + /// ECC result register ECCR: mmio.Mmio(packed struct(u32) { - /// ECC computation result value + /// ECC computation result value ECC: u32, }), reserved260: [108]u8, - /// SRAM/NOR-Flash write timing registers 1-4 + /// SRAM/NOR-Flash write timing registers 1-4 BWTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, reserved28: u8, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, - /// Data hold phase duration + /// Access mode + ACCMOD: ACCMOD, + /// Data hold phase duration DATAHLD: u2, }), }; @@ -343000,338 +340315,293 @@ pub const types = struct { pub const fsmc_v5x1 = struct { pub const ACCMOD = enum(u2) { - /// Access mode A + /// Access mode A A = 0x0, - /// Access mode B + /// Access mode B B = 0x1, - /// Access mode C + /// Access mode C C = 0x2, - /// Access mode D + /// Access mode D D = 0x3, }; pub const CPSIZE = enum(u3) { - /// No burst split when crossing page boundary + /// No burst split when crossing page boundary NoBurstSplit = 0x0, - /// 128 bytes CRAM page size + /// 128 bytes CRAM page size Bytes128 = 0x1, - /// 256 bytes CRAM page size + /// 256 bytes CRAM page size Bytes256 = 0x2, - /// 512 bytes CRAM page size + /// 512 bytes CRAM page size Bytes512 = 0x3, - /// 1024 bytes CRAM page size + /// 1024 bytes CRAM page size Bytes1024 = 0x4, _, }; pub const ECCPS = enum(u3) { - /// ECC page size 256 bytes + /// ECC page size 256 bytes Bytes256 = 0x0, - /// ECC page size 512 bytes + /// ECC page size 512 bytes Bytes512 = 0x1, - /// ECC page size 1024 bytes + /// ECC page size 1024 bytes Bytes1024 = 0x2, - /// ECC page size 2048 bytes + /// ECC page size 2048 bytes Bytes2048 = 0x3, - /// ECC page size 4096 bytes + /// ECC page size 4096 bytes Bytes4096 = 0x4, - /// ECC page size 8192 bytes + /// ECC page size 8192 bytes Bytes8192 = 0x5, _, }; pub const MTYP = enum(u2) { - /// SRAM memory type + /// SRAM memory type SRAM = 0x0, - /// PSRAM (CRAM) memory type + /// PSRAM (CRAM) memory type PSRAM = 0x1, - /// NOR Flash/OneNAND Flash + /// NOR Flash/OneNAND Flash Flash = 0x2, _, }; pub const MWID = enum(u2) { - /// Memory data bus width 8 bits + /// Memory data bus width 8 bits Bits8 = 0x0, - /// Memory data bus width 16 bits + /// Memory data bus width 16 bits Bits16 = 0x1, - /// Memory data bus width 32 bits + /// Memory data bus width 32 bits Bits32 = 0x2, _, }; pub const PTYP = enum(u1) { - /// NAND Flash + /// NAND Flash NANDFlash = 0x1, _, }; pub const PWID = enum(u2) { - /// External memory device width 8 bits + /// External memory device width 8 bits Bits8 = 0x0, - /// External memory device width 16 bits + /// External memory device width 16 bits Bits16 = 0x1, _, }; pub const WAITCFG = enum(u1) { - /// NWAIT signal is active one data cycle before wait state + /// NWAIT signal is active one data cycle before wait state BeforeWaitState = 0x0, - /// NWAIT signal is active during wait state + /// NWAIT signal is active during wait state DuringWaitState = 0x1, }; pub const WAITPOL = enum(u1) { - /// NWAIT active low + /// NWAIT active low ActiveLow = 0x0, - /// NWAIT active high + /// NWAIT active high ActiveHigh = 0x1, }; - /// Flexible static memory controller + /// Flexible static memory controller pub const FSMC = extern struct { - /// SRAM/NOR-Flash chip-select control register 1 + /// SRAM/NOR-Flash chip-select control register 1 BCR1: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, + /// Wait signal polarity bit + WAITPOL: WAITPOL, reserved11: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, - /// CRAM page size - CPSIZE: packed union { - raw: u3, - value: CPSIZE, - }, - /// Write burst enable + /// CRAM page size + CPSIZE: CPSIZE, + /// Write burst enable CBURSTRW: u1, - /// Continuous clock enable + /// Continuous clock enable CCLKEN: u1, - /// Write FIFO disable + /// Write FIFO disable WFDIS: u1, - /// Byte lane (NBL) setup + /// Byte lane (NBL) setup NBLSET: u2, reserved31: u7, - /// FMC controller enable + /// FMC controller enable FMCEN: u1, }), - /// SRAM/NOR-Flash chip-select timing register 1-4 + /// SRAM/NOR-Flash chip-select timing register 1-4 BTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, - /// Clock divide ratio (for FMC_CLK signal) + /// Clock divide ratio (for FMC_CLK signal) CLKDIV: u4, - /// Data latency for synchronous memory + /// Data latency for synchronous memory DATLAT: u4, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, - /// Data hold phase duration + /// Access mode + ACCMOD: ACCMOD, + /// Data hold phase duration DATAHLD: u2, }), - /// SRAM/NOR-Flash chip-select control register 2-4 + /// SRAM/NOR-Flash chip-select control register 2-4 BCR: mmio.Mmio(packed struct(u32) { - /// Memory bank enable bit + /// Memory bank enable bit MBKEN: u1, - /// Address/data multiplexing enable bit + /// Address/data multiplexing enable bit MUXEN: u1, - /// Memory type - MTYP: packed union { - raw: u2, - value: MTYP, - }, - /// Memory data bus width - MWID: packed union { - raw: u2, - value: MWID, - }, - /// Flash access enable + /// Memory type + MTYP: MTYP, + /// Memory data bus width + MWID: MWID, + /// Flash access enable FACCEN: u1, reserved8: u1, - /// Burst enable bit + /// Burst enable bit BURSTEN: u1, - /// Wait signal polarity bit - WAITPOL: packed union { - raw: u1, - value: WAITPOL, - }, + /// Wait signal polarity bit + WAITPOL: WAITPOL, reserved11: u1, - /// Wait timing configuration - WAITCFG: packed union { - raw: u1, - value: WAITCFG, - }, - /// Write enable bit + /// Wait timing configuration + WAITCFG: WAITCFG, + /// Write enable bit WREN: u1, - /// Wait enable bit + /// Wait enable bit WAITEN: u1, - /// Extended mode enable + /// Extended mode enable EXTMOD: u1, - /// Wait signal during asynchronous transfers + /// Wait signal during asynchronous transfers ASYNCWAIT: u1, - /// CRAM page size - CPSIZE: packed union { - raw: u3, - value: CPSIZE, - }, - /// Write burst enable + /// CRAM page size + CPSIZE: CPSIZE, + /// Write burst enable CBURSTRW: u1, reserved22: u2, - /// Byte lane (NBL) setup + /// Byte lane (NBL) setup NBLSET: u2, padding: u8, }), reserved32: [20]u8, - /// PSRAM chip select counter register + /// PSRAM chip select counter register PCSCNTR: mmio.Mmio(packed struct(u32) { - /// Chip select counter + /// Chip select counter CSCOUNT: u16, - /// Counter Bank 1 enable + /// Counter Bank 1 enable CNTB1EN: u1, - /// Counter Bank 2 enable + /// Counter Bank 2 enable CNTB2EN: u1, - /// Counter Bank 3 enable + /// Counter Bank 3 enable CNTB3EN: u1, - /// Counter Bank 4 enable + /// Counter Bank 4 enable CNTB4EN: u1, padding: u12, }), reserved128: [92]u8, - /// PC Card/NAND Flash control register + /// PC Card/NAND Flash control register PCR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Wait feature enable bit + /// Wait feature enable bit PWAITEN: u1, - /// NAND Flash memory bank enable bit + /// NAND Flash memory bank enable bit PBKEN: u1, - /// Memory type - PTYP: packed union { - raw: u1, - value: PTYP, - }, - /// Data bus width - PWID: packed union { - raw: u2, - value: PWID, - }, - /// ECC computation logic enable bit + /// Memory type + PTYP: PTYP, + /// Data bus width + PWID: PWID, + /// ECC computation logic enable bit ECCEN: u1, reserved9: u2, - /// CLE to RE delay + /// CLE to RE delay TCLR: u4, - /// ALE to RE delay + /// ALE to RE delay TAR: u4, - /// ECC page size - ECCPS: packed union { - raw: u3, - value: ECCPS, - }, + /// ECC page size + ECCPS: ECCPS, padding: u12, }), - /// FIFO status and interrupt register + /// FIFO status and interrupt register SR: mmio.Mmio(packed struct(u32) { - /// Interrupt rising edge status + /// Interrupt rising edge status IRS: u1, - /// Interrupt high-level status + /// Interrupt high-level status ILS: u1, - /// Interrupt falling edge status + /// Interrupt falling edge status IFS: u1, - /// Interrupt rising edge detection enable bit + /// Interrupt rising edge detection enable bit IREN: u1, - /// Interrupt high-level detection enable bit + /// Interrupt high-level detection enable bit ILEN: u1, - /// Interrupt falling edge detection enable bit + /// Interrupt falling edge detection enable bit IFEN: u1, - /// FIFO empty status + /// FIFO empty status FEMPT: u1, padding: u25, }), - /// Common memory space timing register + /// Common memory space timing register PMEM: mmio.Mmio(packed struct(u32) { - /// Common memory x setup time + /// Common memory x setup time MEMSET: u8, - /// Common memory wait time + /// Common memory wait time MEMWAIT: u8, - /// Common memory hold time + /// Common memory hold time MEMHOLD: u8, - /// Common memory x data bus Hi-Z time + /// Common memory x data bus Hi-Z time MEMHIZ: u8, }), - /// Attribute memory space timing register + /// Attribute memory space timing register PATT: mmio.Mmio(packed struct(u32) { - /// Attribute memory setup time + /// Attribute memory setup time ATTSET: u8, - /// Attribute memory wait time + /// Attribute memory wait time ATTWAIT: u8, - /// Attribute memory hold time + /// Attribute memory hold time ATTHOLD: u8, - /// Attribute memory data bus Hi-Z time + /// Attribute memory data bus Hi-Z time ATTHIZ: u8, }), reserved148: [4]u8, - /// ECC result register + /// ECC result register ECCR: mmio.Mmio(packed struct(u32) { - /// ECC computation result value + /// ECC computation result value ECC: u32, }), reserved260: [108]u8, - /// SRAM/NOR-Flash write timing registers 1-4 + /// SRAM/NOR-Flash write timing registers 1-4 BWTR: mmio.Mmio(packed struct(u32) { - /// Address setup phase duration + /// Address setup phase duration ADDSET: u4, - /// Address-hold phase duration + /// Address-hold phase duration ADDHLD: u4, - /// Data-phase duration + /// Data-phase duration DATAST: u8, - /// Bus turnaround phase duration + /// Bus turnaround phase duration BUSTURN: u4, reserved28: u8, - /// Access mode - ACCMOD: packed union { - raw: u2, - value: ACCMOD, - }, - /// Data hold phase duration + /// Access mode + ACCMOD: ACCMOD, + /// Data hold phase duration DATAHLD: u2, }), }; @@ -343339,78 +340609,75 @@ pub const types = struct { pub const gfxmmu_v1 = struct { pub const BM192 = enum(u1) { - /// 256 blocks per line. + /// 256 blocks per line. @"256BlocksPerLine" = 0x0, - /// 192 blocks per line. + /// 192 blocks per line. @"192BlocksPerLine" = 0x1, }; - /// GFXMMU. + /// GFXMMU. pub const GFXMMU = extern struct { - /// GFXMMU configuration register. + /// GFXMMU configuration register. CR: mmio.Mmio(packed struct(u32) { - /// Buffer overflow interrupt enable. This bit enables the buffer 0 overflow interrupt. + /// Buffer overflow interrupt enable. This bit enables the buffer 0 overflow interrupt. BOIE: u1, reserved4: u3, - /// AHB master error interrupt enable. This bit enables the AHB master error interrupt. + /// AHB master error interrupt enable. This bit enables the AHB master error interrupt. AMEIE: u1, reserved6: u1, - /// 192 Block mode. This bit defines the number of blocks per line. - BM: packed union { - raw: u1, - value: BM192, - }, + /// 192 Block mode. This bit defines the number of blocks per line. + BM: BM192, padding: u25, }), - /// GFXMMU status register. + /// GFXMMU status register. SR: mmio.Mmio(packed struct(u32) { - /// Buffer overflow flag. This bit is set when an overflow occurs during the offset calculation of the buffer 0. It is cleared by writing 1 to CB0OF. + /// Buffer overflow flag. This bit is set when an overflow occurs during the offset calculation of the buffer 0. It is cleared by writing 1 to CB0OF. BOF: u1, reserved4: u3, - /// AHB master error flag. This bit is set when an AHB error happens during a transaction. It is cleared by writing 1 to CAMEF. + /// AHB master error flag. This bit is set when an AHB error happens during a transaction. It is cleared by writing 1 to CAMEF. AMEF: u1, padding: u27, }), - /// GFXMMU flag clear register. + /// GFXMMU flag clear register. FCR: mmio.Mmio(packed struct(u32) { - /// Clear buffer overflow flag. Writing 1 clears the buffer 0 overflow flag in the GFXMMU_SR register. + /// Clear buffer overflow flag. Writing 1 clears the buffer 0 overflow flag in the GFXMMU_SR register. CBOF: u1, reserved4: u3, - /// Clear AHB master error flag. Writing 1 clears the AHB master error flag in the GFXMMU_SR register. + /// Clear AHB master error flag. Writing 1 clears the AHB master error flag in the GFXMMU_SR register. CAMEF: u1, padding: u27, }), reserved16: [4]u8, - /// GFXMMU default value register. + /// GFXMMU default value register. DVR: mmio.Mmio(packed struct(u32) { - /// Default value. This field indicates the default 32-bit value which is returned when a master accesses a virtual memory location not physically mapped. + /// Default value. This field indicates the default 32-bit value which is returned when a master accesses a virtual memory location not physically mapped. DV: u32, }), reserved32: [12]u8, - /// GFXMMU buffer 0 configuration register. + /// GFXMMU buffer 0 configuration register. BCR: [4]mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Physical buffer offset. Offset of the physical buffer. + /// Physical buffer offset. Offset of the physical buffer. PBO: u19, - /// Physical buffer base address. Base address MSB of the physical buffer. + /// Physical buffer base address. Base address MSB of the physical buffer. PBBA: u9, }), reserved4096: [4048]u8, - /// GFXMMU LUT entry 0 low. + /// GFXMMU LUT entry 0 low. LUTL: mmio.Mmio(packed struct(u32) { - /// Line enable. + /// Line enable. EN: u1, reserved8: u7, - /// First Valid Block. Number of the first valid block of line number x. + /// First Valid Block. Number of the first valid block of line number x. FVB: u8, - /// Last Valid Block. Number of the last valid block of line number X. + /// Last Valid Block. Number of the last valid block of line number X. LVB: u8, padding: u8, }), - /// GFXMMU LUT entry 0 high. + /// GFXMMU LUT entry 0 high. LUTH: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Line offset. Line offset of line number x (i.e. offset of block 0 of line x). + /// Line offset. Line offset of line number x (i.e. offset of block 0 of line x). LO: u18, padding: u10, }), @@ -343419,114 +340686,108 @@ pub const types = struct { pub const gfxmmu_v2 = struct { pub const BM192 = enum(u1) { - /// 256 blocks per line. + /// 256 blocks per line. @"256BlocksPerLine" = 0x0, - /// 192 blocks per line. + /// 192 blocks per line. @"192BlocksPerLine" = 0x1, }; pub const CLB = enum(u2) { - /// Cache locked on buffer 0. + /// Cache locked on buffer 0. LockedOnBuffer0 = 0x0, - /// Cache locked on buffer 1. + /// Cache locked on buffer 1. LockedOnBuffer1 = 0x1, - /// Cache locked on buffer 2. + /// Cache locked on buffer 2. LockedOnBuffer2 = 0x2, - /// Cache locked on buffer 3. + /// Cache locked on buffer 3. LockedOnBuffer3 = 0x3, }; - /// GFXMMU. + /// GFXMMU. pub const GFXMMU = extern struct { - /// GFXMMU configuration register. + /// GFXMMU configuration register. CR: mmio.Mmio(packed struct(u32) { - /// Buffer overflow interrupt enable. This bit enables the buffer 0 overflow interrupt. + /// Buffer overflow interrupt enable. This bit enables the buffer 0 overflow interrupt. BOIE: u1, reserved4: u3, - /// AHB master error interrupt enable. This bit enables the AHB master error interrupt. + /// AHB master error interrupt enable. This bit enables the AHB master error interrupt. AMEIE: u1, reserved6: u1, - /// 192 Block mode. This bit defines the number of blocks per line. - BM: packed union { - raw: u1, - value: BM192, - }, - /// Cache enable. This bit enables the cache unit. + /// 192 Block mode. This bit defines the number of blocks per line. + BM: BM192, + /// Cache enable. This bit enables the cache unit. CE: u1, - /// Cache lock. This bit lock the cache onto the buffer defined in the CLB field. + /// Cache lock. This bit lock the cache onto the buffer defined in the CLB field. CL: u1, - /// Cache lock buffer. This field select the buffer on which the cache is locked. - CLB: packed union { - raw: u2, - value: CLB, - }, - /// Force caching. This bit force the caching into the cache regardless of the MPU attributes. The cache must be enable (CE bit set). + /// Cache lock buffer. This field select the buffer on which the cache is locked. + CLB: CLB, + /// Force caching. This bit force the caching into the cache regardless of the MPU attributes. The cache must be enable (CE bit set). FC: u1, - /// Prefetch disable. This bit disables the prefetch of the cache. + /// Prefetch disable. This bit disables the prefetch of the cache. PD: u1, reserved16: u3, - /// Outter cachability. This bit configure the cachability of an access generated by the GFXMMU cache. + /// Outter cachability. This bit configure the cachability of an access generated by the GFXMMU cache. OC: u1, - /// Outter bufferability. This bit configure the bufferability of an access generated by the GFXMMU cache. + /// Outter bufferability. This bit configure the bufferability of an access generated by the GFXMMU cache. OB: u1, padding: u14, }), - /// GFXMMU status register. + /// GFXMMU status register. SR: mmio.Mmio(packed struct(u32) { - /// Buffer overflow flag. This bit is set when an overflow occurs during the offset calculation of the buffer 0. It is cleared by writing 1 to CB0OF. + /// Buffer overflow flag. This bit is set when an overflow occurs during the offset calculation of the buffer 0. It is cleared by writing 1 to CB0OF. BOF: u1, reserved4: u3, - /// AHB master error flag. This bit is set when an AHB error happens during a transaction. It is cleared by writing 1 to CAMEF. + /// AHB master error flag. This bit is set when an AHB error happens during a transaction. It is cleared by writing 1 to CAMEF. AMEF: u1, padding: u27, }), - /// GFXMMU flag clear register. + /// GFXMMU flag clear register. FCR: mmio.Mmio(packed struct(u32) { - /// Clear buffer overflow flag. Writing 1 clears the buffer 0 overflow flag in the GFXMMU_SR register. + /// Clear buffer overflow flag. Writing 1 clears the buffer 0 overflow flag in the GFXMMU_SR register. CBOF: u1, reserved4: u3, - /// Clear AHB master error flag. Writing 1 clears the AHB master error flag in the GFXMMU_SR register. + /// Clear AHB master error flag. Writing 1 clears the AHB master error flag in the GFXMMU_SR register. CAMEF: u1, padding: u27, }), - /// GFXMMU cache control register. + /// GFXMMU cache control register. CCR: mmio.Mmio(packed struct(u32) { - /// Force flush. When set, the cache entries are flushed. This bit is reset by hardware when the flushing is complete. Write 0 has no effect. + /// Force flush. When set, the cache entries are flushed. This bit is reset by hardware when the flushing is complete. Write 0 has no effect. FF: u1, - /// Force invalidate. When set, the cache entries are invalidated. This bit is reset by hardware when the invalidation is complete. Write 0 has no effect. + /// Force invalidate. When set, the cache entries are invalidated. This bit is reset by hardware when the invalidation is complete. Write 0 has no effect. FI: u1, padding: u30, }), - /// GFXMMU default value register. + /// GFXMMU default value register. DVR: mmio.Mmio(packed struct(u32) { - /// Default value. This field indicates the default 32-bit value which is returned when a master accesses a virtual memory location not physically mapped. + /// Default value. This field indicates the default 32-bit value which is returned when a master accesses a virtual memory location not physically mapped. DV: u32, }), reserved32: [12]u8, - /// GFXMMU buffer 0 configuration register. + /// GFXMMU buffer 0 configuration register. BCR: [4]mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Physical buffer offset. Offset of the physical buffer. + /// Physical buffer offset. Offset of the physical buffer. PBO: u19, - /// Physical buffer base address. Base address MSB of the physical buffer. + /// Physical buffer base address. Base address MSB of the physical buffer. PBBA: u9, }), reserved4096: [4048]u8, - /// GFXMMU LUT entry 0 low. + /// GFXMMU LUT entry 0 low. LUTL: mmio.Mmio(packed struct(u32) { - /// Line enable. + /// Line enable. EN: u1, reserved8: u7, - /// First Valid Block. Number of the first valid block of line number x. + /// First Valid Block. Number of the first valid block of line number x. FVB: u8, - /// Last Valid Block. Number of the last valid block of line number X. + /// Last Valid Block. Number of the last valid block of line number X. LVB: u8, padding: u8, }), - /// GFXMMU LUT entry 0 high. + /// GFXMMU LUT entry 0 high. LUTH: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Line offset. Line offset of line number x (i.e. offset of block 0 of line x). + /// Line offset. Line offset of line number x (i.e. offset of block 0 of line x). LO: u18, padding: u10, }), @@ -343535,399 +340796,345 @@ pub const types = struct { pub const gpdma_v1 = struct { pub const AP = enum(u1) { - /// port 0 (AHB) allocated + /// port 0 (AHB) allocated Port0 = 0x0, - /// port 1 (AHB) allocated + /// port 1 (AHB) allocated Port1 = 0x1, }; pub const BREQ = enum(u1) { - /// the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level. + /// the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level. Burst = 0x0, - /// the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level (see ). + /// the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level (see ). Block = 0x1, }; pub const DEC = enum(u1) { - /// The address is incremented by the programmed offset. + /// The address is incremented by the programmed offset. Add = 0x0, - /// The address is decremented by the programmed offset. + /// The address is decremented by the programmed offset. Subtract = 0x1, }; pub const DREQ = enum(u1) { - /// selected hardware request driven by a source peripheral (request signal taken into account by the GPDMA transfer scheduler over the source/read port) + /// selected hardware request driven by a source peripheral (request signal taken into account by the GPDMA transfer scheduler over the source/read port) SourcePeripheral = 0x0, - /// selected hardware request driven by a destination peripheral (request signal taken into account by the GPDMA transfer scheduler over the destination/write port) + /// selected hardware request driven by a destination peripheral (request signal taken into account by the GPDMA transfer scheduler over the destination/write port) DestinationPeripheral = 0x1, }; pub const DW = enum(u2) { - /// byte + /// byte Byte = 0x0, - /// half-word (2 bytes) + /// half-word (2 bytes) HalfWord = 0x1, - /// word (4 bytes) + /// word (4 bytes) Word = 0x2, _, }; pub const LSM = enum(u1) { - /// channel executed for the full linked-list and completed at the end of the last LLI (CH[x].LLR = 0). The 16 low-significant bits of the link address are null (LA[15:0] = 0) and all the update bits are null (UT1 =UB1 = UT2 = USA = UDA = ULL = 0 and UT3 = UB2 = 0 if present). Then CH[x].BR1.BNDT[15:0] = 0 and CH[x].BR1.BRC[10:0] = 0 if present. + /// channel executed for the full linked-list and completed at the end of the last LLI (CH[x].LLR = 0). The 16 low-significant bits of the link address are null (LA[15:0] = 0) and all the update bits are null (UT1 =UB1 = UT2 = USA = UDA = ULL = 0 and UT3 = UB2 = 0 if present). Then CH[x].BR1.BNDT[15:0] = 0 and CH[x].BR1.BRC[10:0] = 0 if present. RunToCompletion = 0x0, - /// channel executed once for the current LLI + /// channel executed once for the current LLI LinkStep = 0x1, }; pub const PAM = enum(u2) { - /// If destination is wider: source data is transferred as right aligned, padded with 0s up to the destination data width If source is wider: source data is transferred as right aligned, left-truncated down to the destination data width + /// If destination is wider: source data is transferred as right aligned, padded with 0s up to the destination data width If source is wider: source data is transferred as right aligned, left-truncated down to the destination data width ZeroExtendOrLeftTruncate = 0x0, - /// If destination is wider: source data is transferred as right aligned, sign extended up to the destination data width If source is wider: source data is transferred as left-aligned, right-truncated down to the destination data width + /// If destination is wider: source data is transferred as right aligned, sign extended up to the destination data width If source is wider: source data is transferred as left-aligned, right-truncated down to the destination data width SignExtendOrRightTruncate = 0x1, - /// source data is FIFO queued and packed/unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination + /// source data is FIFO queued and packed/unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Pack = 0x2, _, }; pub const PRIO = enum(u2) { - /// low priority, low weight + /// low priority, low weight LowWithLowhWeight = 0x0, - /// low priority, mid weight + /// low priority, mid weight LowWithMidWeight = 0x1, - /// low priority, high weight + /// low priority, high weight LowWithHighWeight = 0x2, - /// high priority + /// high priority High = 0x3, }; pub const SWREQ = enum(u1) { - /// no software request. The selected hardware request REQSEL[6:0] is taken into account. + /// no software request. The selected hardware request REQSEL[6:0] is taken into account. Hardware = 0x0, - /// software request for a memory-to-memory transfer. The default selected hardware request as per REQSEL[6:0] is ignored. + /// software request for a memory-to-memory transfer. The default selected hardware request as per REQSEL[6:0] is ignored. Software = 0x1, }; pub const TCEM = enum(u2) { - /// at block level (when CH[x].BR1.BNDT[15:0] = 0): the complete (and the half) transfer event is generated at the (respectively half of the) end of a block. + /// at block level (when CH[x].BR1.BNDT[15:0] = 0): the complete (and the half) transfer event is generated at the (respectively half of the) end of a block. EachBlock = 0x0, - /// channel x = 0 to 11, same as 00; channel x=12 to 15, at 2D/repeated block level (when CH[x].BR1.BRC[10:0] = 0 and CH[x].BR1.BNDT[15:0] = 0), the complete (and the half) transfer event is generated at the end (respectively half of the end) of the 2D/repeated block. + /// channel x = 0 to 11, same as 00; channel x=12 to 15, at 2D/repeated block level (when CH[x].BR1.BRC[10:0] = 0 and CH[x].BR1.BNDT[15:0] = 0), the complete (and the half) transfer event is generated at the end (respectively half of the end) of the 2D/repeated block. Each2DBlock = 0x1, - /// at LLI level: the complete transfer event is generated at the end of the LLI transfer, including the update of the LLI if any. The half transfer event is generated at the half of the LLI data transfer (the LLI data transfer being a block transfer or a 2D/repeated block transfer for channel x = 12 to 15), if any data transfer. + /// at LLI level: the complete transfer event is generated at the end of the LLI transfer, including the update of the LLI if any. The half transfer event is generated at the half of the LLI data transfer (the LLI data transfer being a block transfer or a 2D/repeated block transfer for channel x = 12 to 15), if any data transfer. EachLinkedListItem = 0x2, - /// at channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI. The last LLI updates the link address CH[x].LLR.LA[15:2] to zero and clears all the CH[x].LLR update bits (UT1, UT2, UB1, USA, UDA and ULL, plus UT3 and UB2 if present). If the channel transfer is continuous/infinite, no event is generated. + /// at channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI. The last LLI updates the link address CH[x].LLR.LA[15:2] to zero and clears all the CH[x].LLR update bits (UT1, UT2, UB1, USA, UDA and ULL, plus UT3 and UB2 if present). If the channel transfer is continuous/infinite, no event is generated. LastLinkedListItem = 0x3, }; pub const TRIGM = enum(u2) { - /// at block level: the first burst read of each block transfer is conditioned by one hit trigger (channel x = 12 to 15, for each block if a 2D/repeated block is configured with CH[x].BR1.BRC[10:0] ≠ 0). + /// at block level: the first burst read of each block transfer is conditioned by one hit trigger (channel x = 12 to 15, for each block if a 2D/repeated block is configured with CH[x].BR1.BRC[10:0] ≠ 0). Block = 0x0, - /// channel x = 0 to 11, same as 00; channel x=12 to 15, at 2D/repeated block level, the + /// channel x = 0 to 11, same as 00; channel x=12 to 15, at 2D/repeated block level, the @"2DBlock" = 0x1, - /// at link level: a LLI link transfer is conditioned by one hit trigger. The LLI data transfer (if any) is not conditioned. + /// at link level: a LLI link transfer is conditioned by one hit trigger. The LLI data transfer (if any) is not conditioned. LinkedListItem = 0x2, - /// at programmed burst level: If SWREQ = 1, each programmed burst read is conditioned by one hit trigger. If SWREQ = 0, each programmed burst that is requested by the selected peripheral, is conditioned by one hit trigger. + /// at programmed burst level: If SWREQ = 1, each programmed burst read is conditioned by one hit trigger. If SWREQ = 0, each programmed burst that is requested by the selected peripheral, is conditioned by one hit trigger. Burst = 0x3, }; pub const TRIGPOL = enum(u2) { - /// no trigger (masked trigger event) + /// no trigger (masked trigger event) None = 0x0, - /// trigger on the rising edge + /// trigger on the rising edge RisingEdge = 0x1, - /// trigger on the falling edge + /// trigger on the falling edge FallingEdge = 0x2, - /// same as 00 + /// same as 00 NoneAlt = 0x3, }; pub const Channel = extern struct { - /// GPDMA channel 15 linked-list base address register + /// GPDMA channel 15 linked-list base address register LBAR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// linked-list base address of GPDMA channel x + /// linked-list base address of GPDMA channel x LBA: u16, }), reserved12: [8]u8, - /// GPDMA channel 15 flag clear register + /// GPDMA channel 15 flag clear register FCR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// transfer complete flag clear + /// transfer complete flag clear TCF: u1, - /// half transfer flag clear + /// half transfer flag clear HTF: u1, - /// data transfer error flag clear + /// data transfer error flag clear DTEF: u1, - /// update link transfer error flag clear + /// update link transfer error flag clear ULEF: u1, - /// user setting error flag clear + /// user setting error flag clear USEF: u1, - /// completed suspension flag clear + /// completed suspension flag clear SUSPF: u1, - /// trigger overrun flag clear + /// trigger overrun flag clear TOF: u1, padding: u17, }), - /// GPDMA channel 15 status register + /// GPDMA channel 15 status register SR: mmio.Mmio(packed struct(u32) { - /// idle flag. This idle flag is de-asserted by hardware when the channel is enabled (CH[x].CR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state). + /// idle flag. This idle flag is de-asserted by hardware when the channel is enabled (CH[x].CR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state). IDLEF: u1, reserved8: u7, - /// transfer complete flag. A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (CH[x].TR2.TCEM[1:0]). + /// transfer complete flag. A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (CH[x].TR2.TCEM[1:0]). TCF: u1, - /// half transfer flag. An half transfer event is either an half block transfer or an half 2D/repeated block transfer, depending on the transfer complete event mode (CH[x].TR2.TCEM[1:0]). An half block transfer occurs when half of the bytes of the source block size (rounded up integer of CH[x].BR1.BNDT[15:0]/2) has been transferred to the destination. An half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (CH[x].BR1.BRC[10:0]+1)/2)) has been transferred to the destination. + /// half transfer flag. An half transfer event is either an half block transfer or an half 2D/repeated block transfer, depending on the transfer complete event mode (CH[x].TR2.TCEM[1:0]). An half block transfer occurs when half of the bytes of the source block size (rounded up integer of CH[x].BR1.BNDT[15:0]/2) has been transferred to the destination. An half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (CH[x].BR1.BRC[10:0]+1)/2)) has been transferred to the destination. HTF: u1, - /// data transfer error flag + /// data transfer error flag DTEF: u1, - /// update link transfer error flag + /// update link transfer error flag ULEF: u1, - /// user setting error flag + /// user setting error flag USEF: u1, - /// completed suspension flag + /// completed suspension flag SUSPF: u1, - /// trigger overrun flag + /// trigger overrun flag TOF: u1, reserved16: u1, - /// monitored FIFO level. Number of available write beats in the FIFO, in units of the programmed destination data width (see CH[x].TR1.DDW[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to CH[x].BR1.BDNT[15:0] and CH[x].BR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (CH[x].SR.SUSPF = 1). + /// monitored FIFO level. Number of available write beats in the FIFO, in units of the programmed destination data width (see CH[x].TR1.DDW[1:0], in units of bytes, half-words, or words). Note: After having suspended an active transfer, the user may need to read FIFOL[7:0], additionally to CH[x].BR1.BDNT[15:0] and CH[x].BR1.BRC[10:0], to know how many data have been transferred to the destination. Before reading, the user may wait for the transfer to be suspended (CH[x].SR.SUSPF = 1). FIFOL: u8, padding: u8, }), - /// GPDMA channel 15 control register + /// GPDMA channel 15 control register CR: mmio.Mmio(packed struct(u32) { - /// enable. Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is de-asserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, e.g. if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored. + /// enable. Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is de-asserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, e.g. if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored. EN: u1, - /// reset. This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (CH[x].SR.SUSPF = 1 and CH[x].SR.IDLEF = CH[x].CR.EN = 1). - channel in disabled state (CH[x].SR.IDLEF = 1 and CH[x].CR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (CH[x].BR1, CH[x].SAR and CH[x].DAR) before enabling again the channel (see the programming sequence in ). + /// reset. This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (CH[x].SR.SUSPF = 1 and CH[x].SR.IDLEF = CH[x].CR.EN = 1). - channel in disabled state (CH[x].SR.IDLEF = 1 and CH[x].CR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (CH[x].BR1, CH[x].SAR and CH[x].DAR) before enabling again the channel (see the programming sequence in ). RESET: u1, - /// suspend. Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel i.e. a channel with an on-going GPDMA transfer over its master ports. The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in . + /// suspend. Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel i.e. a channel with an on-going GPDMA transfer over its master ports. The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in . SUSP: u1, reserved8: u5, - /// transfer complete interrupt enable + /// transfer complete interrupt enable TCIE: u1, - /// half transfer complete interrupt enable + /// half transfer complete interrupt enable HTIE: u1, - /// data transfer error interrupt enable + /// data transfer error interrupt enable DTEIE: u1, - /// update link transfer error interrupt enable + /// update link transfer error interrupt enable ULEIE: u1, - /// user setting error interrupt enable + /// user setting error interrupt enable USEIE: u1, - /// completed suspension interrupt enable + /// completed suspension interrupt enable SUSPIE: u1, - /// trigger overrun interrupt enable + /// trigger overrun interrupt enable TOIE: u1, reserved16: u1, - /// Link step mode. First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until CH[x].BR1.BNDT[15:0] = 0 and CH[x].BR1.BRC[10:0] = 0 if present. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by CH[x].LLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1. - LSM: packed union { - raw: u1, - value: LSM, - }, - /// linked-list allocated port. This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1. - LAP: packed union { - raw: u1, - value: AP, - }, + /// Link step mode. First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until CH[x].BR1.BNDT[15:0] = 0 and CH[x].BR1.BRC[10:0] = 0 if present. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by CH[x].LLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1. + LSM: LSM, + /// linked-list allocated port. This bit is used to allocate the master port for the update of the GPDMA linked-list registers from the memory. Note: This bit must be written when EN=0. This bit is read-only when EN=1. + LAP: AP, reserved22: u4, - /// priority level of the channel x GPDMA transfer versus others. Note: This bit must be written when EN = 0. This bit is read-only when EN = 1. - PRIO: packed union { - raw: u2, - value: PRIO, - }, + /// priority level of the channel x GPDMA transfer versus others. Note: This bit must be written when EN = 0. This bit is read-only when EN = 1. + PRIO: PRIO, padding: u8, }), reserved64: [40]u8, - /// GPDMA channel 15 transfer register 1 + /// GPDMA channel 15 transfer register 1 TR1: mmio.Mmio(packed struct(u32) { - /// binary logarithm of the source data width of a burst in bytes. Note: Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (CH[x].BR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. A source single transfer must have an aligned address with its data width (start address CH[x].SAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued. - SDW: packed union { - raw: u2, - value: DW, - }, + /// binary logarithm of the source data width of a burst in bytes. Note: Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (CH[x].BR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. A source single transfer must have an aligned address with its data width (start address CH[x].SAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued. + SDW: DW, reserved3: u1, - /// source incrementing burst. The source address, pointed by CH[x].SAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer. + /// source incrementing burst. The source address, pointed by CH[x].SAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer. SINC: u1, - /// source burst length minus 1, between 0 and 63. The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower bursts/singles, but the data integrity is guaranteed. + /// source burst length minus 1, between 0 and 63. The burst length unit is one data named beat within a burst. If SBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width SDW_LOG2[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower bursts/singles, but the data integrity is guaranteed. SBL_1: u6, reserved11: u1, - /// padding/alignment mode. If DDW[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else: - Case 1: If destination data width > source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer. - Case 2: If destination data width < source data width. 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination. Note: - PAM: packed union { - raw: u2, - value: PAM, - }, - /// source byte exchange within the unaligned half-word of each source word. If set, the two consecutive bytes within the unaligned half-word of each source word are exchanged. If the source data width is shorter than a word, this bit is ignored. + /// padding/alignment mode. If DDW[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else: - Case 1: If destination data width > source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer. - Case 2: If destination data width < source data width. 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination. Note: + PAM: PAM, + /// source byte exchange within the unaligned half-word of each source word. If set, the two consecutive bytes within the unaligned half-word of each source word are exchanged. If the source data width is shorter than a word, this bit is ignored. SBX: u1, - /// source allocated port. This bit is used to allocate the master port for the source transfer. Note: This bit must be written when EN = 0. This bit is read-only when EN = 1. - SAP: packed union { - raw: u1, - value: AP, - }, - /// security attribute of the GPDMA transfer from the source. If SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when SECCFGR.SECx =1 . A secure write is ignored when SECCFGR.SECx = 0. When SECCFGR.SECx is de-asserted, this SSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the GPDMA transfer from the source is non-secure. + /// source allocated port. This bit is used to allocate the master port for the source transfer. Note: This bit must be written when EN = 0. This bit is read-only when EN = 1. + SAP: AP, + /// security attribute of the GPDMA transfer from the source. If SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when SECCFGR.SECx =1 . A secure write is ignored when SECCFGR.SECx = 0. When SECCFGR.SECx is de-asserted, this SSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the GPDMA transfer from the source is non-secure. SSEC: u1, - /// binary logarithm of the destination data width of a burst, in bytes. Note: Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. A destination burst transfer must have an aligned address with its data width (start address CH[x].DAR[2:0] and address offset CH[x].TR3.DAO[2:0], versus DDW[1:0]). Otherwise a user setting error is reported and no transfer is issued. - DDW: packed union { - raw: u2, - value: DW, - }, + /// binary logarithm of the destination data width of a burst, in bytes. Note: Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. A destination burst transfer must have an aligned address with its data width (start address CH[x].DAR[2:0] and address offset CH[x].TR3.DAO[2:0], versus DDW[1:0]). Otherwise a user setting error is reported and no transfer is issued. + DDW: DW, reserved19: u1, - /// destination incrementing burst. The destination address, pointed by CH[x].DAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer. + /// destination incrementing burst. The destination address, pointed by CH[x].DAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer. DINC: u1, - /// destination burst length minus 1, between 0 and 63. The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower bursts/singles, but the data integrity is guaranteed. + /// destination burst length minus 1, between 0 and 63. The burst length unit is one data named beat within a burst. If DBL_1[5:0] =0 , the burst can be named as single. Each data/beat has a width defined by the destination data width DDW[1:0]. Note: If a burst transfer crossed a 1-Kbyte address boundary on a AHB transfer, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the AHB protocol. If a burst transfer is of length greater than the FIFO size of the channel x, the GPDMA modifies and shortens the programmed burst into singles or bursts of lower length, to be compliant with the FIFO size. Transfer performance is lower, with GPDMA re-arbitration between effective and lower bursts/singles, but the data integrity is guaranteed. DBL_1: u6, - /// destination byte exchange. IF set, the two consecutive (post PAM) bytes are exchanged in each destination half-word. If the destination data size is a byte, this bit is ignored. + /// destination byte exchange. IF set, the two consecutive (post PAM) bytes are exchanged in each destination half-word. If the destination data size is a byte, this bit is ignored. DBX: u1, - /// destination half-word exchange. If set, e two consecutive (post PAM) half-words are exchanged in each destination word. If the destination data size is shorter than a word, this bit is ignored. + /// destination half-word exchange. If set, e two consecutive (post PAM) half-words are exchanged in each destination word. If the destination data size is shorter than a word, this bit is ignored. DHX: u1, reserved30: u2, - /// destination allocated port. This bit is used to allocate the master port for the destination transfer. Note: This bit must be written when EN = 0. This bit is read-only when EN = 1. - DAP: packed union { - raw: u1, - value: AP, - }, - /// security attribute of the GPDMA transfer to the destination. If SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when SECCFGR.SECx = 1. A secure write is ignored when SECCFGR.SECx = 0. When SECCFGR.SECx is de-asserted, this DSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the GPDMA transfer to the destination is non-secure. + /// destination allocated port. This bit is used to allocate the master port for the destination transfer. Note: This bit must be written when EN = 0. This bit is read-only when EN = 1. + DAP: AP, + /// security attribute of the GPDMA transfer to the destination. If SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when SECCFGR.SECx = 1. A secure write is ignored when SECCFGR.SECx = 0. When SECCFGR.SECx is de-asserted, this DSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the GPDMA transfer to the destination is non-secure. DSEC: u1, }), - /// GPDMA channel 15 transfer register 2 + /// GPDMA channel 15 transfer register 2 TR2: mmio.Mmio(packed struct(u32) { - /// GPDMA hardware request selection. These bits are ignored if channel x is activated (CH[x].CR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per . The user must not assign a same input hardware request (same REQSEL[6:0] value) to different active GPDMA channels (CH[x].CR.EN = 1 and CH[x].TR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting. + /// GPDMA hardware request selection. These bits are ignored if channel x is activated (CH[x].CR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per . The user must not assign a same input hardware request (same REQSEL[6:0] value) to different active GPDMA channels (CH[x].CR.EN = 1 and CH[x].TR2.SWREQ = 0 for these channels). GPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting. REQSEL: u7, reserved9: u2, - /// software request. This bit is internally taken into account when CH[x].CR.EN is asserted. - SWREQ: packed union { - raw: u1, - value: SWREQ, - }, - /// destination hardware request. This bit is ignored if channel x is activated (CH[x].CR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: - DREQ: packed union { - raw: u1, - value: DREQ, - }, - /// Block hardware request. If the channel x is activated (CH[x].CR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: - BREQ: packed union { - raw: u1, - value: BREQ, - }, + /// software request. This bit is internally taken into account when CH[x].CR.EN is asserted. + SWREQ: SWREQ, + /// destination hardware request. This bit is ignored if channel x is activated (CH[x].CR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: + DREQ: DREQ, + /// Block hardware request. If the channel x is activated (CH[x].CR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: + BREQ: BREQ, reserved14: u2, - /// trigger mode. These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (CH[x].CR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: first burst read of a 2D/repeated block transfer is conditioned by one hit trigger. – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLIn+1 that updates the CH[x].TR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLIn trigger. After a first new trigger hitn+1 is memorized, if another second trigger hitn+2 is detected and if the hitn triggered transfer is still not completed, hitn+2 is lost and not memorized.memorized. A trigger overrun flag is reported (CH[x].SR.TOF =1 ), and an interrupt is generated if enabled (CH[x].CR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger. - TRIGM: packed union { - raw: u2, - value: TRIGM, - }, - /// trigger event input selection. These bits select the trigger event input of the GPDMA transfer (as per ), with an active trigger event if TRIGPOL[1:0] ≠ 00. + /// trigger mode. These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (CH[x].CR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a GPDMA transfer is conditioned by at least one trigger hit: first burst read of a 2D/repeated block transfer is conditioned by one hit trigger. – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The GPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLIn+1 that updates the CH[x].TR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLIn trigger. After a first new trigger hitn+1 is memorized, if another second trigger hitn+2 is detected and if the hitn triggered transfer is still not completed, hitn+2 is lost and not memorized.memorized. A trigger overrun flag is reported (CH[x].SR.TOF =1 ), and an interrupt is generated if enabled (CH[x].CR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger. + TRIGM: TRIGM, + /// trigger event input selection. These bits select the trigger event input of the GPDMA transfer (as per ), with an active trigger event if TRIGPOL[1:0] ≠ 00. TRIGSEL: u6, reserved24: u2, - /// trigger event polarity. These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]. - TRIGPOL: packed union { - raw: u2, - value: TRIGPOL, - }, + /// trigger event polarity. These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]. + TRIGPOL: TRIGPOL, reserved30: u4, - /// transfer complete event mode. These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI0 data transfer is null/void (directly programmed by the internal register file with CH[x].BR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI0 data transfer is null/void (directly programmed by the internal register file with CH[x].BR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI0 data transfer is null/void (i.e. directly programmed by the internal register file with CH[x].BR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI1. - TCEM: packed union { - raw: u2, - value: TCEM, - }, + /// transfer complete event mode. These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI0 data transfer is null/void (directly programmed by the internal register file with CH[x].BR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI0 data transfer is null/void (directly programmed by the internal register file with CH[x].BR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI0 data transfer is null/void (i.e. directly programmed by the internal register file with CH[x].BR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI1. + TCEM: TCEM, }), - /// GPDMA channel 15 alternate block register 1 + /// GPDMA channel 15 alternate block register 1 BR1: mmio.Mmio(packed struct(u32) { - /// block number of data bytes to transfer from the source. Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if CH[x].LLR.UB1 = 1, this field is updated by the LLI in the memory. - if CH[x].LLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. - if all CH[x].LLR.Uxx = 0 and if CH[x].LLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if CH[x].LLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus CH[x].TR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. When configured in packing mode (CH[x].TR1.PAM[1]=1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus CH[x].TR1.DDW[1:0]). Else a user setting error is reported and no transfer is issued. + /// block number of data bytes to transfer from the source. Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if CH[x].LLR.UB1 = 1, this field is updated by the LLI in the memory. - if CH[x].LLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. - if all CH[x].LLR.Uxx = 0 and if CH[x].LLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if CH[x].LLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus CH[x].TR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. When configured in packing mode (CH[x].TR1.PAM[1]=1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus CH[x].TR1.DDW[1:0]). Else a user setting error is reported and no transfer is issued. BNDT: u16, - /// Block repeat counter. This field contains the number of repetitions of the current block (0 to 2047). When the channel is enabled, this field becomes read-only. After decrements, this field indicates the remaining number of blocks, excluding the current one. This counter is hardware decremented for each completed block transfer. Once the last block transfer is completed (BRC[10:0] = BNDT[15:0] = 0): If CH[x].LLR.UB1 = 1, all CH[x].BR1 fields are updated by the next LLI in the memory. If CH[x].LLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. if all CH[x].LLR.Uxx = 0 and if CH[x].LLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). if CH[x].LLR = 0, this field is kept as zero following the last LLI and data transfer. + /// Block repeat counter. This field contains the number of repetitions of the current block (0 to 2047). When the channel is enabled, this field becomes read-only. After decrements, this field indicates the remaining number of blocks, excluding the current one. This counter is hardware decremented for each completed block transfer. Once the last block transfer is completed (BRC[10:0] = BNDT[15:0] = 0): If CH[x].LLR.UB1 = 1, all CH[x].BR1 fields are updated by the next LLI in the memory. If CH[x].LLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. if all CH[x].LLR.Uxx = 0 and if CH[x].LLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). if CH[x].LLR = 0, this field is kept as zero following the last LLI and data transfer. BRC: u11, reserved28: u1, - /// source address decrement - SDEC: packed union { - raw: u1, - value: DEC, - }, - /// destination address decrement - DDEC: packed union { - raw: u1, - value: DEC, - }, - /// Block repeat source address decrement. Note: On top of this increment/decrement (depending on BRSDEC), CH[x].SAR is in the same time also updated by the increment/decrement (depending on SDEC) of the CH[x].TR3.SAO value, as it is done after any programmed burst transfer. - BRSDEC: packed union { - raw: u1, - value: DEC, - }, - /// Block repeat destination address decrement. Note: On top of this increment/decrement (depending on BRDDEC), CH[x].DAR is in the same time also updated by the increment/decrement (depending on DDEC) of the CH[x].TR3.DAO value, as it is usually done at the end of each programmed burst transfer. - BRDDEC: packed union { - raw: u1, - value: DEC, - }, - }), - /// GPDMA channel 15 source address register + /// source address decrement + SDEC: DEC, + /// destination address decrement + DDEC: DEC, + /// Block repeat source address decrement. Note: On top of this increment/decrement (depending on BRSDEC), CH[x].SAR is in the same time also updated by the increment/decrement (depending on SDEC) of the CH[x].TR3.SAO value, as it is done after any programmed burst transfer. + BRSDEC: DEC, + /// Block repeat destination address decrement. Note: On top of this increment/decrement (depending on BRDDEC), CH[x].DAR is in the same time also updated by the increment/decrement (depending on DDEC) of the CH[x].TR3.DAO value, as it is usually done at the end of each programmed burst transfer. + BRDDEC: DEC, + }), + /// GPDMA channel 15 source address register SAR: u32, - /// GPDMA channel 15 destination address register + /// GPDMA channel 15 destination address register DAR: u32, - /// GPDMA channel 15 transfer register 3 + /// GPDMA channel 15 transfer register 3 TR3: mmio.Mmio(packed struct(u32) { - /// source address offset increment. The source address, pointed by CH[x].SAR, is incremented or decremented (depending on CH[x].BR1.SDEC) by this offset SAO[12:0] for each programmed source burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (CH[x].TR1.SINC = 1). Note: A source address offset must be aligned with the programmed data width of a source burst (SAO[2:0] versus CH[x].TR1.SDW_LOG2[1:0]). Else a user setting error is reported and none transfer is issued. When the source block size is not a multiple of the destination burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional CH[x].TR3.SAO[12:0] is not applied. + /// source address offset increment. The source address, pointed by CH[x].SAR, is incremented or decremented (depending on CH[x].BR1.SDEC) by this offset SAO[12:0] for each programmed source burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (CH[x].TR1.SINC = 1). Note: A source address offset must be aligned with the programmed data width of a source burst (SAO[2:0] versus CH[x].TR1.SDW_LOG2[1:0]). Else a user setting error is reported and none transfer is issued. When the source block size is not a multiple of the destination burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional CH[x].TR3.SAO[12:0] is not applied. SAO: u13, reserved16: u3, - /// destination address offset increment. The destination address, pointed by CH[x].DAR, is incremented or decremented (depending on CH[x].BR1.DDEC) by this offset DAO[12:0] for each programmed destination burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (CH[x].TR1.DINC = 1). Note: A destination address offset must be aligned with the programmed data width of a destination burst (DAO[2:0] versus CH[x].TR1.DDW[1:0]). Else, a user setting error is reported and no transfer is issued. + /// destination address offset increment. The destination address, pointed by CH[x].DAR, is incremented or decremented (depending on CH[x].BR1.DDEC) by this offset DAO[12:0] for each programmed destination burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (CH[x].TR1.DINC = 1). Note: A destination address offset must be aligned with the programmed data width of a destination burst (DAO[2:0] versus CH[x].TR1.DDW[1:0]). Else, a user setting error is reported and no transfer is issued. DAO: u13, padding: u3, }), - /// GPDMA channel 15 block register 2 + /// GPDMA channel 15 block register 2 BR2: mmio.Mmio(packed struct(u32) { - /// Block repeated source address offset. For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on CH[x].BR1.BRSDEC) the current source address (CH[x].SAR) at the end of a block transfer. Note: A block repeated source address offset must be aligned with the programmed data width of a source burst (BRSAO[2:0] versus CH[x].TR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. + /// Block repeated source address offset. For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on CH[x].BR1.BRSDEC) the current source address (CH[x].SAR) at the end of a block transfer. Note: A block repeated source address offset must be aligned with the programmed data width of a source burst (BRSAO[2:0] versus CH[x].TR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. BRSAO: u16, - /// Block repeated destination address offset. For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on CH[x].BR1.BRDDEC) the current destination address (CH[x].DAR) at the end of a block transfer. Note: A block repeated destination address offset must be aligned with the programmed data width of a destination burst (BRDAO[2:0] versus CH[x].TR1.DDW[1:0]). Else a user setting error is reported and no transfer is issued. + /// Block repeated destination address offset. For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on CH[x].BR1.BRDDEC) the current destination address (CH[x].DAR) at the end of a block transfer. Note: A block repeated destination address offset must be aligned with the programmed data width of a destination burst (BRDAO[2:0] versus CH[x].TR1.DDW[1:0]). Else a user setting error is reported and no transfer is issued. BRDAO: u16, }), reserved124: [32]u8, - /// GPDMA channel 15 alternate linked-list address register + /// GPDMA channel 15 alternate linked-list address register LLR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// pointer (16-bit low-significant address) to the next linked-list data structure. If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (CH[x].CTR1, CH[x].TR2, CH[x].BR1, CH[x].SAR, CH[x].DAR and CH[x].LLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored. + /// pointer (16-bit low-significant address) to the next linked-list data structure. If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list GPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list GPDMA internal register file (CH[x].CTR1, CH[x].TR2, CH[x].BR1, CH[x].SAR, CH[x].DAR and CH[x].LLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored. LA: u14, - /// Update CH[x].LLR register from memory. This bit is used to control the update of CH[x].LLR from the memory during the link transfer. + /// Update CH[x].LLR register from memory. This bit is used to control the update of CH[x].LLR from the memory during the link transfer. ULL: u1, reserved25: u8, - /// Update CH[x].BR2 from memory. This bit controls the update of CH[x].BR2 from the memory during the link transfer. + /// Update CH[x].BR2 from memory. This bit controls the update of CH[x].BR2 from the memory during the link transfer. UB2: u1, - /// Update CH[x].TR3 from memory. This bit controls the update of CH[x].TR3 from the memory during the link transfer. + /// Update CH[x].TR3 from memory. This bit controls the update of CH[x].TR3 from the memory during the link transfer. UT3: u1, - /// Update CH[x].DAR register from memory. This bit is used to control the update of CH[x].DAR from the memory during the link transfer. + /// Update CH[x].DAR register from memory. This bit is used to control the update of CH[x].DAR from the memory during the link transfer. UDA: u1, - /// update CH[x].SAR from memory. This bit controls the update of CH[x].SAR from the memory during the link transfer. + /// update CH[x].SAR from memory. This bit controls the update of CH[x].SAR from the memory during the link transfer. USA: u1, - /// Update CH[x].BR1 from memory. This bit controls the update of CH[x].BR1 from the memory during the link transfer. If UB1 = 0 and if CH[x].LLR ≠ 0, the linked-list is not completed. CH[x].BR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer. + /// Update CH[x].BR1 from memory. This bit controls the update of CH[x].BR1 from the memory during the link transfer. If UB1 = 0 and if CH[x].LLR ≠ 0, the linked-list is not completed. CH[x].BR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer. UB1: u1, - /// Update CH[x].TR2 from memory. This bit controls the update of CH[x].TR2 from the memory during the link transfer. + /// Update CH[x].TR2 from memory. This bit controls the update of CH[x].TR2 from the memory during the link transfer. UT2: u1, - /// Update CH[x].TR1 from memory. This bit controls the update of CH[x].TR1 from the memory during the link transfer. + /// Update CH[x].TR1 from memory. This bit controls the update of CH[x].TR1 from the memory during the link transfer. UT1: u1, }), }; - /// GPDMA + /// GPDMA pub const GPDMA = extern struct { - /// GPDMA secure configuration register + /// GPDMA secure configuration register SECCFGR: mmio.Mmio(packed struct(u32) { - /// SEC0 + /// SEC0 SEC: u1, padding: u31, }), - /// GPDMA privileged configuration register + /// GPDMA privileged configuration register PRIVCFGR: mmio.Mmio(packed struct(u32) { - /// PRIV0 + /// PRIV0 PRIV: u1, padding: u31, }), - /// GPDMA configuration lock register + /// GPDMA configuration lock register RCFGLOCKR: mmio.Mmio(packed struct(u32) { - /// LOCK0 + /// LOCK0 LOCK: u1, padding: u31, }), - /// GPDMA non-secure masked interrupt status register + /// GPDMA non-secure masked interrupt status register MISR: mmio.Mmio(packed struct(u32) { - /// MIS0 + /// MIS0 MIS: u1, padding: u31, }), - /// GPDMA secure masked interrupt status register + /// GPDMA secure masked interrupt status register SMISR: mmio.Mmio(packed struct(u32) { - /// MIS0 + /// MIS0 MIS: u1, padding: u31, }), @@ -343938,106 +341145,94 @@ pub const types = struct { pub const gpio_v1 = struct { pub const CNF_IN = enum(u2) { - /// Analog mode + /// Analog mode Analog = 0x0, - /// Floating input (reset state) + /// Floating input (reset state) Floating = 0x1, - /// Input with pull-up/pull-down + /// Input with pull-up/pull-down Pull = 0x2, _, }; pub const CNF_OUT = enum(u2) { - /// Push-Pull mode + /// Push-Pull mode PushPull = 0x0, - /// Open Drain-Mode + /// Open Drain-Mode OpenDrain = 0x1, - /// Alternate Function Push-Pull Mode + /// Alternate Function Push-Pull Mode AltPushPull = 0x2, - /// Alternate Function Open-Drain Mode + /// Alternate Function Open-Drain Mode AltOpenDrain = 0x3, }; pub const IDR = enum(u1) { - /// Input is logic low + /// Input is logic low Low = 0x0, - /// Input is logic high + /// Input is logic high High = 0x1, }; pub const MODE = enum(u2) { - /// Input mode (reset state) + /// Input mode (reset state) Input = 0x0, - /// Output mode 10 MHz + /// Output mode 10 MHz Output10Mhz = 0x1, - /// Output mode 2 MHz + /// Output mode 2 MHz Output2Mhz = 0x2, - /// Output mode 50 MHz + /// Output mode 50 MHz Output50Mhz = 0x3, }; pub const ODR = enum(u1) { - /// Set output to logic low + /// Set output to logic low Low = 0x0, - /// Set output to logic high + /// Set output to logic high High = 0x1, }; - /// General purpose I/O + /// General purpose I/O pub const GPIO = extern struct { - /// Port configuration register low (GPIOn_CRL) + /// Port configuration register low (GPIOn_CRL) CR: [2]mmio.Mmio(packed struct(u32) { - /// Port n mode bits - MODE: packed union { - raw: u2, - value: MODE, - }, - /// Port n configuration bits, for input mode - CNF_IN: packed union { - raw: u2, - value: CNF_IN, - }, + /// Port n mode bits + MODE: MODE, + /// Port n configuration bits, for input mode + CNF_IN: CNF_IN, padding: u28, }), - /// Port input data register (GPIOn_IDR) + /// Port input data register (GPIOn_IDR) IDR: mmio.Mmio(packed struct(u32) { - /// Port input data - IDR: packed union { - raw: u1, - value: IDR, - }, + /// Port input data + IDR: IDR, padding: u31, }), - /// Port output data register (GPIOn_ODR) + /// Port output data register (GPIOn_ODR) ODR: mmio.Mmio(packed struct(u32) { - /// Port output data - ODR: packed union { - raw: u1, - value: ODR, - }, + /// Port output data + ODR: ODR, padding: u31, }), - /// Port bit set/reset register (GPIOn_BSRR) + /// Port bit set/reset register (GPIOn_BSRR) BSRR: mmio.Mmio(packed struct(u32) { - /// Set bit + /// Set bit BS: u1, reserved16: u15, - /// Reset bit + /// Reset bit BR: u1, padding: u15, }), - /// Port bit reset register (GPIOn_BRR) + /// Port bit reset register (GPIOn_BRR) BRR: mmio.Mmio(packed struct(u32) { - /// Reset bit + /// Reset bit BR: u1, padding: u31, }), - /// Port configuration lock register + /// Port configuration lock register LCKR: mmio.Mmio(packed struct(u32) { - /// Port configuration locked + /// Port configuration locked LCK: u1, reserved16: u15, - /// Port configuration lock key active + /// Port configuration lock key active LCKK: u1, padding: u15, }), @@ -344046,135 +341241,117 @@ pub const types = struct { pub const gpio_v2 = struct { pub const IDR = enum(u1) { - /// Input is logic low + /// Input is logic low Low = 0x0, - /// Input is logic high + /// Input is logic high High = 0x1, }; pub const MODER = enum(u2) { - /// Input mode (reset state) + /// Input mode (reset state) Input = 0x0, - /// General purpose output mode + /// General purpose output mode Output = 0x1, - /// Alternate function mode + /// Alternate function mode Alternate = 0x2, - /// Analog mode + /// Analog mode Analog = 0x3, }; pub const ODR = enum(u1) { - /// Set output to logic low + /// Set output to logic low Low = 0x0, - /// Set output to logic high + /// Set output to logic high High = 0x1, }; pub const OSPEEDR = enum(u2) { - /// Low speed + /// Low speed LowSpeed = 0x0, - /// Medium speed + /// Medium speed MediumSpeed = 0x1, - /// High speed + /// High speed HighSpeed = 0x2, - /// Very high speed + /// Very high speed VeryHighSpeed = 0x3, }; pub const OT = enum(u1) { - /// Output push-pull (reset state) + /// Output push-pull (reset state) PushPull = 0x0, - /// Output open-drain + /// Output open-drain OpenDrain = 0x1, }; pub const PUPDR = enum(u2) { - /// No pull-up, pull-down + /// No pull-up, pull-down Floating = 0x0, - /// Pull-up + /// Pull-up PullUp = 0x1, - /// Pull-down + /// Pull-down PullDown = 0x2, _, }; - /// General-purpose I/Os + /// General-purpose I/Os pub const GPIO = extern struct { - /// GPIO port mode register + /// GPIO port mode register MODER: mmio.Mmio(packed struct(u32) { - /// Port x configuration bits (y = 0..15) - MODER: packed union { - raw: u2, - value: MODER, - }, + /// Port x configuration bits (y = 0..15) + MODER: MODER, padding: u30, }), - /// GPIO port output type register + /// GPIO port output type register OTYPER: mmio.Mmio(packed struct(u32) { - /// Port x configuration bits (y = 0..15) - OT: packed union { - raw: u1, - value: OT, - }, + /// Port x configuration bits (y = 0..15) + OT: OT, padding: u31, }), - /// GPIO port output speed register + /// GPIO port output speed register OSPEEDR: mmio.Mmio(packed struct(u32) { - /// Port x configuration bits (y = 0..15) - OSPEEDR: packed union { - raw: u2, - value: OSPEEDR, - }, + /// Port x configuration bits (y = 0..15) + OSPEEDR: OSPEEDR, padding: u30, }), - /// GPIO port pull-up/pull-down register + /// GPIO port pull-up/pull-down register PUPDR: mmio.Mmio(packed struct(u32) { - /// Port x configuration bits (y = 0..15) - PUPDR: packed union { - raw: u2, - value: PUPDR, - }, + /// Port x configuration bits (y = 0..15) + PUPDR: PUPDR, padding: u30, }), - /// GPIO port input data register + /// GPIO port input data register IDR: mmio.Mmio(packed struct(u32) { - /// Port input data (y = 0..15) - IDR: packed union { - raw: u1, - value: IDR, - }, + /// Port input data (y = 0..15) + IDR: IDR, padding: u31, }), - /// GPIO port output data register + /// GPIO port output data register ODR: mmio.Mmio(packed struct(u32) { - /// Port output data (y = 0..15) - ODR: packed union { - raw: u1, - value: ODR, - }, + /// Port output data (y = 0..15) + ODR: ODR, padding: u31, }), - /// GPIO port bit set/reset register + /// GPIO port bit set/reset register BSRR: mmio.Mmio(packed struct(u32) { - /// Port x set bit y (y= 0..15) + /// Port x set bit y (y= 0..15) BS: u1, reserved16: u15, - /// Port x set bit y (y= 0..15) + /// Port x set bit y (y= 0..15) BR: u1, padding: u15, }), - /// GPIO port configuration lock register + /// GPIO port configuration lock register LCKR: mmio.Mmio(packed struct(u32) { - /// Port configuration locked + /// Port configuration locked LCK: u1, reserved16: u15, - /// Port configuration lock key active + /// Port configuration lock key active LCKK: u1, padding: u15, }), - /// GPIO alternate function registers. The register described in the datasheet as AFRL is index 0 in this array, and AFRH is index 1. Note that when operating on AFRH, you need to subtract 8 from any operations on the field array it contains -- the alternate function for pin 9 is at index 1, for instance. + /// GPIO alternate function registers. The register described in the datasheet as AFRL is index 0 in this array, and AFRH is index 1. Note that when operating on AFRH, you need to subtract 8 from any operations on the field array it contains -- the alternate function for pin 9 is at index 1, for instance. AFR: [2]mmio.Mmio(packed struct(u32) { - /// Alternate function selection for one of the pins controlled by this register (0-7). + /// Alternate function selection for one of the pins controlled by this register (0-7). AFR: u4, padding: u28, }), @@ -344182,1517 +341359,1325 @@ pub const types = struct { }; pub const hash_v1 = struct { - /// Hash processor. + /// Hash processor. pub const HASH = extern struct { - /// control register. + /// control register. CR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Initialize message digest calculation. + /// Initialize message digest calculation. INIT: u1, - /// DMA enable. + /// DMA enable. DMAE: u1, - /// Data type selection. + /// Data type selection. DATATYPE: u2, - /// Mode selection. + /// Mode selection. MODE: u1, - /// Algorithm selection. + /// Algorithm selection. ALGO: u1, - /// Number of words already pushed. + /// Number of words already pushed. NBW: u4, - /// DIN not empty. + /// DIN not empty. DINNE: u1, reserved16: u3, - /// Long key selection. + /// Long key selection. LKEY: u1, padding: u15, }), - /// data input register. + /// data input register. DIN: u32, - /// start register. + /// start register. STR: mmio.Mmio(packed struct(u32) { - /// Number of valid bits in the last word of the message. + /// Number of valid bits in the last word of the message. NBLW: u5, reserved8: u3, - /// Digest calculation. + /// Digest calculation. DCAL: u1, padding: u23, }), - /// digest registers. + /// digest registers. HR: [5]u32, - /// interrupt enable register. + /// interrupt enable register. IMR: mmio.Mmio(packed struct(u32) { - /// Data input interrupt enable. + /// Data input interrupt enable. DINIE: u1, - /// Digest calculation completion interrupt enable. + /// Digest calculation completion interrupt enable. DCIE: u1, padding: u30, }), - /// status register. + /// status register. SR: mmio.Mmio(packed struct(u32) { - /// Data input interrupt status. + /// Data input interrupt status. DINIS: u1, - /// Digest calculation completion interrupt status. + /// Digest calculation completion interrupt status. DCIS: u1, - /// DMA Status. + /// DMA Status. DMAS: u1, - /// Busy bit. + /// Busy bit. BUSY: u1, padding: u28, }), reserved248: [208]u8, - /// context swap registers. + /// context swap registers. CSR: [51]u32, }; }; pub const hash_v2 = struct { - /// Hash processor. + /// Hash processor. pub const HASH = extern struct { - /// control register. + /// control register. CR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Initialize message digest calculation. + /// Initialize message digest calculation. INIT: u1, - /// DMA enable. + /// DMA enable. DMAE: u1, - /// Data type selection. + /// Data type selection. DATATYPE: u2, - /// Mode selection. + /// Mode selection. MODE: u1, - /// Algorithm selection. + /// Algorithm selection. ALGO0: u1, - /// Number of words already pushed. + /// Number of words already pushed. NBW: u4, - /// DIN not empty. + /// DIN not empty. DINNE: u1, - /// Multiple DMA Transfers. + /// Multiple DMA Transfers. MDMAT: u1, reserved16: u2, - /// Long key selection. + /// Long key selection. LKEY: u1, reserved18: u1, - /// ALGO. + /// ALGO. ALGO1: u1, padding: u13, }), - /// data input register. + /// data input register. DIN: u32, - /// start register. + /// start register. STR: mmio.Mmio(packed struct(u32) { - /// Number of valid bits in the last word of the message. + /// Number of valid bits in the last word of the message. NBLW: u5, reserved8: u3, - /// Digest calculation. + /// Digest calculation. DCAL: u1, padding: u23, }), - /// digest registers. + /// digest registers. HRA: [5]u32, - /// interrupt enable register. + /// interrupt enable register. IMR: mmio.Mmio(packed struct(u32) { - /// Data input interrupt enable. + /// Data input interrupt enable. DINIE: u1, - /// Digest calculation completion interrupt enable. + /// Digest calculation completion interrupt enable. DCIE: u1, padding: u30, }), - /// status register. + /// status register. SR: mmio.Mmio(packed struct(u32) { - /// Data input interrupt status. + /// Data input interrupt status. DINIS: u1, - /// Digest calculation completion interrupt status. + /// Digest calculation completion interrupt status. DCIS: u1, - /// DMA Status. + /// DMA Status. DMAS: u1, - /// Busy bit. + /// Busy bit. BUSY: u1, padding: u28, }), reserved248: [208]u8, - /// context swap registers. + /// context swap registers. CSR: [54]u32, reserved784: [320]u8, - /// HASH digest register. + /// HASH digest register. HR: [8]u32, }; }; pub const hash_v3 = struct { - /// Hash processor. + /// Hash processor. pub const HASH = extern struct { - /// control register. + /// control register. CR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Initialize message digest calculation. + /// Initialize message digest calculation. INIT: u1, - /// DMA enable. + /// DMA enable. DMAE: u1, - /// Data type selection. + /// Data type selection. DATATYPE: u2, - /// Mode selection. + /// Mode selection. MODE: u1, reserved8: u1, - /// Number of words already pushed. + /// Number of words already pushed. NBW: u4, - /// DIN not empty. + /// DIN not empty. DINNE: u1, - /// Multiple DMA Transfers. + /// Multiple DMA Transfers. MDMAT: u1, reserved16: u2, - /// Long key selection. + /// Long key selection. LKEY: u1, - /// Algorithm selection. + /// Algorithm selection. ALGO: u2, padding: u13, }), - /// data input register. + /// data input register. DIN: u32, - /// start register. + /// start register. STR: mmio.Mmio(packed struct(u32) { - /// Number of valid bits in the last word of the message. + /// Number of valid bits in the last word of the message. NBLW: u5, reserved8: u3, - /// Digest calculation. + /// Digest calculation. DCAL: u1, padding: u23, }), - /// digest registers. + /// digest registers. HRA: [5]u32, - /// interrupt enable register. + /// interrupt enable register. IMR: mmio.Mmio(packed struct(u32) { - /// Data input interrupt enable. + /// Data input interrupt enable. DINIE: u1, - /// Digest calculation completion interrupt enable. + /// Digest calculation completion interrupt enable. DCIE: u1, padding: u30, }), - /// status register. + /// status register. SR: mmio.Mmio(packed struct(u32) { - /// Data input interrupt status. + /// Data input interrupt status. DINIS: u1, - /// Digest calculation completion interrupt status. + /// Digest calculation completion interrupt status. DCIS: u1, - /// DMA Status. + /// DMA Status. DMAS: u1, - /// Busy bit. + /// Busy bit. BUSY: u1, reserved9: u5, - /// Number of words already pushed. + /// Number of words already pushed. NBWP: u5, reserved15: u1, - /// DIN not empty. + /// DIN not empty. DINNE: u1, - /// Number of words expected. + /// Number of words expected. NBWE: u5, padding: u11, }), reserved248: [208]u8, - /// context swap registers. + /// context swap registers. CSR: [103]u32, reserved784: [124]u8, - /// HASH digest register. + /// HASH digest register. HR: [16]u32, }; }; pub const hash_v4 = struct { - /// Hash processor. + /// Hash processor. pub const HASH = extern struct { - /// control register. + /// control register. CR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Initialize message digest calculation. + /// Initialize message digest calculation. INIT: u1, - /// DMA enable. + /// DMA enable. DMAE: u1, - /// Data type selection. + /// Data type selection. DATATYPE: u2, - /// Mode selection. + /// Mode selection. MODE: u1, reserved8: u1, - /// Number of words already pushed. + /// Number of words already pushed. NBW: u4, - /// DIN not empty. + /// DIN not empty. DINNE: u1, - /// Multiple DMA Transfers. + /// Multiple DMA Transfers. MDMAT: u1, reserved16: u2, - /// Long key selection. + /// Long key selection. LKEY: u1, - /// Algorithm selection. + /// Algorithm selection. ALGO: u2, padding: u13, }), - /// data input register. + /// data input register. DIN: u32, - /// start register. + /// start register. STR: mmio.Mmio(packed struct(u32) { - /// Number of valid bits in the last word of the message. + /// Number of valid bits in the last word of the message. NBLW: u5, reserved8: u3, - /// Digest calculation. + /// Digest calculation. DCAL: u1, padding: u23, }), - /// digest registers. + /// digest registers. HRA: [5]u32, - /// interrupt enable register. + /// interrupt enable register. IMR: mmio.Mmio(packed struct(u32) { - /// Data input interrupt enable. + /// Data input interrupt enable. DINIE: u1, - /// Digest calculation completion interrupt enable. + /// Digest calculation completion interrupt enable. DCIE: u1, padding: u30, }), - /// status register. + /// status register. SR: mmio.Mmio(packed struct(u32) { - /// Data input interrupt status. + /// Data input interrupt status. DINIS: u1, - /// Digest calculation completion interrupt status. + /// Digest calculation completion interrupt status. DCIS: u1, - /// DMA Status. + /// DMA Status. DMAS: u1, - /// Busy bit. + /// Busy bit. BUSY: u1, reserved9: u5, - /// Number of words already pushed. + /// Number of words already pushed. NBWP: u5, reserved15: u1, - /// DIN not empty. + /// DIN not empty. DINNE: u1, - /// Number of words expected. + /// Number of words expected. NBWE: u5, padding: u11, }), reserved248: [208]u8, - /// context swap registers. + /// context swap registers. CSR: [54]u32, reserved784: [320]u8, - /// HASH digest register. + /// HASH digest register. HR: [8]u32, }; }; pub const hrtim_v1 = struct { pub const ACTIVEEFFECT = enum(u1) { - /// Timer event has no effect + /// Timer event has no effect NoEffect = 0x0, - /// Timer event forces the output to its active state + /// Timer event forces the output to its active state SetActive = 0x1, }; pub const BRSTDMA = enum(u2) { - /// Update done independently from the DMA burst transfer completion + /// Update done independently from the DMA burst transfer completion Independent = 0x0, - /// Update done when the DMA burst transfer is completed + /// Update done when the DMA burst transfer is completed Completion = 0x1, - /// Update done on master timer roll-over following a DMA burst transfer completion + /// Update done on master timer roll-over following a DMA burst transfer completion Rollover = 0x2, _, }; pub const CAPTUREEFFECT = enum(u1) { - /// Timer event has no effect + /// Timer event has no effect NoEffect = 0x0, - /// Timer event triggers capture + /// Timer event triggers capture TriggerCapture = 0x1, }; pub const CPPSTAT = enum(u1) { - /// Signal applied on output 1 and output 2 forced inactive + /// Signal applied on output 1 and output 2 forced inactive Output1Active = 0x0, - /// Signal applied on output 2 and output 1 forced inactive + /// Signal applied on output 2 and output 1 forced inactive Output2Active = 0x1, }; pub const DACSYNC = enum(u2) { - /// No DAC trigger generated + /// No DAC trigger generated Disabled = 0x0, - /// Trigger generated on DACSync1 + /// Trigger generated on DACSync1 DACSync1 = 0x1, - /// Trigger generated on DACSync2 + /// Trigger generated on DACSync2 DACSync2 = 0x2, - /// Trigger generated on DACSync3 + /// Trigger generated on DACSync3 DACSync3 = 0x3, }; pub const DELCMP = enum(u2) { - /// CMP register is always active (standard compare mode) + /// CMP register is always active (standard compare mode) Standard = 0x0, - /// CMP is recomputed and is active following a capture 1 event + /// CMP is recomputed and is active following a capture 1 event Capture1 = 0x1, - /// CMP is recomputed and is active following a capture 1 event or a Compare 1 match + /// CMP is recomputed and is active following a capture 1 event or a Compare 1 match CaptureX_Compare1 = 0x2, - /// CMP is recomputed and is active following a capture 1 event or a Compare 3 match + /// CMP is recomputed and is active following a capture 1 event or a Compare 3 match CaptureX_Compare3 = 0x3, }; pub const DLYPRT = enum(u3) { - /// Output 1 delayed idle on external event 6 + /// Output 1 delayed idle on external event 6 Output1_EE6 = 0x0, - /// Output 2 delayed idle on external event 6 + /// Output 2 delayed idle on external event 6 Output2_EE6 = 0x1, - /// Output 1 and 2 delayed idle on external event 6 + /// Output 1 and 2 delayed idle on external event 6 Output1_2_EE6 = 0x2, - /// Balanced idle on external event 6 + /// Balanced idle on external event 6 Balanced_EE6 = 0x3, - /// Output 1 delayed idle on external event 7 + /// Output 1 delayed idle on external event 7 Output1_EE7 = 0x4, - /// Output 2 delayed idle on external event 7 + /// Output 2 delayed idle on external event 7 Output2_EE7 = 0x5, - /// Output 1 and 2 delayed idle on external event 7 + /// Output 1 and 2 delayed idle on external event 7 Output1_2_EE7 = 0x6, - /// Balanced idle on external event 7 + /// Balanced idle on external event 7 Balanced_EE7 = 0x7, }; pub const EEFLTR = enum(u4) { - /// No filtering + /// No filtering Disabled = 0x0, - /// Blanking from counter reset/roll-over to Compare 1 + /// Blanking from counter reset/roll-over to Compare 1 BlankResetToCompare1 = 0x1, - /// Blanking from counter reset/roll-over to Compare 2 + /// Blanking from counter reset/roll-over to Compare 2 BlankResetToCompare2 = 0x2, - /// Blanking from counter reset/roll-over to Compare 3 + /// Blanking from counter reset/roll-over to Compare 3 BlankResetToCompare3 = 0x3, - /// Blanking from counter reset/roll-over to Compare 4 + /// Blanking from counter reset/roll-over to Compare 4 BlankResetToCompare4 = 0x4, - /// Blanking from another timing unit: TIMFLTR1 source + /// Blanking from another timing unit: TIMFLTR1 source BlankTIMFLTR1 = 0x5, - /// Blanking from another timing unit: TIMFLTR2 source + /// Blanking from another timing unit: TIMFLTR2 source BlankTIMFLTR2 = 0x6, - /// Blanking from another timing unit: TIMFLTR3 source + /// Blanking from another timing unit: TIMFLTR3 source BlankTIMFLTR3 = 0x7, - /// Blanking from another timing unit: TIMFLTR4 source + /// Blanking from another timing unit: TIMFLTR4 source BlankTIMFLTR4 = 0x8, - /// Blanking from another timing unit: TIMFLTR5 source + /// Blanking from another timing unit: TIMFLTR5 source BlankTIMFLTR5 = 0x9, - /// Blanking from another timing unit: TIMFLTR6 source + /// Blanking from another timing unit: TIMFLTR6 source BlankTIMFLTR6 = 0xa, - /// Blanking from another timing unit: TIMFLTR7 source + /// Blanking from another timing unit: TIMFLTR7 source BlankTIMFLTR7 = 0xb, - /// Blanking from another timing unit: TIMFLTR8 source + /// Blanking from another timing unit: TIMFLTR8 source BlankTIMFLTR8 = 0xc, - /// Windowing from counter reset/roll-over to compare 2 + /// Windowing from counter reset/roll-over to compare 2 WindowResetToCompare2 = 0xd, - /// Windowing from counter reset/roll-over to compare 3 + /// Windowing from counter reset/roll-over to compare 3 WindowResetToCompare3 = 0xe, - /// Windowing from another timing unit: TIMWIN source + /// Windowing from another timing unit: TIMWIN source WindowTIMWIN = 0xf, }; pub const FAULT = enum(u2) { - /// No action: the output is not affected by the fault input and stays in run mode + /// No action: the output is not affected by the fault input and stays in run mode Disabled = 0x0, - /// Output goes to active state after a fault event + /// Output goes to active state after a fault event SetActive = 0x1, - /// Output goes to inactive state after a fault event + /// Output goes to inactive state after a fault event SetInactive = 0x2, - /// Output goes to high-z state after a fault event + /// Output goes to high-z state after a fault event SetHighZ = 0x3, }; pub const FLTEN = enum(u1) { - /// Fault input ignored + /// Fault input ignored Ignored = 0x0, - /// Fault input is active and can disable HRTIM outputs + /// Fault input is active and can disable HRTIM outputs Active = 0x1, }; pub const INACTIVEEFFECT = enum(u1) { - /// Timer event has no effect + /// Timer event has no effect NoEffect = 0x0, - /// Timer event forces the output to its inactive state + /// Timer event forces the output to its inactive state SetInactive = 0x1, }; pub const IPPSTAT = enum(u1) { - /// Protection occurred when the output 1 was active and output 2 forced inactive + /// Protection occurred when the output 1 was active and output 2 forced inactive Output1Active = 0x0, - /// Protection occurred when the output 2 was active and output 1 forced inactive + /// Protection occurred when the output 2 was active and output 1 forced inactive Output2Active = 0x1, }; pub const OUTPUTSTATE = enum(u1) { - /// Output is or was inactive + /// Output is or was inactive Inactive = 0x0, - /// Output is or was active + /// Output is or was active Active = 0x1, }; pub const POL = enum(u1) { - /// Positive polarity (output active high) + /// Positive polarity (output active high) ActiveHigh = 0x0, - /// Negative polarity (output active low) + /// Negative polarity (output active low) ActiveLow = 0x1, }; pub const RESETEFFECT = enum(u1) { - /// Timer Y compare Z event has no effect + /// Timer Y compare Z event has no effect NoEffect = 0x0, - /// Timer X counter is reset upon timer Y compare Z event + /// Timer X counter is reset upon timer Y compare Z event ResetCounter = 0x1, }; pub const SDTF = enum(u1) { - /// Positive deadtime on falling edge + /// Positive deadtime on falling edge Positive = 0x0, - /// Negative deadtime on falling edge + /// Negative deadtime on falling edge Negative = 0x1, }; pub const SDTR = enum(u1) { - /// Positive deadtime on rising edge + /// Positive deadtime on rising edge Positive = 0x0, - /// Negative deadtime on rising edge + /// Negative deadtime on rising edge Negative = 0x1, }; pub const SYNCIN = enum(u2) { - /// Disabled. HRTIM is not synchronized and runs in standalone mode + /// Disabled. HRTIM is not synchronized and runs in standalone mode Disabled = 0x0, - /// Internal event: the HRTIM is synchronized with the on-chip timer + /// Internal event: the HRTIM is synchronized with the on-chip timer Internal = 0x2, - /// External event: a positive pulse on HRTIM_SCIN input triggers the HRTIM + /// External event: a positive pulse on HRTIM_SCIN input triggers the HRTIM External = 0x3, _, }; pub const SYNCOUT = enum(u2) { - /// Disabled + /// Disabled Disabled = 0x0, - /// Positive pulse on SCOUT output (16x f_HRTIM clock cycles) + /// Positive pulse on SCOUT output (16x f_HRTIM clock cycles) PositivePulse = 0x2, - /// Negative pulse on SCOUT output (16x f_HRTIM clock cycles) + /// Negative pulse on SCOUT output (16x f_HRTIM clock cycles) NegativePulse = 0x3, _, }; pub const SYNCRST = enum(u1) { - /// Synchronization event has no effect on Timer x + /// Synchronization event has no effect on Timer x Disabled = 0x0, - /// Synchronization event resets Timer x + /// Synchronization event resets Timer x Reset = 0x1, }; pub const SYNCSRC = enum(u2) { - /// Master timer Start + /// Master timer Start MasterStart = 0x0, - /// Master timer Compare 1 event + /// Master timer Compare 1 event MasterCompare1 = 0x1, - /// Timer A start/reset + /// Timer A start/reset TimerAStart = 0x2, - /// Timer A Compare 1 event + /// Timer A Compare 1 event TimerACompare1 = 0x3, }; pub const SYNCSTRT = enum(u1) { - /// Synchronization event has no effect on Timer x + /// Synchronization event has no effect on Timer x Disabled = 0x0, - /// Synchronization event starts Timer x + /// Synchronization event starts Timer x Start = 0x1, }; pub const TIMAISR_DLYPRT = enum(u1) { - /// Not in delayed idle or balanced idle mode + /// Not in delayed idle or balanced idle mode Inactive = 0x0, - /// Delayed idle or balanced idle mode entry + /// Delayed idle or balanced idle mode entry Active = 0x1, }; pub const UPDGAT = enum(u4) { - /// Update occurs independently from the DMA burst transfer + /// Update occurs independently from the DMA burst transfer Independent = 0x0, - /// Update occurs when the DMA burst transfer is completed + /// Update occurs when the DMA burst transfer is completed DMABurst = 0x1, - /// Update occurs on the update event following DMA burst transfer completion + /// Update occurs on the update event following DMA burst transfer completion DMABurst_Update = 0x2, - /// Update occurs on a rising edge of HRTIM update enable input 1 + /// Update occurs on a rising edge of HRTIM update enable input 1 Input1 = 0x3, - /// Update occurs on a rising edge of HRTIM update enable input 2 + /// Update occurs on a rising edge of HRTIM update enable input 2 Input2 = 0x4, - /// Update occurs on a rising edge of HRTIM update enable input 3 + /// Update occurs on a rising edge of HRTIM update enable input 3 Input3 = 0x5, - /// Update occurs on the update event following a rising edge of HRTIM update enable input 1 + /// Update occurs on the update event following a rising edge of HRTIM update enable input 1 Input1_Update = 0x6, - /// Update occurs on the update event following a rising edge of HRTIM update enable input 2 + /// Update occurs on the update event following a rising edge of HRTIM update enable input 2 Input2_Update = 0x7, - /// Update occurs on the update event following a rising edge of HRTIM update enable input 3 + /// Update occurs on the update event following a rising edge of HRTIM update enable input 3 Input3_Update = 0x8, _, }; - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM = extern struct { - /// Master Timer Control Register + /// Master Timer Control Register MCR: mmio.Mmio(packed struct(u32) { - /// HRTIM Master Clock prescaler + /// HRTIM Master Clock prescaler CKPSC: u3, - /// Master Continuous mode + /// Master Continuous mode CONT: u1, - /// Master Re-triggerable mode + /// Master Re-triggerable mode RETRIG: u1, - /// Half mode enable + /// Half mode enable HALF: u1, reserved8: u2, - /// Synchronization input - SYNCIN: packed union { - raw: u2, - value: SYNCIN, - }, - /// Synchronization Resets Master + /// Synchronization input + SYNCIN: SYNCIN, + /// Synchronization Resets Master SYNCRSTM: u1, - /// Synchronization Starts Master + /// Synchronization Starts Master SYNCSTRTM: u1, - /// Synchronization output - SYNCOUT: packed union { - raw: u2, - value: SYNCOUT, - }, - /// Synchronization source - SYNCSRC: packed union { - raw: u2, - value: SYNCSRC, - }, - /// Master Counter enable + /// Synchronization output + SYNCOUT: SYNCOUT, + /// Synchronization source + SYNCSRC: SYNCSRC, + /// Master Counter enable MCEN: u1, - /// Timer X counter enable + /// Timer X counter enable TCEN: u1, reserved25: u7, - /// AC Synchronization - DACSYNC: packed union { - raw: u2, - value: DACSYNC, - }, - /// Preload enable + /// AC Synchronization + DACSYNC: DACSYNC, + /// Preload enable PREEN: u1, reserved29: u1, - /// Master Timer Repetition update + /// Master Timer Repetition update MREPU: u1, - /// Burst DMA Update - BRSTDMA: packed union { - raw: u2, - value: BRSTDMA, - }, + /// Burst DMA Update + BRSTDMA: BRSTDMA, }), - /// Master Timer Interrupt Status Register + /// Master Timer Interrupt Status Register MISR: mmio.Mmio(packed struct(u32) { - /// Master Compare X Interrupt Flag + /// Master Compare X Interrupt Flag MCMP: u1, reserved4: u3, - /// Master Repetition Interrupt Flag + /// Master Repetition Interrupt Flag MREP: u1, - /// Sync Input Interrupt Flag + /// Sync Input Interrupt Flag SYNC: u1, - /// Master Update Interrupt Flag + /// Master Update Interrupt Flag MUPD: u1, padding: u25, }), - /// Master Timer Interrupt Clear Register + /// Master Timer Interrupt Clear Register MICR: mmio.Mmio(packed struct(u32) { - /// Master Compare X Interrupt flag clear + /// Master Compare X Interrupt flag clear MCMPC: u1, reserved4: u3, - /// Repetition Interrupt flag clear + /// Repetition Interrupt flag clear MREPC: u1, - /// Sync Input Interrupt flag clear + /// Sync Input Interrupt flag clear SYNCC: u1, - /// Master update Interrupt flag clear + /// Master update Interrupt flag clear MUPDC: u1, padding: u25, }), - /// Master Timer DMA / Interrupt Enable Register + /// Master Timer DMA / Interrupt Enable Register MDIER: mmio.Mmio(packed struct(u32) { - /// Master Compare X Interrupt Enable + /// Master Compare X Interrupt Enable MCMPIE: u1, reserved4: u3, - /// Master Repetition Interrupt Enable + /// Master Repetition Interrupt Enable MREPIE: u1, - /// Sync Input Interrupt Enable + /// Sync Input Interrupt Enable SYNCIE: u1, - /// Master Update Interrupt Enable + /// Master Update Interrupt Enable MUPDIE: u1, reserved16: u9, - /// Master Compare X DMA request Enable + /// Master Compare X DMA request Enable MCMPDE: u1, reserved20: u3, - /// Master Repetition DMA request Enable + /// Master Repetition DMA request Enable MREPDE: u1, - /// Sync Input DMA request Enable + /// Sync Input DMA request Enable SYNCDE: u1, - /// Master Update DMA request Enable + /// Master Update DMA request Enable MUPDDE: u1, padding: u9, }), - /// Master Timer Counter Register + /// Master Timer Counter Register MCNTR: mmio.Mmio(packed struct(u32) { - /// Counter value + /// Counter value MCNT: u16, padding: u16, }), - /// Master Timer Period Register + /// Master Timer Period Register MPER: mmio.Mmio(packed struct(u32) { - /// Master Timer Period value + /// Master Timer Period value MPER: u16, padding: u16, }), - /// Master Timer Repetition Register + /// Master Timer Repetition Register MREP: mmio.Mmio(packed struct(u32) { - /// Master Timer Repetition counter value + /// Master Timer Repetition counter value MREP: u8, padding: u24, }), - /// Master Timer Compare X Register + /// Master Timer Compare X Register MCMP: mmio.Mmio(packed struct(u32) { - /// Master Timer Compare X value + /// Master Timer Compare X value MCMP: u16, padding: u16, }), reserved128: [96]u8, - /// High Resolution Timer: Timing Unit + /// High Resolution Timer: Timing Unit TIM: u32, reserved896: [764]u8, - /// High Resolution Timer: Control Register 1 + /// High Resolution Timer: Control Register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Master Update Disable + /// Master Update Disable MUDIS: u1, - /// Timer X Update Disable + /// Timer X Update Disable TUDIS: u1, reserved16: u14, - /// ADC Trigger X Update Source + /// ADC Trigger X Update Source ADUSRC: u3, padding: u13, }), - /// High Resolution Timer: Control Register 2 + /// High Resolution Timer: Control Register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Master Timer Software Update + /// Master Timer Software Update MSWU: u1, - /// Timer X Software Update + /// Timer X Software Update TSWU: u1, reserved8: u6, - /// Master Counter Software Reset + /// Master Counter Software Reset MRST: u1, - /// Timer X Counter Software Reset + /// Timer X Counter Software Reset TRST: u1, padding: u22, }), - /// High Resolution Timer: Interrupt Status Register + /// High Resolution Timer: Interrupt Status Register ISR: mmio.Mmio(packed struct(u32) { - /// Fault X Interrupt Flag + /// Fault X Interrupt Flag FLT: u1, reserved5: u4, - /// System Fault Interrupt Flag + /// System Fault Interrupt Flag SYSFLT: u1, reserved16: u10, - /// DLL Ready Interrupt Flag + /// DLL Ready Interrupt Flag DLLRDY: u1, - /// Burst Mode Period Interrupt Flag + /// Burst Mode Period Interrupt Flag BMPER: u1, padding: u14, }), - /// High Resolution Timer: Interrupt Clear Register + /// High Resolution Timer: Interrupt Clear Register ICR: mmio.Mmio(packed struct(u32) { - /// Fault X Interrupt Flag Clear + /// Fault X Interrupt Flag Clear FLT: u1, reserved5: u4, - /// System Fault Interrupt Flag Clear + /// System Fault Interrupt Flag Clear SYSFLT: u1, reserved16: u10, - /// DLL Ready Interrupt Flag Clear + /// DLL Ready Interrupt Flag Clear DLLRDY: u1, - /// Burst Mode Period Interrupt Flag Clear + /// Burst Mode Period Interrupt Flag Clear BMPER: u1, padding: u14, }), - /// High Resolution Timer: Interrupt Enable Register + /// High Resolution Timer: Interrupt Enable Register IER: mmio.Mmio(packed struct(u32) { - /// Fault X Interrupt Flag Enable + /// Fault X Interrupt Flag Enable FLT: u1, reserved5: u4, - /// System Fault Interrupt Flag Enable + /// System Fault Interrupt Flag Enable SYSFLT: u1, reserved16: u10, - /// DLL Ready Interrupt Flag Enable + /// DLL Ready Interrupt Flag Enable DLLRDY: u1, - /// Burst Mode Period Interrupt Flag Enable + /// Burst Mode Period Interrupt Flag Enable BMPER: u1, padding: u14, }), - /// High Resolution Timer: Output Enable Register + /// High Resolution Timer: Output Enable Register OENR: mmio.Mmio(packed struct(u32) { - /// Timer X Output Enable + /// Timer X Output Enable T1OEN: u1, - /// Timer X Complementary Output Enable + /// Timer X Complementary Output Enable T2OEN: u1, padding: u30, }), - /// High Resolution Timer: Output Disable Register + /// High Resolution Timer: Output Disable Register ODISR: mmio.Mmio(packed struct(u32) { - /// Timer X Output Disable + /// Timer X Output Disable T1ODIS: u1, - /// Timer X Complementary Output Disable + /// Timer X Complementary Output Disable T2ODIS: u1, padding: u30, }), - /// High Resolution Timer: Output Disable Status Register + /// High Resolution Timer: Output Disable Status Register ODSR: mmio.Mmio(packed struct(u32) { - /// Timer X Output Disable Status + /// Timer X Output Disable Status T1ODIS: u1, - /// Timer X Complementary Output Disable Status + /// Timer X Complementary Output Disable Status T2ODIS: u1, padding: u30, }), - /// High Resolution Timer: Burst Mode Control Register + /// High Resolution Timer: Burst Mode Control Register BMCR: mmio.Mmio(packed struct(u32) { - /// Burst Mode Enable + /// Burst Mode Enable BME: u1, - /// Burst Mode Operating Mode + /// Burst Mode Operating Mode BMOM: u1, - /// Burst Mode Clock source + /// Burst Mode Clock source BMCLK: u3, reserved6: u1, - /// Burst Mode Prescaler + /// Burst Mode Prescaler BMPRSC: u3, reserved10: u1, - /// Burst Mode Preload Enable + /// Burst Mode Preload Enable BMPREN: u1, reserved16: u5, - /// Master Timer Burst Mode + /// Master Timer Burst Mode MTBM: u1, - /// Timer X Burst Mode + /// Timer X Burst Mode TBM: u1, reserved31: u13, BMSTAT: u1, }), - /// High Resolution Timer: Burst Mode Trigger Register + /// High Resolution Timer: Burst Mode Trigger Register BMTRGR: mmio.Mmio(packed struct(u32) { - /// Software start + /// Software start SW: u1, - /// Master reset or roll-over + /// Master reset or roll-over MSTRST: u1, - /// Master repetition + /// Master repetition MSTREP: u1, - /// Master Compare X + /// Master Compare X MSTCMP: u1, reserved7: u3, - /// Timer X reset or roll-over + /// Timer X reset or roll-over TRST: u1, - /// Timer X repetition + /// Timer X repetition TREP: u1, - /// Timer X compare 1 event + /// Timer X compare 1 event TCMP1: u1, - /// Timer X compare 2 event + /// Timer X compare 2 event TCMP2: u1, padding: u21, }), - /// High Resolution Timer: Burst Mode Compare Register + /// High Resolution Timer: Burst Mode Compare Register BMCMPR: mmio.Mmio(packed struct(u32) { - /// Burst mode compare value + /// Burst mode compare value BMCMP: u16, padding: u16, }), - /// High Resolution Timer: Burst Mode Period Register + /// High Resolution Timer: Burst Mode Period Register BMPER: mmio.Mmio(packed struct(u32) { - /// Burst mode period value + /// Burst mode period value BMPER: u16, padding: u16, }), - /// High Resolution Timer: External Event Control Register 1 + /// High Resolution Timer: External Event Control Register 1 EECR1: mmio.Mmio(packed struct(u32) { - /// External Event X Source + /// External Event X Source EESRC: u2, - /// External Event X Polarity + /// External Event X Polarity EEPOL: u1, - /// External Event X Sensitivity + /// External Event X Sensitivity EESNS: u2, - /// External Event X Fast Mode + /// External Event X Fast Mode EEFAST: u2, padding: u25, }), - /// High Resolution Timer: External Event Control Register 2 + /// High Resolution Timer: External Event Control Register 2 EECR2: mmio.Mmio(packed struct(u32) { - /// External Event X Source + /// External Event X Source EESRC: u2, - /// External Event X Polarity + /// External Event X Polarity EEPOL: u1, - /// External Event X Sensitivity + /// External Event X Sensitivity EESNS: u2, padding: u27, }), - /// High Resolution Timer: External Event Control Register 3 + /// High Resolution Timer: External Event Control Register 3 EECR3: mmio.Mmio(packed struct(u32) { - /// External Event X filter + /// External Event X filter EEF: u3, reserved30: u27, - /// External Event Sampling Clock Division + /// External Event Sampling Clock Division EEVSD: u2, }), - /// High Resolution Timer: ADC Trigger [1, 3] Register + /// High Resolution Timer: ADC Trigger [1, 3] Register ADC1R: mmio.Mmio(packed struct(u32) { - /// ADC trigger X on Master Compare Y + /// ADC trigger X on Master Compare Y ADCMC: u1, reserved4: u3, - /// ADC trigger X on Master Period + /// ADC trigger X on Master Period ADCMPER: u1, - /// ADC trigger X on External Event Y + /// ADC trigger X on External Event Y ADCEEV: u1, reserved10: u4, - /// ADC trigger X on Timer Y Compare 2 + /// ADC trigger X on Timer Y Compare 2 ADCTC2: u1, - /// ADC trigger X on Timer Y Compare 3 + /// ADC trigger X on Timer Y Compare 3 ADCTC3: u1, - /// ADC trigger X on Timer Y Compare 3 + /// ADC trigger X on Timer Y Compare 3 ADCTC4: u1, - /// ADC trigger X on Timer Y Period + /// ADC trigger X on Timer Y Period ADCTPER: u1, - /// ADC trigger X on Timer Y Reset + /// ADC trigger X on Timer Y Reset ADCTRST: u1, padding: u17, }), - /// High Resolution Timer: ADC Trigger [2, 4] Register + /// High Resolution Timer: ADC Trigger [2, 4] Register ADC2R: mmio.Mmio(packed struct(u32) { - /// ADC trigger X on Master Compare Y + /// ADC trigger X on Master Compare Y ADCMC: u1, reserved4: u3, - /// ADC trigger X on Master Period + /// ADC trigger X on Master Period ADCMPER: u1, - /// ADC trigger X on External Event Y + /// ADC trigger X on External Event Y ADCEEV: u1, reserved10: u4, - /// ADC trigger X on Timer Y Compare 2 + /// ADC trigger X on Timer Y Compare 2 ADCTC2: u1, - /// ADC trigger X on Timer Y Compare 3 + /// ADC trigger X on Timer Y Compare 3 ADCTC3: u1, - /// ADC trigger X on Timer Y Compare 3 + /// ADC trigger X on Timer Y Compare 3 ADCTC4: u1, - /// ADC trigger X on Timer Y Period + /// ADC trigger X on Timer Y Period ADCTPER: u1, reserved22: u8, - /// ADC trigger X on Timer Y Reset + /// ADC trigger X on Timer Y Reset ADCTRST: u1, padding: u9, }), reserved972: [8]u8, - /// High Resolution Timer: DLL Control Register + /// High Resolution Timer: DLL Control Register DLLCR: mmio.Mmio(packed struct(u32) { - /// DLL Calibration Start + /// DLL Calibration Start CAL: u1, - /// DLL Calibration Enable + /// DLL Calibration Enable CALEN: u1, - /// DLL Calibration Rate + /// DLL Calibration Rate CALRTE: u2, padding: u28, }), - /// High Resolution Timer: Fault Input Register 1 + /// High Resolution Timer: Fault Input Register 1 FLTINR1: mmio.Mmio(packed struct(u32) { - /// Fault X enable + /// Fault X enable FLTE: u1, - /// Fault X polarity + /// Fault X polarity FLTP: u1, - /// Fault X source + /// Fault X source FLTSRC: u1, - /// Fault X filter + /// Fault X filter FLTF: u4, - /// Fault X Lock + /// Fault X Lock FLTLCK: u1, padding: u24, }), reserved984: [4]u8, - /// High Resolution Timer: Burst DMA Master timer update Register + /// High Resolution Timer: Burst DMA Master timer update Register BDMUPR: mmio.Mmio(packed struct(u32) { - /// MCR register update enable + /// MCR register update enable MCR: u1, - /// MICR register update enable + /// MICR register update enable MICR: u1, - /// MDIER register update enable + /// MDIER register update enable MDIER: u1, - /// MCNT register update enable + /// MCNT register update enable MCNT: u1, - /// MPER register update enable + /// MPER register update enable MPER: u1, - /// MREP register update enable + /// MREP register update enable MREP: u1, - /// MCMP register X update enable + /// MCMP register X update enable MCMP: u1, padding: u25, }), - /// High Resolution Timer: Burst DMA Timer X update Register + /// High Resolution Timer: Burst DMA Timer X update Register BDTUPR: [5]mmio.Mmio(packed struct(u32) { - /// CR register update enable + /// CR register update enable CR: u1, - /// ICR register update enable + /// ICR register update enable ICR: u1, - /// DIER register update enable + /// DIER register update enable DIER: u1, - /// CNT register update enable + /// CNT register update enable CNT: u1, - /// PER register update enable + /// PER register update enable PER: u1, - /// REP register update enable + /// REP register update enable REP: u1, - /// CMP register X update enable + /// CMP register X update enable CMP: u1, padding: u25, }), - /// High Resolution Timer: Burst DMA Data Register + /// High Resolution Timer: Burst DMA Data Register BDMADR: mmio.Mmio(packed struct(u32) { - /// Burst DMA Data register + /// Burst DMA Data register BDMADR: u31, padding: u1, }), }; - /// High Resolution Timer: Timing Unit + /// High Resolution Timer: Timing Unit pub const HRTIM_TIMX = extern struct { - /// Timer X Control Register + /// Timer X Control Register CR: mmio.Mmio(packed struct(u32) { - /// HRTIM Timer x Clock prescaler + /// HRTIM Timer x Clock prescaler CKPSC: u3, - /// Continuous mode + /// Continuous mode CONT: u1, - /// Re-triggerable mode + /// Re-triggerable mode RETRIG: u1, - /// Half mode enable + /// Half mode enable HALF: u1, - /// Push-Pull mode enable + /// Push-Pull mode enable PSHPLL: u1, reserved10: u3, - /// Synchronization Resets Timer X - SYNCRST: packed union { - raw: u1, - value: SYNCRST, - }, - /// Synchronization Starts Timer X - SYNCSTRT: packed union { - raw: u1, - value: SYNCSTRT, - }, - /// Delayed CMP2 mode - DELCMP2: packed union { - raw: u2, - value: DELCMP, - }, - /// Delayed CMP4 mode - DELCMP4: packed union { - raw: u2, - value: DELCMP, - }, + /// Synchronization Resets Timer X + SYNCRST: SYNCRST, + /// Synchronization Starts Timer X + SYNCSTRT: SYNCSTRT, + /// Delayed CMP2 mode + DELCMP2: DELCMP, + /// Delayed CMP4 mode + DELCMP4: DELCMP, reserved17: u1, - /// Timer X Repetition update + /// Timer X Repetition update REPU: u1, - /// Timer X reset update + /// Timer X reset update RSTU: u1, - /// Timer A update + /// Timer A update TAU: u1, - /// Timer B update + /// Timer B update TBU: u1, - /// Timer C update + /// Timer C update TCU: u1, - /// Timer D update + /// Timer D update TDU: u1, - /// Timer E update + /// Timer E update TEU: u1, - /// Master Timer update + /// Master Timer update MSTU: u1, - /// AC Synchronization - DACSYNC: packed union { - raw: u2, - value: DACSYNC, - }, - /// Preload enable + /// AC Synchronization + DACSYNC: DACSYNC, + /// Preload enable PREEN: u1, - /// Update Gating - UPDGAT: packed union { - raw: u4, - value: UPDGAT, - }, + /// Update Gating + UPDGAT: UPDGAT, }), - /// Timer X Interrupt Status Register + /// Timer X Interrupt Status Register ISR: mmio.Mmio(packed struct(u32) { - /// Compare X Interrupt Flag + /// Compare X Interrupt Flag CMP: u1, reserved4: u3, - /// Repetition Interrupt Flag + /// Repetition Interrupt Flag REP: u1, reserved6: u1, - /// Update Interrupt Flag + /// Update Interrupt Flag UPD: u1, - /// Capture X Interrupt Flag + /// Capture X Interrupt Flag CPT: u1, reserved9: u1, - /// Output X Set Interrupt Flag + /// Output X Set Interrupt Flag SETR: u1, - /// Output X Reset Interrupt Flag + /// Output X Reset Interrupt Flag RSTR: u1, reserved13: u2, - /// Reset Interrupt Flag + /// Reset Interrupt Flag RST: u1, - /// Delayed Protection Flag - DLYPRT: packed union { - raw: u1, - value: TIMAISR_DLYPRT, - }, + /// Delayed Protection Flag + DLYPRT: TIMAISR_DLYPRT, reserved16: u1, - /// Current Push Pull Status - CPPSTAT: packed union { - raw: u1, - value: CPPSTAT, - }, - /// Idle Push Pull Status - IPPSTAT: packed union { - raw: u1, - value: IPPSTAT, - }, - /// Output X State - OSTAT: packed union { - raw: u1, - value: OUTPUTSTATE, - }, + /// Current Push Pull Status + CPPSTAT: CPPSTAT, + /// Idle Push Pull Status + IPPSTAT: IPPSTAT, + /// Output X State + OSTAT: OUTPUTSTATE, reserved20: u1, - /// Output X Copy - OCPY: packed union { - raw: u1, - value: OUTPUTSTATE, - }, + /// Output X Copy + OCPY: OUTPUTSTATE, padding: u11, }), - /// Timer X Interrupt Clear Register + /// Timer X Interrupt Clear Register ICR: mmio.Mmio(packed struct(u32) { - /// Compare X Interrupt flag Clear + /// Compare X Interrupt flag Clear CMPC: u1, reserved4: u3, - /// Repetition Interrupt flag Clear + /// Repetition Interrupt flag Clear REPC: u1, reserved6: u1, - /// Update Interrupt flag Clear + /// Update Interrupt flag Clear UPDC: u1, - /// Capture X Interrupt flag Clear + /// Capture X Interrupt flag Clear CPTC: u1, reserved9: u1, - /// Output X Set flag Clear + /// Output X Set flag Clear SETRC: u1, - /// Output X Reset flag Clear + /// Output X Reset flag Clear RSTRC: u1, reserved13: u2, - /// Reset Interrupt flag Clear + /// Reset Interrupt flag Clear RSTC: u1, - /// Delayed Protection Flag Clear + /// Delayed Protection Flag Clear DLYPRTC: u1, padding: u17, }), - /// Timer X DMA / Interrupt Enable Register + /// Timer X DMA / Interrupt Enable Register DIER: mmio.Mmio(packed struct(u32) { - /// Compare X Interrupt Enable + /// Compare X Interrupt Enable CMPIE: u1, reserved4: u3, - /// Repetition Interrupt Enable + /// Repetition Interrupt Enable REPIE: u1, reserved6: u1, - /// Update Interrupt Enable + /// Update Interrupt Enable UPDIE: u1, - /// Capture Interrupt Enable + /// Capture Interrupt Enable CPTIE: u1, reserved9: u1, - /// Output X Set Interrupt Enable + /// Output X Set Interrupt Enable SETRIE: u1, - /// Output X Reset Interrupt Enable + /// Output X Reset Interrupt Enable RSTRIE: u1, reserved13: u2, - /// Reset/roll-over Interrupt Enable + /// Reset/roll-over Interrupt Enable RSTIE: u1, - /// Delayed Protection Interrupt Enable + /// Delayed Protection Interrupt Enable DLYPRTIE: u1, reserved16: u1, - /// Compare X DMA request Enable + /// Compare X DMA request Enable CMPDE: u1, reserved20: u3, - /// Repetition DMA request Enable + /// Repetition DMA request Enable REPDE: u1, reserved22: u1, - /// Update DMA request Enable + /// Update DMA request Enable UPDDE: u1, - /// Capture X DMA request Enable + /// Capture X DMA request Enable CPTDE: u1, reserved25: u1, - /// Output X Set DMA request Enable + /// Output X Set DMA request Enable SETRDE: u1, - /// Output X Reset DMA request Enable + /// Output X Reset DMA request Enable RSTRDE: u1, reserved29: u2, - /// Reset/roll-over DMA request Enable + /// Reset/roll-over DMA request Enable RSTDE: u1, - /// Delayed Protection DMA request Enable + /// Delayed Protection DMA request Enable DLYPRTDE: u1, padding: u1, }), - /// Timer X Counter Register + /// Timer X Counter Register CNT: mmio.Mmio(packed struct(u32) { - /// Timerx Counter value + /// Timerx Counter value CNT: u16, padding: u16, }), - /// Timer X Period Register + /// Timer X Period Register PER: mmio.Mmio(packed struct(u32) { - /// Timerx Period value + /// Timerx Period value PER: u16, padding: u16, }), - /// Timer X Repetition Register + /// Timer X Repetition Register REP: mmio.Mmio(packed struct(u32) { - /// Timerx Repetition counter value + /// Timerx Repetition counter value REP: u8, padding: u24, }), - /// Timer X Compare X Register + /// Timer X Compare X Register CMP: mmio.Mmio(packed struct(u32) { - /// Timerx Compare X value + /// Timerx Compare X value CMP: u16, padding: u16, }), - /// Timer X Compare X Compound Register + /// Timer X Compare X Compound Register CMPC: mmio.Mmio(packed struct(u32) { - /// Timerx Compare X value + /// Timerx Compare X value CMP: u16, - /// Timerx Repetition value (aliased from HRTIM_REPx register) + /// Timerx Repetition value (aliased from HRTIM_REPx register) REP: u8, padding: u8, }), reserved48: [12]u8, - /// Timer X Capture X Register + /// Timer X Capture X Register CPT: [2]mmio.Mmio(packed struct(u32) { - /// Timerx Capture X value + /// Timerx Capture X value CPT: u16, padding: u16, }), - /// Timer X Deadtime Register + /// Timer X Deadtime Register DT: mmio.Mmio(packed struct(u32) { - /// Deadtime Rising value + /// Deadtime Rising value DTR: u9, - /// Sign Deadtime Rising value - SDTR: packed union { - raw: u1, - value: SDTR, - }, - /// Deadtime Prescaler + /// Sign Deadtime Rising value + SDTR: SDTR, + /// Deadtime Prescaler DTPRSC: u3, reserved14: u1, - /// Deadtime Rising Sign Lock + /// Deadtime Rising Sign Lock DTRSLK: u1, - /// Deadtime Rising Lock + /// Deadtime Rising Lock DTRLK: u1, - /// Deadtime Falling value + /// Deadtime Falling value DTF: u9, - /// Sign Deadtime Falling value - SDTF: packed union { - raw: u1, - value: SDTF, - }, + /// Sign Deadtime Falling value + SDTF: SDTF, reserved30: u4, - /// Deadtime Falling Sign Lock + /// Deadtime Falling Sign Lock DTFSLK: u1, - /// Deadtime Falling Lock + /// Deadtime Falling Lock DTFLK: u1, }), - /// Timer X Output X Set Register + /// Timer X Output X Set Register SETR: mmio.Mmio(packed struct(u32) { - /// Software Set trigger - SST: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, - /// Timer X resynchronizaton - RESYNC: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, - /// Timer X Period - PER: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, - /// Timer X compare X - CMP: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, + /// Software Set trigger + SST: ACTIVEEFFECT, + /// Timer X resynchronizaton + RESYNC: ACTIVEEFFECT, + /// Timer X Period + PER: ACTIVEEFFECT, + /// Timer X compare X + CMP: ACTIVEEFFECT, reserved7: u3, - /// Master Period - MSTPER: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, - /// Master Compare X - MSTCMPX: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, + /// Master Period + MSTPER: ACTIVEEFFECT, + /// Master Compare X + MSTCMPX: ACTIVEEFFECT, reserved12: u3, - /// Timer Event X - TIMEVNT: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, + /// Timer Event X + TIMEVNT: ACTIVEEFFECT, reserved21: u8, - /// External Event X - EXTEVNT: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, + /// External Event X + EXTEVNT: ACTIVEEFFECT, reserved31: u9, - /// Registers update (transfer preload to active) - UPDATE: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, + /// Registers update (transfer preload to active) + UPDATE: ACTIVEEFFECT, }), - /// Timer X Output X Reset Register + /// Timer X Output X Reset Register RSTR: mmio.Mmio(packed struct(u32) { - /// Software Reset trigger - SRT: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, - /// Timer X resynchronizaton - RESYNC: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, - /// Timer X Period - PER: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, - /// Timer X compare X - CMP: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, + /// Software Reset trigger + SRT: INACTIVEEFFECT, + /// Timer X resynchronizaton + RESYNC: INACTIVEEFFECT, + /// Timer X Period + PER: INACTIVEEFFECT, + /// Timer X compare X + CMP: INACTIVEEFFECT, reserved7: u3, - /// Master Period - MSTPER: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, - /// Master Compare X - MSTCMP: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, + /// Master Period + MSTPER: INACTIVEEFFECT, + /// Master Compare X + MSTCMP: INACTIVEEFFECT, reserved12: u3, - /// Timer Event X - TIMEVNT: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, + /// Timer Event X + TIMEVNT: INACTIVEEFFECT, reserved21: u8, - /// External Event X - EXTEVNT: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, + /// External Event X + EXTEVNT: INACTIVEEFFECT, reserved31: u9, - /// Registers update (transfer preload to active) - UPDATE: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, + /// Registers update (transfer preload to active) + UPDATE: INACTIVEEFFECT, }), reserved76: [8]u8, - /// Timer X External Event Filtering Register 1 + /// Timer X External Event Filtering Register 1 EEF: mmio.Mmio(packed struct(u32) { - /// External Event X latch + /// External Event X latch LTCH: u1, - /// External Event X filter - FLTR: packed union { - raw: u4, - value: EEFLTR, - }, + /// External Event X filter + FLTR: EEFLTR, padding: u27, }), reserved84: [4]u8, - /// Timer X Reset Register + /// Timer X Reset Register RST: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Timer X Update reset - UPDT: packed union { - raw: u1, - value: RESETEFFECT, - }, - /// Timer X compare X reset - CMP: packed union { - raw: u1, - value: RESETEFFECT, - }, + /// Timer X Update reset + UPDT: RESETEFFECT, + /// Timer X compare X reset + CMP: RESETEFFECT, reserved4: u1, - /// Master timer Period - MSTPER: packed union { - raw: u1, - value: RESETEFFECT, - }, - /// Master compare X - MSTCMP: packed union { - raw: u1, - value: RESETEFFECT, - }, + /// Master timer Period + MSTPER: RESETEFFECT, + /// Master compare X + MSTCMP: RESETEFFECT, reserved9: u3, - /// External Event X - EXTEVNT: packed union { - raw: u1, - value: RESETEFFECT, - }, + /// External Event X + EXTEVNT: RESETEFFECT, reserved19: u9, - /// Timer X compare 1 event - TCMP1: packed union { - raw: u1, - value: RESETEFFECT, - }, - /// Timer X compare 2 event - TCMP2: packed union { - raw: u1, - value: RESETEFFECT, - }, - /// Timer X compare 4 event - TCMP4: packed union { - raw: u1, - value: RESETEFFECT, - }, + /// Timer X compare 1 event + TCMP1: RESETEFFECT, + /// Timer X compare 2 event + TCMP2: RESETEFFECT, + /// Timer X compare 4 event + TCMP4: RESETEFFECT, padding: u10, }), - /// Timer X Chopper Register + /// Timer X Chopper Register CHP: mmio.Mmio(packed struct(u32) { - /// Timerx carrier frequency value + /// Timerx carrier frequency value CARFRQ: u4, - /// Timerx chopper duty cycle value + /// Timerx chopper duty cycle value CARDTY: u3, - /// Timerx start pulsewidth + /// Timerx start pulsewidth STRTPW: u4, padding: u21, }), - /// Timer X Capture X Control Register + /// Timer X Capture X Control Register CCR: mmio.Mmio(packed struct(u32) { - /// Software Capture - SWCPT: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Update Capture - UPDCPT: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// External Event X Capture - EXEVCPT: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, + /// Software Capture + SWCPT: CAPTUREEFFECT, + /// Update Capture + UPDCPT: CAPTUREEFFECT, + /// External Event X Capture + EXEVCPT: CAPTUREEFFECT, reserved16: u13, - /// Timer X output Set - TXSET: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer X output Reset - TXRST: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer X Compare X - TXCMP: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, + /// Timer X output Set + TXSET: CAPTUREEFFECT, + /// Timer X output Reset + TXRST: CAPTUREEFFECT, + /// Timer X Compare X + TXCMP: CAPTUREEFFECT, reserved20: u1, - /// Timer Y output Set - TYSET: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer Y output Reset - TYRST: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer Y Compare X - TYCMP: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, + /// Timer Y output Set + TYSET: CAPTUREEFFECT, + /// Timer Y output Reset + TYRST: CAPTUREEFFECT, + /// Timer Y Compare X + TYCMP: CAPTUREEFFECT, reserved24: u1, - /// Timer Z output Set - TZSET: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer Z output Reset - TZRST: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer Z Compare X - TZCMP: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, + /// Timer Z output Set + TZSET: CAPTUREEFFECT, + /// Timer Z output Reset + TZRST: CAPTUREEFFECT, + /// Timer Z Compare X + TZCMP: CAPTUREEFFECT, reserved28: u1, - /// Timer T output Set - TTSET: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer T output Reset - TTRST: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer T Compare X - TTCMP: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, + /// Timer T output Set + TTSET: CAPTUREEFFECT, + /// Timer T output Reset + TTRST: CAPTUREEFFECT, + /// Timer T Compare X + TTCMP: CAPTUREEFFECT, padding: u1, }), reserved100: [4]u8, - /// Timer X Output Register + /// Timer X Output Register OUTR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Output 1 polarity - POL: packed union { - raw: u1, - value: POL, - }, - /// Output X Idle mode + /// Output 1 polarity + POL: POL, + /// Output X Idle mode IDLEM: u1, - /// Output X Idle State + /// Output X Idle State IDLES: u1, - /// Output X Fault state - FAULTX: packed union { - raw: u2, - value: FAULT, - }, - /// Output X Chopper enable + /// Output X Fault state + FAULTX: FAULT, + /// Output X Chopper enable CHP: u1, - /// Output X Deadtime upon burst mode Idle entry + /// Output X Deadtime upon burst mode Idle entry DIDL: u1, - /// Deadtime enable + /// Deadtime enable DTEN: u1, - /// Delayed Protection Enable + /// Delayed Protection Enable DLYPRTEN: u1, - /// Delayed Protection - DLYPRT: packed union { - raw: u3, - value: DLYPRT, - }, + /// Delayed Protection + DLYPRT: DLYPRT, padding: u19, }), - /// Timer X Fault Register + /// Timer X Fault Register FLT: mmio.Mmio(packed struct(u32) { - /// Fault X enable - FLTEN: packed union { - raw: u1, - value: FLTEN, - }, + /// Fault X enable + FLTEN: FLTEN, reserved31: u30, - /// Fault sources Lock + /// Fault sources Lock FLTLCK: u1, }), }; @@ -345700,1493 +342685,1301 @@ pub const types = struct { pub const hrtim_v2 = struct { pub const ACTIVEEFFECT = enum(u1) { - /// Timer event has no effect + /// Timer event has no effect NoEffect = 0x0, - /// Timer event forces the output to its active state + /// Timer event forces the output to its active state SetActive = 0x1, }; pub const BRSTDMA = enum(u2) { - /// Update done independently from the DMA burst transfer completion + /// Update done independently from the DMA burst transfer completion Independent = 0x0, - /// Update done when the DMA burst transfer is completed + /// Update done when the DMA burst transfer is completed Completion = 0x1, - /// Update done on master timer roll-over following a DMA burst transfer completion + /// Update done on master timer roll-over following a DMA burst transfer completion Rollover = 0x2, _, }; pub const CAPTUREEFFECT = enum(u1) { - /// Timer event has no effect + /// Timer event has no effect NoEffect = 0x0, - /// Timer event triggers capture + /// Timer event triggers capture TriggerCapture = 0x1, }; pub const CPPSTAT = enum(u1) { - /// Signal applied on output 1 and output 2 forced inactive + /// Signal applied on output 1 and output 2 forced inactive Output1Active = 0x0, - /// Signal applied on output 2 and output 1 forced inactive + /// Signal applied on output 2 and output 1 forced inactive Output2Active = 0x1, }; pub const DACSYNC = enum(u2) { - /// No DAC trigger generated + /// No DAC trigger generated Disabled = 0x0, - /// Trigger generated on DACSync1 + /// Trigger generated on DACSync1 DACSync1 = 0x1, - /// Trigger generated on DACSync2 + /// Trigger generated on DACSync2 DACSync2 = 0x2, - /// Trigger generated on DACSync3 + /// Trigger generated on DACSync3 DACSync3 = 0x3, }; pub const DELCMP = enum(u2) { - /// CMP register is always active (standard compare mode) + /// CMP register is always active (standard compare mode) Standard = 0x0, - /// CMP is recomputed and is active following a capture 1 event + /// CMP is recomputed and is active following a capture 1 event Capture1 = 0x1, - /// CMP is recomputed and is active following a capture 1 event or a Compare 1 match + /// CMP is recomputed and is active following a capture 1 event or a Compare 1 match CaptureX_Compare1 = 0x2, - /// CMP is recomputed and is active following a capture 1 event or a Compare 3 match + /// CMP is recomputed and is active following a capture 1 event or a Compare 3 match CaptureX_Compare3 = 0x3, }; pub const DLYPRT = enum(u3) { - /// Output 1 delayed idle on external event 6 + /// Output 1 delayed idle on external event 6 Output1_EE6 = 0x0, - /// Output 2 delayed idle on external event 6 + /// Output 2 delayed idle on external event 6 Output2_EE6 = 0x1, - /// Output 1 and 2 delayed idle on external event 6 + /// Output 1 and 2 delayed idle on external event 6 Output1_2_EE6 = 0x2, - /// Balanced idle on external event 6 + /// Balanced idle on external event 6 Balanced_EE6 = 0x3, - /// Output 1 delayed idle on external event 7 + /// Output 1 delayed idle on external event 7 Output1_EE7 = 0x4, - /// Output 2 delayed idle on external event 7 + /// Output 2 delayed idle on external event 7 Output2_EE7 = 0x5, - /// Output 1 and 2 delayed idle on external event 7 + /// Output 1 and 2 delayed idle on external event 7 Output1_2_EE7 = 0x6, - /// Balanced idle on external event 7 + /// Balanced idle on external event 7 Balanced_EE7 = 0x7, }; pub const EEFLTR = enum(u4) { - /// No filtering + /// No filtering Disabled = 0x0, - /// Blanking from counter reset/roll-over to Compare 1 + /// Blanking from counter reset/roll-over to Compare 1 BlankResetToCompare1 = 0x1, - /// Blanking from counter reset/roll-over to Compare 2 + /// Blanking from counter reset/roll-over to Compare 2 BlankResetToCompare2 = 0x2, - /// Blanking from counter reset/roll-over to Compare 3 + /// Blanking from counter reset/roll-over to Compare 3 BlankResetToCompare3 = 0x3, - /// Blanking from counter reset/roll-over to Compare 4 + /// Blanking from counter reset/roll-over to Compare 4 BlankResetToCompare4 = 0x4, - /// Blanking from another timing unit: TIMFLTR1 source + /// Blanking from another timing unit: TIMFLTR1 source BlankTIMFLTR1 = 0x5, - /// Blanking from another timing unit: TIMFLTR2 source + /// Blanking from another timing unit: TIMFLTR2 source BlankTIMFLTR2 = 0x6, - /// Blanking from another timing unit: TIMFLTR3 source + /// Blanking from another timing unit: TIMFLTR3 source BlankTIMFLTR3 = 0x7, - /// Blanking from another timing unit: TIMFLTR4 source + /// Blanking from another timing unit: TIMFLTR4 source BlankTIMFLTR4 = 0x8, - /// Blanking from another timing unit: TIMFLTR5 source + /// Blanking from another timing unit: TIMFLTR5 source BlankTIMFLTR5 = 0x9, - /// Blanking from another timing unit: TIMFLTR6 source + /// Blanking from another timing unit: TIMFLTR6 source BlankTIMFLTR6 = 0xa, - /// Blanking from another timing unit: TIMFLTR7 source + /// Blanking from another timing unit: TIMFLTR7 source BlankTIMFLTR7 = 0xb, - /// Blanking from another timing unit: TIMFLTR8 source + /// Blanking from another timing unit: TIMFLTR8 source BlankTIMFLTR8 = 0xc, - /// Windowing from counter reset/roll-over to compare 2 + /// Windowing from counter reset/roll-over to compare 2 WindowResetToCompare2 = 0xd, - /// Windowing from counter reset/roll-over to compare 3 + /// Windowing from counter reset/roll-over to compare 3 WindowResetToCompare3 = 0xe, - /// Windowing from another timing unit: TIMWIN source + /// Windowing from another timing unit: TIMWIN source WindowTIMWIN = 0xf, }; pub const FAULT = enum(u2) { - /// No action: the output is not affected by the fault input and stays in run mode + /// No action: the output is not affected by the fault input and stays in run mode Disabled = 0x0, - /// Output goes to active state after a fault event + /// Output goes to active state after a fault event SetActive = 0x1, - /// Output goes to inactive state after a fault event + /// Output goes to inactive state after a fault event SetInactive = 0x2, - /// Output goes to high-z state after a fault event + /// Output goes to high-z state after a fault event SetHighZ = 0x3, }; pub const FLTEN = enum(u1) { - /// Fault input ignored + /// Fault input ignored Ignored = 0x0, - /// Fault input is active and can disable HRTIM outputs + /// Fault input is active and can disable HRTIM outputs Active = 0x1, }; pub const INACTIVEEFFECT = enum(u1) { - /// Timer event has no effect + /// Timer event has no effect NoEffect = 0x0, - /// Timer event forces the output to its inactive state + /// Timer event forces the output to its inactive state SetInactive = 0x1, }; pub const IPPSTAT = enum(u1) { - /// Protection occurred when the output 1 was active and output 2 forced inactive + /// Protection occurred when the output 1 was active and output 2 forced inactive Output1Active = 0x0, - /// Protection occurred when the output 2 was active and output 1 forced inactive + /// Protection occurred when the output 2 was active and output 1 forced inactive Output2Active = 0x1, }; pub const OUTPUTSTATE = enum(u1) { - /// Output is or was inactive + /// Output is or was inactive Inactive = 0x0, - /// Output is or was active + /// Output is or was active Active = 0x1, }; pub const POL = enum(u1) { - /// Positive polarity (output active high) + /// Positive polarity (output active high) ActiveHigh = 0x0, - /// Negative polarity (output active low) + /// Negative polarity (output active low) ActiveLow = 0x1, }; pub const RESETEFFECT = enum(u1) { - /// Timer Y compare Z event has no effect + /// Timer Y compare Z event has no effect NoEffect = 0x0, - /// Timer X counter is reset upon timer Y compare Z event + /// Timer X counter is reset upon timer Y compare Z event ResetCounter = 0x1, }; pub const SDTF = enum(u1) { - /// Positive deadtime on falling edge + /// Positive deadtime on falling edge Positive = 0x0, - /// Negative deadtime on falling edge + /// Negative deadtime on falling edge Negative = 0x1, }; pub const SDTR = enum(u1) { - /// Positive deadtime on rising edge + /// Positive deadtime on rising edge Positive = 0x0, - /// Negative deadtime on rising edge + /// Negative deadtime on rising edge Negative = 0x1, }; pub const SYNCIN = enum(u2) { - /// Disabled. HRTIM is not synchronized and runs in standalone mode + /// Disabled. HRTIM is not synchronized and runs in standalone mode Disabled = 0x0, - /// Internal event: the HRTIM is synchronized with the on-chip timer + /// Internal event: the HRTIM is synchronized with the on-chip timer Internal = 0x2, - /// External event: a positive pulse on HRTIM_SCIN input triggers the HRTIM + /// External event: a positive pulse on HRTIM_SCIN input triggers the HRTIM External = 0x3, _, }; pub const SYNCOUT = enum(u2) { - /// Disabled + /// Disabled Disabled = 0x0, - /// Positive pulse on SCOUT output (16x f_HRTIM clock cycles) + /// Positive pulse on SCOUT output (16x f_HRTIM clock cycles) PositivePulse = 0x2, - /// Negative pulse on SCOUT output (16x f_HRTIM clock cycles) + /// Negative pulse on SCOUT output (16x f_HRTIM clock cycles) NegativePulse = 0x3, _, }; pub const SYNCRST = enum(u1) { - /// Synchronization event has no effect on Timer x + /// Synchronization event has no effect on Timer x Disabled = 0x0, - /// Synchronization event resets Timer x + /// Synchronization event resets Timer x Reset = 0x1, }; pub const SYNCSRC = enum(u2) { - /// Master timer Start + /// Master timer Start MasterStart = 0x0, - /// Master timer Compare 1 event + /// Master timer Compare 1 event MasterCompare1 = 0x1, - /// Timer A start/reset + /// Timer A start/reset TimerAStart = 0x2, - /// Timer A Compare 1 event + /// Timer A Compare 1 event TimerACompare1 = 0x3, }; pub const SYNCSTRT = enum(u1) { - /// Synchronization event has no effect on Timer x + /// Synchronization event has no effect on Timer x Disabled = 0x0, - /// Synchronization event starts Timer x + /// Synchronization event starts Timer x Start = 0x1, }; pub const TIMAISR_DLYPRT = enum(u1) { - /// Not in delayed idle or balanced idle mode + /// Not in delayed idle or balanced idle mode Inactive = 0x0, - /// Delayed idle or balanced idle mode entry + /// Delayed idle or balanced idle mode entry Active = 0x1, }; pub const UPDGAT = enum(u4) { - /// Update occurs independently from the DMA burst transfer + /// Update occurs independently from the DMA burst transfer Independent = 0x0, - /// Update occurs when the DMA burst transfer is completed + /// Update occurs when the DMA burst transfer is completed DMABurst = 0x1, - /// Update occurs on the update event following DMA burst transfer completion + /// Update occurs on the update event following DMA burst transfer completion DMABurst_Update = 0x2, - /// Update occurs on a rising edge of HRTIM update enable input 1 + /// Update occurs on a rising edge of HRTIM update enable input 1 Input1 = 0x3, - /// Update occurs on a rising edge of HRTIM update enable input 2 + /// Update occurs on a rising edge of HRTIM update enable input 2 Input2 = 0x4, - /// Update occurs on a rising edge of HRTIM update enable input 3 + /// Update occurs on a rising edge of HRTIM update enable input 3 Input3 = 0x5, - /// Update occurs on the update event following a rising edge of HRTIM update enable input 1 + /// Update occurs on the update event following a rising edge of HRTIM update enable input 1 Input1_Update = 0x6, - /// Update occurs on the update event following a rising edge of HRTIM update enable input 2 + /// Update occurs on the update event following a rising edge of HRTIM update enable input 2 Input2_Update = 0x7, - /// Update occurs on the update event following a rising edge of HRTIM update enable input 3 + /// Update occurs on the update event following a rising edge of HRTIM update enable input 3 Input3_Update = 0x8, _, }; - /// High Resolution Timer + /// High Resolution Timer pub const HRTIM = extern struct { - /// Master Timer Control Register + /// Master Timer Control Register MCR: mmio.Mmio(packed struct(u32) { - /// HRTIM Master Clock prescaler + /// HRTIM Master Clock prescaler CKPSC: u3, - /// Master Continuous mode + /// Master Continuous mode CONT: u1, - /// Master Re-triggerable mode + /// Master Re-triggerable mode RETRIG: u1, - /// Half mode enable + /// Half mode enable HALF: u1, reserved8: u2, - /// Synchronization input - SYNCIN: packed union { - raw: u2, - value: SYNCIN, - }, - /// Synchronization Resets Master + /// Synchronization input + SYNCIN: SYNCIN, + /// Synchronization Resets Master SYNCRSTM: u1, - /// Synchronization Starts Master + /// Synchronization Starts Master SYNCSTRTM: u1, - /// Synchronization output - SYNCOUT: packed union { - raw: u2, - value: SYNCOUT, - }, - /// Synchronization source - SYNCSRC: packed union { - raw: u2, - value: SYNCSRC, - }, - /// Master Counter enable + /// Synchronization output + SYNCOUT: SYNCOUT, + /// Synchronization source + SYNCSRC: SYNCSRC, + /// Master Counter enable MCEN: u1, - /// Timer X counter enable + /// Timer X counter enable TCEN: u1, reserved25: u7, - /// AC Synchronization - DACSYNC: packed union { - raw: u2, - value: DACSYNC, - }, - /// Preload enable + /// AC Synchronization + DACSYNC: DACSYNC, + /// Preload enable PREEN: u1, reserved29: u1, - /// Master Timer Repetition update + /// Master Timer Repetition update MREPU: u1, - /// Burst DMA Update - BRSTDMA: packed union { - raw: u2, - value: BRSTDMA, - }, + /// Burst DMA Update + BRSTDMA: BRSTDMA, }), - /// Master Timer Interrupt Status Register + /// Master Timer Interrupt Status Register MISR: mmio.Mmio(packed struct(u32) { - /// Master Compare X Interrupt Flag + /// Master Compare X Interrupt Flag MCMP: u1, reserved4: u3, - /// Master Repetition Interrupt Flag + /// Master Repetition Interrupt Flag MREP: u1, - /// Sync Input Interrupt Flag + /// Sync Input Interrupt Flag SYNC: u1, - /// Master Update Interrupt Flag + /// Master Update Interrupt Flag MUPD: u1, padding: u25, }), - /// Master Timer Interrupt Clear Register + /// Master Timer Interrupt Clear Register MICR: mmio.Mmio(packed struct(u32) { - /// Master Compare X Interrupt flag clear + /// Master Compare X Interrupt flag clear MCMPC: u1, reserved4: u3, - /// Repetition Interrupt flag clear + /// Repetition Interrupt flag clear MREPC: u1, - /// Sync Input Interrupt flag clear + /// Sync Input Interrupt flag clear SYNCC: u1, - /// Master update Interrupt flag clear + /// Master update Interrupt flag clear MUPDC: u1, padding: u25, }), - /// Master Timer DMA / Interrupt Enable Register + /// Master Timer DMA / Interrupt Enable Register MDIER: mmio.Mmio(packed struct(u32) { - /// Master Compare X Interrupt Enable + /// Master Compare X Interrupt Enable MCMPIE: u1, reserved4: u3, - /// Master Repetition Interrupt Enable + /// Master Repetition Interrupt Enable MREPIE: u1, - /// Sync Input Interrupt Enable + /// Sync Input Interrupt Enable SYNCIE: u1, - /// Master Update Interrupt Enable + /// Master Update Interrupt Enable MUPDIE: u1, reserved16: u9, - /// Master Compare X DMA request Enable + /// Master Compare X DMA request Enable MCMPDE: u1, reserved20: u3, - /// Master Repetition DMA request Enable + /// Master Repetition DMA request Enable MREPDE: u1, - /// Sync Input DMA request Enable + /// Sync Input DMA request Enable SYNCDE: u1, - /// Master Update DMA request Enable + /// Master Update DMA request Enable MUPDDE: u1, padding: u9, }), - /// Master Timer Counter Register + /// Master Timer Counter Register MCNTR: mmio.Mmio(packed struct(u32) { - /// Counter value + /// Counter value MCNT: u16, padding: u16, }), - /// Master Timer Period Register + /// Master Timer Period Register MPER: mmio.Mmio(packed struct(u32) { - /// Master Timer Period value + /// Master Timer Period value MPER: u16, padding: u16, }), - /// Master Timer Repetition Register + /// Master Timer Repetition Register MREP: mmio.Mmio(packed struct(u32) { - /// Master Timer Repetition counter value + /// Master Timer Repetition counter value MREP: u8, padding: u24, }), - /// Master Timer Compare X Register + /// Master Timer Compare X Register MCMP: mmio.Mmio(packed struct(u32) { - /// Master Timer Compare X value + /// Master Timer Compare X value MCMP: u16, padding: u16, }), reserved128: [96]u8, - /// High Resolution Timer: Timing Unit + /// High Resolution Timer: Timing Unit TIM: u32, reserved896: [764]u8, - /// High Resolution Timer: Control Register 1 + /// High Resolution Timer: Control Register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Master Update Disable + /// Master Update Disable MUDIS: u1, - /// Timer X Update Disable + /// Timer X Update Disable TUDIS: u1, reserved16: u14, - /// ADC Trigger X Update Source + /// ADC Trigger X Update Source ADUSRC: u3, padding: u13, }), - /// High Resolution Timer: Control Register 2 + /// High Resolution Timer: Control Register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Master Timer Software Update + /// Master Timer Software Update MSWU: u1, - /// Timer X Software Update + /// Timer X Software Update TSWU: u1, reserved8: u6, - /// Master Counter Software Reset + /// Master Counter Software Reset MRST: u1, - /// Timer X Counter Software Reset + /// Timer X Counter Software Reset TRST: u1, padding: u22, }), - /// High Resolution Timer: Interrupt Status Register + /// High Resolution Timer: Interrupt Status Register ISR: mmio.Mmio(packed struct(u32) { - /// Fault X Interrupt Flag + /// Fault X Interrupt Flag FLT: u1, reserved5: u4, - /// System Fault Interrupt Flag + /// System Fault Interrupt Flag SYSFLT: u1, reserved16: u10, - /// DLL Ready Interrupt Flag + /// DLL Ready Interrupt Flag DLLRDY: u1, - /// Burst Mode Period Interrupt Flag + /// Burst Mode Period Interrupt Flag BMPER: u1, padding: u14, }), - /// High Resolution Timer: Interrupt Clear Register + /// High Resolution Timer: Interrupt Clear Register ICR: mmio.Mmio(packed struct(u32) { - /// Fault X Interrupt Flag Clear + /// Fault X Interrupt Flag Clear FLT: u1, reserved5: u4, - /// System Fault Interrupt Flag Clear + /// System Fault Interrupt Flag Clear SYSFLT: u1, reserved16: u10, - /// DLL Ready Interrupt Flag Clear + /// DLL Ready Interrupt Flag Clear DLLRDY: u1, - /// Burst Mode Period Interrupt Flag Clear + /// Burst Mode Period Interrupt Flag Clear BMPER: u1, padding: u14, }), - /// High Resolution Timer: Interrupt Enable Register + /// High Resolution Timer: Interrupt Enable Register IER: mmio.Mmio(packed struct(u32) { - /// Fault X Interrupt Flag Enable + /// Fault X Interrupt Flag Enable FLT: u1, reserved5: u4, - /// System Fault Interrupt Flag Enable + /// System Fault Interrupt Flag Enable SYSFLT: u1, reserved16: u10, - /// DLL Ready Interrupt Flag Enable + /// DLL Ready Interrupt Flag Enable DLLRDY: u1, - /// Burst Mode Period Interrupt Flag Enable + /// Burst Mode Period Interrupt Flag Enable BMPER: u1, padding: u14, }), - /// High Resolution Timer: Output Enable Register + /// High Resolution Timer: Output Enable Register OENR: mmio.Mmio(packed struct(u32) { - /// Timer X Output Enable + /// Timer X Output Enable T1OEN: u1, - /// Timer X Complementary Output Enable + /// Timer X Complementary Output Enable T2OEN: u1, padding: u30, }), - /// High Resolution Timer: Output Disable Register + /// High Resolution Timer: Output Disable Register ODISR: mmio.Mmio(packed struct(u32) { - /// Timer X Output Disable + /// Timer X Output Disable T1ODIS: u1, - /// Timer X Complementary Output Disable + /// Timer X Complementary Output Disable T2ODIS: u1, padding: u30, }), - /// High Resolution Timer: Output Disable Status Register + /// High Resolution Timer: Output Disable Status Register ODSR: mmio.Mmio(packed struct(u32) { - /// Timer X Output Disable Status + /// Timer X Output Disable Status T1ODIS: u1, - /// Timer X Complementary Output Disable Status + /// Timer X Complementary Output Disable Status T2ODIS: u1, padding: u30, }), - /// High Resolution Timer: Burst Mode Control Register + /// High Resolution Timer: Burst Mode Control Register BMCR: mmio.Mmio(packed struct(u32) { - /// Burst Mode Enable + /// Burst Mode Enable BME: u1, - /// Burst Mode Operating Mode + /// Burst Mode Operating Mode BMOM: u1, - /// Burst Mode Clock source + /// Burst Mode Clock source BMCLK: u3, reserved6: u1, - /// Burst Mode Prescaler + /// Burst Mode Prescaler BMPRSC: u3, reserved10: u1, - /// Burst Mode Preload Enable + /// Burst Mode Preload Enable BMPREN: u1, reserved16: u5, - /// Master Timer Burst Mode + /// Master Timer Burst Mode MTBM: u1, - /// Timer X Burst Mode + /// Timer X Burst Mode TBM: u1, reserved31: u13, BMSTAT: u1, }), - /// High Resolution Timer: Burst Mode Trigger Register + /// High Resolution Timer: Burst Mode Trigger Register BMTRGR: mmio.Mmio(packed struct(u32) { - /// Software start + /// Software start SW: u1, - /// Master reset or roll-over + /// Master reset or roll-over MSTRST: u1, - /// Master repetition + /// Master repetition MSTREP: u1, - /// Master Compare X + /// Master Compare X MSTCMP: u1, reserved7: u3, - /// Timer X reset or roll-over + /// Timer X reset or roll-over TRST: u1, - /// Timer X repetition + /// Timer X repetition TREP: u1, - /// Timer X compare 1 event + /// Timer X compare 1 event TCMP1: u1, - /// Timer X compare 2 event + /// Timer X compare 2 event TCMP2: u1, padding: u21, }), - /// High Resolution Timer: Burst Mode Compare Register + /// High Resolution Timer: Burst Mode Compare Register BMCMPR: mmio.Mmio(packed struct(u32) { - /// Burst mode compare value + /// Burst mode compare value BMCMP: u16, padding: u16, }), - /// High Resolution Timer: Burst Mode Period Register + /// High Resolution Timer: Burst Mode Period Register BMPER: mmio.Mmio(packed struct(u32) { - /// Burst mode period value + /// Burst mode period value BMPER: u16, padding: u16, }), - /// High Resolution Timer: External Event Control Register 1 + /// High Resolution Timer: External Event Control Register 1 EECR1: mmio.Mmio(packed struct(u32) { - /// External Event X Source + /// External Event X Source EESRC: u2, - /// External Event X Polarity + /// External Event X Polarity EEPOL: u1, - /// External Event X Sensitivity + /// External Event X Sensitivity EESNS: u2, - /// External Event X Fast Mode + /// External Event X Fast Mode EEFAST: u2, padding: u25, }), - /// High Resolution Timer: External Event Control Register 2 + /// High Resolution Timer: External Event Control Register 2 EECR2: mmio.Mmio(packed struct(u32) { - /// External Event X Source + /// External Event X Source EESRC: u2, - /// External Event X Polarity + /// External Event X Polarity EEPOL: u1, - /// External Event X Sensitivity + /// External Event X Sensitivity EESNS: u2, padding: u27, }), - /// High Resolution Timer: External Event Control Register 3 + /// High Resolution Timer: External Event Control Register 3 EECR3: mmio.Mmio(packed struct(u32) { - /// External Event X filter + /// External Event X filter EEF: u3, reserved30: u27, - /// External Event Sampling Clock Division + /// External Event Sampling Clock Division EEVSD: u2, }), - /// High Resolution Timer: ADC Trigger [1, 3] Register + /// High Resolution Timer: ADC Trigger [1, 3] Register ADC1R: mmio.Mmio(packed struct(u32) { - /// ADC trigger X on Master Compare Y + /// ADC trigger X on Master Compare Y ADCMC: u1, reserved4: u3, - /// ADC trigger X on Master Period + /// ADC trigger X on Master Period ADCMPER: u1, - /// ADC trigger X on External Event Y + /// ADC trigger X on External Event Y ADCEEV: u1, reserved10: u4, - /// ADC trigger X on Timer Y Compare 2 + /// ADC trigger X on Timer Y Compare 2 ADCTC2: u1, - /// ADC trigger X on Timer Y Compare 3 + /// ADC trigger X on Timer Y Compare 3 ADCTC3: u1, - /// ADC trigger X on Timer Y Compare 3 + /// ADC trigger X on Timer Y Compare 3 ADCTC4: u1, - /// ADC trigger X on Timer Y Period + /// ADC trigger X on Timer Y Period ADCTPER: u1, - /// ADC trigger X on Timer Y Reset + /// ADC trigger X on Timer Y Reset ADCTRST: u1, padding: u17, }), - /// High Resolution Timer: ADC Trigger [2, 4] Register + /// High Resolution Timer: ADC Trigger [2, 4] Register ADC2R: mmio.Mmio(packed struct(u32) { - /// ADC trigger X on Master Compare Y + /// ADC trigger X on Master Compare Y ADCMC: u1, reserved4: u3, - /// ADC trigger X on Master Period + /// ADC trigger X on Master Period ADCMPER: u1, - /// ADC trigger X on External Event Y + /// ADC trigger X on External Event Y ADCEEV: u1, reserved10: u4, - /// ADC trigger X on Timer Y Compare 2 + /// ADC trigger X on Timer Y Compare 2 ADCTC2: u1, reserved12: u1, - /// ADC trigger X on Timer Y Compare 3 + /// ADC trigger X on Timer Y Compare 3 ADCTC4: u1, - /// ADC trigger X on Timer Y Period + /// ADC trigger X on Timer Y Period ADCTPER: u1, reserved15: u1, - /// ADC trigger X on Timer Y Compare 3 + /// ADC trigger X on Timer Y Compare 3 ADCTC3: u1, reserved22: u6, - /// ADC trigger X on Timer Y Reset + /// ADC trigger X on Timer Y Reset ADCTRST: u1, padding: u9, }), reserved972: [8]u8, - /// High Resolution Timer: DLL Control Register + /// High Resolution Timer: DLL Control Register DLLCR: mmio.Mmio(packed struct(u32) { - /// DLL Calibration Start + /// DLL Calibration Start CAL: u1, - /// DLL Calibration Enable + /// DLL Calibration Enable CALEN: u1, - /// DLL Calibration Rate + /// DLL Calibration Rate CALRTE: u2, padding: u28, }), - /// High Resolution Timer: Fault Input Register 1 + /// High Resolution Timer: Fault Input Register 1 FLTINR1: mmio.Mmio(packed struct(u32) { - /// Fault X enable + /// Fault X enable FLTE: u1, - /// Fault X polarity + /// Fault X polarity FLTP: u1, - /// Fault X source + /// Fault X source FLTSRC: u1, - /// Fault X filter + /// Fault X filter FLTF: u4, - /// Fault X Lock + /// Fault X Lock FLTLCK: u1, padding: u24, }), reserved984: [4]u8, - /// High Resolution Timer: Burst DMA Master timer update Register + /// High Resolution Timer: Burst DMA Master timer update Register BDMUPR: mmio.Mmio(packed struct(u32) { - /// MCR register update enable + /// MCR register update enable MCR: u1, - /// MICR register update enable + /// MICR register update enable MICR: u1, - /// MDIER register update enable + /// MDIER register update enable MDIER: u1, - /// MCNT register update enable + /// MCNT register update enable MCNT: u1, - /// MPER register update enable + /// MPER register update enable MPER: u1, - /// MREP register update enable + /// MREP register update enable MREP: u1, - /// MCMP register X update enable + /// MCMP register X update enable MCMP: u1, padding: u25, }), - /// High Resolution Timer: Burst DMA Timer X update Register + /// High Resolution Timer: Burst DMA Timer X update Register BDTUPR: [5]mmio.Mmio(packed struct(u32) { - /// CR register update enable + /// CR register update enable CR: u1, - /// ICR register update enable + /// ICR register update enable ICR: u1, - /// DIER register update enable + /// DIER register update enable DIER: u1, - /// CNT register update enable + /// CNT register update enable CNT: u1, - /// PER register update enable + /// PER register update enable PER: u1, - /// REP register update enable + /// REP register update enable REP: u1, - /// CMP register X update enable + /// CMP register X update enable CMP: u1, padding: u25, }), - /// High Resolution Timer: Burst DMA Data Register + /// High Resolution Timer: Burst DMA Data Register BDMADR: mmio.Mmio(packed struct(u32) { - /// Burst DMA Data register + /// Burst DMA Data register BDMADR: u31, padding: u1, }), }; - /// High Resolution Timer: Timing Unit + /// High Resolution Timer: Timing Unit pub const HRTIM_TIMX = extern struct { - /// Timer X Control Register + /// Timer X Control Register CR: mmio.Mmio(packed struct(u32) { - /// HRTIM Timer x Clock prescaler + /// HRTIM Timer x Clock prescaler CKPSC: u3, - /// Continuous mode + /// Continuous mode CONT: u1, - /// Re-triggerable mode + /// Re-triggerable mode RETRIG: u1, - /// Half mode enable + /// Half mode enable HALF: u1, - /// Push-Pull mode enable + /// Push-Pull mode enable PSHPLL: u1, reserved10: u3, - /// Synchronization Resets Timer X - SYNCRST: packed union { - raw: u1, - value: SYNCRST, - }, - /// Synchronization Starts Timer X - SYNCSTRT: packed union { - raw: u1, - value: SYNCSTRT, - }, - /// Delayed CMP2 mode - DELCMP2: packed union { - raw: u2, - value: DELCMP, - }, - /// Delayed CMP4 mode - DELCMP4: packed union { - raw: u2, - value: DELCMP, - }, + /// Synchronization Resets Timer X + SYNCRST: SYNCRST, + /// Synchronization Starts Timer X + SYNCSTRT: SYNCSTRT, + /// Delayed CMP2 mode + DELCMP2: DELCMP, + /// Delayed CMP4 mode + DELCMP4: DELCMP, reserved17: u1, - /// Timer X Repetition update + /// Timer X Repetition update REPU: u1, - /// Timer X reset update + /// Timer X reset update RSTU: u1, - /// Timer A update + /// Timer A update TAU: u1, - /// Timer B update + /// Timer B update TBU: u1, - /// Timer C update + /// Timer C update TCU: u1, - /// Timer D update + /// Timer D update TDU: u1, - /// Timer E update + /// Timer E update TEU: u1, - /// Master Timer update + /// Master Timer update MSTU: u1, - /// AC Synchronization - DACSYNC: packed union { - raw: u2, - value: DACSYNC, - }, - /// Preload enable + /// AC Synchronization + DACSYNC: DACSYNC, + /// Preload enable PREEN: u1, - /// Update Gating - UPDGAT: packed union { - raw: u4, - value: UPDGAT, - }, + /// Update Gating + UPDGAT: UPDGAT, }), - /// Timer X Interrupt Status Register + /// Timer X Interrupt Status Register ISR: mmio.Mmio(packed struct(u32) { - /// Compare X Interrupt Flag + /// Compare X Interrupt Flag CMP: u1, reserved4: u3, - /// Repetition Interrupt Flag + /// Repetition Interrupt Flag REP: u1, reserved6: u1, - /// Update Interrupt Flag + /// Update Interrupt Flag UPD: u1, - /// Capture X Interrupt Flag + /// Capture X Interrupt Flag CPT: u1, reserved9: u1, - /// Output X Set Interrupt Flag + /// Output X Set Interrupt Flag SETR: u1, - /// Output X Reset Interrupt Flag + /// Output X Reset Interrupt Flag RSTR: u1, reserved13: u2, - /// Reset Interrupt Flag + /// Reset Interrupt Flag RST: u1, - /// Delayed Protection Flag - DLYPRT: packed union { - raw: u1, - value: TIMAISR_DLYPRT, - }, + /// Delayed Protection Flag + DLYPRT: TIMAISR_DLYPRT, reserved16: u1, - /// Current Push Pull Status - CPPSTAT: packed union { - raw: u1, - value: CPPSTAT, - }, - /// Idle Push Pull Status - IPPSTAT: packed union { - raw: u1, - value: IPPSTAT, - }, - /// Output X State - OSTAT: packed union { - raw: u1, - value: OUTPUTSTATE, - }, + /// Current Push Pull Status + CPPSTAT: CPPSTAT, + /// Idle Push Pull Status + IPPSTAT: IPPSTAT, + /// Output X State + OSTAT: OUTPUTSTATE, reserved20: u1, - /// Output X Copy - OCPY: packed union { - raw: u1, - value: OUTPUTSTATE, - }, + /// Output X Copy + OCPY: OUTPUTSTATE, padding: u11, }), - /// Timer X Interrupt Clear Register + /// Timer X Interrupt Clear Register ICR: mmio.Mmio(packed struct(u32) { - /// Compare X Interrupt flag Clear + /// Compare X Interrupt flag Clear CMPC: u1, reserved4: u3, - /// Repetition Interrupt flag Clear + /// Repetition Interrupt flag Clear REPC: u1, reserved6: u1, - /// Update Interrupt flag Clear + /// Update Interrupt flag Clear UPDC: u1, - /// Capture X Interrupt flag Clear + /// Capture X Interrupt flag Clear CPTC: u1, reserved9: u1, - /// Output X Set flag Clear + /// Output X Set flag Clear SETRC: u1, - /// Output X Reset flag Clear + /// Output X Reset flag Clear RSTRC: u1, reserved13: u2, - /// Reset Interrupt flag Clear + /// Reset Interrupt flag Clear RSTC: u1, - /// Delayed Protection Flag Clear + /// Delayed Protection Flag Clear DLYPRTC: u1, padding: u17, }), - /// Timer X DMA / Interrupt Enable Register + /// Timer X DMA / Interrupt Enable Register DIER: mmio.Mmio(packed struct(u32) { - /// Compare X Interrupt Enable + /// Compare X Interrupt Enable CMPIE: u1, reserved4: u3, - /// Repetition Interrupt Enable + /// Repetition Interrupt Enable REPIE: u1, reserved6: u1, - /// Update Interrupt Enable + /// Update Interrupt Enable UPDIE: u1, - /// Capture Interrupt Enable + /// Capture Interrupt Enable CPTIE: u1, reserved9: u1, - /// Output X Set Interrupt Enable + /// Output X Set Interrupt Enable SETRIE: u1, - /// Output X Reset Interrupt Enable + /// Output X Reset Interrupt Enable RSTRIE: u1, reserved13: u2, - /// Reset/roll-over Interrupt Enable + /// Reset/roll-over Interrupt Enable RSTIE: u1, - /// Delayed Protection Interrupt Enable + /// Delayed Protection Interrupt Enable DLYPRTIE: u1, reserved16: u1, - /// Compare X DMA request Enable + /// Compare X DMA request Enable CMPDE: u1, reserved20: u3, - /// Repetition DMA request Enable + /// Repetition DMA request Enable REPDE: u1, reserved22: u1, - /// Update DMA request Enable + /// Update DMA request Enable UPDDE: u1, - /// Capture X DMA request Enable + /// Capture X DMA request Enable CPTDE: u1, reserved25: u1, - /// Output X Set DMA request Enable + /// Output X Set DMA request Enable SETRDE: u1, - /// Output X Reset DMA request Enable + /// Output X Reset DMA request Enable RSTRDE: u1, reserved29: u2, - /// Reset/roll-over DMA request Enable + /// Reset/roll-over DMA request Enable RSTDE: u1, - /// Delayed Protection DMA request Enable + /// Delayed Protection DMA request Enable DLYPRTDE: u1, padding: u1, }), - /// Timer X Counter Register + /// Timer X Counter Register CNT: mmio.Mmio(packed struct(u32) { - /// Timerx Counter value + /// Timerx Counter value CNT: u16, padding: u16, }), - /// Timer X Period Register + /// Timer X Period Register PER: mmio.Mmio(packed struct(u32) { - /// Timerx Period value + /// Timerx Period value PER: u16, padding: u16, }), - /// Timer X Repetition Register + /// Timer X Repetition Register REP: mmio.Mmio(packed struct(u32) { - /// Timerx Repetition counter value + /// Timerx Repetition counter value REP: u8, padding: u24, }), - /// Timer X Compare X Register + /// Timer X Compare X Register CMP: mmio.Mmio(packed struct(u32) { - /// Timerx Compare X value + /// Timerx Compare X value CMP: u16, padding: u16, }), - /// Timer X Compare X Compound Register + /// Timer X Compare X Compound Register CMPC: mmio.Mmio(packed struct(u32) { - /// Timerx Compare X value + /// Timerx Compare X value CMP: u16, - /// Timerx Repetition value (aliased from HRTIM_REPx register) + /// Timerx Repetition value (aliased from HRTIM_REPx register) REP: u8, padding: u8, }), reserved48: [12]u8, - /// Timer X Capture X Register + /// Timer X Capture X Register CPT: [2]mmio.Mmio(packed struct(u32) { - /// Timerx Capture X value + /// Timerx Capture X value CPT: u16, padding: u16, }), - /// Timer X Deadtime Register + /// Timer X Deadtime Register DT: mmio.Mmio(packed struct(u32) { - /// Deadtime Rising value + /// Deadtime Rising value DTR: u9, - /// Sign Deadtime Rising value - SDTR: packed union { - raw: u1, - value: SDTR, - }, - /// Deadtime Prescaler + /// Sign Deadtime Rising value + SDTR: SDTR, + /// Deadtime Prescaler DTPRSC: u3, reserved14: u1, - /// Deadtime Rising Sign Lock + /// Deadtime Rising Sign Lock DTRSLK: u1, - /// Deadtime Rising Lock + /// Deadtime Rising Lock DTRLK: u1, - /// Deadtime Falling value + /// Deadtime Falling value DTF: u9, - /// Sign Deadtime Falling value - SDTF: packed union { - raw: u1, - value: SDTF, - }, + /// Sign Deadtime Falling value + SDTF: SDTF, reserved30: u4, - /// Deadtime Falling Sign Lock + /// Deadtime Falling Sign Lock DTFSLK: u1, - /// Deadtime Falling Lock + /// Deadtime Falling Lock DTFLK: u1, }), - /// Timer X Output X Set Register + /// Timer X Output X Set Register SETR: mmio.Mmio(packed struct(u32) { - /// Software Set trigger - SST: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, - /// Timer X resynchronizaton - RESYNC: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, - /// Timer X Period - PER: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, - /// Timer X compare X - CMP: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, + /// Software Set trigger + SST: ACTIVEEFFECT, + /// Timer X resynchronizaton + RESYNC: ACTIVEEFFECT, + /// Timer X Period + PER: ACTIVEEFFECT, + /// Timer X compare X + CMP: ACTIVEEFFECT, reserved7: u3, - /// Master Period - MSTPER: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, - /// Master Compare X - MSTCMPX: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, + /// Master Period + MSTPER: ACTIVEEFFECT, + /// Master Compare X + MSTCMPX: ACTIVEEFFECT, reserved12: u3, - /// Timer Event X - TIMEVNT: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, + /// Timer Event X + TIMEVNT: ACTIVEEFFECT, reserved21: u8, - /// External Event X - EXTEVNT: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, + /// External Event X + EXTEVNT: ACTIVEEFFECT, reserved31: u9, - /// Registers update (transfer preload to active) - UPDATE: packed union { - raw: u1, - value: ACTIVEEFFECT, - }, + /// Registers update (transfer preload to active) + UPDATE: ACTIVEEFFECT, }), - /// Timer X Output X Reset Register + /// Timer X Output X Reset Register RSTR: mmio.Mmio(packed struct(u32) { - /// Software Reset trigger - SRT: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, - /// Timer X resynchronizaton - RESYNC: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, - /// Timer X Period - PER: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, - /// Timer X compare X - CMP: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, + /// Software Reset trigger + SRT: INACTIVEEFFECT, + /// Timer X resynchronizaton + RESYNC: INACTIVEEFFECT, + /// Timer X Period + PER: INACTIVEEFFECT, + /// Timer X compare X + CMP: INACTIVEEFFECT, reserved7: u3, - /// Master Period - MSTPER: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, - /// Master Compare X - MSTCMP: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, + /// Master Period + MSTPER: INACTIVEEFFECT, + /// Master Compare X + MSTCMP: INACTIVEEFFECT, reserved12: u3, - /// Timer Event X - TIMEVNT: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, + /// Timer Event X + TIMEVNT: INACTIVEEFFECT, reserved21: u8, - /// External Event X - EXTEVNT: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, + /// External Event X + EXTEVNT: INACTIVEEFFECT, reserved31: u9, - /// Registers update (transfer preload to active) - UPDATE: packed union { - raw: u1, - value: INACTIVEEFFECT, - }, + /// Registers update (transfer preload to active) + UPDATE: INACTIVEEFFECT, }), reserved76: [8]u8, - /// Timer X External Event Filtering Register 1 + /// Timer X External Event Filtering Register 1 EEF: mmio.Mmio(packed struct(u32) { - /// External Event X latch + /// External Event X latch LTCH: u1, - /// External Event X filter - FLTR: packed union { - raw: u4, - value: EEFLTR, - }, + /// External Event X filter + FLTR: EEFLTR, padding: u27, }), reserved84: [4]u8, - /// Timer X Reset Register + /// Timer X Reset Register RST: mmio.Mmio(packed struct(u32) { - /// Timer X compare 1 event - TCMP1: packed union { - raw: u1, - value: RESETEFFECT, - }, - /// Timer X Update reset - UPDT: packed union { - raw: u1, - value: RESETEFFECT, - }, - /// Timer X compare X reset - CMP: packed union { - raw: u1, - value: RESETEFFECT, - }, + /// Timer X compare 1 event + TCMP1: RESETEFFECT, + /// Timer X Update reset + UPDT: RESETEFFECT, + /// Timer X compare X reset + CMP: RESETEFFECT, reserved4: u1, - /// Master timer Period - MSTPER: packed union { - raw: u1, - value: RESETEFFECT, - }, - /// Master compare X - MSTCMP: packed union { - raw: u1, - value: RESETEFFECT, - }, + /// Master timer Period + MSTPER: RESETEFFECT, + /// Master compare X + MSTCMP: RESETEFFECT, reserved9: u3, - /// External Event X - EXTEVNT: packed union { - raw: u1, - value: RESETEFFECT, - }, + /// External Event X + EXTEVNT: RESETEFFECT, reserved20: u10, - /// Timer X compare 2 event - TCMP2: packed union { - raw: u1, - value: RESETEFFECT, - }, - /// Timer X compare 4 event - TCMP4: packed union { - raw: u1, - value: RESETEFFECT, - }, + /// Timer X compare 2 event + TCMP2: RESETEFFECT, + /// Timer X compare 4 event + TCMP4: RESETEFFECT, padding: u10, }), - /// Timer X Chopper Register + /// Timer X Chopper Register CHP: mmio.Mmio(packed struct(u32) { - /// Timerx carrier frequency value + /// Timerx carrier frequency value CARFRQ: u4, - /// Timerx chopper duty cycle value + /// Timerx chopper duty cycle value CARDTY: u3, - /// Timerx start pulsewidth + /// Timerx start pulsewidth STRTPW: u4, padding: u21, }), - /// Timer X Capture X Control Register + /// Timer X Capture X Control Register CCR: mmio.Mmio(packed struct(u32) { - /// Software Capture - SWCPT: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Update Capture - UPDCPT: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// External Event X Capture - EXEVCPT: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, + /// Software Capture + SWCPT: CAPTUREEFFECT, + /// Update Capture + UPDCPT: CAPTUREEFFECT, + /// External Event X Capture + EXEVCPT: CAPTUREEFFECT, reserved16: u13, - /// Timer X output Set - TXSET: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer X output Reset - TXRST: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer X Compare X - TXCMP: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, + /// Timer X output Set + TXSET: CAPTUREEFFECT, + /// Timer X output Reset + TXRST: CAPTUREEFFECT, + /// Timer X Compare X + TXCMP: CAPTUREEFFECT, reserved20: u1, - /// Timer Y output Set - TYSET: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer Y output Reset - TYRST: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer Y Compare X - TYCMP: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, + /// Timer Y output Set + TYSET: CAPTUREEFFECT, + /// Timer Y output Reset + TYRST: CAPTUREEFFECT, + /// Timer Y Compare X + TYCMP: CAPTUREEFFECT, reserved24: u1, - /// Timer Z output Set - TZSET: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer Z output Reset - TZRST: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer Z Compare X - TZCMP: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, + /// Timer Z output Set + TZSET: CAPTUREEFFECT, + /// Timer Z output Reset + TZRST: CAPTUREEFFECT, + /// Timer Z Compare X + TZCMP: CAPTUREEFFECT, reserved28: u1, - /// Timer T output Set - TTSET: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer T output Reset - TTRST: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, - /// Timer T Compare X - TTCMP: packed union { - raw: u1, - value: CAPTUREEFFECT, - }, + /// Timer T output Set + TTSET: CAPTUREEFFECT, + /// Timer T output Reset + TTRST: CAPTUREEFFECT, + /// Timer T Compare X + TTCMP: CAPTUREEFFECT, padding: u1, }), reserved100: [4]u8, - /// Timer X Output Register + /// Timer X Output Register OUTR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Output 1 polarity - POL: packed union { - raw: u1, - value: POL, - }, - /// Output X Idle mode + /// Output 1 polarity + POL: POL, + /// Output X Idle mode IDLEM: u1, - /// Output X Idle State + /// Output X Idle State IDLES: u1, - /// Output X Fault state - FAULTX: packed union { - raw: u2, - value: FAULT, - }, - /// Output X Chopper enable + /// Output X Fault state + FAULTX: FAULT, + /// Output X Chopper enable CHP: u1, - /// Output X Deadtime upon burst mode Idle entry + /// Output X Deadtime upon burst mode Idle entry DIDL: u1, - /// Deadtime enable + /// Deadtime enable DTEN: u1, - /// Delayed Protection Enable + /// Delayed Protection Enable DLYPRTEN: u1, - /// Delayed Protection - DLYPRT: packed union { - raw: u3, - value: DLYPRT, - }, + /// Delayed Protection + DLYPRT: DLYPRT, padding: u19, }), - /// Timer X Fault Register + /// Timer X Fault Register FLT: mmio.Mmio(packed struct(u32) { - /// Fault X enable - FLTEN: packed union { - raw: u1, - value: FLTEN, - }, + /// Fault X enable + FLTEN: FLTEN, reserved31: u30, - /// Fault sources Lock + /// Fault sources Lock FLTLCK: u1, }), }; }; pub const hsem_v1 = struct { - /// Hardware semaphore (HSEM). + /// Hardware semaphore (HSEM). pub const HSEM = extern struct { - /// HSEM register HSEM_R%s HSEM_R31. + /// HSEM register HSEM_R%s HSEM_R31. R: [32]mmio.Mmio(packed struct(u32) { - /// Semaphore ProcessID. + /// Semaphore ProcessID. PROCID: u8, - /// Semaphore COREID. + /// Semaphore COREID. COREID: u4, reserved31: u19, - /// Lock indication. + /// Lock indication. LOCK: u1, }), - /// HSEM Read lock register. + /// HSEM Read lock register. RLR: [32]mmio.Mmio(packed struct(u32) { - /// Semaphore ProcessID. + /// Semaphore ProcessID. PROCID: u8, - /// Semaphore COREID. + /// Semaphore COREID. COREID: u4, reserved31: u19, - /// Lock indication. + /// Lock indication. LOCK: u1, }), - /// HSEM Interrupt enable register. + /// HSEM Interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// Interrupt semaphore x enable bit. + /// Interrupt semaphore x enable bit. ISE: u1, padding: u31, }), - /// HSEM Interrupt clear register. + /// HSEM Interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Interrupt semaphore x clear bit. + /// Interrupt semaphore x clear bit. ISC: u1, padding: u31, }), - /// HSEM Interrupt status register. + /// HSEM Interrupt status register. ISR: mmio.Mmio(packed struct(u32) { - /// Interrupt semaphore x status bit before enable (mask). + /// Interrupt semaphore x status bit before enable (mask). ISF: u1, padding: u31, }), - /// HSEM Masked interrupt status register. + /// HSEM Masked interrupt status register. MISR: mmio.Mmio(packed struct(u32) { - /// masked interrupt semaphore x status bit after enable (mask). + /// masked interrupt semaphore x status bit after enable (mask). MISF: u1, padding: u31, }), reserved320: [48]u8, - /// HSEM Clear register. + /// HSEM Clear register. CR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// COREID of semaphores to be cleared. + /// COREID of semaphores to be cleared. COREID: u4, reserved16: u4, - /// Semaphore clear Key. + /// Semaphore clear Key. KEY: u16, }), - /// HSEM Interrupt clear register. + /// HSEM Interrupt clear register. KEYR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Semaphore Clear Key. + /// Semaphore Clear Key. KEY: u16, }), }; }; pub const hsem_v2 = struct { - /// HSEM. + /// HSEM. pub const HSEM = extern struct { - /// HSEM register HSEM_R%s HSEM_R31. + /// HSEM register HSEM_R%s HSEM_R31. R: [32]mmio.Mmio(packed struct(u32) { - /// Semaphore ProcessID. + /// Semaphore ProcessID. PROCID: u8, - /// Semaphore COREID. + /// Semaphore COREID. COREID: u4, reserved31: u19, - /// Lock indication. + /// Lock indication. LOCK: u1, }), - /// HSEM Read lock register. + /// HSEM Read lock register. RLR: [32]mmio.Mmio(packed struct(u32) { - /// Semaphore ProcessID. + /// Semaphore ProcessID. PROCID: u8, - /// Semaphore COREID. + /// Semaphore COREID. COREID: u4, reserved31: u19, - /// Lock indication. + /// Lock indication. LOCK: u1, }), - /// HSEM Interrupt enable register. + /// HSEM Interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// Interrupt semaphore x enable bit. + /// Interrupt semaphore x enable bit. ISE: u1, padding: u31, }), - /// HSEM Interrupt clear register. + /// HSEM Interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Interrupt semaphore x clear bit. + /// Interrupt semaphore x clear bit. ISC: u1, padding: u31, }), - /// HSEM Interrupt status register. + /// HSEM Interrupt status register. ISR: mmio.Mmio(packed struct(u32) { - /// Interrupt semaphore x status bit before enable (mask). + /// Interrupt semaphore x status bit before enable (mask). ISF: u1, padding: u31, }), - /// HSEM Masked interrupt status register. + /// HSEM Masked interrupt status register. MISR: mmio.Mmio(packed struct(u32) { - /// masked interrupt semaphore x status bit after enable (mask). + /// masked interrupt semaphore x status bit after enable (mask). MISF: u1, padding: u31, }), reserved320: [48]u8, - /// HSEM Clear register. + /// HSEM Clear register. CR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// COREID of semaphores to be cleared. + /// COREID of semaphores to be cleared. COREID: u4, reserved16: u4, - /// Semaphore clear Key. + /// Semaphore clear Key. KEY: u16, }), - /// HSEM Interrupt clear register. + /// HSEM Interrupt clear register. KEYR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Semaphore Clear Key. + /// Semaphore Clear Key. KEY: u16, }), }; }; pub const hsem_v3 = struct { - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM = extern struct { - /// HSEM register HSEM_R%s HSEM_R31. + /// HSEM register HSEM_R%s HSEM_R31. R: [16]mmio.Mmio(packed struct(u32) { - /// Semaphore ProcessID. + /// Semaphore ProcessID. PROCID: u8, - /// COREID. + /// COREID. COREID: u4, reserved31: u19, - /// Lock indication. + /// Lock indication. LOCK: u1, }), reserved128: [64]u8, - /// HSEM Read lock register. + /// HSEM Read lock register. RLR: [16]mmio.Mmio(packed struct(u32) { - /// Semaphore ProcessID. + /// Semaphore ProcessID. PROCID: u8, - /// COREID. + /// COREID. COREID: u4, reserved31: u19, - /// Lock indication. + /// Lock indication. LOCK: u1, }), reserved256: [64]u8, - /// HSEM Interrupt enable register. + /// HSEM Interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// Interrupt semaphore x enable bit. + /// Interrupt semaphore x enable bit. ISE: u1, padding: u31, }), - /// HSEM Interrupt clear register. + /// HSEM Interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Interrupt semaphore x clear bit. + /// Interrupt semaphore x clear bit. ISC: u1, padding: u31, }), - /// HSEM Interrupt status register. + /// HSEM Interrupt status register. ISR: mmio.Mmio(packed struct(u32) { - /// Interrupt semaphore x status bit before enable (mask). + /// Interrupt semaphore x status bit before enable (mask). ISF: u1, padding: u31, }), - /// HSEM Masked interrupt status register. + /// HSEM Masked interrupt status register. MISR: mmio.Mmio(packed struct(u32) { - /// masked interrupt semaphore x status bit after enable (mask). + /// masked interrupt semaphore x status bit after enable (mask). MISF: u1, padding: u31, }), reserved320: [48]u8, - /// HSEM Clear register. + /// HSEM Clear register. CR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// COREID. + /// COREID. COREID: u4, reserved16: u4, - /// Semaphore clear Key. + /// Semaphore clear Key. KEY: u16, }), - /// HSEM Interrupt clear register. + /// HSEM Interrupt clear register. KEYR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Semaphore Clear Key. + /// Semaphore Clear Key. KEY: u16, }), }; }; pub const hsem_v4 = struct { - /// Hardware semaphore. + /// Hardware semaphore. pub const HSEM = extern struct { - /// HSEM register HSEM_R%s HSEM_R31. + /// HSEM register HSEM_R%s HSEM_R31. R: [16]mmio.Mmio(packed struct(u32) { - /// Semaphore ProcessID. + /// Semaphore ProcessID. PROCID: u8, - /// Semaphore COREID. + /// Semaphore COREID. COREID: u4, reserved31: u19, - /// Lock indication. + /// Lock indication. LOCK: u1, }), reserved128: [64]u8, - /// HSEM Read lock register. + /// HSEM Read lock register. RLR: [16]mmio.Mmio(packed struct(u32) { - /// Semaphore ProcessID. + /// Semaphore ProcessID. PROCID: u8, - /// Semaphore COREID. + /// Semaphore COREID. COREID: u4, reserved31: u19, - /// Lock indication. + /// Lock indication. LOCK: u1, }), reserved256: [64]u8, - /// HSEM Interrupt enable register. + /// HSEM Interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// Interrupt semaphore n enable bit. + /// Interrupt semaphore n enable bit. ISE: u1, padding: u31, }), - /// HSEM Interrupt clear register. + /// HSEM Interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Interrupt(N) semaphore n clear bit. + /// Interrupt(N) semaphore n clear bit. ISC: u1, padding: u31, }), - /// HSEM Interrupt status register. + /// HSEM Interrupt status register. ISR: mmio.Mmio(packed struct(u32) { - /// Interrupt(N) semaphore n status bit before enable (mask). + /// Interrupt(N) semaphore n status bit before enable (mask). ISF: u1, padding: u31, }), - /// HSEM Masked interrupt status register. + /// HSEM Masked interrupt status register. MISR: mmio.Mmio(packed struct(u32) { - /// masked interrupt(N) semaphore n status bit after enable (mask). + /// masked interrupt(N) semaphore n status bit after enable (mask). MISF: u1, padding: u31, }), reserved320: [48]u8, - /// HSEM Clear register. + /// HSEM Clear register. CR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// COREID. + /// COREID. COREID: u4, reserved16: u4, - /// Semaphore clear Key. + /// Semaphore clear Key. KEY: u16, }), - /// HSEM Interrupt clear register. + /// HSEM Interrupt clear register. KEYR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Semaphore Clear Key. + /// Semaphore Clear Key. KEY: u16, }), }; @@ -347194,266 +343987,242 @@ pub const types = struct { pub const i2c_v1 = struct { pub const ADDMODE = enum(u1) { - /// 7-bit addressing mode + /// 7-bit addressing mode Bit7 = 0x0, - /// 10-bit addressing mode + /// 10-bit addressing mode Bit10 = 0x1, }; pub const DNF = enum(u4) { - /// Digital filter disabled + /// Digital filter disabled NoFilter = 0x0, - /// Digital filter enabled and filtering capability up to 1 tI2CCLK + /// Digital filter enabled and filtering capability up to 1 tI2CCLK Filter1 = 0x1, - /// Digital filter enabled and filtering capability up to 2 tI2CCLK + /// Digital filter enabled and filtering capability up to 2 tI2CCLK Filter2 = 0x2, - /// Digital filter enabled and filtering capability up to 3 tI2CCLK + /// Digital filter enabled and filtering capability up to 3 tI2CCLK Filter3 = 0x3, - /// Digital filter enabled and filtering capability up to 4 tI2CCLK + /// Digital filter enabled and filtering capability up to 4 tI2CCLK Filter4 = 0x4, - /// Digital filter enabled and filtering capability up to 5 tI2CCLK + /// Digital filter enabled and filtering capability up to 5 tI2CCLK Filter5 = 0x5, - /// Digital filter enabled and filtering capability up to 6 tI2CCLK + /// Digital filter enabled and filtering capability up to 6 tI2CCLK Filter6 = 0x6, - /// Digital filter enabled and filtering capability up to 7 tI2CCLK + /// Digital filter enabled and filtering capability up to 7 tI2CCLK Filter7 = 0x7, - /// Digital filter enabled and filtering capability up to 8 tI2CCLK + /// Digital filter enabled and filtering capability up to 8 tI2CCLK Filter8 = 0x8, - /// Digital filter enabled and filtering capability up to 9 tI2CCLK + /// Digital filter enabled and filtering capability up to 9 tI2CCLK Filter9 = 0x9, - /// Digital filter enabled and filtering capability up to 10 tI2CCLK + /// Digital filter enabled and filtering capability up to 10 tI2CCLK Filter10 = 0xa, - /// Digital filter enabled and filtering capability up to 11 tI2CCLK + /// Digital filter enabled and filtering capability up to 11 tI2CCLK Filter11 = 0xb, - /// Digital filter enabled and filtering capability up to 12 tI2CCLK + /// Digital filter enabled and filtering capability up to 12 tI2CCLK Filter12 = 0xc, - /// Digital filter enabled and filtering capability up to 13 tI2CCLK + /// Digital filter enabled and filtering capability up to 13 tI2CCLK Filter13 = 0xd, - /// Digital filter enabled and filtering capability up to 14 tI2CCLK + /// Digital filter enabled and filtering capability up to 14 tI2CCLK Filter14 = 0xe, - /// Digital filter enabled and filtering capability up to 15 tI2CCLK + /// Digital filter enabled and filtering capability up to 15 tI2CCLK Filter15 = 0xf, }; pub const DUTY = enum(u1) { - /// Duty cycle t_low/t_high = 2/1 + /// Duty cycle t_low/t_high = 2/1 Duty2_1 = 0x0, - /// Duty cycle t_low/t_high = 16/9 + /// Duty cycle t_low/t_high = 16/9 Duty16_9 = 0x1, }; pub const ENDUAL = enum(u1) { - /// Single addressing mode + /// Single addressing mode Single = 0x0, - /// Dual addressing mode + /// Dual addressing mode Dual = 0x1, }; pub const F_S = enum(u1) { - /// Standard mode I2C + /// Standard mode I2C Standard = 0x0, - /// Fast mode I2C + /// Fast mode I2C Fast = 0x1, }; pub const POS = enum(u1) { - /// ACK bit controls the (N)ACK of the current byte being received + /// ACK bit controls the (N)ACK of the current byte being received Current = 0x0, - /// ACK bit controls the (N)ACK of the next byte to be received + /// ACK bit controls the (N)ACK of the next byte to be received Next = 0x1, }; pub const SMBTYPE = enum(u1) { - /// SMBus Device + /// SMBus Device Device = 0x0, - /// SMBus Host + /// SMBus Host Host = 0x1, }; pub const SMBUS = enum(u1) { - /// I2C Mode + /// I2C Mode I2C = 0x0, - /// SMBus + /// SMBus SMBus = 0x1, }; - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C = extern struct { - /// Control register 1 + /// Control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Peripheral enable + /// Peripheral enable PE: u1, - /// SMBus mode - SMBUS: packed union { - raw: u1, - value: SMBUS, - }, + /// SMBus mode + SMBUS: SMBUS, reserved3: u1, - /// SMBus type - SMBTYPE: packed union { - raw: u1, - value: SMBTYPE, - }, - /// ARP enable + /// SMBus type + SMBTYPE: SMBTYPE, + /// ARP enable ENARP: u1, - /// PEC enable + /// PEC enable ENPEC: u1, - /// General call enable + /// General call enable ENGC: u1, - /// Clock stretching disable (Slave mode) + /// Clock stretching disable (Slave mode) NOSTRETCH: u1, - /// Start generation + /// Start generation START: u1, - /// Stop generation + /// Stop generation STOP: u1, - /// Acknowledge enable + /// Acknowledge enable ACK: u1, - /// Acknowledge/PEC Position (for data reception) - POS: packed union { - raw: u1, - value: POS, - }, - /// Packet error checking + /// Acknowledge/PEC Position (for data reception) + POS: POS, + /// Packet error checking PEC: u1, - /// SMBus alert + /// SMBus alert ALERT: u1, reserved15: u1, - /// Software reset + /// Software reset SWRST: u1, padding: u16, }), - /// Control register 2 + /// Control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Peripheral clock frequency + /// Peripheral clock frequency FREQ: u6, reserved8: u2, - /// Error interrupt enable + /// Error interrupt enable ITERREN: u1, - /// Event interrupt enable + /// Event interrupt enable ITEVTEN: u1, - /// Buffer interrupt enable + /// Buffer interrupt enable ITBUFEN: u1, - /// DMA requests enable + /// DMA requests enable DMAEN: u1, - /// DMA last transfer + /// DMA last transfer LAST: u1, padding: u19, }), - /// Own address register 1 + /// Own address register 1 OAR1: mmio.Mmio(packed struct(u32) { - /// Interface address + /// Interface address ADD: u10, reserved15: u5, - /// Addressing mode (slave mode) - ADDMODE: packed union { - raw: u1, - value: ADDMODE, - }, + /// Addressing mode (slave mode) + ADDMODE: ADDMODE, padding: u16, }), - /// Own address register 2 + /// Own address register 2 OAR2: mmio.Mmio(packed struct(u32) { - /// Dual addressing mode enable - ENDUAL: packed union { - raw: u1, - value: ENDUAL, - }, - /// Interface address + /// Dual addressing mode enable + ENDUAL: ENDUAL, + /// Interface address ADD2: u7, padding: u24, }), - /// Data register + /// Data register DR: mmio.Mmio(packed struct(u32) { - /// 8-bit data register + /// 8-bit data register DR: u8, padding: u24, }), - /// Status register 1 + /// Status register 1 SR1: mmio.Mmio(packed struct(u32) { - /// Start bit (Master mode) + /// Start bit (Master mode) START: u1, - /// Address sent (master mode)/matched (slave mode) + /// Address sent (master mode)/matched (slave mode) ADDR: u1, - /// Byte transfer finished + /// Byte transfer finished BTF: u1, - /// 10-bit header sent (Master mode) + /// 10-bit header sent (Master mode) ADD10: u1, - /// Stop detection (slave mode) + /// Stop detection (slave mode) STOPF: u1, reserved6: u1, - /// Data register not empty (receivers) + /// Data register not empty (receivers) RXNE: u1, - /// Data register empty (transmitters) + /// Data register empty (transmitters) TXE: u1, - /// Bus error + /// Bus error BERR: u1, - /// Arbitration lost (master mode) + /// Arbitration lost (master mode) ARLO: u1, - /// Acknowledge failure + /// Acknowledge failure AF: u1, - /// Overrun/Underrun + /// Overrun/Underrun OVR: u1, - /// PEC Error in reception + /// PEC Error in reception PECERR: u1, reserved14: u1, - /// Timeout or t_low detection flag + /// Timeout or t_low detection flag TIMEOUT: u1, - /// SMBus alert + /// SMBus alert ALERT: u1, padding: u16, }), - /// Status register 2 + /// Status register 2 SR2: mmio.Mmio(packed struct(u32) { - /// Master/slave + /// Master/slave MSL: u1, - /// Bus busy + /// Bus busy BUSY: u1, - /// Transmitter/receiver + /// Transmitter/receiver TRA: u1, reserved4: u1, - /// General call address (Slave mode) + /// General call address (Slave mode) GENCALL: u1, - /// SMBus device default address (Slave mode) + /// SMBus device default address (Slave mode) SMBDEFAULT: u1, - /// SMBus host header (Slave mode) + /// SMBus host header (Slave mode) SMBHOST: u1, - /// Dual flag (Slave mode) + /// Dual flag (Slave mode) DUALF: u1, - /// Packet error checking register + /// Packet error checking register PEC: u8, padding: u16, }), - /// Clock control register + /// Clock control register CCR: mmio.Mmio(packed struct(u32) { - /// Clock control register in Fast/Standard mode (Master mode) + /// Clock control register in Fast/Standard mode (Master mode) CCR: u12, reserved14: u2, - /// Fast mode duty cycle - DUTY: packed union { - raw: u1, - value: DUTY, - }, - /// I2C master mode selection - F_S: packed union { - raw: u1, - value: F_S, - }, + /// Fast mode duty cycle + DUTY: DUTY, + /// I2C master mode selection + F_S: F_S, padding: u16, }), - /// TRISE register + /// TRISE register TRISE: mmio.Mmio(packed struct(u32) { - /// Maximum rise time in Fast/Standard mode (Master mode) + /// Maximum rise time in Fast/Standard mode (Master mode) TRISE: u6, padding: u26, }), - /// FLTR register + /// FLTR register FLTR: mmio.Mmio(packed struct(u32) { - /// Digital noise filter - DNF: packed union { - raw: u4, - value: DNF, - }, - /// Analog noise filter + /// Digital noise filter + DNF: DNF, + /// Analog noise filter ANOFF: u1, padding: u27, }), @@ -347462,323 +344231,296 @@ pub const types = struct { pub const i2c_v2 = struct { pub const ADDMODE = enum(u1) { - /// 7-bit addressing mode + /// 7-bit addressing mode Bit7 = 0x0, - /// 10-bit addressing mode + /// 10-bit addressing mode Bit10 = 0x1, }; pub const AUTOEND = enum(u1) { - /// Software end mode: TC flag is set when NBYTES data are transferred, stretching SCL low + /// Software end mode: TC flag is set when NBYTES data are transferred, stretching SCL low Software = 0x0, - /// Automatic end mode: a STOP condition is automatically sent when NBYTES data are transferred + /// Automatic end mode: a STOP condition is automatically sent when NBYTES data are transferred Automatic = 0x1, }; pub const DIR = enum(u1) { - /// Write transfer, slave enters receiver mode + /// Write transfer, slave enters receiver mode Write = 0x0, - /// Read transfer, slave enters transmitter mode + /// Read transfer, slave enters transmitter mode Read = 0x1, }; pub const DNF = enum(u4) { - /// Digital filter disabled + /// Digital filter disabled NoFilter = 0x0, - /// Digital filter enabled and filtering capability up to 1 tI2CCLK + /// Digital filter enabled and filtering capability up to 1 tI2CCLK Filter1 = 0x1, - /// Digital filter enabled and filtering capability up to 2 tI2CCLK + /// Digital filter enabled and filtering capability up to 2 tI2CCLK Filter2 = 0x2, - /// Digital filter enabled and filtering capability up to 3 tI2CCLK + /// Digital filter enabled and filtering capability up to 3 tI2CCLK Filter3 = 0x3, - /// Digital filter enabled and filtering capability up to 4 tI2CCLK + /// Digital filter enabled and filtering capability up to 4 tI2CCLK Filter4 = 0x4, - /// Digital filter enabled and filtering capability up to 5 tI2CCLK + /// Digital filter enabled and filtering capability up to 5 tI2CCLK Filter5 = 0x5, - /// Digital filter enabled and filtering capability up to 6 tI2CCLK + /// Digital filter enabled and filtering capability up to 6 tI2CCLK Filter6 = 0x6, - /// Digital filter enabled and filtering capability up to 7 tI2CCLK + /// Digital filter enabled and filtering capability up to 7 tI2CCLK Filter7 = 0x7, - /// Digital filter enabled and filtering capability up to 8 tI2CCLK + /// Digital filter enabled and filtering capability up to 8 tI2CCLK Filter8 = 0x8, - /// Digital filter enabled and filtering capability up to 9 tI2CCLK + /// Digital filter enabled and filtering capability up to 9 tI2CCLK Filter9 = 0x9, - /// Digital filter enabled and filtering capability up to 10 tI2CCLK + /// Digital filter enabled and filtering capability up to 10 tI2CCLK Filter10 = 0xa, - /// Digital filter enabled and filtering capability up to 11 tI2CCLK + /// Digital filter enabled and filtering capability up to 11 tI2CCLK Filter11 = 0xb, - /// Digital filter enabled and filtering capability up to 12 tI2CCLK + /// Digital filter enabled and filtering capability up to 12 tI2CCLK Filter12 = 0xc, - /// Digital filter enabled and filtering capability up to 13 tI2CCLK + /// Digital filter enabled and filtering capability up to 13 tI2CCLK Filter13 = 0xd, - /// Digital filter enabled and filtering capability up to 14 tI2CCLK + /// Digital filter enabled and filtering capability up to 14 tI2CCLK Filter14 = 0xe, - /// Digital filter enabled and filtering capability up to 15 tI2CCLK + /// Digital filter enabled and filtering capability up to 15 tI2CCLK Filter15 = 0xf, }; pub const HEADR = enum(u1) { - /// The master sends the complete 10 bit slave address read sequence + /// The master sends the complete 10 bit slave address read sequence Complete = 0x0, - /// The master only sends the 1st 7 bits of the 10 bit address, followed by Read direction + /// The master only sends the 1st 7 bits of the 10 bit address, followed by Read direction Partial = 0x1, }; pub const OAMSK = enum(u3) { - /// No mask + /// No mask NoMask = 0x0, - /// OA2[1] is masked and don’t care. Only OA2[7:2] are compared + /// OA2[1] is masked and don’t care. Only OA2[7:2] are compared Mask1 = 0x1, - /// OA2[2:1] are masked and don’t care. Only OA2[7:3] are compared + /// OA2[2:1] are masked and don’t care. Only OA2[7:3] are compared Mask2 = 0x2, - /// OA2[3:1] are masked and don’t care. Only OA2[7:4] are compared + /// OA2[3:1] are masked and don’t care. Only OA2[7:4] are compared Mask3 = 0x3, - /// OA2[4:1] are masked and don’t care. Only OA2[7:5] are compared + /// OA2[4:1] are masked and don’t care. Only OA2[7:5] are compared Mask4 = 0x4, - /// OA2[5:1] are masked and don’t care. Only OA2[7:6] are compared + /// OA2[5:1] are masked and don’t care. Only OA2[7:6] are compared Mask5 = 0x5, - /// OA2[6:1] are masked and don’t care. Only OA2[7] is compared. + /// OA2[6:1] are masked and don’t care. Only OA2[7] is compared. Mask6 = 0x6, - /// OA2[7:1] are masked and don’t care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged + /// OA2[7:1] are masked and don’t care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged Mask7 = 0x7, }; pub const RELOAD = enum(u1) { - /// The transfer is completed after the NBYTES data transfer (STOP or RESTART will follow) + /// The transfer is completed after the NBYTES data transfer (STOP or RESTART will follow) Completed = 0x0, - /// The transfer is not completed after the NBYTES data transfer (NBYTES will be reloaded) + /// The transfer is not completed after the NBYTES data transfer (NBYTES will be reloaded) NotCompleted = 0x1, }; - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C = extern struct { - /// Control register 1 + /// Control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Peripheral enable + /// Peripheral enable PE: u1, - /// TX Interrupt enable + /// TX Interrupt enable TXIE: u1, - /// RX Interrupt enable + /// RX Interrupt enable RXIE: u1, - /// Address match interrupt enable (slave only) + /// Address match interrupt enable (slave only) ADDRIE: u1, - /// Not acknowledge received interrupt enable + /// Not acknowledge received interrupt enable NACKIE: u1, - /// STOP detection Interrupt enable + /// STOP detection Interrupt enable STOPIE: u1, - /// Transfer Complete interrupt enable + /// Transfer Complete interrupt enable TCIE: u1, - /// Error interrupts enable + /// Error interrupts enable ERRIE: u1, - /// Digital noise filter - DNF: packed union { - raw: u4, - value: DNF, - }, - /// Analog noise filter OFF + /// Digital noise filter + DNF: DNF, + /// Analog noise filter OFF ANFOFF: u1, reserved14: u1, - /// DMA transmission requests enable + /// DMA transmission requests enable TXDMAEN: u1, - /// DMA reception requests enable + /// DMA reception requests enable RXDMAEN: u1, - /// Slave byte control + /// Slave byte control SBC: u1, - /// Clock stretching disable + /// Clock stretching disable NOSTRETCH: u1, reserved19: u1, - /// General call enable + /// General call enable GCEN: u1, - /// SMBus Host address enable + /// SMBus Host address enable SMBHEN: u1, - /// SMBus Device Default address enable + /// SMBus Device Default address enable SMBDEN: u1, - /// SMBUS alert enable + /// SMBUS alert enable ALERTEN: u1, - /// PEC enable + /// PEC enable PECEN: u1, padding: u8, }), - /// Control register 2 + /// Control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Slave address bit (master mode) + /// Slave address bit (master mode) SADD: u10, - /// Transfer direction (master mode) - DIR: packed union { - raw: u1, - value: DIR, - }, - /// 10-bit addressing mode (master mode) - ADD10: packed union { - raw: u1, - value: ADDMODE, - }, - /// 10-bit address header only read direction (master receiver mode) - HEAD10R: packed union { - raw: u1, - value: HEADR, - }, - /// Start generation + /// Transfer direction (master mode) + DIR: DIR, + /// 10-bit addressing mode (master mode) + ADD10: ADDMODE, + /// 10-bit address header only read direction (master receiver mode) + HEAD10R: HEADR, + /// Start generation START: u1, - /// Stop generation (master mode) + /// Stop generation (master mode) STOP: u1, - /// NACK generation (slave mode) + /// NACK generation (slave mode) NACK: u1, - /// Number of bytes + /// Number of bytes NBYTES: u8, - /// NBYTES reload mode - RELOAD: packed union { - raw: u1, - value: RELOAD, - }, - /// Automatic end mode (master mode) - AUTOEND: packed union { - raw: u1, - value: AUTOEND, - }, - /// Packet error checking byte + /// NBYTES reload mode + RELOAD: RELOAD, + /// Automatic end mode (master mode) + AUTOEND: AUTOEND, + /// Packet error checking byte PECBYTE: u1, padding: u5, }), - /// Own address register 1 + /// Own address register 1 OAR1: mmio.Mmio(packed struct(u32) { - /// Interface address + /// Interface address OA1: u10, - /// Own Address 1 10-bit mode - OA1MODE: packed union { - raw: u1, - value: ADDMODE, - }, + /// Own Address 1 10-bit mode + OA1MODE: ADDMODE, reserved15: u4, - /// Own Address 1 enable + /// Own Address 1 enable OA1EN: u1, padding: u16, }), - /// Own address register 2 + /// Own address register 2 OAR2: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Interface address + /// Interface address OA2: u7, - /// Own Address 2 masks - OA2MSK: packed union { - raw: u3, - value: OAMSK, - }, + /// Own Address 2 masks + OA2MSK: OAMSK, reserved15: u4, - /// Own Address 2 enable + /// Own Address 2 enable OA2EN: u1, padding: u16, }), - /// Timing register + /// Timing register TIMINGR: mmio.Mmio(packed struct(u32) { - /// SCL low period (master mode) + /// SCL low period (master mode) SCLL: u8, - /// SCL high period (master mode) + /// SCL high period (master mode) SCLH: u8, - /// Data hold time + /// Data hold time SDADEL: u4, - /// Data setup time + /// Data setup time SCLDEL: u4, reserved28: u4, - /// Timing prescaler + /// Timing prescaler PRESC: u4, }), - /// Timeout register + /// Timeout register TIMEOUTR: mmio.Mmio(packed struct(u32) { - /// Bus timeout A + /// Bus timeout A TIMEOUTA: u12, - /// Idle clock timeout detection + /// Idle clock timeout detection TIDLE: u1, reserved15: u2, - /// Clock timeout enable + /// Clock timeout enable TIMOUTEN: u1, - /// Bus timeout B + /// Bus timeout B TIMEOUTB: u12, reserved31: u3, - /// Extended clock timeout enable + /// Extended clock timeout enable TEXTEN: u1, }), - /// Interrupt and Status register + /// Interrupt and Status register ISR: mmio.Mmio(packed struct(u32) { - /// Transmit data register empty (transmitters) + /// Transmit data register empty (transmitters) TXE: u1, - /// Transmit interrupt status (transmitters) + /// Transmit interrupt status (transmitters) TXIS: u1, - /// Receive data register not empty (receivers) + /// Receive data register not empty (receivers) RXNE: u1, - /// Address matched (slave mode) + /// Address matched (slave mode) ADDR: u1, - /// Not acknowledge received flag + /// Not acknowledge received flag NACKF: u1, - /// Stop detection flag + /// Stop detection flag STOPF: u1, - /// Transfer Complete (master mode) + /// Transfer Complete (master mode) TC: u1, - /// Transfer Complete Reload + /// Transfer Complete Reload TCR: u1, - /// Bus error + /// Bus error BERR: u1, - /// Arbitration lost + /// Arbitration lost ARLO: u1, - /// Overrun/Underrun (slave mode) + /// Overrun/Underrun (slave mode) OVR: u1, - /// PEC Error in reception + /// PEC Error in reception PECERR: u1, - /// Timeout or t_low detection flag + /// Timeout or t_low detection flag TIMEOUT: u1, - /// SMBus alert + /// SMBus alert ALERT: u1, reserved15: u1, - /// Bus busy + /// Bus busy BUSY: u1, - /// Transfer direction (Slave mode) - DIR: packed union { - raw: u1, - value: DIR, - }, - /// Address match code (Slave mode) + /// Transfer direction (Slave mode) + DIR: DIR, + /// Address match code (Slave mode) ADDCODE: u7, padding: u8, }), - /// Interrupt clear register + /// Interrupt clear register ICR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Address Matched flag clear + /// Address Matched flag clear ADDRCF: u1, - /// Not Acknowledge flag clear + /// Not Acknowledge flag clear NACKCF: u1, - /// Stop detection flag clear + /// Stop detection flag clear STOPCF: u1, reserved8: u2, - /// Bus error flag clear + /// Bus error flag clear BERRCF: u1, - /// Arbitration lost flag clear + /// Arbitration lost flag clear ARLOCF: u1, - /// Overrun/Underrun flag clear + /// Overrun/Underrun flag clear OVRCF: u1, - /// PEC Error flag clear + /// PEC Error flag clear PECCF: u1, - /// Timeout detection flag clear + /// Timeout detection flag clear TIMOUTCF: u1, - /// Alert flag clear + /// Alert flag clear ALERTCF: u1, padding: u18, }), - /// PEC register + /// PEC register PECR: mmio.Mmio(packed struct(u32) { - /// Packet error checking register + /// Packet error checking register PEC: u8, padding: u24, }), - /// Receive data register + /// Receive data register RXDR: mmio.Mmio(packed struct(u32) { - /// 8-bit receive data + /// 8-bit receive data RXDATA: u8, padding: u24, }), - /// Transmit data register + /// Transmit data register TXDR: mmio.Mmio(packed struct(u32) { - /// 8-bit transmit data + /// 8-bit transmit data TXDATA: u8, padding: u24, }), @@ -347787,329 +344529,302 @@ pub const types = struct { pub const i2c_v3 = struct { pub const ADDMODE = enum(u1) { - /// 7-bit addressing mode + /// 7-bit addressing mode Bit7 = 0x0, - /// 10-bit addressing mode + /// 10-bit addressing mode Bit10 = 0x1, }; pub const AUTOEND = enum(u1) { - /// Software end mode: TC flag is set when NBYTES data are transferred, stretching SCL low + /// Software end mode: TC flag is set when NBYTES data are transferred, stretching SCL low Software = 0x0, - /// Automatic end mode: a STOP condition is automatically sent when NBYTES data are transferred + /// Automatic end mode: a STOP condition is automatically sent when NBYTES data are transferred Automatic = 0x1, }; pub const DIR = enum(u1) { - /// Write transfer, slave enters receiver mode + /// Write transfer, slave enters receiver mode Write = 0x0, - /// Read transfer, slave enters transmitter mode + /// Read transfer, slave enters transmitter mode Read = 0x1, }; pub const DNF = enum(u4) { - /// Digital filter disabled + /// Digital filter disabled NoFilter = 0x0, - /// Digital filter enabled and filtering capability up to 1 tI2CCLK + /// Digital filter enabled and filtering capability up to 1 tI2CCLK Filter1 = 0x1, - /// Digital filter enabled and filtering capability up to 2 tI2CCLK + /// Digital filter enabled and filtering capability up to 2 tI2CCLK Filter2 = 0x2, - /// Digital filter enabled and filtering capability up to 3 tI2CCLK + /// Digital filter enabled and filtering capability up to 3 tI2CCLK Filter3 = 0x3, - /// Digital filter enabled and filtering capability up to 4 tI2CCLK + /// Digital filter enabled and filtering capability up to 4 tI2CCLK Filter4 = 0x4, - /// Digital filter enabled and filtering capability up to 5 tI2CCLK + /// Digital filter enabled and filtering capability up to 5 tI2CCLK Filter5 = 0x5, - /// Digital filter enabled and filtering capability up to 6 tI2CCLK + /// Digital filter enabled and filtering capability up to 6 tI2CCLK Filter6 = 0x6, - /// Digital filter enabled and filtering capability up to 7 tI2CCLK + /// Digital filter enabled and filtering capability up to 7 tI2CCLK Filter7 = 0x7, - /// Digital filter enabled and filtering capability up to 8 tI2CCLK + /// Digital filter enabled and filtering capability up to 8 tI2CCLK Filter8 = 0x8, - /// Digital filter enabled and filtering capability up to 9 tI2CCLK + /// Digital filter enabled and filtering capability up to 9 tI2CCLK Filter9 = 0x9, - /// Digital filter enabled and filtering capability up to 10 tI2CCLK + /// Digital filter enabled and filtering capability up to 10 tI2CCLK Filter10 = 0xa, - /// Digital filter enabled and filtering capability up to 11 tI2CCLK + /// Digital filter enabled and filtering capability up to 11 tI2CCLK Filter11 = 0xb, - /// Digital filter enabled and filtering capability up to 12 tI2CCLK + /// Digital filter enabled and filtering capability up to 12 tI2CCLK Filter12 = 0xc, - /// Digital filter enabled and filtering capability up to 13 tI2CCLK + /// Digital filter enabled and filtering capability up to 13 tI2CCLK Filter13 = 0xd, - /// Digital filter enabled and filtering capability up to 14 tI2CCLK + /// Digital filter enabled and filtering capability up to 14 tI2CCLK Filter14 = 0xe, - /// Digital filter enabled and filtering capability up to 15 tI2CCLK + /// Digital filter enabled and filtering capability up to 15 tI2CCLK Filter15 = 0xf, }; pub const HEADR = enum(u1) { - /// The master sends the complete 10 bit slave address read sequence + /// The master sends the complete 10 bit slave address read sequence Complete = 0x0, - /// The master only sends the 1st 7 bits of the 10 bit address, followed by Read direction + /// The master only sends the 1st 7 bits of the 10 bit address, followed by Read direction Partial = 0x1, }; pub const OAMSK = enum(u3) { - /// No mask + /// No mask NoMask = 0x0, - /// OA2[1] is masked and don’t care. Only OA2[7:2] are compared + /// OA2[1] is masked and don’t care. Only OA2[7:2] are compared Mask1 = 0x1, - /// OA2[2:1] are masked and don’t care. Only OA2[7:3] are compared + /// OA2[2:1] are masked and don’t care. Only OA2[7:3] are compared Mask2 = 0x2, - /// OA2[3:1] are masked and don’t care. Only OA2[7:4] are compared + /// OA2[3:1] are masked and don’t care. Only OA2[7:4] are compared Mask3 = 0x3, - /// OA2[4:1] are masked and don’t care. Only OA2[7:5] are compared + /// OA2[4:1] are masked and don’t care. Only OA2[7:5] are compared Mask4 = 0x4, - /// OA2[5:1] are masked and don’t care. Only OA2[7:6] are compared + /// OA2[5:1] are masked and don’t care. Only OA2[7:6] are compared Mask5 = 0x5, - /// OA2[6:1] are masked and don’t care. Only OA2[7] is compared. + /// OA2[6:1] are masked and don’t care. Only OA2[7] is compared. Mask6 = 0x6, - /// OA2[7:1] are masked and don’t care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged + /// OA2[7:1] are masked and don’t care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged Mask7 = 0x7, }; pub const RELOAD = enum(u1) { - /// The transfer is completed after the NBYTES data transfer (STOP or RESTART will follow) + /// The transfer is completed after the NBYTES data transfer (STOP or RESTART will follow) Completed = 0x0, - /// The transfer is not completed after the NBYTES data transfer (NBYTES will be reloaded) + /// The transfer is not completed after the NBYTES data transfer (NBYTES will be reloaded) NotCompleted = 0x1, }; - /// Inter-integrated circuit + /// Inter-integrated circuit pub const I2C = extern struct { - /// Control register 1 + /// Control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Peripheral enable + /// Peripheral enable PE: u1, - /// TX Interrupt enable + /// TX Interrupt enable TXIE: u1, - /// RX Interrupt enable + /// RX Interrupt enable RXIE: u1, - /// Address match interrupt enable (slave only) + /// Address match interrupt enable (slave only) ADDRIE: u1, - /// Not acknowledge received interrupt enable + /// Not acknowledge received interrupt enable NACKIE: u1, - /// STOP detection Interrupt enable + /// STOP detection Interrupt enable STOPIE: u1, - /// Transfer Complete interrupt enable + /// Transfer Complete interrupt enable TCIE: u1, - /// Error interrupts enable + /// Error interrupts enable ERRIE: u1, - /// Digital noise filter - DNF: packed union { - raw: u4, - value: DNF, - }, - /// Analog noise filter OFF + /// Digital noise filter + DNF: DNF, + /// Analog noise filter OFF ANFOFF: u1, reserved14: u1, - /// DMA transmission requests enable + /// DMA transmission requests enable TXDMAEN: u1, - /// DMA reception requests enable + /// DMA reception requests enable RXDMAEN: u1, - /// Slave byte control + /// Slave byte control SBC: u1, - /// Clock stretching disable + /// Clock stretching disable NOSTRETCH: u1, reserved19: u1, - /// General call enable + /// General call enable GCEN: u1, - /// SMBus Host address enable + /// SMBus Host address enable SMBHEN: u1, - /// SMBus Device Default address enable + /// SMBus Device Default address enable SMBDEN: u1, - /// SMBUS alert enable + /// SMBUS alert enable ALERTEN: u1, - /// PEC enable + /// PEC enable PECEN: u1, - /// Fast-mode Plus 20 mA drive enable. + /// Fast-mode Plus 20 mA drive enable. FMP: u1, reserved30: u5, - /// Address match flag (ADDR) automatic clear. + /// Address match flag (ADDR) automatic clear. ADDRACLR: u1, - /// STOP detection flag (STOPF) automatic clear. + /// STOP detection flag (STOPF) automatic clear. STOPFACLR: u1, }), - /// Control register 2 + /// Control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Slave address bit (master mode) + /// Slave address bit (master mode) SADD: u10, - /// Transfer direction (master mode) - DIR: packed union { - raw: u1, - value: DIR, - }, - /// 10-bit addressing mode (master mode) - ADD10: packed union { - raw: u1, - value: ADDMODE, - }, - /// 10-bit address header only read direction (master receiver mode) - HEAD10R: packed union { - raw: u1, - value: HEADR, - }, - /// Start generation + /// Transfer direction (master mode) + DIR: DIR, + /// 10-bit addressing mode (master mode) + ADD10: ADDMODE, + /// 10-bit address header only read direction (master receiver mode) + HEAD10R: HEADR, + /// Start generation START: u1, - /// Stop generation (master mode) + /// Stop generation (master mode) STOP: u1, - /// NACK generation (slave mode) + /// NACK generation (slave mode) NACK: u1, - /// Number of bytes + /// Number of bytes NBYTES: u8, - /// NBYTES reload mode - RELOAD: packed union { - raw: u1, - value: RELOAD, - }, - /// Automatic end mode (master mode) - AUTOEND: packed union { - raw: u1, - value: AUTOEND, - }, - /// Packet error checking byte + /// NBYTES reload mode + RELOAD: RELOAD, + /// Automatic end mode (master mode) + AUTOEND: AUTOEND, + /// Packet error checking byte PECBYTE: u1, padding: u5, }), - /// Own address register 1 + /// Own address register 1 OAR1: mmio.Mmio(packed struct(u32) { - /// Interface address + /// Interface address OA1: u10, - /// Own Address 1 10-bit mode - OA1MODE: packed union { - raw: u1, - value: ADDMODE, - }, + /// Own Address 1 10-bit mode + OA1MODE: ADDMODE, reserved15: u4, - /// Own Address 1 enable + /// Own Address 1 enable OA1EN: u1, padding: u16, }), - /// Own address register 2 + /// Own address register 2 OAR2: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Interface address + /// Interface address OA2: u7, - /// Own Address 2 masks - OA2MSK: packed union { - raw: u3, - value: OAMSK, - }, + /// Own Address 2 masks + OA2MSK: OAMSK, reserved15: u4, - /// Own Address 2 enable + /// Own Address 2 enable OA2EN: u1, padding: u16, }), - /// Timing register + /// Timing register TIMINGR: mmio.Mmio(packed struct(u32) { - /// SCL low period (master mode) + /// SCL low period (master mode) SCLL: u8, - /// SCL high period (master mode) + /// SCL high period (master mode) SCLH: u8, - /// Data hold time + /// Data hold time SDADEL: u4, - /// Data setup time + /// Data setup time SCLDEL: u4, reserved28: u4, - /// Timing prescaler + /// Timing prescaler PRESC: u4, }), - /// Timeout register + /// Timeout register TIMEOUTR: mmio.Mmio(packed struct(u32) { - /// Bus timeout A + /// Bus timeout A TIMEOUTA: u12, - /// Idle clock timeout detection + /// Idle clock timeout detection TIDLE: u1, reserved15: u2, - /// Clock timeout enable + /// Clock timeout enable TIMOUTEN: u1, - /// Bus timeout B + /// Bus timeout B TIMEOUTB: u12, reserved31: u3, - /// Extended clock timeout enable + /// Extended clock timeout enable TEXTEN: u1, }), - /// Interrupt and Status register + /// Interrupt and Status register ISR: mmio.Mmio(packed struct(u32) { - /// Transmit data register empty (transmitters) + /// Transmit data register empty (transmitters) TXE: u1, - /// Transmit interrupt status (transmitters) + /// Transmit interrupt status (transmitters) TXIS: u1, - /// Receive data register not empty (receivers) + /// Receive data register not empty (receivers) RXNE: u1, - /// Address matched (slave mode) + /// Address matched (slave mode) ADDR: u1, - /// Not acknowledge received flag + /// Not acknowledge received flag NACKF: u1, - /// Stop detection flag + /// Stop detection flag STOPF: u1, - /// Transfer Complete (master mode) + /// Transfer Complete (master mode) TC: u1, - /// Transfer Complete Reload + /// Transfer Complete Reload TCR: u1, - /// Bus error + /// Bus error BERR: u1, - /// Arbitration lost + /// Arbitration lost ARLO: u1, - /// Overrun/Underrun (slave mode) + /// Overrun/Underrun (slave mode) OVR: u1, - /// PEC Error in reception + /// PEC Error in reception PECERR: u1, - /// Timeout or t_low detection flag + /// Timeout or t_low detection flag TIMEOUT: u1, - /// SMBus alert + /// SMBus alert ALERT: u1, reserved15: u1, - /// Bus busy + /// Bus busy BUSY: u1, - /// Transfer direction (Slave mode) - DIR: packed union { - raw: u1, - value: DIR, - }, - /// Address match code (Slave mode) + /// Transfer direction (Slave mode) + DIR: DIR, + /// Address match code (Slave mode) ADDCODE: u7, padding: u8, }), - /// Interrupt clear register + /// Interrupt clear register ICR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Address Matched flag clear + /// Address Matched flag clear ADDRCF: u1, - /// Not Acknowledge flag clear + /// Not Acknowledge flag clear NACKCF: u1, - /// Stop detection flag clear + /// Stop detection flag clear STOPCF: u1, reserved8: u2, - /// Bus error flag clear + /// Bus error flag clear BERRCF: u1, - /// Arbitration lost flag clear + /// Arbitration lost flag clear ARLOCF: u1, - /// Overrun/Underrun flag clear + /// Overrun/Underrun flag clear OVRCF: u1, - /// PEC Error flag clear + /// PEC Error flag clear PECCF: u1, - /// Timeout detection flag clear + /// Timeout detection flag clear TIMOUTCF: u1, - /// Alert flag clear + /// Alert flag clear ALERTCF: u1, padding: u18, }), - /// PEC register + /// PEC register PECR: mmio.Mmio(packed struct(u32) { - /// Packet error checking register + /// Packet error checking register PEC: u8, padding: u24, }), - /// Receive data register + /// Receive data register RXDR: mmio.Mmio(packed struct(u32) { - /// 8-bit receive data + /// 8-bit receive data RXDATA: u8, padding: u24, }), - /// Transmit data register + /// Transmit data register TXDR: mmio.Mmio(packed struct(u32) { - /// 8-bit transmit data + /// 8-bit transmit data TXDATA: u8, padding: u24, }), @@ -348123,35 +344838,35 @@ pub const types = struct { }; pub const CODERR = enum(u4) { - /// Transaction after sending CCC. Controller detected an illegally formatted CCC + /// Transaction after sending CCC. Controller detected an illegally formatted CCC CE0 = 0x0, - /// Monitoring error. Controller detected that transmitted data on the bus is different from expected + /// Monitoring error. Controller detected that transmitted data on the bus is different from expected CE1 = 0x1, - /// No response to broadcast address. Controller detected a not acknowledged broadcast address (0b111_1110) + /// No response to broadcast address. Controller detected a not acknowledged broadcast address (0b111_1110) CE2 = 0x2, - /// Failed controller-role hand-off. Controller detected the new controller did not drive bus after controller-role hand-off + /// Failed controller-role hand-off. Controller detected the new controller did not drive bus after controller-role hand-off CE3 = 0x3, - /// Invalid broadcast address 0b111_1110 + W. Target detected an invalid broadcast address 0b111_1110 + W + /// Invalid broadcast address 0b111_1110 + W. Target detected an invalid broadcast address 0b111_1110 + W TE0 = 0x8, - /// CCC code. Target detected a parity error on a CCC code via a parity check (vs. T bit) + /// CCC code. Target detected a parity error on a CCC code via a parity check (vs. T bit) TE1 = 0x9, - /// Write data. Target detected a parity error on a write data via a parity check (vs. T bit) + /// Write data. Target detected a parity error on a write data via a parity check (vs. T bit) TE2 = 0xa, - /// Assigned address during dynamic address arbitration. Target detected a parity error on the assigned address during dynamic address arbitration via a parity check (vs. PAR bit) + /// Assigned address during dynamic address arbitration. Target detected a parity error on the assigned address during dynamic address arbitration via a parity check (vs. PAR bit) TE3 = 0xb, - /// 0b111_1110 + R missing after Sr during dynamic address arbitration. Target detected a 0b111_1110 + R missing after Sr during dynamic address arbitration + /// 0b111_1110 + R missing after Sr during dynamic address arbitration. Target detected a 0b111_1110 + R missing after Sr during dynamic address arbitration TE4 = 0xc, - /// Transaction after detecting CCC. Target detected an illegally formatted CCC + /// Transaction after detecting CCC. Target detected an illegally formatted CCC TE5 = 0xd, - /// Monitoring error. Target detected that transmitted data on the bus is different from expected + /// Monitoring error. Target detected that transmitted data on the bus is different from expected TE6 = 0xe, _, }; pub const CRINIT = enum(u1) { - /// Once enabled by setting EN = 1, the peripheral initially acts as a target. I3C does not drive SCL line and does not enable SDA pull-up, until it eventually acquires the controller role. + /// Once enabled by setting EN = 1, the peripheral initially acts as a target. I3C does not drive SCL line and does not enable SDA pull-up, until it eventually acquires the controller role. Target = 0x0, - /// Once enabled by setting EN = 1, the peripheral initially acts as a controller. It has the I3C controller role, so drives SCL line and enables SDA pull-up, until it eventually offers the controller role to an I3C secondary controller. + /// Once enabled by setting EN = 1, the peripheral initially acts as a controller. It has the I3C controller role, so drives SCL line and enables SDA pull-up, until it eventually offers the controller role to an I3C secondary controller. Controller = 0x1, }; @@ -348161,133 +344876,118 @@ pub const types = struct { }; pub const DIS = enum(u1) { - /// write to DA[7:0] and to IBIDEN in the I3C_DEVRx register is allowed + /// write to DA[7:0] and to IBIDEN in the I3C_DEVRx register is allowed Allowed = 0x0, - /// write to DA[7:0] and to IBIDEN is disabled/locked + /// write to DA[7:0] and to IBIDEN is disabled/locked Locked = 0x1, }; pub const MEND = enum(u1) { - /// this message from controller is followed by a repeated start (Sr), before another message must be emitted + /// this message from controller is followed by a repeated start (Sr), before another message must be emitted RepeatedStart = 0x0, - /// this message from controller ends with a stop (P), being the last message of a frame + /// this message from controller ends with a stop (P), being the last message of a frame Stop = 0x1, }; pub const RNW = enum(u1) { - /// write message + /// write message Write = 0x0, - /// read message + /// read message Read = 0x1, }; pub const RSTACT = enum(u2) { NoReset = 0x0, - /// first level of reset: the application software must either: a) partially reset the peripheral, by a write and clear of the enable bit of the I3C configuration register (write EN = 0). This resets the I3C bus interface and the I3C kernel sub-parts, without modifying the content of the I3C APB registers (except the EN bit). b) fully reset the peripheral, including all its registers, via a write and set of the I3C reset control bit of the RCC (reset and clock controller) register. + /// first level of reset: the application software must either: a) partially reset the peripheral, by a write and clear of the enable bit of the I3C configuration register (write EN = 0). This resets the I3C bus interface and the I3C kernel sub-parts, without modifying the content of the I3C APB registers (except the EN bit). b) fully reset the peripheral, including all its registers, via a write and set of the I3C reset control bit of the RCC (reset and clock controller) register. FirstLevel = 0x1, - /// second level of reset: the application software must issue a warm reset, also known as a system reset. This (see Section 11: Reset and clock control (RCC)) has the same impact as a pin reset (NRST = 0): – the software writes and sets the SYSRESETREQ control bit of the AITR register, when the device is controlled by a Cortex®-M. – the software writes and sets SYSRST = 1 in the RCC_GRSTCSETR register, when the device is controlled by a Cortex®-A. + /// second level of reset: the application software must issue a warm reset, also known as a system reset. This (see Section 11: Reset and clock control (RCC)) has the same impact as a pin reset (NRST = 0): – the software writes and sets the SYSRESETREQ control bit of the AITR register, when the device is controlled by a Cortex®-M. – the software writes and sets SYSRST = 1 in the RCC_GRSTCSETR register, when the device is controlled by a Cortex®-A. SecondLevel = 0x2, NoResetEither = 0x3, }; pub const THRES = enum(u1) { - /// TXFNFF is set when 1 byte must be written in TX-FIFO (in I3C_TDR). + /// TXFNFF is set when 1 byte must be written in TX-FIFO (in I3C_TDR). Byte = 0x0, - /// TXFNFF is set when 1 word / 4 bytes must be written in TX-FIFO (in the I3C_TDWR register). If the a number of the last transmitted data is not a multiple of 4 bytes (XDCNT[1:0] = 00 in the I3C_SR register), only the relevant 1, 2, or 3 valid LSB bytes of the last word are taken into account by the hardware, and sent on the I3C bus. + /// TXFNFF is set when 1 word / 4 bytes must be written in TX-FIFO (in the I3C_TDWR register). If the a number of the last transmitted data is not a multiple of 4 bytes (XDCNT[1:0] = 00 in the I3C_SR register), only the relevant 1, 2, or 3 valid LSB bytes of the last word are taken into account by the hardware, and sent on the I3C bus. Word = 0x1, }; pub const DataRegs = extern struct { - /// I3C receive data byte register. + /// I3C receive data byte register. DR: mmio.Mmio(packed struct(u32) { - /// 8-bit received data on I3C bus. + /// 8-bit received data on I3C bus. DB: u8, padding: u24, }), - /// I3C receive data word register. + /// I3C receive data word register. DWR: mmio.Mmio(packed struct(u32) { - /// 8-bit received data (earliest byte on I3C bus). + /// 8-bit received data (earliest byte on I3C bus). DB: u8, padding: u24, }), }; - /// Improved inter-integrated circuit. + /// Improved inter-integrated circuit. pub const I3C = extern struct { - /// I3C message control register. + /// I3C message control register. CR: mmio.Mmio(packed struct(u32) { - /// count of data to transfer during a read or write message, in bytes (whatever I3C is acting as controller/target) Linear encoding up to 64 Kbytes -1 ... + /// count of data to transfer during a read or write message, in bytes (whatever I3C is acting as controller/target) Linear encoding up to 64 Kbytes -1 ... DCNT: u16, - /// read / non-write message (when I3C is acting as controller) When I3C is acting as controller, this field is used if MTYPE[3:0]=0010 (private message) or MTYPE[3:0]=0011 (direct message) or MTYPE[3:0]=0100 (legacy I2C message), in order to emit the RnW bit on the I3C bus. - RNW: packed union { - raw: u1, - value: RNW, - }, - /// 7-bit I3C dynamic / I2C static target address (when I3C is acting as controller) When I3C is acting as controller, this field is used if MTYPE[3:0]=0010 (private message) or MTYPE[3:0]=0011 (direct message) or MTYPE[3:0]=0100 (legacy I2C message). + /// read / non-write message (when I3C is acting as controller) When I3C is acting as controller, this field is used if MTYPE[3:0]=0010 (private message) or MTYPE[3:0]=0011 (direct message) or MTYPE[3:0]=0100 (legacy I2C message), in order to emit the RnW bit on the I3C bus. + RNW: RNW, + /// 7-bit I3C dynamic / I2C static target address (when I3C is acting as controller) When I3C is acting as controller, this field is used if MTYPE[3:0]=0010 (private message) or MTYPE[3:0]=0011 (direct message) or MTYPE[3:0]=0100 (legacy I2C message). ADD: u7, reserved27: u3, - /// message type (whatever I3C is acting as controller/target) Bits[26:0] are ignored. After M2 error detection on an I3C SDR message, this is needed for SCL “stuck at” recovery. Bits[26:0] are ignored. If I3C_CFGR.EXITPTRN=1, an HDR exit pattern is emitted on the bus to generate an escalation fault. Bits[23:17] (ADD[6:0]) is the emitted 7-bit dynamic address. Bit[16] (RNW) is the emitted RnW bit. The transferred private message is: {S / S+7’h7E+RnW=0+Sr / Sr+*} + 7-bit DynAddr + RnW + (8-bit Data + T)* + Sr/P. After a S (START), depending on I3C_CFGR.NOARBH, the arbitrable header (7’h7E+RnW=0) is inserted or not. Sr+*: after a Sr (Repeated Start), the hardware automatically inserts (7’h7E+RnW=0) if needed, i.e. if it follows an I3C direct message without ending by a P (Stop). Bits[23:17] (ADD[6:0]) is the emitted 7-bit dynamic address. Bit[16] (RNW) is the emitted RnW bit. The transferred direct message is: Sr + 7-bit DynAddr + RnW + (8-bit Data + T)* + Sr/P Bits[23:17] (ADD[6:0]) is the emitted 7-bit static address. Bit[16] (RNW) is the emitted RnW bit. The transferred legacy I2C message is: {S / S+ 7’h7E+RnW=0 + Sr / Sr+*} + 7-bit StaAddr + RnW + (8-bit Data + T)* + Sr/P. After a S (START), depending on I3C_CFGR.NOARBH, the arbitrable header (7’h7E+RnW=0) is inserted or not. Sr+*: after a Sr (Repeated Start), the hardware automatically inserts (7’h7E+RnW=0) if needed, i.e. if it follows an I3C direct message without ending by a P (Stop). 1xxx: reserved (when I3C is acting as I3C controller, used when target) 0xxx: reserved {S +} 7’h02 addr + RnW=0 {S +} 7-bit I3C_DEVR0.DA[6:0] + RnW=0 after a bus available condition (the target first emits a START request), or once the controller drives a START. {S +} 7-bit I3C_DEVR0.DA[6:0] + RnW=1 (+Ack/Nack from controller) When acknowledged from controller, the next (optional, depending on I3C_BCR.BCR2) transmitted IBI payload data is defined by I3C_CR.DCNT[15:0] and must be consistently programmed vs the maximum IBI payload data size which is defined by I3C_IBIDR.IBIP[2:0]. Others: reserved. + /// message type (whatever I3C is acting as controller/target) Bits[26:0] are ignored. After M2 error detection on an I3C SDR message, this is needed for SCL “stuck at” recovery. Bits[26:0] are ignored. If I3C_CFGR.EXITPTRN=1, an HDR exit pattern is emitted on the bus to generate an escalation fault. Bits[23:17] (ADD[6:0]) is the emitted 7-bit dynamic address. Bit[16] (RNW) is the emitted RnW bit. The transferred private message is: {S / S+7’h7E+RnW=0+Sr / Sr+*} + 7-bit DynAddr + RnW + (8-bit Data + T)* + Sr/P. After a S (START), depending on I3C_CFGR.NOARBH, the arbitrable header (7’h7E+RnW=0) is inserted or not. Sr+*: after a Sr (Repeated Start), the hardware automatically inserts (7’h7E+RnW=0) if needed, i.e. if it follows an I3C direct message without ending by a P (Stop). Bits[23:17] (ADD[6:0]) is the emitted 7-bit dynamic address. Bit[16] (RNW) is the emitted RnW bit. The transferred direct message is: Sr + 7-bit DynAddr + RnW + (8-bit Data + T)* + Sr/P Bits[23:17] (ADD[6:0]) is the emitted 7-bit static address. Bit[16] (RNW) is the emitted RnW bit. The transferred legacy I2C message is: {S / S+ 7’h7E+RnW=0 + Sr / Sr+*} + 7-bit StaAddr + RnW + (8-bit Data + T)* + Sr/P. After a S (START), depending on I3C_CFGR.NOARBH, the arbitrable header (7’h7E+RnW=0) is inserted or not. Sr+*: after a Sr (Repeated Start), the hardware automatically inserts (7’h7E+RnW=0) if needed, i.e. if it follows an I3C direct message without ending by a P (Stop). 1xxx: reserved (when I3C is acting as I3C controller, used when target) 0xxx: reserved {S +} 7’h02 addr + RnW=0 {S +} 7-bit I3C_DEVR0.DA[6:0] + RnW=0 after a bus available condition (the target first emits a START request), or once the controller drives a START. {S +} 7-bit I3C_DEVR0.DA[6:0] + RnW=1 (+Ack/Nack from controller) When acknowledged from controller, the next (optional, depending on I3C_BCR.BCR2) transmitted IBI payload data is defined by I3C_CR.DCNT[15:0] and must be consistently programmed vs the maximum IBI payload data size which is defined by I3C_IBIDR.IBIP[2:0]. Others: reserved. MTYPE: u4, - /// message end type (when the I3C is acting as controller). - MEND: packed union { - raw: u1, - value: MEND, - }, + /// message end type (when the I3C is acting as controller). + MEND: MEND, }), - /// I3C configuration register. + /// I3C configuration register. CFGR: mmio.Mmio(packed struct(u32) { - /// I3C enable (whatever I3C is acting as controller/target) - Except registers, the peripheral is under reset (a.k.a. partial reset). - Before clearing EN, when I3C is acting as a controller, all the possible target requests must be disabled using DISEC CCC. - When I3C is acting as a target, software should not disable the I3C, unless a partial reset is needed. In this state, some register fields can not be modified (like CRINIT, HKSDAEN for the I3C_CFGR). + /// I3C enable (whatever I3C is acting as controller/target) - Except registers, the peripheral is under reset (a.k.a. partial reset). - Before clearing EN, when I3C is acting as a controller, all the possible target requests must be disabled using DISEC CCC. - When I3C is acting as a target, software should not disable the I3C, unless a partial reset is needed. In this state, some register fields can not be modified (like CRINIT, HKSDAEN for the I3C_CFGR). EN: u1, - /// initial controller/target role This bit can be modified only when I3C_CFGR.EN = 0. Once enabled by setting I3C_CFGR.EN = 1, I3C peripheral initially acts as an I3C target. I3C does not drive SCL line and does not enable SDA pull-up, until it eventually acquires the controller role. Once enabled by setting I3C_CFGR.EN = 1, I3C peripheral initially acts as a controller. It has the I3C controller role, so drives SCL line and enables SDA pull-up, until it eventually offers the controller role to an I3C secondary controller. - CRINIT: packed union { - raw: u1, - value: CRINIT, - }, - /// no arbitrable header after a START (when I3C is acting as a controller) This bit can be modified only when there is no on-going frame. - The target address is emitted directly after a START in case of a legacy I2C message or an I3C SDR private read/write message. - This is a more performing option (when is useless the emission of the 0x7E arbitrable header), but this is to be used only when the controller is sure that the addressed target device can not emit concurrently an IBI or a controller-role request (to insure no misinterpretation and no potential conflict between the address emitted by the controller in open-drain mode and the same address a target device can emit after a START, for IBI or MR). + /// initial controller/target role This bit can be modified only when I3C_CFGR.EN = 0. Once enabled by setting I3C_CFGR.EN = 1, I3C peripheral initially acts as an I3C target. I3C does not drive SCL line and does not enable SDA pull-up, until it eventually acquires the controller role. Once enabled by setting I3C_CFGR.EN = 1, I3C peripheral initially acts as a controller. It has the I3C controller role, so drives SCL line and enables SDA pull-up, until it eventually offers the controller role to an I3C secondary controller. + CRINIT: CRINIT, + /// no arbitrable header after a START (when I3C is acting as a controller) This bit can be modified only when there is no on-going frame. - The target address is emitted directly after a START in case of a legacy I2C message or an I3C SDR private read/write message. - This is a more performing option (when is useless the emission of the 0x7E arbitrable header), but this is to be used only when the controller is sure that the addressed target device can not emit concurrently an IBI or a controller-role request (to insure no misinterpretation and no potential conflict between the address emitted by the controller in open-drain mode and the same address a target device can emit after a START, for IBI or MR). NOARBH: u1, - /// HDR reset pattern enable (when I3C is acting as a controller) This bit can be modified only when there is no on-going frame. + /// HDR reset pattern enable (when I3C is acting as a controller) This bit can be modified only when there is no on-going frame. RSTPTRN: u1, - /// HDR Exit Pattern enable (when I3C is acting as a controller) This bit can be modified only when there is no on-going frame. This is used to send only the header to test ownership of the bus when there is a suspicion of problem after controller-role hand-off (new controller didn’t assert its controller-role by accessing the previous one in less than Activity State time). The HDR Exit Pattern is sent even if the message header {S/Sr + 0x7E addr + W } is ACKed. + /// HDR Exit Pattern enable (when I3C is acting as a controller) This bit can be modified only when there is no on-going frame. This is used to send only the header to test ownership of the bus when there is a suspicion of problem after controller-role hand-off (new controller didn’t assert its controller-role by accessing the previous one in less than Activity State time). The HDR Exit Pattern is sent even if the message header {S/Sr + 0x7E addr + W } is ACKed. EXITPTRN: u1, - /// High-keeper enable on SDA line (when I3C is acting as a controller) This bit can be modified only when I3C_CFGR.EN=0. + /// High-keeper enable on SDA line (when I3C is acting as a controller) This bit can be modified only when I3C_CFGR.EN=0. HKSDAEN: u1, reserved7: u1, - /// Hot Join request acknowledge (when I3C is acting as a controller) After the NACK, the message continues as initially programmed (the hot-joining target is aware of the NACK and surely emits another hot-join request later on). After the ACK, the message continues as initially programmed. The software is aware by the HJ interrupt (flag I3C_EVR.HJF is set) and initiates the ENTDAA sequence later on, potentially preventing others Hot Join requests with a Disable target events command (DISEC, with DISHJ=1). Independently of the HJACK configuration, further Hot Join request(s) are NACKed until the Hot Join flag, HJF, is cleared. However, a NACKed target can be assigned a dynamic address by the ENTDAA sequence initiated later on by the first HJ request, preventing this target to emit an HJ request again. + /// Hot Join request acknowledge (when I3C is acting as a controller) After the NACK, the message continues as initially programmed (the hot-joining target is aware of the NACK and surely emits another hot-join request later on). After the ACK, the message continues as initially programmed. The software is aware by the HJ interrupt (flag I3C_EVR.HJF is set) and initiates the ENTDAA sequence later on, potentially preventing others Hot Join requests with a Disable target events command (DISEC, with DISHJ=1). Independently of the HJACK configuration, further Hot Join request(s) are NACKed until the Hot Join flag, HJF, is cleared. However, a NACKed target can be assigned a dynamic address by the ENTDAA sequence initiated later on by the first HJ request, preventing this target to emit an HJ request again. HJACK: u1, - /// RX-FIFO DMA request enable (whatever I3C is acting as controller/target) - Software reads and pops a data byte/word from RX-FIFO i.e. reads I3C_RDR or I3C_RDWR register. - A next data byte/word is to be read by the software either via polling on the flag I3C_EVR.RXFNEF=1 or via interrupt notification (enabled by I3C_IER.RXFNEIE=1). - DMA reads and pops data byte(s)/word(s) from RX-FIFO i.e. reads I3C_RDR or I3C_RDWR register. - A next data byte/word is automatically read by the programmed hardware (i.e. via the asserted RX-FIFO DMA request from the I3C and the programmed DMA channel). + /// RX-FIFO DMA request enable (whatever I3C is acting as controller/target) - Software reads and pops a data byte/word from RX-FIFO i.e. reads I3C_RDR or I3C_RDWR register. - A next data byte/word is to be read by the software either via polling on the flag I3C_EVR.RXFNEF=1 or via interrupt notification (enabled by I3C_IER.RXFNEIE=1). - DMA reads and pops data byte(s)/word(s) from RX-FIFO i.e. reads I3C_RDR or I3C_RDWR register. - A next data byte/word is automatically read by the programmed hardware (i.e. via the asserted RX-FIFO DMA request from the I3C and the programmed DMA channel). RXDMAEN: u1, - /// RX-FIFO flush (whatever I3C is acting as controller/target) This bit can only be written. + /// RX-FIFO flush (whatever I3C is acting as controller/target) This bit can only be written. RXFLUSH: u1, - /// RX-FIFO threshold (whatever I3C is acting as controller/target) This threshold defines, compared to the RX-FIFO level, when the I3C_EVR.RXFNEF flag is set (and consequently if RXDMAEN=1 when is asserted a DMA RX request). RXFNEF is set when 1 byte is to be read in RX-FIFO (i.e. in I3C_RDR). RXFNEF is set when 4 bytes are to be read in RX-FIFO (i.e. in I3C_RDWR). - RXTHRES: packed union { - raw: u1, - value: THRES, - }, + /// RX-FIFO threshold (whatever I3C is acting as controller/target) This threshold defines, compared to the RX-FIFO level, when the I3C_EVR.RXFNEF flag is set (and consequently if RXDMAEN=1 when is asserted a DMA RX request). RXFNEF is set when 1 byte is to be read in RX-FIFO (i.e. in I3C_RDR). RXFNEF is set when 4 bytes are to be read in RX-FIFO (i.e. in I3C_RDWR). + RXTHRES: THRES, reserved12: u1, - /// TX-FIFO DMA request enable (whatever I3C is acting as controller/target) - Software writes and pushes a data byte/word into TX-FIFO i.e. writes I3C_TDR or I3C_TDWR register, to be transmitted over the I3C bus. - A next data byte/word is to be written by the software either via polling on the flag I3C_EVR.TXFNFF=1 or via interrupt notification (enabled by I3C_IER.TXFNFIE=1). - DMA writes and pushes data byte(s)/word(s) into TX-FIFO i.e. writes I3C_TDR or I3C_TDWR register. - A next data byte/word transfer is automatically pushed by the programmed hardware (i.e. via the asserted TX-FIFO DMA request from the I3C and the programmed DMA channel). + /// TX-FIFO DMA request enable (whatever I3C is acting as controller/target) - Software writes and pushes a data byte/word into TX-FIFO i.e. writes I3C_TDR or I3C_TDWR register, to be transmitted over the I3C bus. - A next data byte/word is to be written by the software either via polling on the flag I3C_EVR.TXFNFF=1 or via interrupt notification (enabled by I3C_IER.TXFNFIE=1). - DMA writes and pushes data byte(s)/word(s) into TX-FIFO i.e. writes I3C_TDR or I3C_TDWR register. - A next data byte/word transfer is automatically pushed by the programmed hardware (i.e. via the asserted TX-FIFO DMA request from the I3C and the programmed DMA channel). TXDMAEN: u1, - /// TX-FIFO flush (whatever I3C is acting as controller/target) This bit can only be written. When the I3C is acting as target, this bit can be used to flush the TX-FIFO on a private read if the controller has early ended the read data (i.e. driven low the T bit) and there is/are remaining data in the TX-FIFO (i.e. I3C_SR.ABT=1 and I3C_SR.XDCNT[15:0] < I3C_TGTTDR.TGTTDCNT[15:0]). + /// TX-FIFO flush (whatever I3C is acting as controller/target) This bit can only be written. When the I3C is acting as target, this bit can be used to flush the TX-FIFO on a private read if the controller has early ended the read data (i.e. driven low the T bit) and there is/are remaining data in the TX-FIFO (i.e. I3C_SR.ABT=1 and I3C_SR.XDCNT[15:0] < I3C_TGTTDR.TGTTDCNT[15:0]). TXFLUSH: u1, - /// TX-FIFO threshold (whatever I3C is acting as controller/target) This threshold defines, compared to the TX-FIFO level, when the I3C_EVR.TXFNFF flag is set (and consequently if TXDMAEN=1 when is asserted a DMA TX request). TXFNFF is set when 1 byte is to be written in TX-FIFO (i.e. in I3C_TDR). TXFNFF is set when 4 bytes are to be written in TX-FIFO (i.e. in I3C_TDWR). - TXTHRES: packed union { - raw: u1, - value: THRES, - }, + /// TX-FIFO threshold (whatever I3C is acting as controller/target) This threshold defines, compared to the TX-FIFO level, when the I3C_EVR.TXFNFF flag is set (and consequently if TXDMAEN=1 when is asserted a DMA TX request). TXFNFF is set when 1 byte is to be written in TX-FIFO (i.e. in I3C_TDR). TXFNFF is set when 4 bytes are to be written in TX-FIFO (i.e. in I3C_TDWR). + TXTHRES: THRES, reserved16: u1, - /// S-FIFO DMA request enable (when I3C is acting as controller) Condition: When RMODE=1 (FIFO is enabled for the status): - Software reads and pops a status word from S-FIFO i.e. reads I3C_SR register after a completed frame (I3C_EVR.FCF=1) or an error (I3C_EVR.ERRF=1). - A status word can be read by the software either via polling on these register flags or via interrupt notification (enabled by I3C_IER.FCIE=1 and I3C_IER.ERRIE=1). - DMA reads and pops status word(s) from S-FIFO i.e. reads I3C_SR register. - Status word(s) are automatically read by the programmed hardware (i.e. via the asserted S-FIFO DMA request from the I3C and the programmed DMA channel). + /// S-FIFO DMA request enable (when I3C is acting as controller) Condition: When RMODE=1 (FIFO is enabled for the status): - Software reads and pops a status word from S-FIFO i.e. reads I3C_SR register after a completed frame (I3C_EVR.FCF=1) or an error (I3C_EVR.ERRF=1). - A status word can be read by the software either via polling on these register flags or via interrupt notification (enabled by I3C_IER.FCIE=1 and I3C_IER.ERRIE=1). - DMA reads and pops status word(s) from S-FIFO i.e. reads I3C_SR register. - Status word(s) are automatically read by the programmed hardware (i.e. via the asserted S-FIFO DMA request from the I3C and the programmed DMA channel). SDMAEN: u1, - /// S-FIFO flush (when I3C is acting as controller) When I3C is acting as I3C controller, this bit can only be written (and is only used when I3C is acting as controller). + /// S-FIFO flush (when I3C is acting as controller) When I3C is acting as I3C controller, this bit can only be written (and is only used when I3C is acting as controller). SFLUSH: u1, - /// S-FIFO enable / status receive mode (when I3C is acting as controller) When I3C is acting as I3C controller, this bit is used for the enabling the FIFO for the status (S-FIFO) vs the received status from the target on the I3C bus. When I3C is acting as target, this bit must be cleared. - Status register (i.e. I3C_SR) is used without FIFO mechanism. - There is no SCL stretch if a new status register content is not read. - Status register must be read before being lost/overwritten. All message status must be read. There is SCL stretch when there is no more space in the S-FIFO. + /// S-FIFO enable / status receive mode (when I3C is acting as controller) When I3C is acting as I3C controller, this bit is used for the enabling the FIFO for the status (S-FIFO) vs the received status from the target on the I3C bus. When I3C is acting as target, this bit must be cleared. - Status register (i.e. I3C_SR) is used without FIFO mechanism. - There is no SCL stretch if a new status register content is not read. - Status register must be read before being lost/overwritten. All message status must be read. There is SCL stretch when there is no more space in the S-FIFO. RMODE: u1, - /// transmit mode (when I3C is acting as controller) When I3C is acting as I3C controller, this bit is used for the C-FIFO and TX-FIFO management vs the emitted frame on the I3C bus. A frame transfer starts as soon as first control word is present in C-FIFO. + /// transmit mode (when I3C is acting as controller) When I3C is acting as I3C controller, this bit is used for the C-FIFO and TX-FIFO management vs the emitted frame on the I3C bus. A frame transfer starts as soon as first control word is present in C-FIFO. TMODE: u1, - /// C-FIFO DMA request enable (when I3C is acting as controller) When I3C is acting as controller: - Software writes and pushes control word(s) into C-FIFO i.e. writes I3C_CR register, as needed for a given frame. - A next control word transfer can be written by software either via polling on the flag I3C_EVR.CFNFF=1 or via interrupt notification (enabled by I3C_IER.CFNFIE=1). - DMA writes and pushes control word(s) into C-FIFO i.e. writes I3C_CR register, as needed for a given frame. - A next control word transfer is automatically written by the programmed hardware (i.e. via the asserted C-FIFO DMA request from the I3C and the programmed DMA channel). + /// C-FIFO DMA request enable (when I3C is acting as controller) When I3C is acting as controller: - Software writes and pushes control word(s) into C-FIFO i.e. writes I3C_CR register, as needed for a given frame. - A next control word transfer can be written by software either via polling on the flag I3C_EVR.CFNFF=1 or via interrupt notification (enabled by I3C_IER.CFNFIE=1). - DMA writes and pushes control word(s) into C-FIFO i.e. writes I3C_CR register, as needed for a given frame. - A next control word transfer is automatically written by the programmed hardware (i.e. via the asserted C-FIFO DMA request from the I3C and the programmed DMA channel). CDMAEN: u1, - /// C-FIFO flush (when I3C is acting as controller) This bit can only be written. + /// C-FIFO flush (when I3C is acting as controller) This bit can only be written. CFLUSH: u1, reserved30: u8, - /// frame transfer set (a.k.a. software trigger) (when I3C is acting as controller) This bit can only be written. When I3C is acting as I3C controller: Note: If this bit is not set, the other alternative for the software to initiate a frame transfer is to directly write the first control word register (i.e. I3C_CR) while C-FIFO is empty (i.e. I3C_EVR.CFEF=1). Then, if the first written control word is not tagged as a message end (i.e I3C_CR.MEND=0), it causes the hardware to assert the flag I3C_EVR.CFNFF (C-FIFO not full and a next control word is needed). + /// frame transfer set (a.k.a. software trigger) (when I3C is acting as controller) This bit can only be written. When I3C is acting as I3C controller: Note: If this bit is not set, the other alternative for the software to initiate a frame transfer is to directly write the first control word register (i.e. I3C_CR) while C-FIFO is empty (i.e. I3C_EVR.CFEF=1). Then, if the first written control word is not tagged as a message end (i.e I3C_CR.MEND=0), it causes the hardware to assert the flag I3C_EVR.CFNFF (C-FIFO not full and a next control word is needed). TSFSET: u1, padding: u1, }), @@ -348296,397 +344996,379 @@ pub const types = struct { reserved24: [4]u8, TxDataRegs: u32, reserved32: [4]u8, - /// I3C IBI payload data register. + /// I3C IBI payload data register. IBIDR: mmio.Mmio(packed struct(u32) { - /// 8-bit IBI payload data (earliest byte on I3C bus, i.e. MDB[7:0] mandatory data byte). + /// 8-bit IBI payload data (earliest byte on I3C bus, i.e. MDB[7:0] mandatory data byte). IBIDB: u8, padding: u24, }), - /// I3C target transmit configuration register. + /// I3C target transmit configuration register. TGTTDR: mmio.Mmio(packed struct(u32) { - /// transmit data counter, in bytes (when I3C is configured as target) This field must be written by software in the same access when is asserted PRELOAD, in order to define the number of bytes to preload and to transmit. This field is updated by hardware and reports, when read, the remaining number of bytes to be loaded into the TX-FIFO. + /// transmit data counter, in bytes (when I3C is configured as target) This field must be written by software in the same access when is asserted PRELOAD, in order to define the number of bytes to preload and to transmit. This field is updated by hardware and reports, when read, the remaining number of bytes to be loaded into the TX-FIFO. TGTTDCNT: u16, - /// preload of the TX-FIFO (when I3C is configured as target) This bit must be written and asserted by software in the same access when is written and defined the number of bytes to preload into the TX-FIFO and to transmit. This bit is cleared by hardware when all the data bytes to transmit are loaded into the TX-FIFO. + /// preload of the TX-FIFO (when I3C is configured as target) This bit must be written and asserted by software in the same access when is written and defined the number of bytes to preload into the TX-FIFO and to transmit. This bit is cleared by hardware when all the data bytes to transmit are loaded into the TX-FIFO. PRELOAD: u1, padding: u15, }), reserved48: [8]u8, - /// I3C status register. + /// I3C status register. SR: mmio.Mmio(packed struct(u32) { - /// data counter - When the I3C is acting as controller: number of targets detected on the bus - When the I3C is acting as target: number of transmitted bytes - Whatever the I3C is acting as controller or target: number of data bytes read from or transmitted on the I3C bus during the MID[7:0] message. + /// data counter - When the I3C is acting as controller: number of targets detected on the bus - When the I3C is acting as target: number of transmitted bytes - Whatever the I3C is acting as controller or target: number of data bytes read from or transmitted on the I3C bus during the MID[7:0] message. XDCNT: u16, reserved17: u1, - /// a private read message is completed/aborted prematurely by the target (when the I3C is acting as controller) When the I3C is acting as controller, this bit indicates if the private read data which is transmitted by the target early terminates (i.e. the target drives T bit low earlier vs what does expect the controller in terms of programmed number of read data bytes i.e. I3C_CR.DCNT[15:0]). + /// a private read message is completed/aborted prematurely by the target (when the I3C is acting as controller) When the I3C is acting as controller, this bit indicates if the private read data which is transmitted by the target early terminates (i.e. the target drives T bit low earlier vs what does expect the controller in terms of programmed number of read data bytes i.e. I3C_CR.DCNT[15:0]). ABT: u1, - /// message direction Whatever the I3C is acting as controller or target, this bit indicates the direction of the related message on the I3C bus Note: ENTDAA CCC is considered as a write command. - DIR: packed union { - raw: u1, - value: DIR, - }, + /// message direction Whatever the I3C is acting as controller or target, this bit indicates the direction of the related message on the I3C bus Note: ENTDAA CCC is considered as a write command. + DIR: DIR, reserved24: u5, - /// message identifier/counter of a given frame (when the I3C is acting as controller) When the I3C is acting as controller, this field identifies the control word message (i.e. I3C_CR) to which the I3C_SR status register refers. First message of a frame is identified with MID[7:0]=0. This field is incremented (by hardware) on the completion of a new message control word (i.e. I3C_CR) over I3C bus. This field is reset for every new frame start. + /// message identifier/counter of a given frame (when the I3C is acting as controller) When the I3C is acting as controller, this field identifies the control word message (i.e. I3C_CR) to which the I3C_SR status register refers. First message of a frame is identified with MID[7:0]=0. This field is incremented (by hardware) on the completion of a new message control word (i.e. I3C_CR) over I3C bus. This field is reset for every new frame start. MID: u8, }), - /// I3C status error register. + /// I3C status error register. SER: mmio.Mmio(packed struct(u32) { - /// protocol error code/type controller detected an illegally formatted CCC controller detected that transmitted data on the bus is different from expected controller detected a not acknowledged broadcast address (7’hE) controller detected the new controller did not drive bus after controller-role hand-off target detected an invalid broadcast address 7’hE+W target detected a parity error on a CCC code via a parity check (vs T bit) target detected a parity error on a write data via a parity check (vs T bit) target detected a parity error on the assigned address during dynamic address arbitration via a parity check (vs PAR bit) target detected a 7’hE+R missing after Sr during dynamic address arbitration target detected an illegally formatted CCC target detected that transmitted data on the bus is different from expected others: reserved. - CODERR: packed union { - raw: u4, - value: CODERR, - }, - /// protocol error. + /// protocol error code/type controller detected an illegally formatted CCC controller detected that transmitted data on the bus is different from expected controller detected a not acknowledged broadcast address (7’hE) controller detected the new controller did not drive bus after controller-role hand-off target detected an invalid broadcast address 7’hE+W target detected a parity error on a CCC code via a parity check (vs T bit) target detected a parity error on a write data via a parity check (vs T bit) target detected a parity error on the assigned address during dynamic address arbitration via a parity check (vs PAR bit) target detected a 7’hE+R missing after Sr during dynamic address arbitration target detected an illegally formatted CCC target detected that transmitted data on the bus is different from expected others: reserved. + CODERR: CODERR, + /// protocol error. PERR: u1, - /// SCL stall error (when the I3C is acting as target). + /// SCL stall error (when the I3C is acting as target). STALL: u1, - /// RX-FIFO overrun or TX-FIFO underrun i) a TX-FIFO underrun: TX-FIFO is empty and a write data byte has to be transmitted ii) a RX-FIFO overrun: RX-FIFO is full and a new data byte is received. + /// RX-FIFO overrun or TX-FIFO underrun i) a TX-FIFO underrun: TX-FIFO is empty and a write data byte has to be transmitted ii) a RX-FIFO overrun: RX-FIFO is full and a new data byte is received. DOVR: u1, - /// C-FIFO underrun or S-FIFO overrun (when the I3C is acting as controller) i) a C-FIFO underrun: control FIFO is empty and a restart has to be emitted ii) a S-FIFO overrun: S-FIFO is full and a new message ends. + /// C-FIFO underrun or S-FIFO overrun (when the I3C is acting as controller) i) a C-FIFO underrun: control FIFO is empty and a restart has to be emitted ii) a S-FIFO overrun: S-FIFO is full and a new message ends. COVR: u1, - /// address not acknowledged (when the I3C is configured as controller) i) a legacy I2C read/write transfer ii) a direct CCC write transfer iii) the second trial of a direct CCC read transfer iv) a private read/write transfer. + /// address not acknowledged (when the I3C is configured as controller) i) a legacy I2C read/write transfer ii) a direct CCC write transfer iii) the second trial of a direct CCC read transfer iv) a private read/write transfer. ANACK: u1, - /// data not acknowledged (when the I3C is acting as controller) i) a legacy I2C write transfer ii) the second trial when sending dynamic address during ENTDAA procedure. + /// data not acknowledged (when the I3C is acting as controller) i) a legacy I2C write transfer ii) the second trial when sending dynamic address during ENTDAA procedure. DNACK: u1, - /// data error (when the I3C is acting as controller). + /// data error (when the I3C is acting as controller). DERR: u1, padding: u21, }), reserved64: [8]u8, - /// I3C received message register. + /// I3C received message register. RMR: mmio.Mmio(packed struct(u32) { - /// IBI received payload data count (when the I3C is configured as controller) When the I3C is configured as controller, this field logs the number of data bytes effectively received in the I3C_IBIDR register. + /// IBI received payload data count (when the I3C is configured as controller) When the I3C is configured as controller, this field logs the number of data bytes effectively received in the I3C_IBIDR register. IBIRDCNT: u3, reserved8: u5, - /// received CCC code (when the I3C is configured as target) When the I3C is configured as target, this field logs the received CCC code. + /// received CCC code (when the I3C is configured as target) When the I3C is configured as target, this field logs the received CCC code. RCODE: u8, reserved17: u1, - /// received target address (when the I3C is configured as controller) When the I3C is configured as controller, this field logs the received dynamic address from the target during acknowledged IBI or controller-role request. + /// received target address (when the I3C is configured as controller) When the I3C is configured as controller, this field logs the received dynamic address from the target during acknowledged IBI or controller-role request. RADD: u7, padding: u8, }), reserved80: [12]u8, - /// I3C event register. + /// I3C event register. EVR: mmio.Mmio(packed struct(u32) { - /// C-FIFO empty flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the C-FIFO is empty when controller, and that the I3C_CR register contains no control word (i.e. none IBI/CR/HJ request) when target. This flag is de-asserted by hardware to indicate that the C-FIFO is not empty when controller, and that the I3C_CR register contains one control word (i.e. a pending IBI/CR/HJ request) when target. Note: When the I3C is acting as controller, if the C-FIFO and TX-FIFO preload is configured (i.e. I3C_CFGR.TMODE=1), the software must wait for TXFEF=1 and CFEF=1 before starting a new frame transfer. + /// C-FIFO empty flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the C-FIFO is empty when controller, and that the I3C_CR register contains no control word (i.e. none IBI/CR/HJ request) when target. This flag is de-asserted by hardware to indicate that the C-FIFO is not empty when controller, and that the I3C_CR register contains one control word (i.e. a pending IBI/CR/HJ request) when target. Note: When the I3C is acting as controller, if the C-FIFO and TX-FIFO preload is configured (i.e. I3C_CFGR.TMODE=1), the software must wait for TXFEF=1 and CFEF=1 before starting a new frame transfer. CFEF: u1, - /// TX-FIFO empty flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the TX-FIFO is empty. This flag is de-asserted by hardware to indicate that the TX-FIFO is not empty. Note: When the I3C is acting as controller, if the C-FIFO and TX-FIFO preload is configured (i.e. I3C_CFGR.TMODE=1), the software must wait for TXFEF=1 and CFEF=1 before starting a new frame transfer. + /// TX-FIFO empty flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the TX-FIFO is empty. This flag is de-asserted by hardware to indicate that the TX-FIFO is not empty. Note: When the I3C is acting as controller, if the C-FIFO and TX-FIFO preload is configured (i.e. I3C_CFGR.TMODE=1), the software must wait for TXFEF=1 and CFEF=1 before starting a new frame transfer. TXFEF: u1, - /// C-FIFO not full flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that a control word is to be written to the C-FIFO. This flag is de-asserted by hardware to indicate that a control word is not to be written to the C-FIFO. Note: The software must wait for CFNFF=1 (by polling or via the enabled interrupt) before writing to C-FIFO (i.e. writing to I3C_CR). + /// C-FIFO not full flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that a control word is to be written to the C-FIFO. This flag is de-asserted by hardware to indicate that a control word is not to be written to the C-FIFO. Note: The software must wait for CFNFF=1 (by polling or via the enabled interrupt) before writing to C-FIFO (i.e. writing to I3C_CR). CFNFF: u1, - /// S-FIFO not empty flag (when the I3C is acting as controller) When the I3C is acting as controller, if the S-FIFO is enabled (i.e. I3C_CFGR.RMODE=1), this flag is asserted by hardware to indicate that a status word is to be read from the S-FIFO. This flag is de-asserted by hardware to indicate that a status word is not to be read from the S-FIFO. + /// S-FIFO not empty flag (when the I3C is acting as controller) When the I3C is acting as controller, if the S-FIFO is enabled (i.e. I3C_CFGR.RMODE=1), this flag is asserted by hardware to indicate that a status word is to be read from the S-FIFO. This flag is de-asserted by hardware to indicate that a status word is not to be read from the S-FIFO. SFNEF: u1, - /// TX-FIFO not full flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that a data byte/word is to be written to the TX-FIFO. This flag is de-asserted by hardware to indicate that a data byte/word is not to be written to the TX-FIFO. Note: The software must wait for TXFNFF=1 (by polling or via the enabled interrupt) before writing to TX-FIFO (i.e. writing to I3C_TDR or I3C_TDWR depending on I3C_CFGR.TXTHRES). Note: When the I3C is acting as target, if the software intends to use the TXFNFF flag for writing into I3C_TDR/I3C_TDWR, it must have configured and set the TX-FIFO preload (i.e. write I3C_TGTTDR.PRELOAD). + /// TX-FIFO not full flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that a data byte/word is to be written to the TX-FIFO. This flag is de-asserted by hardware to indicate that a data byte/word is not to be written to the TX-FIFO. Note: The software must wait for TXFNFF=1 (by polling or via the enabled interrupt) before writing to TX-FIFO (i.e. writing to I3C_TDR or I3C_TDWR depending on I3C_CFGR.TXTHRES). Note: When the I3C is acting as target, if the software intends to use the TXFNFF flag for writing into I3C_TDR/I3C_TDWR, it must have configured and set the TX-FIFO preload (i.e. write I3C_TGTTDR.PRELOAD). TXFNFF: u1, - /// RX-FIFO not empty flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that a data byte is to be read from the RX-FIFO. This flag is de-asserted by hardware to indicate that a data byte is not to be read from the RX-FIFO. Note: The software must wait for RXFNEF=1 (by polling or via the enabled interrupt) before reading from RX-FIFO (i.e. writing to I3C_RDR or I3C_RDWR depending on I3C_CFGR.RXTHRES). + /// RX-FIFO not empty flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that a data byte is to be read from the RX-FIFO. This flag is de-asserted by hardware to indicate that a data byte is not to be read from the RX-FIFO. Note: The software must wait for RXFNEF=1 (by polling or via the enabled interrupt) before reading from RX-FIFO (i.e. writing to I3C_RDR or I3C_RDWR depending on I3C_CFGR.RXTHRES). RXFNEF: u1, - /// last written data byte/word flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the last data byte/word (depending on I3C_CFGR.TXTHRES) of a message is to be written to the TX-FIFO. This flag is de-asserted by hardware when the last data byte/word of a message is written. + /// last written data byte/word flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the last data byte/word (depending on I3C_CFGR.TXTHRES) of a message is to be written to the TX-FIFO. This flag is de-asserted by hardware when the last data byte/word of a message is written. TXLASTF: u1, - /// last read data byte/word flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the last data byte/word (depending on I3C_CFGR.RXTHRES) of a message is to be read from the RX-FIFO. This flag is de-asserted by hardware when the last data byte/word of a message is read. + /// last read data byte/word flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that the last data byte/word (depending on I3C_CFGR.RXTHRES) of a message is to be read from the RX-FIFO. This flag is de-asserted by hardware when the last data byte/word of a message is read. RXLASTF: u1, reserved9: u1, - /// frame complete flag (whatever the I3C is acting as controller/target) When the I3C is acting as controller, this flag is asserted by hardware to indicate that a frame has been (normally) completed on the I3C bus, i.e when a stop is issued. When the I3C is acting as target, this flag is asserted by hardware to indicate that a message addressed to/by this target has been (normally) completed on the I3C bus, i.e when a next stop or repeated start is then issued by the controller. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CFCF bit. + /// frame complete flag (whatever the I3C is acting as controller/target) When the I3C is acting as controller, this flag is asserted by hardware to indicate that a frame has been (normally) completed on the I3C bus, i.e when a stop is issued. When the I3C is acting as target, this flag is asserted by hardware to indicate that a message addressed to/by this target has been (normally) completed on the I3C bus, i.e when a next stop or repeated start is then issued by the controller. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CFCF bit. FCF: u1, - /// target-initiated read end flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that the target has prematurely ended a read transfer. Then, software should read I3C_SR to get more information on the prematurely read transfer. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CRXTGTENDF bit. + /// target-initiated read end flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that the target has prematurely ended a read transfer. Then, software should read I3C_SR to get more information on the prematurely read transfer. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CRXTGTENDF bit. RXTGTENDF: u1, - /// flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that an error occurred.Then, software should read I3C_SER to get the error type. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CERRF bit. + /// flag (whatever the I3C is acting as controller/target) This flag is asserted by hardware to indicate that an error occurred.Then, software should read I3C_SER to get the error type. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CERRF bit. ERRF: u1, reserved15: u3, - /// IBI flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that an IBI request has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CIBIF bit. + /// IBI flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that an IBI request has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CIBIF bit. IBIF: u1, - /// IBI end flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a IBI transfer has been received and completed (IBI acknowledged and IBI data bytes read by controller if any). This flag is cleared when software writes 1 into corresponding I3C_CEVR.CIBIENDF bit. + /// IBI end flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a IBI transfer has been received and completed (IBI acknowledged and IBI data bytes read by controller if any). This flag is cleared when software writes 1 into corresponding I3C_CEVR.CIBIENDF bit. IBIENDF: u1, - /// controller-role request flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that a controller-role request has been acknowledged and completed (by hardware). The software should then issue a GETACCCR CCC (get accept controller role) for the controller-role hand-off procedure. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CCRF bit. + /// controller-role request flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that a controller-role request has been acknowledged and completed (by hardware). The software should then issue a GETACCCR CCC (get accept controller role) for the controller-role hand-off procedure. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CCRF bit. CRF: u1, - /// controller-role update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that it has now gained the controller role after the completed controller-role hand-off procedure. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CCRUPDF bit. + /// controller-role update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that it has now gained the controller role after the completed controller-role hand-off procedure. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CCRUPDF bit. CRUPDF: u1, - /// hot-join flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that an hot join request has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CHJF bit. + /// hot-join flag (when the I3C is acting as controller) When the I3C is acting as controller, this flag is asserted by hardware to indicate that an hot join request has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CHJF bit. HJF: u1, reserved21: u1, - /// wakeup/missed start flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a start has been detected (i.e. a SDA falling edge followed by a SCL falling edge) but on the next SCL falling edge, the I3C kernel clock is (still) gated. Thus an I3C bus transaction may have been lost by the target. The corresponding interrupt may be used to wakeup the device from a low power mode (Sleep or Stop mode). This flag is cleared when software writes 1 into corresponding I3C_CEVR.CWKPF bit. + /// wakeup/missed start flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a start has been detected (i.e. a SDA falling edge followed by a SCL falling edge) but on the next SCL falling edge, the I3C kernel clock is (still) gated. Thus an I3C bus transaction may have been lost by the target. The corresponding interrupt may be used to wakeup the device from a low power mode (Sleep or Stop mode). This flag is cleared when software writes 1 into corresponding I3C_CEVR.CWKPF bit. WKPF: u1, - /// get flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that any direct CCC of get type (GET*** CCC) has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CGETF bit. + /// get flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that any direct CCC of get type (GET*** CCC) has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CGETF bit. GETF: u1, - /// get status flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a direct GETSTATUS CCC (get status) has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CSTAF bit. + /// get status flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a direct GETSTATUS CCC (get status) has been received. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CSTAF bit. STAF: u1, - /// dynamic address update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a dynamic address update has been received via any of the broadcast ENTDAA, RSTDAA and direct SETNEWDA CCC. Then, software should read I3C_DEVR0.DA[6:0] to get the maximum write length value. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CDAUPDF bit. + /// dynamic address update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a dynamic address update has been received via any of the broadcast ENTDAA, RSTDAA and direct SETNEWDA CCC. Then, software should read I3C_DEVR0.DA[6:0] to get the maximum write length value. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CDAUPDF bit. DAUPDF: u1, - /// maximum write length update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a direct SETMWL CCC (set max write length) has been received. Then, software should read I3C_MAXWLR.MWL[15:0] to get the maximum write length value. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CMWLUPDF bit. + /// maximum write length update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a direct SETMWL CCC (set max write length) has been received. Then, software should read I3C_MAXWLR.MWL[15:0] to get the maximum write length value. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CMWLUPDF bit. MWLUPDF: u1, - /// maximum read length update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a direct SETMRL CCC (set max read length) has been received. Then, software should read I3C_MAXRLR.MRL[15:0] to get the maximum read length value. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CMRLUPDF bit. + /// maximum read length update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a direct SETMRL CCC (set max read length) has been received. Then, software should read I3C_MAXRLR.MRL[15:0] to get the maximum read length value. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CMRLUPDF bit. MRLUPDF: u1, - /// reset pattern flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a reset pattern has been detected (i.e. 14 SDA transitions while SCL is low, followed by repeated start, then stop). Then, software should read I3C_DEVR0.RSTACT[1:0] and I3C_DEVR0.RSTVAL, to know what reset level is required. If RSTVAL=1: when the RSTF is asserted (and/or the corresponding interrupt if enabled), I3C_DEVR0.RSTACT[1:0] dictates the reset action to be performed by the software if any. If RSTVAL=0: when the RSTF is asserted (and/or the corresponding interrupt if enabled), the software should issue an I3C reset after a first detected reset pattern, and a system reset on the second one. The corresponding interrupt may be used to wakeup the device from a low power mode (Sleep or Stop mode). This flag is cleared when software writes 1 into corresponding I3C_CEVR.CRSTF bit. + /// reset pattern flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that a reset pattern has been detected (i.e. 14 SDA transitions while SCL is low, followed by repeated start, then stop). Then, software should read I3C_DEVR0.RSTACT[1:0] and I3C_DEVR0.RSTVAL, to know what reset level is required. If RSTVAL=1: when the RSTF is asserted (and/or the corresponding interrupt if enabled), I3C_DEVR0.RSTACT[1:0] dictates the reset action to be performed by the software if any. If RSTVAL=0: when the RSTF is asserted (and/or the corresponding interrupt if enabled), the software should issue an I3C reset after a first detected reset pattern, and a system reset on the second one. The corresponding interrupt may be used to wakeup the device from a low power mode (Sleep or Stop mode). This flag is cleared when software writes 1 into corresponding I3C_CEVR.CRSTF bit. RSTF: u1, - /// activity state update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that the direct or broadcast ENTASx CCC (with x=0...3) has been received. Then, software should read I3C_DEVR0.AS[1:0]. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CASUPDF bit. + /// activity state update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that the direct or broadcast ENTASx CCC (with x=0...3) has been received. Then, software should read I3C_DEVR0.AS[1:0]. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CASUPDF bit. ASUPDF: u1, - /// interrupt/controller-role/hot-join update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that the direct or broadcast ENEC/DISEC CCC (enable/disable target events) has been received, where a target event is either an interrupt/IBI request, a controller-role request, or an hot-join request. Then, software should read respectively I3C_DEVR0.IBIEN, I3C_DEVR0.CREN or I3C_DEVR0.HJEN. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CINTUPDF bit. + /// interrupt/controller-role/hot-join update flag (when the I3C is acting as target) When the I3C is acting as target, this flag is asserted by hardware to indicate that the direct or broadcast ENEC/DISEC CCC (enable/disable target events) has been received, where a target event is either an interrupt/IBI request, a controller-role request, or an hot-join request. Then, software should read respectively I3C_DEVR0.IBIEN, I3C_DEVR0.CREN or I3C_DEVR0.HJEN. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CINTUPDF bit. INTUPDF: u1, - /// DEFTGTS flag (when the I3C is acting as target) When the I3C is acting as target (and is typically controller capable), this flag is asserted by hardware to indicate that the broadcast DEFTGTS CCC (define list of targets) has been received. Then, software may store the received data for when getting the controller role. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CDEFF bit. + /// DEFTGTS flag (when the I3C is acting as target) When the I3C is acting as target (and is typically controller capable), this flag is asserted by hardware to indicate that the broadcast DEFTGTS CCC (define list of targets) has been received. Then, software may store the received data for when getting the controller role. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CDEFF bit. DEFF: u1, - /// group addressing flag (when the I3C is acting as target) When the I3C is acting as target (and is typically controller capable), this flag is asserted by hardware to indicate that the broadcast DEFGRPA CCC (define list of group addresses) has been received. Then, software may store the received data for when getting the controller role. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CGRPF bit. + /// group addressing flag (when the I3C is acting as target) When the I3C is acting as target (and is typically controller capable), this flag is asserted by hardware to indicate that the broadcast DEFGRPA CCC (define list of group addresses) has been received. Then, software may store the received data for when getting the controller role. This flag is cleared when software writes 1 into corresponding I3C_CEVR.CGRPF bit. GRPF: u1, }), - /// I3C interrupt enable register. + /// I3C interrupt enable register. IER: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// C-FIFO not full interrupt enable (whatever the I3C is acting as controller/target). + /// C-FIFO not full interrupt enable (whatever the I3C is acting as controller/target). CFNFIE: u1, - /// S-FIFO not empty interrupt enable (whatever the I3C is acting as controller/target). + /// S-FIFO not empty interrupt enable (whatever the I3C is acting as controller/target). SFNEIE: u1, - /// TX-FIFO not full interrupt enable (whatever the I3C is acting as controller/target). + /// TX-FIFO not full interrupt enable (whatever the I3C is acting as controller/target). TXFNFIE: u1, - /// RX-FIFO not empty interrupt enable (whatever the I3C is acting as controller/target). + /// RX-FIFO not empty interrupt enable (whatever the I3C is acting as controller/target). RXFNEIE: u1, reserved9: u3, - /// frame complete interrupt enable (whatever the I3C is acting as controller/target). + /// frame complete interrupt enable (whatever the I3C is acting as controller/target). FCIE: u1, - /// target-initiated read end interrupt enable (when the I3C is acting as controller). + /// target-initiated read end interrupt enable (when the I3C is acting as controller). RXTGTENDIE: u1, - /// error interrupt enable (whatever the I3C is acting as controller/target). + /// error interrupt enable (whatever the I3C is acting as controller/target). ERRIE: u1, reserved15: u3, - /// IBI request interrupt enable (when the I3C is acting as controller). + /// IBI request interrupt enable (when the I3C is acting as controller). IBIIE: u1, - /// IBI end interrupt enable (when the I3C is acting as target). + /// IBI end interrupt enable (when the I3C is acting as target). IBIENDIE: u1, - /// controller-role request interrupt enable (when the I3C is acting as controller). + /// controller-role request interrupt enable (when the I3C is acting as controller). CRIE: u1, - /// controller-role update interrupt enable (when the I3C is acting as target). + /// controller-role update interrupt enable (when the I3C is acting as target). CRUPDIE: u1, - /// hot-join interrupt enable (when the I3C is acting as controller). + /// hot-join interrupt enable (when the I3C is acting as controller). HJIE: u1, reserved21: u1, - /// wakeup interrupt enable (when the I3C is acting as target). + /// wakeup interrupt enable (when the I3C is acting as target). WKPIE: u1, - /// GETxxx CCC interrupt enable (when the I3C is acting as target). + /// GETxxx CCC interrupt enable (when the I3C is acting as target). GETIE: u1, - /// GETSTATUS CCC interrupt enable (when the I3C is acting as target). + /// GETSTATUS CCC interrupt enable (when the I3C is acting as target). STAIE: u1, - /// ENTDAA/RSTDAA/SETNEWDA CCC interrupt enable (when the I3C is acting as target). + /// ENTDAA/RSTDAA/SETNEWDA CCC interrupt enable (when the I3C is acting as target). DAUPDIE: u1, - /// SETMWL CCC interrupt enable (when the I3C is acting as target). + /// SETMWL CCC interrupt enable (when the I3C is acting as target). MWLUPDIE: u1, - /// SETMRL CCC interrupt enable (when the I3C is acting as target). + /// SETMRL CCC interrupt enable (when the I3C is acting as target). MRLUPDIE: u1, - /// reset pattern interrupt enable (when the I3C is acting as target). + /// reset pattern interrupt enable (when the I3C is acting as target). RSTIE: u1, - /// ENTASx CCC interrupt enable (when the I3C is acting as target). + /// ENTASx CCC interrupt enable (when the I3C is acting as target). ASUPDIE: u1, - /// ENEC/DISEC CCC interrupt enable (when the I3C is acting as target). + /// ENEC/DISEC CCC interrupt enable (when the I3C is acting as target). INTUPDIE: u1, - /// DEFTGTS CCC interrupt enable (when the I3C is acting as target). + /// DEFTGTS CCC interrupt enable (when the I3C is acting as target). DEFIE: u1, - /// DEFGRPA CCC interrupt enable (when the I3C is acting as target). + /// DEFGRPA CCC interrupt enable (when the I3C is acting as target). GRPIE: u1, }), - /// I3C clear event register. + /// I3C clear event register. CEVR: mmio.Mmio(packed struct(u32) { reserved9: u9, - /// clear frame complete flag (whatever the I3C is acting as controller/target). + /// clear frame complete flag (whatever the I3C is acting as controller/target). CFCF: u1, - /// clear target-initiated read end flag (when the I3C is acting as controller). + /// clear target-initiated read end flag (when the I3C is acting as controller). CRXTGTENDF: u1, - /// clear error flag (whatever the I3C is acting as controller/target). + /// clear error flag (whatever the I3C is acting as controller/target). CERRF: u1, reserved15: u3, - /// clear IBI request flag (when the I3C is acting as controller). + /// clear IBI request flag (when the I3C is acting as controller). CIBIF: u1, - /// clear IBI end flag (when the I3C is acting as target). + /// clear IBI end flag (when the I3C is acting as target). CIBIENDF: u1, - /// clear controller-role request flag (when the I3C is acting as controller). + /// clear controller-role request flag (when the I3C is acting as controller). CCRF: u1, - /// clear controller-role update flag (when the I3C is acting as target). + /// clear controller-role update flag (when the I3C is acting as target). CCRUPDF: u1, - /// clear hot-join flag (when the I3C is acting as controller). + /// clear hot-join flag (when the I3C is acting as controller). CHJF: u1, reserved21: u1, - /// clear wakeup flag (when the I3C is acting as target). + /// clear wakeup flag (when the I3C is acting as target). CWKPF: u1, - /// clear GETxxx CCC flag (when the I3C is acting as target). + /// clear GETxxx CCC flag (when the I3C is acting as target). CGETF: u1, - /// clear GETSTATUS CCC flag (when the I3C is acting as target). + /// clear GETSTATUS CCC flag (when the I3C is acting as target). CSTAF: u1, - /// clear ENTDAA/RSTDAA/SETNEWDA CCC flag (when the I3C is acting as target). + /// clear ENTDAA/RSTDAA/SETNEWDA CCC flag (when the I3C is acting as target). CDAUPDF: u1, - /// clear SETMWL CCC flag (when the I3C is acting as target). + /// clear SETMWL CCC flag (when the I3C is acting as target). CMWLUPDF: u1, - /// clear SETMRL CCC flag (when the I3C is acting as target). + /// clear SETMRL CCC flag (when the I3C is acting as target). CMRLUPDF: u1, - /// clear reset pattern flag (when the I3C is acting as target). + /// clear reset pattern flag (when the I3C is acting as target). CRSTF: u1, - /// clear ENTASx CCC flag (when the I3C is acting as target). + /// clear ENTASx CCC flag (when the I3C is acting as target). CASUPDF: u1, - /// clear ENEC/DISEC CCC flag (when the I3C is acting as target). + /// clear ENEC/DISEC CCC flag (when the I3C is acting as target). CINTUPDF: u1, - /// clear DEFTGTS CCC flag (when the I3C is acting as target). + /// clear DEFTGTS CCC flag (when the I3C is acting as target). CDEFF: u1, - /// clear DEFGRPA CCC flag (when the I3C is acting as target). + /// clear DEFGRPA CCC flag (when the I3C is acting as target). CGRPF: u1, }), reserved96: [4]u8, - /// I3C own device characteristics register. + /// I3C own device characteristics register. DEVR0: mmio.Mmio(packed struct(u32) { - /// dynamic address is valid (when the I3C is acting as target) When the I3C is acting as controller, this field can be written by software, for validating its own dynamic address, for example before a controller-role hand-off. When the I3C is acting as target, this field is asserted by hardware on the acknowledge of the broadcast ENTDAA CCC or the direct SETNEWDA CCC, and this field is cleared by hardware on the acknowledge of the broadcast RSTDAA CCC. + /// dynamic address is valid (when the I3C is acting as target) When the I3C is acting as controller, this field can be written by software, for validating its own dynamic address, for example before a controller-role hand-off. When the I3C is acting as target, this field is asserted by hardware on the acknowledge of the broadcast ENTDAA CCC or the direct SETNEWDA CCC, and this field is cleared by hardware on the acknowledge of the broadcast RSTDAA CCC. DAVAL: u1, - /// 7-bit dynamic address When the I3C is acting as controller, this field can be written by software, for defining its own dynamic address. When the I3C is acting as target, this field is updated by hardware on the reception of either the broadcast ENTDAA CCC or the direct SETNEWDA CCC. + /// 7-bit dynamic address When the I3C is acting as controller, this field can be written by software, for defining its own dynamic address. When the I3C is acting as target, this field is updated by hardware on the reception of either the broadcast ENTDAA CCC or the direct SETNEWDA CCC. DA: u7, reserved16: u8, - /// IBI request enable (when the I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0, and is updated by hardware on the reception of DISEC CCC with DISINT=1 (i.e. cleared) and the reception of ENEC CCC with ENINT=1 (i.e. set). + /// IBI request enable (when the I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0, and is updated by hardware on the reception of DISEC CCC with DISINT=1 (i.e. cleared) and the reception of ENEC CCC with ENINT=1 (i.e. set). IBIEN: u1, - /// controller-role request enable (when the I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0, and is updated by hardware on the reception of DISEC CCC with DISCR=1 (i.e. cleared) and the reception of ENEC CCC with ENCR=1 (i.e. set). + /// controller-role request enable (when the I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0, and is updated by hardware on the reception of DISEC CCC with DISCR=1 (i.e. cleared) and the reception of ENEC CCC with ENCR=1 (i.e. set). CREN: u1, reserved19: u1, - /// hot-join request enable (when the I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0, and is updated by hardware on the reception of DISEC CCC with DISHJ=1 (i.e. cleared) and the reception of ENEC CCC with ENHJ=1 (i.e. set). + /// hot-join request enable (when the I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0, and is updated by hardware on the reception of DISEC CCC with DISHJ=1 (i.e. cleared) and the reception of ENEC CCC with ENHJ=1 (i.e. set). HJEN: u1, - /// activity state (when the I3C is acting as target) This read field is updated by hardware on the reception of a ENTASx CCC (enter activity state, with x=0-3):. + /// activity state (when the I3C is acting as target) This read field is updated by hardware on the reception of a ENTASx CCC (enter activity state, with x=0-3):. AS: u2, - /// reset action/level on received reset pattern (when the I3C is acting as target) This read field is used by hardware on the reception of a direct read RSTACT CCC in order to return the corresponding data byte on the I3C bus. This read field is updated by hardware on the reception of a broadcast or direct write RSTACT CCC (target reset action). Only the defining bytes 0x00, 0x01 and 0x02 are mapped, and RSTACT[1:0] = Defining Byte[1:0]. a) partially reset the I3C peripheral, by a write and clear of the enable bit of the i3C configuration register (i.e. write I3C_CFGR.EN=0). This reset the I3C bus interface and the I3C kernel sub-parts, without modifying the content of the I3C APB registers (excepted the I3C_CFGR.EN bit). b) reset fully the I3C peripheral including all its registers via a write and set to the I3C reset control bit of the RCC (Reset and Clock Controller) register. a system reset. This has the same impact as a pin reset (i.e. NRST=0) (refer to RCC functional description - Reset part): – the software writes and set the AICR.SYSRESETREQ register control bit, when the device is controlled by a CortexTM-M. – the software writes and set the RCC_GRSTCSETR.SYSRST=1, when the device is controlled by a CortexTM-A. - RSTACT: packed union { - raw: u2, - value: RSTACT, - }, - /// reset action is valid (when the I3C is acting as target) This read bit is asserted by hardware to indicate that the RTSACT[1:0] field has been updated on the reception of a broadcast or direct write RSTACT CCC (target reset action) and is valid. This field is cleared by hardware when the target receives a frame start. If RSTVAL=1: when the RSTF is asserted (and/or the corresponding interrupt if enabled), I3C_DEVR0.RSTACT[1:0] dictates the reset action to be performed by the software if any. If RSTVAL=0: when the RSTF is asserted (and/or the corresponding interrupt if enabled), the software should issue an I3C reset after a first detected reset pattern, and a system reset on the second one. + /// reset action/level on received reset pattern (when the I3C is acting as target) This read field is used by hardware on the reception of a direct read RSTACT CCC in order to return the corresponding data byte on the I3C bus. This read field is updated by hardware on the reception of a broadcast or direct write RSTACT CCC (target reset action). Only the defining bytes 0x00, 0x01 and 0x02 are mapped, and RSTACT[1:0] = Defining Byte[1:0]. a) partially reset the I3C peripheral, by a write and clear of the enable bit of the i3C configuration register (i.e. write I3C_CFGR.EN=0). This reset the I3C bus interface and the I3C kernel sub-parts, without modifying the content of the I3C APB registers (excepted the I3C_CFGR.EN bit). b) reset fully the I3C peripheral including all its registers via a write and set to the I3C reset control bit of the RCC (Reset and Clock Controller) register. a system reset. This has the same impact as a pin reset (i.e. NRST=0) (refer to RCC functional description - Reset part): – the software writes and set the AICR.SYSRESETREQ register control bit, when the device is controlled by a CortexTM-M. – the software writes and set the RCC_GRSTCSETR.SYSRST=1, when the device is controlled by a CortexTM-A. + RSTACT: RSTACT, + /// reset action is valid (when the I3C is acting as target) This read bit is asserted by hardware to indicate that the RTSACT[1:0] field has been updated on the reception of a broadcast or direct write RSTACT CCC (target reset action) and is valid. This field is cleared by hardware when the target receives a frame start. If RSTVAL=1: when the RSTF is asserted (and/or the corresponding interrupt if enabled), I3C_DEVR0.RSTACT[1:0] dictates the reset action to be performed by the software if any. If RSTVAL=0: when the RSTF is asserted (and/or the corresponding interrupt if enabled), the software should issue an I3C reset after a first detected reset pattern, and a system reset on the second one. RSTVAL: u1, padding: u7, }), - /// I3C device 1 characteristics register. + /// I3C device 1 characteristics register. DEVR: [4]mmio.Mmio(packed struct(u32) { reserved1: u1, - /// assigned I3C dynamic address to target x (when the I3C is acting as controller) When the I3C is acting as controller, this field should be written by software to store the 7-bit dynamic address that the controller sends via a broadcast ENTDAA or a direct SETNEWDA CCC which has been acknowledged by the target x. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1. + /// assigned I3C dynamic address to target x (when the I3C is acting as controller) When the I3C is acting as controller, this field should be written by software to store the 7-bit dynamic address that the controller sends via a broadcast ENTDAA or a direct SETNEWDA CCC which has been acknowledged by the target x. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1. DA: u7, reserved16: u8, - /// IBI request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a IBI request from target x: - After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another IBI request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the controller logs the IBI payload data, if any, depending on I3C_DEVRx.IBIDEN. - The software is notified by the IBI flag (i.e. I3C_EVR.IBIF=1) and/or the corresponding interrupt if enabled; - Independently from IBIACK configuration for this or other devices, further IBI request(s) are NACKed until IBI request flag (i.e. I3C_EVR.IBIF) and controller-role request flag (i.e. I3C_EVR.CRF) are both cleared. - IBIACK: packed union { - raw: u1, - value: ACK, - }, - /// controller-role request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a controller-role request from target x: After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another controller-role request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the message continues as initially programmed. The software is notified by the controller-role request flag (i.e. I3C_EVR.CRF=1) and/or the corresponding interrupt if enabled; For effectively granting the controller-role to the requesting secondary controller, software should issue a GETACCCR (formerly known as GETACCMST), followed by a STOP. - Independently of CRACK configuration for this or other devices, further controller-role request(s) are NACKed until controller-role request flag (i.e. I3C_EVR.CRF) and IBI flag (i.e. I3C_EVR.IBIF) are both cleared. - CRACK: packed union { - raw: u1, - value: ACK, - }, - /// IBI data enable (when the I3C is acting as controller) When the I3C is acting as controller, this bit should be written by software to store the BCR[2] bit as received from the target x during broadcast ENTDAA or direct GETBCR CCC via the received I3C_RDR. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1. + /// IBI request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a IBI request from target x: - After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another IBI request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the controller logs the IBI payload data, if any, depending on I3C_DEVRx.IBIDEN. - The software is notified by the IBI flag (i.e. I3C_EVR.IBIF=1) and/or the corresponding interrupt if enabled; - Independently from IBIACK configuration for this or other devices, further IBI request(s) are NACKed until IBI request flag (i.e. I3C_EVR.IBIF) and controller-role request flag (i.e. I3C_EVR.CRF) are both cleared. + IBIACK: ACK, + /// controller-role request acknowledge (when the I3C is acting as controller) When the I3C is acting as controller, this bit is written by software to define the acknowledge policy to be applied on the I3C bus on the reception of a controller-role request from target x: After the NACK, the message continues as initially programmed (the target is aware of the NACK and can emit another controller-role request later on) - The field DIS is asserted by hardware to protect DA[6:0] from being modified by software meanwhile the hardware can store internally the current DA[6:0] into the kernel clock domain. - After the ACK, the message continues as initially programmed. The software is notified by the controller-role request flag (i.e. I3C_EVR.CRF=1) and/or the corresponding interrupt if enabled; For effectively granting the controller-role to the requesting secondary controller, software should issue a GETACCCR (formerly known as GETACCMST), followed by a STOP. - Independently of CRACK configuration for this or other devices, further controller-role request(s) are NACKed until controller-role request flag (i.e. I3C_EVR.CRF) and IBI flag (i.e. I3C_EVR.IBIF) are both cleared. + CRACK: ACK, + /// IBI data enable (when the I3C is acting as controller) When the I3C is acting as controller, this bit should be written by software to store the BCR[2] bit as received from the target x during broadcast ENTDAA or direct GETBCR CCC via the received I3C_RDR. Writing to this field has no impact when the read field I3C_DEVRx.DIS=1. IBIDEN: u1, - /// suspend/stop I3C transfer on received IBI (when the I3C is acting as controller) When the I3C is acting as controller, this bit is used to receive an IBI from target x with pending read notification feature (i.e. with received MDB[7:5]=3’b101). If this bit is set, when an IBI is received (i.e. I3C_EVR.IBIF=1), a Stop is emitted on the I3C bus and the C-FIFO is automatically flushed by hardware; to avoid a next private read communication issue if a previous private read message to the target x was stored in the C-FIFO. + /// suspend/stop I3C transfer on received IBI (when the I3C is acting as controller) When the I3C is acting as controller, this bit is used to receive an IBI from target x with pending read notification feature (i.e. with received MDB[7:5]=3’b101). If this bit is set, when an IBI is received (i.e. I3C_EVR.IBIF=1), a Stop is emitted on the I3C bus and the C-FIFO is automatically flushed by hardware; to avoid a next private read communication issue if a previous private read message to the target x was stored in the C-FIFO. SUSP: u1, reserved31: u11, - /// DA[6:0] write disabled (when the I3C is acting as controller) When the I3C is acting as controller, once that software set IBIACK=1 or CRACK=1, this read bit is set by hardware (i.e. DIS=1) to lock the configured DA[6:0] and IBIDEN values. Then, to be able to next modify DA[6:0] or IBIDEN, the software must wait for this field DIS to be de-asserted by hardware (i.e. polling on DIS=0) before modifying these two assigned values to the target x. Indeed, the target may be requesting an IBI or a controller-role meanwhile the controller intends to modify DA[6:0] or IBIDEN. - DIS: packed union { - raw: u1, - value: DIS, - }, + /// DA[6:0] write disabled (when the I3C is acting as controller) When the I3C is acting as controller, once that software set IBIACK=1 or CRACK=1, this read bit is set by hardware (i.e. DIS=1) to lock the configured DA[6:0] and IBIDEN values. Then, to be able to next modify DA[6:0] or IBIDEN, the software must wait for this field DIS to be de-asserted by hardware (i.e. polling on DIS=0) before modifying these two assigned values to the target x. Indeed, the target may be requesting an IBI or a controller-role meanwhile the controller intends to modify DA[6:0] or IBIDEN. + DIS: DIS, }), reserved144: [28]u8, - /// I3C maximum read length register. + /// I3C maximum read length register. MAXRLR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// IBI payload data size, in bytes (when I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0 to set the number of data bytes to be sent to the controller after an IBI request has been acknowledged.This field may be updated by hardware on the reception of SETMRL command (which potentially also updated IBIP[2:0]). Software is notified of a MRL update by the I3C_EVR.MRLUPF and the corresponding interrupt if enabled. others: same as 100. + /// IBI payload data size, in bytes (when I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0 to set the number of data bytes to be sent to the controller after an IBI request has been acknowledged.This field may be updated by hardware on the reception of SETMRL command (which potentially also updated IBIP[2:0]). Software is notified of a MRL update by the I3C_EVR.MRLUPF and the corresponding interrupt if enabled. others: same as 100. IBIP: u3, padding: u13, }), - /// I3C maximum write length register. + /// I3C maximum write length register. MAXWLR: mmio.Mmio(packed struct(u32) { - /// maximum data write length (when I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0 and updated by hardware on the reception of SETMWL command. Software is notified of a MWL update by the I3C_EVR.MWLUPF and the corresponding interrupt if enabled. This field is used by hardware to return the value on the I3C bus when the target receives a GETMWL CCC. + /// maximum data write length (when I3C is acting as target) This field is initially written by software when I3C_CFGR.EN=0 and updated by hardware on the reception of SETMWL command. Software is notified of a MWL update by the I3C_EVR.MWLUPF and the corresponding interrupt if enabled. This field is used by hardware to return the value on the I3C bus when the target receives a GETMWL CCC. ML: u16, padding: u16, }), reserved160: [8]u8, - /// I3C timing register 0. + /// I3C timing register 0. TIMINGR0: mmio.Mmio(packed struct(u32) { - /// SCL low duration in I3C push-pull phases, in number of kernel clocks cycles: tSCLL_PP = (SCLL_PP + 1) x tI3CCLK SCLL_PP is used to generate tLOW (I3C) timing. + /// SCL low duration in I3C push-pull phases, in number of kernel clocks cycles: tSCLL_PP = (SCLL_PP + 1) x tI3CCLK SCLL_PP is used to generate tLOW (I3C) timing. SCLL_PP: u8, - /// SCL high duration, used for I3C messages (both in push-pull and open-drain phases), in number of kernel clocks cycles: tSCLH_I3C = (SCLH_I3C + 1) x tI3CCLK SCLH_I3C is used to generate both tHIGH (I3C) and tHIGH_MIXED timings. + /// SCL high duration, used for I3C messages (both in push-pull and open-drain phases), in number of kernel clocks cycles: tSCLH_I3C = (SCLH_I3C + 1) x tI3CCLK SCLH_I3C is used to generate both tHIGH (I3C) and tHIGH_MIXED timings. SCLH_I3C: u8, - /// SCL low duration in open-drain phases, used for legacy I2C commands and for I3C open-drain phases (address header phase following a START, not a Repeated START), in number of kernel clocks cycles: tSCLL_OD = (SCLL_OD + 1) x tI3CCLK SCLL_OD is used to generate both tLOW (I2C) and tLOW_OD timings (max. of the two). + /// SCL low duration in open-drain phases, used for legacy I2C commands and for I3C open-drain phases (address header phase following a START, not a Repeated START), in number of kernel clocks cycles: tSCLL_OD = (SCLL_OD + 1) x tI3CCLK SCLL_OD is used to generate both tLOW (I2C) and tLOW_OD timings (max. of the two). SCLL_OD: u8, - /// SCL high duration, used for legacy I2C commands, in number of kernel clocks cycles: tSCLH_I2C = (SCLH_I2C + 1) x tI3CCLK SCLH_I2C is used to generate tHIGH (I2C) timing. + /// SCL high duration, used for legacy I2C commands, in number of kernel clocks cycles: tSCLH_I2C = (SCLH_I2C + 1) x tI3CCLK SCLH_I2C is used to generate tHIGH (I2C) timing. SCLH_I2C: u8, }), - /// I3C timing register 1. + /// I3C timing register 1. TIMINGR1: mmio.Mmio(packed struct(u32) { - /// number of kernel clock cycles, that is used whatever I3C is acting as controller or target, to set the following MIPI I3C timings, like bus available condition time: When the I3C is acting as target: for bus available condition time: it must wait for (bus available condition) time to be elapsed after a stop and before issuing a start request for an IBI or a controller-role request (i.e. bus free condition is sustained for at least tAVAL). refer to MIPI timing tAVAL = 1 �s. This timing is defined by: tAVAL = (AVAL[7:0] + 2) x tI3CCLK for bus idle condition time: it must wait for (bus idle condition) time to be elapsed after that both SDA and SCL are continuously high and stable before issuing a hot-join event. Refer to MIPI v1.1 timing tIDLE = 200 �s . This timing is defined by: tIDLE = (AVAL[7:0] + 2) x 200 x tI3CCLK When the I3C is acting as controller, it can not stall the clock beyond a maximum stall time (i.e. stall the SCL clock low), as follows: on first bit of assigned address during dynamic address assignment: it can not stall the clock beyond the MIPI timing tSTALLDAA = 15 ms. This timing is defined by: tSTALLDAA = (AVAL[7:0] + 1) x 15000 x tI3CCLK on ACK/NACK phase of I3C/I2C transfer, on parity bit of write data transfer, on transition bit of I3C read transfer: it can not stall the clock beyond the MIPI timing tSTALL = 100 �s. This timing is defined by: tSTALL = (AVAL[7:0] + 1) x 100 x tI3CCLK Whatever the I3C is acting as controller or as (controller-capable) target, during a controller-role hand-off procedure: The new controller must wait for a time (refer to MIPI timing tNEWCRLock) before pulling SDA low (i.e. issuing a start). And the active controller must wait for the same time while monitoring new controller and before testing the new controller by pulling SDA low. This time to wait is dependent on the defined I3C_TIMINGR1.ANSCR[1:0], as follows: If ASNCR[1:0]=00: tNEWCRLock = (AVAL[7:0] + 1) x tI3CCLK If ASNCR[1:0]=01: tNEWCRLock = (AVAL[7:0] + 1) x 100 x tI3CCLK If ASNCR[1:0]=10: tNEWCRLock = (AVAL[7:0] + 1) x 2000 x tI3CCLK If ASNCR[1:0]=11: tNEWCRLock = (AVAL[7:0] + 1) x 50000 x tI3CCLK. + /// number of kernel clock cycles, that is used whatever I3C is acting as controller or target, to set the following MIPI I3C timings, like bus available condition time: When the I3C is acting as target: for bus available condition time: it must wait for (bus available condition) time to be elapsed after a stop and before issuing a start request for an IBI or a controller-role request (i.e. bus free condition is sustained for at least tAVAL). refer to MIPI timing tAVAL = 1 �s. This timing is defined by: tAVAL = (AVAL[7:0] + 2) x tI3CCLK for bus idle condition time: it must wait for (bus idle condition) time to be elapsed after that both SDA and SCL are continuously high and stable before issuing a hot-join event. Refer to MIPI v1.1 timing tIDLE = 200 �s . This timing is defined by: tIDLE = (AVAL[7:0] + 2) x 200 x tI3CCLK When the I3C is acting as controller, it can not stall the clock beyond a maximum stall time (i.e. stall the SCL clock low), as follows: on first bit of assigned address during dynamic address assignment: it can not stall the clock beyond the MIPI timing tSTALLDAA = 15 ms. This timing is defined by: tSTALLDAA = (AVAL[7:0] + 1) x 15000 x tI3CCLK on ACK/NACK phase of I3C/I2C transfer, on parity bit of write data transfer, on transition bit of I3C read transfer: it can not stall the clock beyond the MIPI timing tSTALL = 100 �s. This timing is defined by: tSTALL = (AVAL[7:0] + 1) x 100 x tI3CCLK Whatever the I3C is acting as controller or as (controller-capable) target, during a controller-role hand-off procedure: The new controller must wait for a time (refer to MIPI timing tNEWCRLock) before pulling SDA low (i.e. issuing a start). And the active controller must wait for the same time while monitoring new controller and before testing the new controller by pulling SDA low. This time to wait is dependent on the defined I3C_TIMINGR1.ANSCR[1:0], as follows: If ASNCR[1:0]=00: tNEWCRLock = (AVAL[7:0] + 1) x tI3CCLK If ASNCR[1:0]=01: tNEWCRLock = (AVAL[7:0] + 1) x 100 x tI3CCLK If ASNCR[1:0]=10: tNEWCRLock = (AVAL[7:0] + 1) x 2000 x tI3CCLK If ASNCR[1:0]=11: tNEWCRLock = (AVAL[7:0] + 1) x 50000 x tI3CCLK. AVAL: u8, - /// activity state of the new controller (when I3C is acting as - active- controller) This field indicates the time to wait before being accessed as new target, refer to the other field AVAL[7:0]. This field can be modified only when the I3C is acting as controller. + /// activity state of the new controller (when I3C is acting as - active- controller) This field indicates the time to wait before being accessed as new target, refer to the other field AVAL[7:0]. This field can be modified only when the I3C is acting as controller. ASNCR: u2, reserved16: u6, - /// number of kernel clocks cycles that is used to set some MIPI timings like bus free condition time (when the I3C is acting as controller) When the I3C is acting as controller: for I3C start timing: it must wait for (bus free condition) time to be elapsed after a stop and before a start, refer to MIPI timings (I3C) tCAS and (I2C) tBUF. These timings are defined by: tBUF= tCAS = [ (FREE[6:0] + 1) x 2 - (0,5 + SDA_HD)] x tI3CCLK Note: for pure I3C bus: tCASmin= 38,4 ns. Note: for pure I3C bus: tCASmax=1�s, 100�s, 2ms, 50ms for respectively ENTAS0,1,2, and 3. Note: for mixed bus with I2C fm+ device: tBUFmin = 0,5 �s. Note: for mixed bus with I2C fm device: tBUFmin = 1,3 �s. for I3C repeated start timing: it must wait for time to be elapsed after a repeated start (i.e. SDA is de-asserted) and before driving SCL low, refer to. MIPI timing tCASr. This timing is defined by: tCASr = [ (FREE[6:0] + 1) x 2 - (0,5 + SDA_HD)] x tI3CCLK for I3C stop timing: it must wait for time to be elapsed after that the SCL clock is driven high and before the stop condition (i.e. SDA is asserted). This timing is defined by: tCBP = (FREE[6:0] + 1) x tI3CCLK for I3C repeated start timing (T-bit when controller ends read with repeated start followed by stop): it must wait for time to be elapsed after that the SCL clock is driven high and before the repeated start condition (i.e. SDA is de-asserted). This timing is defined by: tCBSr = (FREE[6:0] + 1) x tI3CCLK. + /// number of kernel clocks cycles that is used to set some MIPI timings like bus free condition time (when the I3C is acting as controller) When the I3C is acting as controller: for I3C start timing: it must wait for (bus free condition) time to be elapsed after a stop and before a start, refer to MIPI timings (I3C) tCAS and (I2C) tBUF. These timings are defined by: tBUF= tCAS = [ (FREE[6:0] + 1) x 2 - (0,5 + SDA_HD)] x tI3CCLK Note: for pure I3C bus: tCASmin= 38,4 ns. Note: for pure I3C bus: tCASmax=1�s, 100�s, 2ms, 50ms for respectively ENTAS0,1,2, and 3. Note: for mixed bus with I2C fm+ device: tBUFmin = 0,5 �s. Note: for mixed bus with I2C fm device: tBUFmin = 1,3 �s. for I3C repeated start timing: it must wait for time to be elapsed after a repeated start (i.e. SDA is de-asserted) and before driving SCL low, refer to. MIPI timing tCASr. This timing is defined by: tCASr = [ (FREE[6:0] + 1) x 2 - (0,5 + SDA_HD)] x tI3CCLK for I3C stop timing: it must wait for time to be elapsed after that the SCL clock is driven high and before the stop condition (i.e. SDA is asserted). This timing is defined by: tCBP = (FREE[6:0] + 1) x tI3CCLK for I3C repeated start timing (T-bit when controller ends read with repeated start followed by stop): it must wait for time to be elapsed after that the SCL clock is driven high and before the repeated start condition (i.e. SDA is de-asserted). This timing is defined by: tCBSr = (FREE[6:0] + 1) x tI3CCLK. FREE: u7, reserved28: u5, - /// SDA hold time (when the I3C is acting as controller), in number of kernel clocks cycles (refer to MIPI timing SDA hold time in push-pull tHD_PP):. + /// SDA hold time (when the I3C is acting as controller), in number of kernel clocks cycles (refer to MIPI timing SDA hold time in push-pull tHD_PP):. SDA_HD: u1, padding: u3, }), - /// I3C timing register 2. + /// I3C timing register 2. TIMINGR2: mmio.Mmio(packed struct(u32) { - /// Controller clock stall on T-bit phase of Data enable The SCL is stalled during STALL x tSCLL_PP in the T-bit phase (before 9th bit). This allows the target to prepare data to be sent. + /// Controller clock stall on T-bit phase of Data enable The SCL is stalled during STALL x tSCLL_PP in the T-bit phase (before 9th bit). This allows the target to prepare data to be sent. STALLT: u1, - /// controller clock stall on PAR phase of Data enable The SCL is stalled during STALL x tSCLL_PP in the T-bit phase (before 9th bit). This allows the target to read received data. + /// controller clock stall on PAR phase of Data enable The SCL is stalled during STALL x tSCLL_PP in the T-bit phase (before 9th bit). This allows the target to read received data. STALLD: u1, - /// controller clock stall on PAR phase of CCC enable The SCL is stalled during STALL x tSCLL_PP in the T-bit phase of common command code (before 9th bit). This allows the target to decode the command. + /// controller clock stall on PAR phase of CCC enable The SCL is stalled during STALL x tSCLL_PP in the T-bit phase of common command code (before 9th bit). This allows the target to decode the command. STALLC: u1, - /// controller clock stall enable on ACK phase The SCL is stalled (during tSCLL_STALLas defined by STALL) in the address ACK/NACK phase (before 9th bit). This allows the target to prepare data or the controller to respond to target interrupt. + /// controller clock stall enable on ACK phase The SCL is stalled (during tSCLL_STALLas defined by STALL) in the address ACK/NACK phase (before 9th bit). This allows the target to prepare data or the controller to respond to target interrupt. STALLA: u1, reserved8: u4, - /// controller clock stall time, in number of kernel clock cycles tSCLL_STALL = STALL x tI3CCLK. + /// controller clock stall time, in number of kernel clock cycles tSCLL_STALL = STALL x tI3CCLK. STALL: u8, padding: u16, }), reserved192: [20]u8, - /// I3C bus characteristics register. + /// I3C bus characteristics register. BCR: mmio.Mmio(packed struct(u32) { - /// max data speed limitation. + /// max data speed limitation. BCR0: u1, reserved2: u1, - /// in-band interrupt (IBI) payload. + /// in-band interrupt (IBI) payload. BCR2: u1, reserved6: u3, - /// controller capable. + /// controller capable. BCR6: u1, padding: u25, }), - /// I3C device characteristics register. + /// I3C device characteristics register. DCR: mmio.Mmio(packed struct(u32) { - /// device characteristics ID others: ID to describe the type of the I3C sensor/device Note: The latest MIPI DCR ID assignments are available at: https://www.mipi.org/MIPI_I3C_device_characteristics_register. + /// device characteristics ID others: ID to describe the type of the I3C sensor/device Note: The latest MIPI DCR ID assignments are available at: https://www.mipi.org/MIPI_I3C_device_characteristics_register. DCR: u8, padding: u24, }), - /// I3C get capability register. + /// I3C get capability register. GETCAPR: mmio.Mmio(packed struct(u32) { reserved14: u14, - /// IBI MDB support for pending read notification This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates the support (or not) of the pending read notification via the IBI MDB[7:0] value. This bit is used to return the GETCAP3 byte in response to the GETCAPS CCC format 1. + /// IBI MDB support for pending read notification This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates the support (or not) of the pending read notification via the IBI MDB[7:0] value. This bit is used to return the GETCAP3 byte in response to the GETCAPS CCC format 1. CAPPEND: u1, padding: u17, }), - /// I3C controller-role capability register. + /// I3C controller-role capability register. CRCAPR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// delayed controller-role hand-off This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates if this target I3C may need additional time to process a controller-role hand-off requested by the current controller. This bit is used to return the CRCAP2 byte in response to the GETCAPS CCC format 2. + /// delayed controller-role hand-off This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates if this target I3C may need additional time to process a controller-role hand-off requested by the current controller. This bit is used to return the CRCAP2 byte in response to the GETCAPS CCC format 2. CAPDHOFF: u1, reserved9: u5, - /// group management support (when acting as controller) This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates if the I3C is able to support group management when it acts as a controller (after controller-role hand-off) via emitted DEFGRPA, RSTGRPA, and SETGRPA CCC. This bit is used to return the CRCAP1 byte in response to the GETCAPS CCC format 2. + /// group management support (when acting as controller) This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates if the I3C is able to support group management when it acts as a controller (after controller-role hand-off) via emitted DEFGRPA, RSTGRPA, and SETGRPA CCC. This bit is used to return the CRCAP1 byte in response to the GETCAPS CCC format 2. CAPGRP: u1, padding: u22, }), - /// I3C get capability register. + /// I3C get capability register. GETMXDSR: mmio.Mmio(packed struct(u32) { - /// controller hand-off activity state This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates in which initial activity state the (other) current controller should expect the I3C bus after a controller-role hand-off to this controller-capable I3C, when returning the defining byte CRHDLY (0x91) to a GETMXDS CCC. This 2-bit field is used to return the CRHDLY1 byte in response to the GETCAPS CCC format 3, in order to state which is the activity state of this I3C when becoming controller after a controller-role hand-off, and consequently the time the former controller should wait before testing this I3C to be confirmed its ownership. + /// controller hand-off activity state This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and indicates in which initial activity state the (other) current controller should expect the I3C bus after a controller-role hand-off to this controller-capable I3C, when returning the defining byte CRHDLY (0x91) to a GETMXDS CCC. This 2-bit field is used to return the CRHDLY1 byte in response to the GETCAPS CCC format 3, in order to state which is the activity state of this I3C when becoming controller after a controller-role hand-off, and consequently the time the former controller should wait before testing this I3C to be confirmed its ownership. HOFFAS: u2, reserved8: u6, - /// GETMXDS CCC format. + /// GETMXDS CCC format. FMT: u2, reserved16: u6, - /// programmed byte of the 3-byte MaxRdTurn (maximum read turnaround byte) This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and writes the value of the selected byte (via the FMT[1:0] field) of the 3-byte MaxRdTurn which is returned in response to the GETMXDS CCC format 2 to encode the maximum read turnaround time. + /// programmed byte of the 3-byte MaxRdTurn (maximum read turnaround byte) This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and writes the value of the selected byte (via the FMT[1:0] field) of the 3-byte MaxRdTurn which is returned in response to the GETMXDS CCC format 2 to encode the maximum read turnaround time. RDTURN: u8, - /// clock-to-data turnaround time (tSCO) This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and is used to specify the clock-to-data turnaround time tSCO (vs the value of 12 ns). This bit is used by the hardware in response to the GETMXDS CCC to return the encoded clock-to-data turnaround time via the returned MaxRd[5:3] bits. + /// clock-to-data turnaround time (tSCO) This bit is written by software during bus initialization (i.e. I3C_CFGR.EN=0) and is used to specify the clock-to-data turnaround time tSCO (vs the value of 12 ns). This bit is used by the hardware in response to the GETMXDS CCC to return the encoded clock-to-data turnaround time via the returned MaxRd[5:3] bits. TSCO: u1, padding: u7, }), - /// I3C extended provisioned ID register. + /// I3C extended provisioned ID register. EPIDR: mmio.Mmio(packed struct(u32) { reserved12: u12, - /// 4-bit MIPI Instance ID This field is written by software to set and identify individually each instance of this I3C IP with a specific number on a single I3C bus. This field represents the bits[15:12] of the 48-bit provisioned ID. Note: The bits[11:0] of the provisioned ID may be 0. + /// 4-bit MIPI Instance ID This field is written by software to set and identify individually each instance of this I3C IP with a specific number on a single I3C bus. This field represents the bits[15:12] of the 48-bit provisioned ID. Note: The bits[11:0] of the provisioned ID may be 0. MIPIID: u4, - /// provisioned ID type selector This field is set as 0 i.e. vendor fixed value. This field represents the bit[32] of the 48-bit provisioned ID. Note: The bits[31:16] of the provisioned ID may be 0. + /// provisioned ID type selector This field is set as 0 i.e. vendor fixed value. This field represents the bit[32] of the 48-bit provisioned ID. Note: The bits[31:16] of the provisioned ID may be 0. IDTSEL: u1, - /// 15-bit MIPI manufacturer ID This read field is the 15-bit STMicroelectronics MIPI ID i.e. 0x0104. This field represents the bits[47:33] of the 48-bit provisioned ID. + /// 15-bit MIPI manufacturer ID This read field is the 15-bit STMicroelectronics MIPI ID i.e. 0x0104. This field represents the bits[47:33] of the 48-bit provisioned ID. MIPIMID: u15, }), }; @@ -348694,69 +345376,66 @@ pub const types = struct { pub const icache_v1_0crr = struct { pub const WAYSEL = enum(u1) { - /// direct mapped cache (1-way cache) + /// direct mapped cache (1-way cache) DirectMapped = 0x0, - /// n-way set associative cache (reset value) + /// n-way set associative cache (reset value) NWaySetAssociative = 0x1, }; - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE = extern struct { - /// ICACHE control register. + /// ICACHE control register. CR: mmio.Mmio(packed struct(u32) { - /// EN. + /// EN. EN: u1, - /// Set by software and cleared by hardware when the BUSYF flag is set (during cache maintenance operation). Writing 0 has no effect. + /// Set by software and cleared by hardware when the BUSYF flag is set (during cache maintenance operation). Writing 0 has no effect. CACHEINV: u1, - /// This bit allows user to choose ICACHE set-associativity. It can be written by software only when cache is disabled (EN = 0). - WAYSEL: packed union { - raw: u1, - value: WAYSEL, - }, + /// This bit allows user to choose ICACHE set-associativity. It can be written by software only when cache is disabled (EN = 0). + WAYSEL: WAYSEL, reserved16: u13, - /// Hit monitor enable. + /// Hit monitor enable. HITMEN: u1, - /// Miss monitor enable. + /// Miss monitor enable. MISSMEN: u1, - /// Hit monitor reset. + /// Hit monitor reset. HITMRST: u1, - /// Miss monitor reset. + /// Miss monitor reset. MISSMRST: u1, padding: u12, }), - /// ICACHE status register. + /// ICACHE status register. SR: mmio.Mmio(packed struct(u32) { - /// cache busy executing a full invalidate CACHEINV operation. + /// cache busy executing a full invalidate CACHEINV operation. BUSYF: u1, - /// full invalidate CACHEINV operation finished. + /// full invalidate CACHEINV operation finished. BSYENDF: u1, - /// an error occurred during the operation. + /// an error occurred during the operation. ERRF: u1, padding: u29, }), - /// ICACHE interrupt enable register. + /// ICACHE interrupt enable register. IER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Interrupt enable on busy end. + /// Interrupt enable on busy end. BSYENDIE: u1, - /// Error interrupt on cache error. + /// Error interrupt on cache error. ERRIE: u1, padding: u29, }), - /// ICACHE flag clear register. + /// ICACHE flag clear register. FCR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clear busy end flag. + /// Clear busy end flag. CBSYENDF: u1, - /// Clear ERRF flag in SR. + /// Clear ERRF flag in SR. CERRF: u1, padding: u29, }), - /// ICACHE hit monitor register. + /// ICACHE hit monitor register. HMONR: u32, - /// ICACHE miss monitor register. + /// ICACHE miss monitor register. MMONR: mmio.Mmio(packed struct(u32) { - /// Miss monitor register. + /// Miss monitor register. MISSMON: u16, padding: u16, }), @@ -348786,100 +345465,88 @@ pub const types = struct { }; pub const WAYSEL = enum(u1) { - /// direct mapped cache (1-way cache) + /// direct mapped cache (1-way cache) DirectMapped = 0x0, - /// n-way set associative cache (reset value) + /// n-way set associative cache (reset value) NWaySetAssociative = 0x1, }; - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE = extern struct { - /// ICACHE control register. + /// ICACHE control register. CR: mmio.Mmio(packed struct(u32) { - /// EN. + /// EN. EN: u1, - /// Set by software and cleared by hardware when the BUSYF flag is set (during cache maintenance operation). Writing 0 has no effect. + /// Set by software and cleared by hardware when the BUSYF flag is set (during cache maintenance operation). Writing 0 has no effect. CACHEINV: u1, - /// This bit allows user to choose ICACHE set-associativity. It can be written by software only when cache is disabled (EN = 0). - WAYSEL: packed union { - raw: u1, - value: WAYSEL, - }, + /// This bit allows user to choose ICACHE set-associativity. It can be written by software only when cache is disabled (EN = 0). + WAYSEL: WAYSEL, reserved16: u13, - /// Hit monitor enable. + /// Hit monitor enable. HITMEN: u1, - /// Miss monitor enable. + /// Miss monitor enable. MISSMEN: u1, - /// Hit monitor reset. + /// Hit monitor reset. HITMRST: u1, - /// Miss monitor reset. + /// Miss monitor reset. MISSMRST: u1, padding: u12, }), - /// ICACHE status register. + /// ICACHE status register. SR: mmio.Mmio(packed struct(u32) { - /// cache busy executing a full invalidate CACHEINV operation. + /// cache busy executing a full invalidate CACHEINV operation. BUSYF: u1, - /// full invalidate CACHEINV operation finished. + /// full invalidate CACHEINV operation finished. BSYENDF: u1, - /// an error occurred during the operation. + /// an error occurred during the operation. ERRF: u1, padding: u29, }), - /// ICACHE interrupt enable register. + /// ICACHE interrupt enable register. IER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Interrupt enable on busy end. + /// Interrupt enable on busy end. BSYENDIE: u1, - /// Error interrupt on cache error. + /// Error interrupt on cache error. ERRIE: u1, padding: u29, }), - /// ICACHE flag clear register. + /// ICACHE flag clear register. FCR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clear busy end flag. + /// Clear busy end flag. CBSYENDF: u1, - /// Clear ERRF flag in SR. + /// Clear ERRF flag in SR. CERRF: u1, padding: u29, }), - /// ICACHE hit monitor register. + /// ICACHE hit monitor register. HMONR: u32, - /// ICACHE miss monitor register. + /// ICACHE miss monitor register. MMONR: mmio.Mmio(packed struct(u32) { - /// Miss monitor register. + /// Miss monitor register. MISSMON: u16, padding: u16, }), reserved32: [8]u8, - /// Cluster CRR%s, container region configuration registers. + /// Cluster CRR%s, container region configuration registers. CRR: [3]mmio.Mmio(packed struct(u32) { - /// base address for region. + /// base address for region. BASEADDR: u8, reserved9: u1, - /// size for region. - RSIZE: packed union { - raw: u3, - value: RSIZE, - }, + /// size for region. + RSIZE: RSIZE, reserved15: u3, - /// enable for region. + /// enable for region. REN: u1, - /// remapped address for region. + /// remapped address for region. REMAPADDR: u11, reserved28: u1, - /// AHB cache master selection for region. - MSTSEL: packed union { - raw: u1, - value: MSTSEL, - }, + /// AHB cache master selection for region. + MSTSEL: MSTSEL, reserved31: u2, - /// output burst type for region. - HBURST: packed union { - raw: u1, - value: HBURST, - }, + /// output burst type for region. + HBURST: HBURST, }), }; }; @@ -348907,143 +345574,131 @@ pub const types = struct { }; pub const WAYSEL = enum(u1) { - /// direct mapped cache (1-way cache) + /// direct mapped cache (1-way cache) DirectMapped = 0x0, - /// n-way set associative cache (reset value) + /// n-way set associative cache (reset value) NWaySetAssociative = 0x1, }; - /// Instruction Cache Control Registers. + /// Instruction Cache Control Registers. pub const ICACHE = extern struct { - /// ICACHE control register. + /// ICACHE control register. CR: mmio.Mmio(packed struct(u32) { - /// EN. + /// EN. EN: u1, - /// Set by software and cleared by hardware when the BUSYF flag is set (during cache maintenance operation). Writing 0 has no effect. + /// Set by software and cleared by hardware when the BUSYF flag is set (during cache maintenance operation). Writing 0 has no effect. CACHEINV: u1, - /// This bit allows user to choose ICACHE set-associativity. It can be written by software only when cache is disabled (EN = 0). - WAYSEL: packed union { - raw: u1, - value: WAYSEL, - }, + /// This bit allows user to choose ICACHE set-associativity. It can be written by software only when cache is disabled (EN = 0). + WAYSEL: WAYSEL, reserved16: u13, - /// Hit monitor enable. + /// Hit monitor enable. HITMEN: u1, - /// Miss monitor enable. + /// Miss monitor enable. MISSMEN: u1, - /// Hit monitor reset. + /// Hit monitor reset. HITMRST: u1, - /// Miss monitor reset. + /// Miss monitor reset. MISSMRST: u1, padding: u12, }), - /// ICACHE status register. + /// ICACHE status register. SR: mmio.Mmio(packed struct(u32) { - /// cache busy executing a full invalidate CACHEINV operation. + /// cache busy executing a full invalidate CACHEINV operation. BUSYF: u1, - /// full invalidate CACHEINV operation finished. + /// full invalidate CACHEINV operation finished. BSYENDF: u1, - /// an error occurred during the operation. + /// an error occurred during the operation. ERRF: u1, padding: u29, }), - /// ICACHE interrupt enable register. + /// ICACHE interrupt enable register. IER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Interrupt enable on busy end. + /// Interrupt enable on busy end. BSYENDIE: u1, - /// Error interrupt on cache error. + /// Error interrupt on cache error. ERRIE: u1, padding: u29, }), - /// ICACHE flag clear register. + /// ICACHE flag clear register. FCR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clear busy end flag. + /// Clear busy end flag. CBSYENDF: u1, - /// Clear ERRF flag in SR. + /// Clear ERRF flag in SR. CERRF: u1, padding: u29, }), - /// ICACHE hit monitor register. + /// ICACHE hit monitor register. HMONR: u32, - /// ICACHE miss monitor register. + /// ICACHE miss monitor register. MMONR: mmio.Mmio(packed struct(u32) { - /// Miss monitor register. + /// Miss monitor register. MISSMON: u16, padding: u16, }), reserved32: [8]u8, - /// Cluster CRR%s, container region configuration registers. + /// Cluster CRR%s, container region configuration registers. CRR: [4]mmio.Mmio(packed struct(u32) { - /// base address for region. + /// base address for region. BASEADDR: u8, reserved9: u1, - /// size for region. - RSIZE: packed union { - raw: u3, - value: RSIZE, - }, + /// size for region. + RSIZE: RSIZE, reserved15: u3, - /// enable for region. + /// enable for region. REN: u1, - /// remapped address for region. + /// remapped address for region. REMAPADDR: u11, reserved28: u1, - /// AHB cache master selection for region. - MSTSEL: packed union { - raw: u1, - value: MSTSEL, - }, + /// AHB cache master selection for region. + MSTSEL: MSTSEL, reserved31: u2, - /// output burst type for region. - HBURST: packed union { - raw: u1, - value: HBURST, - }, + /// output burst type for region. + HBURST: HBURST, }), }; }; pub const ipcc_v1 = struct { - /// IPCC + /// IPCC pub const IPCC = extern struct { - /// CPU specific registers + /// CPU specific registers CPU: u32, }; - /// IPCC + /// IPCC pub const IPCC_CPU = extern struct { - /// Control register CPUx + /// Control register CPUx CR: mmio.Mmio(packed struct(u32) { - /// processor x Receive channel occupied interrupt enable + /// processor x Receive channel occupied interrupt enable RXOIE: u1, reserved16: u15, - /// processor x Transmit channel free interrupt enable + /// processor x Transmit channel free interrupt enable TXFIE: u1, padding: u15, }), - /// Mask register CPUx + /// Mask register CPUx MR: mmio.Mmio(packed struct(u32) { - /// processor x Receive channel y occupied interrupt enable + /// processor x Receive channel y occupied interrupt enable CHOM: u1, reserved16: u15, - /// processor x Transmit channel y free interrupt mask + /// processor x Transmit channel y free interrupt mask CHFM: u1, padding: u15, }), - /// Status Set or Clear register CPUx + /// Status Set or Clear register CPUx SCR: mmio.Mmio(packed struct(u32) { - /// processor x Receive channel y status clear + /// processor x Receive channel y status clear CHC: u1, reserved16: u15, - /// processor x Transmit channel y status set + /// processor x Transmit channel y status set CHS: u1, padding: u15, }), - /// CPUx to CPUy status register + /// CPUx to CPUy status register SR: mmio.Mmio(packed struct(u32) { - /// processor x transmit to process y Receive channel z status flag + /// processor x transmit to process y Receive channel z status flag CHF: u1, padding: u31, }), @@ -349052,65 +345707,59 @@ pub const types = struct { pub const iwdg_v1 = struct { pub const KEY = enum(u16) { - /// Enable access to PR, RLR and WINR registers (0x5555) + /// Enable access to PR, RLR and WINR registers (0x5555) Enable = 0x5555, - /// Reset the watchdog value (0xAAAA) + /// Reset the watchdog value (0xAAAA) Reset = 0xaaaa, - /// Start the watchdog (0xCCCC) + /// Start the watchdog (0xCCCC) Start = 0xcccc, _, }; pub const PR = enum(u3) { - /// Divider /4 + /// Divider /4 DivideBy4 = 0x0, - /// Divider /8 + /// Divider /8 DivideBy8 = 0x1, - /// Divider /16 + /// Divider /16 DivideBy16 = 0x2, - /// Divider /32 + /// Divider /32 DivideBy32 = 0x3, - /// Divider /64 + /// Divider /64 DivideBy64 = 0x4, - /// Divider /128 + /// Divider /128 DivideBy128 = 0x5, - /// Divider /256 + /// Divider /256 DivideBy256 = 0x6, - /// Divider /256 + /// Divider /256 DivideBy256bis = 0x7, }; - /// Independent watchdog + /// Independent watchdog pub const IWDG = extern struct { - /// Key register + /// Key register KR: mmio.Mmio(packed struct(u32) { - /// Key value (write only, read 0000h) - KEY: packed union { - raw: u16, - value: KEY, - }, + /// Key value (write only, read 0000h) + KEY: KEY, padding: u16, }), - /// Prescaler register + /// Prescaler register PR: mmio.Mmio(packed struct(u32) { - /// Prescaler divider - PR: packed union { - raw: u3, - value: PR, - }, + /// Prescaler divider + PR: PR, padding: u29, }), - /// Reload register + /// Reload register RLR: mmio.Mmio(packed struct(u32) { - /// Watchdog counter reload value + /// Watchdog counter reload value RL: u12, padding: u20, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Watchdog prescaler value update + /// Watchdog prescaler value update PVU: u1, - /// Watchdog counter reload value update + /// Watchdog counter reload value update RVU: u1, padding: u30, }), @@ -349119,73 +345768,67 @@ pub const types = struct { pub const iwdg_v2 = struct { pub const KEY = enum(u16) { - /// Enable access to PR, RLR and WINR registers (0x5555) + /// Enable access to PR, RLR and WINR registers (0x5555) Enable = 0x5555, - /// Reset the watchdog value (0xAAAA) + /// Reset the watchdog value (0xAAAA) Reset = 0xaaaa, - /// Start the watchdog (0xCCCC) + /// Start the watchdog (0xCCCC) Start = 0xcccc, _, }; pub const PR = enum(u3) { - /// Divider /4 + /// Divider /4 DivideBy4 = 0x0, - /// Divider /8 + /// Divider /8 DivideBy8 = 0x1, - /// Divider /16 + /// Divider /16 DivideBy16 = 0x2, - /// Divider /32 + /// Divider /32 DivideBy32 = 0x3, - /// Divider /64 + /// Divider /64 DivideBy64 = 0x4, - /// Divider /128 + /// Divider /128 DivideBy128 = 0x5, - /// Divider /256 + /// Divider /256 DivideBy256 = 0x6, - /// Divider /256 + /// Divider /256 DivideBy256bis = 0x7, }; - /// Independent watchdog + /// Independent watchdog pub const IWDG = extern struct { - /// Key register + /// Key register KR: mmio.Mmio(packed struct(u32) { - /// Key value (write only, read 0000h) - KEY: packed union { - raw: u16, - value: KEY, - }, + /// Key value (write only, read 0000h) + KEY: KEY, padding: u16, }), - /// Prescaler register + /// Prescaler register PR: mmio.Mmio(packed struct(u32) { - /// Prescaler divider - PR: packed union { - raw: u3, - value: PR, - }, + /// Prescaler divider + PR: PR, padding: u29, }), - /// Reload register + /// Reload register RLR: mmio.Mmio(packed struct(u32) { - /// Watchdog counter reload value + /// Watchdog counter reload value RL: u12, padding: u20, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Watchdog prescaler value update + /// Watchdog prescaler value update PVU: u1, - /// Watchdog counter reload value update + /// Watchdog counter reload value update RVU: u1, - /// Watchdog counter window value update + /// Watchdog counter window value update WVU: u1, padding: u29, }), - /// Window register + /// Window register WINR: mmio.Mmio(packed struct(u32) { - /// Watchdog counter window value + /// Watchdog counter window value WIN: u12, padding: u20, }), @@ -349194,92 +345837,86 @@ pub const types = struct { pub const iwdg_v3 = struct { pub const KEY = enum(u16) { - /// Enable access to PR, RLR and WINR registers (0x5555) + /// Enable access to PR, RLR and WINR registers (0x5555) Enable = 0x5555, - /// Reset the watchdog value (0xAAAA) + /// Reset the watchdog value (0xAAAA) Reset = 0xaaaa, - /// Start the watchdog (0xCCCC) + /// Start the watchdog (0xCCCC) Start = 0xcccc, _, }; pub const PR = enum(u4) { - /// Divider /4 + /// Divider /4 DivideBy4 = 0x0, - /// Divider /8 + /// Divider /8 DivideBy8 = 0x1, - /// Divider /16 + /// Divider /16 DivideBy16 = 0x2, - /// Divider /32 + /// Divider /32 DivideBy32 = 0x3, - /// Divider /64 + /// Divider /64 DivideBy64 = 0x4, - /// Divider /128 + /// Divider /128 DivideBy128 = 0x5, - /// Divider /256 + /// Divider /256 DivideBy256 = 0x6, - /// Divider /512 + /// Divider /512 DivideBy512 = 0x7, - /// Divider /1024 + /// Divider /1024 DivideBy1024 = 0x8, _, }; - /// Independent watchdog + /// Independent watchdog pub const IWDG = extern struct { - /// Key register + /// Key register KR: mmio.Mmio(packed struct(u32) { - /// Key value (write only, read 0000h) - KEY: packed union { - raw: u16, - value: KEY, - }, + /// Key value (write only, read 0000h) + KEY: KEY, padding: u16, }), - /// Prescaler register + /// Prescaler register PR: mmio.Mmio(packed struct(u32) { - /// Prescaler divider - PR: packed union { - raw: u4, - value: PR, - }, + /// Prescaler divider + PR: PR, padding: u28, }), - /// Reload register + /// Reload register RLR: mmio.Mmio(packed struct(u32) { - /// Watchdog counter reload value + /// Watchdog counter reload value RL: u12, padding: u20, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Watchdog prescaler value update + /// Watchdog prescaler value update PVU: u1, - /// Watchdog counter reload value update + /// Watchdog counter reload value update RVU: u1, - /// Watchdog counter window value update + /// Watchdog counter window value update WVU: u1, - /// Watchdog interrupt comparator value update This bit is set by hardware to indicate that an update of the interrupt comparator value (EWIT[11:0]) or an update of the EWIE is ongoing. It is reset by hardware when the update operation is completed in the VDD voltage domain (takes up to three periods of the IWDG kernel clock iwdg_ker_ck). The EWIT[11:0] and EWIE fields can be updated only when EWU bit is reset. + /// Watchdog interrupt comparator value update This bit is set by hardware to indicate that an update of the interrupt comparator value (EWIT[11:0]) or an update of the EWIE is ongoing. It is reset by hardware when the update operation is completed in the VDD voltage domain (takes up to three periods of the IWDG kernel clock iwdg_ker_ck). The EWIT[11:0] and EWIE fields can be updated only when EWU bit is reset. EWU: u1, reserved14: u10, - /// Watchdog early interrupt flag This bit is set to ‘1’ by hardware in order to indicate that an early interrupt is pending. This bit must be cleared by the software by writing the bit EWIC of IWDG_EWCR register to ‘1’. + /// Watchdog early interrupt flag This bit is set to ‘1’ by hardware in order to indicate that an early interrupt is pending. This bit must be cleared by the software by writing the bit EWIC of IWDG_EWCR register to ‘1’. EWIF: u1, padding: u17, }), - /// Window register + /// Window register WINR: mmio.Mmio(packed struct(u32) { - /// Watchdog counter window value + /// Watchdog counter window value WIN: u12, padding: u20, }), - /// IWDG early wakeup interrupt register. + /// IWDG early wakeup interrupt register. EWCR: mmio.Mmio(packed struct(u32) { - /// Watchdog counter window value These bits are write access protected (see ). They are written by software to define at which position of the IWDCNT down-counter the early wakeup interrupt must be generated. The early interrupt is generated when the IWDCNT is lower or equal to EWIT[11:0] - 1. EWIT[11:0] must be bigger than 1. An interrupt is generated only if EWIE = 1. The EWU bit in the must be reset to be able to change the reload value. Note: Reading this register returns the Early wakeup comparator value and the Interrupt enable bit from the VDD voltage domain. This value may not be up to date/valid if a write operation to this register is ongoing, hence the value read from this register is valid only when the EWU bit in the is reset. + /// Watchdog counter window value These bits are write access protected (see ). They are written by software to define at which position of the IWDCNT down-counter the early wakeup interrupt must be generated. The early interrupt is generated when the IWDCNT is lower or equal to EWIT[11:0] - 1. EWIT[11:0] must be bigger than 1. An interrupt is generated only if EWIE = 1. The EWU bit in the must be reset to be able to change the reload value. Note: Reading this register returns the Early wakeup comparator value and the Interrupt enable bit from the VDD voltage domain. This value may not be up to date/valid if a write operation to this register is ongoing, hence the value read from this register is valid only when the EWU bit in the is reset. EWIT: u12, reserved14: u2, - /// Watchdog early interrupt acknowledge The software must write a 1 into this bit in order to acknowledge the early wakeup interrupt and to clear the EWIF flag. Writing 0 has not effect, reading this flag returns a 0. + /// Watchdog early interrupt acknowledge The software must write a 1 into this bit in order to acknowledge the early wakeup interrupt and to clear the EWIF flag. Writing 0 has not effect, reading this flag returns a 0. EWIC: u1, - /// Watchdog early interrupt enable Set and reset by software. The EWU bit in the must be reset to be able to change the value of this bit. + /// Watchdog early interrupt enable Set and reset by software. The EWU bit in the must be reset to be able to change the value of this bit. EWIE: u1, padding: u16, }), @@ -349287,3289 +345924,3244 @@ pub const types = struct { }; pub const jpeg_v1 = struct { - /// JPEG codec + /// JPEG codec pub const JPEG = extern struct { - /// JPEG codec configuration register 0 + /// JPEG codec configuration register 0 JPEG_CONFR0: mmio.Mmio(packed struct(u32) { - /// Start + /// Start START: u1, padding: u31, }), - /// JPEG codec configuration register 1 + /// JPEG codec configuration register 1 JPEG_CONFR1: mmio.Mmio(packed struct(u32) { - /// Number of color components + /// Number of color components NF: u2, reserved3: u1, - /// Decoding Enable + /// Decoding Enable DE: u1, - /// Color Space + /// Color Space COLORSPACE: u2, - /// Number of components for Scan + /// Number of components for Scan NS: u2, - /// Header Processing + /// Header Processing HDR: u1, reserved16: u7, - /// Y Size + /// Y Size YSIZE: u16, }), - /// JPEG codec configuration register 2 + /// JPEG codec configuration register 2 JPEG_CONFR2: mmio.Mmio(packed struct(u32) { - /// Number of MCU + /// Number of MCU NMCU: u26, padding: u6, }), - /// JPEG codec configuration register 3 + /// JPEG codec configuration register 3 JPEG_CONFR3: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// X size + /// X size XSIZE: u16, }), - /// JPEG codec configuration register 4 + /// JPEG codec configuration register 4 JPEG_CONFR4: mmio.Mmio(packed struct(u32) { - /// Huffman DC + /// Huffman DC HD: u1, - /// Huffman AC + /// Huffman AC HA: u1, - /// Quantization Table + /// Quantization Table QT: u2, - /// Number of Block + /// Number of Block NB: u4, - /// Vertical Sampling Factor + /// Vertical Sampling Factor VSF: u4, - /// Horizontal Sampling Factor + /// Horizontal Sampling Factor HSF: u4, padding: u16, }), - /// JPEG codec configuration register 5 + /// JPEG codec configuration register 5 JPEG_CONFR5: mmio.Mmio(packed struct(u32) { - /// Huffman DC + /// Huffman DC HD: u1, - /// Huffman AC + /// Huffman AC HA: u1, - /// Quantization Table + /// Quantization Table QT: u2, - /// Number of Block + /// Number of Block NB: u4, - /// Vertical Sampling Factor + /// Vertical Sampling Factor VSF: u4, - /// Horizontal Sampling Factor + /// Horizontal Sampling Factor HSF: u4, padding: u16, }), - /// JPEG codec configuration register 6 + /// JPEG codec configuration register 6 JPEG_CONFR6: mmio.Mmio(packed struct(u32) { - /// Huffman DC + /// Huffman DC HD: u1, - /// Huffman AC + /// Huffman AC HA: u1, - /// Quantization Table + /// Quantization Table QT: u2, - /// Number of Block + /// Number of Block NB: u4, - /// Vertical Sampling Factor + /// Vertical Sampling Factor VSF: u4, - /// Horizontal Sampling Factor + /// Horizontal Sampling Factor HSF: u4, padding: u16, }), - /// JPEG codec configuration register 7 + /// JPEG codec configuration register 7 JPEG_CONFR7: mmio.Mmio(packed struct(u32) { - /// Huffman DC + /// Huffman DC HD: u1, - /// Huffman AC + /// Huffman AC HA: u1, - /// Quantization Table + /// Quantization Table QT: u2, - /// Number of Block + /// Number of Block NB: u4, - /// Vertical Sampling Factor + /// Vertical Sampling Factor VSF: u4, - /// Horizontal Sampling Factor + /// Horizontal Sampling Factor HSF: u4, padding: u16, }), reserved48: [16]u8, - /// JPEG control register + /// JPEG control register JPEG_CR: mmio.Mmio(packed struct(u32) { - /// JPEG Core Enable + /// JPEG Core Enable JCEN: u1, - /// Input FIFO Threshold Interrupt Enable + /// Input FIFO Threshold Interrupt Enable IFTIE: u1, - /// Input FIFO Not Full Interrupt Enable + /// Input FIFO Not Full Interrupt Enable IFNFIE: u1, - /// Output FIFO Threshold Interrupt Enable + /// Output FIFO Threshold Interrupt Enable OFTIE: u1, - /// Output FIFO Not Empty Interrupt Enable + /// Output FIFO Not Empty Interrupt Enable OFNEIE: u1, - /// End of Conversion Interrupt Enable + /// End of Conversion Interrupt Enable EOCIE: u1, - /// Header Parsing Done Interrupt Enable + /// Header Parsing Done Interrupt Enable HPDIE: u1, reserved11: u4, - /// Input DMA Enable + /// Input DMA Enable IDMAEN: u1, - /// Output DMA Enable + /// Output DMA Enable ODMAEN: u1, - /// Input FIFO Flush + /// Input FIFO Flush IFF: u1, - /// Output FIFO Flush + /// Output FIFO Flush OFF: u1, padding: u17, }), - /// JPEG status register + /// JPEG status register JPEG_SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Input FIFO Threshold Flag + /// Input FIFO Threshold Flag IFTF: u1, - /// Input FIFO Not Full Flag + /// Input FIFO Not Full Flag IFNFF: u1, - /// Output FIFO Threshold Flag + /// Output FIFO Threshold Flag OFTF: u1, - /// Output FIFO Not Empty Flag + /// Output FIFO Not Empty Flag OFNEF: u1, - /// End of Conversion Flag + /// End of Conversion Flag EOCF: u1, - /// Header Parsing Done Flag + /// Header Parsing Done Flag HPDF: u1, - /// Codec Operation Flag + /// Codec Operation Flag COF: u1, padding: u24, }), - /// JPEG clear flag register + /// JPEG clear flag register JPEG_CFR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// Clear End of Conversion Flag + /// Clear End of Conversion Flag CEOCF: u1, - /// Clear Header Parsing Done Flag + /// Clear Header Parsing Done Flag CHPDF: u1, padding: u25, }), reserved64: [4]u8, - /// JPEG data input register + /// JPEG data input register JPEG_DIR: mmio.Mmio(packed struct(u32) { - /// Data Input FIFO + /// Data Input FIFO DATAIN: u32, }), - /// JPEG data output register + /// JPEG data output register JPEG_DOR: mmio.Mmio(packed struct(u32) { - /// Data Output FIFO + /// Data Output FIFO DATAOUT: u32, }), reserved80: [8]u8, - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_0: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_1: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_2: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_3: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_4: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_5: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_6: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_7: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_8: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_9: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_10: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_11: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_12: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_13: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_14: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM0_15: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_0: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_1: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_2: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_3: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_4: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_5: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_6: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_7: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_8: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_9: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_10: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_11: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_12: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_13: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_14: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM1_15: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_0: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_1: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_2: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_3: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_4: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_5: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_6: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_7: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_8: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_9: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_10: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_11: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_12: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_13: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_14: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM2_15: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_0: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_1: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_2: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_3: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_4: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_5: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_6: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_7: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_8: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_9: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_10: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_11: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_12: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_13: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_14: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG quantization tables + /// JPEG quantization tables QMEM3_15: mmio.Mmio(packed struct(u32) { - /// QMem RAM + /// QMem RAM QMem_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_0: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_1: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_2: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_3: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_4: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_5: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_6: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_7: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_8: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_9: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_10: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_11: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_12: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_13: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_14: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffMin tables + /// JPEG HuffMin tables HUFFMIN_15: mmio.Mmio(packed struct(u32) { - /// HuffMin RAM + /// HuffMin RAM HuffMin_RAM: u32, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE0: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE1: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE2: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE3: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE4: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE5: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE6: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE7: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE8: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE9: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE10: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE11: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE12: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE13: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE14: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE15: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE16: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE17: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE18: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE19: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE20: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE21: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE22: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE23: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE24: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE25: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE26: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE27: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE28: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE29: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE30: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HuffSymb tables + /// JPEG HuffSymb tables HUFFBASE31: mmio.Mmio(packed struct(u32) { - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_0: u9, reserved16: u7, - /// HuffBase RAM + /// HuffBase RAM HuffBase_RAM_1: u9, padding: u7, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB0: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB1: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB2: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB3: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB4: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB5: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB6: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB7: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB8: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB9: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB10: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB11: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB12: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB13: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB14: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB15: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB16: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB17: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB18: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB19: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB20: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB21: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB22: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB23: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB24: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB25: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB26: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB27: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB28: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB29: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB30: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB31: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB32: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB33: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB34: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB35: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB36: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB37: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB38: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB39: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB40: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB41: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB42: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB43: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB44: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB45: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB46: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB47: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB48: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB49: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB50: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB51: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB52: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB53: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB54: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB55: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB56: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB57: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB58: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB59: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB60: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB61: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB62: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB63: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB64: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB65: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB66: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB67: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB68: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB69: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB70: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB71: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB72: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB73: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB74: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB75: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB76: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB77: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB78: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB79: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB80: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB81: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB82: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG HUFFSYMB tables + /// JPEG HUFFSYMB tables HUFFSYMB83: mmio.Mmio(packed struct(u32) { - /// DHTSymb RAM + /// DHTSymb RAM HuffSymb_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM0: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM2: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM3: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM4: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM5: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM6: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM7: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM8: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM9: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM10: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM11: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM12: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM13: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM14: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM15: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM16: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM17: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM18: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM19: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM20: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM21: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM22: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM23: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM24: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM25: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM26: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM27: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM28: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM29: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM30: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM31: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM32: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM33: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM34: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM35: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM36: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM37: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM38: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM39: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM40: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM41: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM42: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM43: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM44: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM45: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM46: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM47: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM48: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM49: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM50: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM51: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM52: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM53: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM54: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM55: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM56: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM57: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM58: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM59: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM60: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM61: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM62: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM63: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM64: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM65: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM66: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM67: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM68: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM69: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM70: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM71: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM72: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM73: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM74: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM75: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM76: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM77: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM78: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM79: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM80: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM81: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM82: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM83: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM84: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM85: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM86: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM87: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM88: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM89: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM90: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM91: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM92: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM93: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM94: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM95: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM96: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM97: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM98: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM99: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM100: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM101: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM102: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG DHTMem tables + /// JPEG DHTMem tables DHTMEM103: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), reserved1280: [4]u8, - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_0: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_1: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_2: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_3: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_4: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_5: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_6: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_7: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_8: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_9: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_10: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_11: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_12: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_13: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_14: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_15: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_16: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_17: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_18: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_19: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_20: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_21: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_22: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_23: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_24: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_25: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_26: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_27: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_28: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_29: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_30: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_31: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_32: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_33: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_34: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_35: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_36: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_37: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_38: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_39: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_40: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_41: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_42: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_43: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_44: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_45: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_46: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_47: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_48: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_49: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_50: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_51: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_52: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_53: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_54: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_55: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_56: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_57: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_58: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_59: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_60: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_61: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_62: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_63: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_64: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_65: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_66: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_67: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_68: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_69: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_70: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_71: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_72: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_73: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_74: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_75: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_76: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_77: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_78: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_79: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_80: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_81: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_82: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_83: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_84: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_85: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_86: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 0 + /// JPEG encoder, AC Huffman table 0 HUFFENC_AC0_87: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_0: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_1: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_2: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_3: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_4: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_5: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_6: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_7: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_8: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_9: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_10: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_11: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_12: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_13: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_14: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_15: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_16: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_17: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_18: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_19: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_20: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_21: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_22: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_23: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_24: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_25: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_26: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_27: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_28: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_29: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_30: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_31: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_32: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_33: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_34: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_35: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_36: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_37: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_38: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_39: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_40: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_41: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_42: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_43: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_44: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_45: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_46: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_47: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_48: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_49: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_50: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_51: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_52: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_53: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_54: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_55: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_56: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_57: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_58: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_59: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_60: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_61: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_62: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_63: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_64: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_65: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_66: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_67: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_68: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_69: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_70: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_71: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_72: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_73: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_74: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_75: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_76: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_77: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_78: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_79: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_80: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_81: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_82: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_83: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_84: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_85: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_86: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, AC Huffman table 1 + /// JPEG encoder, AC Huffman table 1 HUFFENC_AC1_87: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 0 + /// JPEG encoder, DC Huffman table 0 HUFFENC_DC0_0: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 0 + /// JPEG encoder, DC Huffman table 0 HUFFENC_DC0_1: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 0 + /// JPEG encoder, DC Huffman table 0 HUFFENC_DC0_2: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 0 + /// JPEG encoder, DC Huffman table 0 HUFFENC_DC0_3: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 0 + /// JPEG encoder, DC Huffman table 0 HUFFENC_DC0_4: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 0 + /// JPEG encoder, DC Huffman table 0 HUFFENC_DC0_5: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 0 + /// JPEG encoder, DC Huffman table 0 HUFFENC_DC0_6: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 0 + /// JPEG encoder, DC Huffman table 0 HUFFENC_DC0_7: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 1 + /// JPEG encoder, DC Huffman table 1 HUFFENC_DC1_0: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 1 + /// JPEG encoder, DC Huffman table 1 HUFFENC_DC1_1: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 1 + /// JPEG encoder, DC Huffman table 1 HUFFENC_DC1_2: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 1 + /// JPEG encoder, DC Huffman table 1 HUFFENC_DC1_3: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 1 + /// JPEG encoder, DC Huffman table 1 HUFFENC_DC1_4: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 1 + /// JPEG encoder, DC Huffman table 1 HUFFENC_DC1_5: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 1 + /// JPEG encoder, DC Huffman table 1 HUFFENC_DC1_6: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), - /// JPEG encoder, DC Huffman table 1 + /// JPEG encoder, DC Huffman table 1 HUFFENC_DC1_7: mmio.Mmio(packed struct(u32) { - /// DHTMem RAM + /// DHTMem RAM DHTMem_RAM: u32, }), }; }; pub const lcd_v1 = struct { - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// LCD controller enable + /// LCD controller enable LCDEN: u1, - /// Voltage source selection + /// Voltage source selection VSEL: u1, - /// Duty selection + /// Duty selection DUTY: u3, - /// Bias selector + /// Bias selector BIAS: u2, - /// Mux segment enable + /// Mux segment enable MUX_SEG: u1, padding: u24, }), - /// frame control register + /// frame control register FCR: mmio.Mmio(packed struct(u32) { - /// High drive enable + /// High drive enable HD: u1, - /// Start of frame interrupt enable + /// Start of frame interrupt enable SOFIE: u1, reserved3: u1, - /// Update display done interrupt enable + /// Update display done interrupt enable UDDIE: u1, - /// Pulse ON duration + /// Pulse ON duration PON: u3, - /// Dead time duration + /// Dead time duration DEAD: u3, - /// Contrast control + /// Contrast control CC: u3, - /// Blink frequency selection + /// Blink frequency selection BLINKF: u3, - /// Blink mode selection + /// Blink mode selection BLINK: u2, - /// DIV clock divider + /// DIV clock divider DIV: u4, - /// PS 16-bit prescaler + /// PS 16-bit prescaler PS: u4, padding: u6, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// LCD enabled status + /// LCD enabled status ENS: u1, - /// Start of frame flag + /// Start of frame flag SOF: u1, - /// Update display request + /// Update display request UDR: u1, - /// Update Display Done + /// Update Display Done UDD: u1, - /// Ready flag + /// Ready flag RDY: u1, - /// LCD Frame Control Register Synchronization flag + /// LCD Frame Control Register Synchronization flag FCRSF: u1, padding: u26, }), - /// clear register + /// clear register CLR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Start of frame flag clear + /// Start of frame flag clear SOFC: u1, reserved3: u1, - /// Update display done clear + /// Update display done clear UDDC: u1, padding: u28, }), reserved20: [4]u8, - /// display memory + /// display memory RAM_COM: u32, }; - /// display memory + /// display memory pub const RAM_COM = extern struct { - /// display memory low word + /// display memory low word LOW: u32, - /// display memory high word + /// display memory high word HIGH: u32, }; }; pub const lcd_v2 = struct { - /// Liquid crystal display controller + /// Liquid crystal display controller pub const LCD = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// LCD controller enable + /// LCD controller enable LCDEN: u1, - /// Voltage source selection + /// Voltage source selection VSEL: u1, - /// Duty selection + /// Duty selection DUTY: u3, - /// Bias selector + /// Bias selector BIAS: u2, - /// Mux segment enable + /// Mux segment enable MUX_SEG: u1, - /// Voltage output buffer enable + /// Voltage output buffer enable BUFEN: u1, padding: u23, }), - /// frame control register + /// frame control register FCR: mmio.Mmio(packed struct(u32) { - /// High drive enable + /// High drive enable HD: u1, - /// Start of frame interrupt enable + /// Start of frame interrupt enable SOFIE: u1, reserved3: u1, - /// Update display done interrupt enable + /// Update display done interrupt enable UDDIE: u1, - /// Pulse ON duration + /// Pulse ON duration PON: u3, - /// Dead time duration + /// Dead time duration DEAD: u3, - /// Contrast control + /// Contrast control CC: u3, - /// Blink frequency selection + /// Blink frequency selection BLINKF: u3, - /// Blink mode selection + /// Blink mode selection BLINK: u2, - /// DIV clock divider + /// DIV clock divider DIV: u4, - /// PS 16-bit prescaler + /// PS 16-bit prescaler PS: u4, padding: u6, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// LCD enabled status + /// LCD enabled status ENS: u1, - /// Start of frame flag + /// Start of frame flag SOF: u1, - /// Update display request + /// Update display request UDR: u1, - /// Update Display Done + /// Update Display Done UDD: u1, - /// Ready flag + /// Ready flag RDY: u1, - /// LCD Frame Control Register Synchronization flag + /// LCD Frame Control Register Synchronization flag FCRSF: u1, padding: u26, }), - /// clear register + /// clear register CLR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Start of frame flag clear + /// Start of frame flag clear SOFC: u1, reserved3: u1, - /// Update display done clear + /// Update display done clear UDDC: u1, padding: u28, }), reserved20: [4]u8, - /// display memory + /// display memory RAM_COM: u32, }; - /// display memory + /// display memory pub const RAM_COM = extern struct { - /// display memory low word + /// display memory low word LOW: u32, - /// display memory high word + /// display memory high word HIGH: u32, }; }; pub const lpdma_v1 = struct { pub const BREQ = enum(u1) { - /// the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level. + /// the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a burst level. Burst = 0x0, - /// the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level (see ). + /// the selected hardware request is driven by a peripheral with a hardware request/acknowledge protocol at a block level (see ). Block = 0x1, }; pub const DEC = enum(u1) { - /// The address is incremented by the programmed offset. + /// The address is incremented by the programmed offset. Add = 0x0, - /// The address is decremented by the programmed offset. + /// The address is decremented by the programmed offset. Subtract = 0x1, }; pub const DREQ = enum(u1) { - /// selected hardware request driven by a source peripheral (request signal taken into account by the LPDMA transfer scheduler over the source/read port) + /// selected hardware request driven by a source peripheral (request signal taken into account by the LPDMA transfer scheduler over the source/read port) SourcePeripheral = 0x0, - /// selected hardware request driven by a destination peripheral (request signal taken into account by the LPDMA transfer scheduler over the destination/write port) + /// selected hardware request driven by a destination peripheral (request signal taken into account by the LPDMA transfer scheduler over the destination/write port) DestinationPeripheral = 0x1, }; pub const DW = enum(u2) { - /// byte + /// byte Byte = 0x0, - /// half-word (2 bytes) + /// half-word (2 bytes) HalfWord = 0x1, - /// word (4 bytes) + /// word (4 bytes) Word = 0x2, _, }; pub const LSM = enum(u1) { - /// channel executed for the full linked-list and completed at the end of the last LLI (CH[x].LLR = 0). The 16 low-significant bits of the link address are null (LA[15:0] = 0) and all the update bits are null (UT1 =UB1 = UT2 = USA = UDA = ULL = 0 and UT3 = UB2 = 0 if present). Then CH[x].BR1.BNDT[15:0] = 0 and CH[x].BR1.BRC[10:0] = 0 if present. + /// channel executed for the full linked-list and completed at the end of the last LLI (CH[x].LLR = 0). The 16 low-significant bits of the link address are null (LA[15:0] = 0) and all the update bits are null (UT1 =UB1 = UT2 = USA = UDA = ULL = 0 and UT3 = UB2 = 0 if present). Then CH[x].BR1.BNDT[15:0] = 0 and CH[x].BR1.BRC[10:0] = 0 if present. RunToCompletion = 0x0, - /// channel executed once for the current LLI + /// channel executed once for the current LLI LinkStep = 0x1, }; pub const PAM = enum(u2) { - /// If destination is wider: source data is transferred as right aligned, padded with 0s up to the destination data width If source is wider: source data is transferred as right aligned, left-truncated down to the destination data width + /// If destination is wider: source data is transferred as right aligned, padded with 0s up to the destination data width If source is wider: source data is transferred as right aligned, left-truncated down to the destination data width ZeroExtendOrLeftTruncate = 0x0, - /// If destination is wider: source data is transferred as right aligned, sign extended up to the destination data width If source is wider: source data is transferred as left-aligned, right-truncated down to the destination data width + /// If destination is wider: source data is transferred as right aligned, sign extended up to the destination data width If source is wider: source data is transferred as left-aligned, right-truncated down to the destination data width SignExtendOrRightTruncate = 0x1, - /// source data is FIFO queued and packed/unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination + /// source data is FIFO queued and packed/unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination Pack = 0x2, _, }; pub const PRIO = enum(u2) { - /// low priority, low weight + /// low priority, low weight LowWithLowhWeight = 0x0, - /// low priority, mid weight + /// low priority, mid weight LowWithMidWeight = 0x1, - /// low priority, high weight + /// low priority, high weight LowWithHighWeight = 0x2, - /// high priority + /// high priority High = 0x3, }; pub const SWREQ = enum(u1) { - /// no software request. The selected hardware request REQSEL[6:0] is taken into account. + /// no software request. The selected hardware request REQSEL[6:0] is taken into account. Hardware = 0x0, - /// software request for a memory-to-memory transfer. The default selected hardware request as per REQSEL[6:0] is ignored. + /// software request for a memory-to-memory transfer. The default selected hardware request as per REQSEL[6:0] is ignored. Software = 0x1, }; pub const TCEM = enum(u2) { - /// at block level (when CH[x].BR1.BNDT[15:0] = 0): the complete (and the half) transfer event is generated at the (respectively half of the) end of a block. + /// at block level (when CH[x].BR1.BNDT[15:0] = 0): the complete (and the half) transfer event is generated at the (respectively half of the) end of a block. EachBlock = 0x0, - /// channel x = 0 to 11, same as 00; channel x=12 to 15, at 2D/repeated block level (when CH[x].BR1.BRC[10:0] = 0 and CH[x].BR1.BNDT[15:0] = 0), the complete (and the half) transfer event is generated at the end (respectively half of the end) of the 2D/repeated block. + /// channel x = 0 to 11, same as 00; channel x=12 to 15, at 2D/repeated block level (when CH[x].BR1.BRC[10:0] = 0 and CH[x].BR1.BNDT[15:0] = 0), the complete (and the half) transfer event is generated at the end (respectively half of the end) of the 2D/repeated block. Each2DBlock = 0x1, - /// at LLI level: the complete transfer event is generated at the end of the LLI transfer, including the update of the LLI if any. The half transfer event is generated at the half of the LLI data transfer (the LLI data transfer being a block transfer or a 2D/repeated block transfer for channel x = 12 to 15), if any data transfer. + /// at LLI level: the complete transfer event is generated at the end of the LLI transfer, including the update of the LLI if any. The half transfer event is generated at the half of the LLI data transfer (the LLI data transfer being a block transfer or a 2D/repeated block transfer for channel x = 12 to 15), if any data transfer. EachLinkedListItem = 0x2, - /// at channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI. The last LLI updates the link address CH[x].LLR.LA[15:2] to zero and clears all the CH[x].LLR update bits (UT1, UT2, UB1, USA, UDA and ULL, plus UT3 and UB2 if present). If the channel transfer is continuous/infinite, no event is generated. + /// at channel level: the complete transfer event is generated at the end of the last LLI transfer. The half transfer event is generated at the half of the data transfer of the last LLI. The last LLI updates the link address CH[x].LLR.LA[15:2] to zero and clears all the CH[x].LLR update bits (UT1, UT2, UB1, USA, UDA and ULL, plus UT3 and UB2 if present). If the channel transfer is continuous/infinite, no event is generated. LastLinkedListItem = 0x3, }; pub const TRIGM = enum(u2) { - /// at block level: the first burst read of each block transfer is conditioned by one hit trigger (channel x = 12 to 15, for each block if a 2D/repeated block is configured with CH[x].BR1.BRC[10:0] ≠ 0). + /// at block level: the first burst read of each block transfer is conditioned by one hit trigger (channel x = 12 to 15, for each block if a 2D/repeated block is configured with CH[x].BR1.BRC[10:0] ≠ 0). Block = 0x0, - /// channel x = 0 to 11, same as 00; channel x=12 to 15, at 2D/repeated block level, the + /// channel x = 0 to 11, same as 00; channel x=12 to 15, at 2D/repeated block level, the @"2DBlock" = 0x1, - /// at link level: a LLI link transfer is conditioned by one hit trigger. The LLI data transfer (if any) is not conditioned. + /// at link level: a LLI link transfer is conditioned by one hit trigger. The LLI data transfer (if any) is not conditioned. LinkedListItem = 0x2, - /// at programmed burst level: If SWREQ = 1, each programmed burst read is conditioned by one hit trigger. If SWREQ = 0, each programmed burst that is requested by the selected peripheral, is conditioned by one hit trigger. + /// at programmed burst level: If SWREQ = 1, each programmed burst read is conditioned by one hit trigger. If SWREQ = 0, each programmed burst that is requested by the selected peripheral, is conditioned by one hit trigger. Burst = 0x3, }; pub const TRIGPOL = enum(u2) { - /// no trigger (masked trigger event) + /// no trigger (masked trigger event) None = 0x0, - /// trigger on the rising edge + /// trigger on the rising edge RisingEdge = 0x1, - /// trigger on the falling edge + /// trigger on the falling edge FallingEdge = 0x2, - /// same as 00 + /// same as 00 NoneAlt = 0x3, }; pub const Channel = extern struct { - /// LPDMA channel 15 linked-list base address register + /// LPDMA channel 15 linked-list base address register LBAR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// linked-list base address of LPDMA channel x + /// linked-list base address of LPDMA channel x LBA: u16, }), reserved12: [8]u8, - /// LPDMA channel 15 flag clear register + /// LPDMA channel 15 flag clear register FCR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// transfer complete flag clear + /// transfer complete flag clear TCF: u1, - /// half transfer flag clear + /// half transfer flag clear HTF: u1, - /// data transfer error flag clear + /// data transfer error flag clear DTEF: u1, - /// update link transfer error flag clear + /// update link transfer error flag clear ULEF: u1, - /// user setting error flag clear + /// user setting error flag clear USEF: u1, - /// completed suspension flag clear + /// completed suspension flag clear SUSPF: u1, - /// trigger overrun flag clear + /// trigger overrun flag clear TOF: u1, padding: u17, }), - /// LPDMA channel 15 status register + /// LPDMA channel 15 status register SR: mmio.Mmio(packed struct(u32) { - /// idle flag. This idle flag is de-asserted by hardware when the channel is enabled (CH[x].CR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state). + /// idle flag. This idle flag is de-asserted by hardware when the channel is enabled (CH[x].CR.EN = 1) with a valid channel configuration (no USEF to be immediately reported). This idle flag is asserted after hard reset or by hardware when the channel is back in idle state (in suspended or disabled state). IDLEF: u1, reserved8: u7, - /// transfer complete flag. A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (CH[x].TR2.TCEM[1:0]). + /// transfer complete flag. A transfer complete event is either a block transfer complete, a 2D/repeated block transfer complete, a LLI transfer complete including the upload of the next LLI if any, or the full linked-list completion, depending on the transfer complete event mode (CH[x].TR2.TCEM[1:0]). TCF: u1, - /// half transfer flag. An half transfer event is either an half block transfer or an half 2D/repeated block transfer, depending on the transfer complete event mode (CH[x].TR2.TCEM[1:0]). An half block transfer occurs when half of the bytes of the source block size (rounded up integer of CH[x].BR1.BNDT[15:0]/2) has been transferred to the destination. An half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (CH[x].BR1.BRC[10:0]+1)/2)) has been transferred to the destination. + /// half transfer flag. An half transfer event is either an half block transfer or an half 2D/repeated block transfer, depending on the transfer complete event mode (CH[x].TR2.TCEM[1:0]). An half block transfer occurs when half of the bytes of the source block size (rounded up integer of CH[x].BR1.BNDT[15:0]/2) has been transferred to the destination. An half 2D/repeated block transfer occurs when half of the repeated blocks (rounded up integer of (CH[x].BR1.BRC[10:0]+1)/2)) has been transferred to the destination. HTF: u1, - /// data transfer error flag + /// data transfer error flag DTEF: u1, - /// update link transfer error flag + /// update link transfer error flag ULEF: u1, - /// user setting error flag + /// user setting error flag USEF: u1, - /// completed suspension flag + /// completed suspension flag SUSPF: u1, - /// trigger overrun flag + /// trigger overrun flag TOF: u1, padding: u17, }), - /// LPDMA channel 15 control register + /// LPDMA channel 15 control register CR: mmio.Mmio(packed struct(u32) { - /// enable. Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is de-asserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, e.g. if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored. + /// enable. Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 0. Else: this bit is de-asserted by hardware when there is a transfer error (master bus error or user setting error) or when there is a channel transfer complete (channel ready to be configured, e.g. if LSM=1 at the end of a single execution of the LLI). Else, this bit can be asserted by software. Writing 0 into this EN bit is ignored. EN: u1, - /// reset. This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (CH[x].SR.SUSPF = 1 and CH[x].SR.IDLEF = CH[x].CR.EN = 1). - channel in disabled state (CH[x].SR.IDLEF = 1 and CH[x].CR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (CH[x].BR1, CH[x].SAR and CH[x].DAR) before enabling again the channel (see the programming sequence in ). + /// reset. This bit is write only. Writing 0 has no impact. Writing 1 implies the reset of the following: the FIFO, the channel internal state, SUSP and EN bits (whatever is written receptively in bit 2 and bit 0). The reset is effective when the channel is in steady state, meaning one of the following: - active channel in suspended state (CH[x].SR.SUSPF = 1 and CH[x].SR.IDLEF = CH[x].CR.EN = 1). - channel in disabled state (CH[x].SR.IDLEF = 1 and CH[x].CR.EN = 0). After writing a RESET, to continue using this channel, the user must explicitly reconfigure the channel including the hardware-modified configuration registers (CH[x].BR1, CH[x].SAR and CH[x].DAR) before enabling again the channel (see the programming sequence in ). RESET: u1, - /// suspend. Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel i.e. a channel with an on-going LPDMA transfer over its master ports. The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in . + /// suspend. Writing 1 into the field RESET (bit 1) causes the hardware to de-assert this bit, whatever is written into this bit 2. Else: Software must write 1 in order to suspend an active channel i.e. a channel with an on-going LPDMA transfer over its master ports. The software must write 0 in order to resume a suspended channel, following the programming sequence detailed in . SUSP: u1, reserved8: u5, - /// transfer complete interrupt enable + /// transfer complete interrupt enable TCIE: u1, - /// half transfer complete interrupt enable + /// half transfer complete interrupt enable HTIE: u1, - /// data transfer error interrupt enable + /// data transfer error interrupt enable DTEIE: u1, - /// update link transfer error interrupt enable + /// update link transfer error interrupt enable ULEIE: u1, - /// user setting error interrupt enable + /// user setting error interrupt enable USEIE: u1, - /// completed suspension interrupt enable + /// completed suspension interrupt enable SUSPIE: u1, - /// trigger overrun interrupt enable + /// trigger overrun interrupt enable TOIE: u1, reserved16: u1, - /// Link step mode. First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until CH[x].BR1.BNDT[15:0] = 0 and CH[x].BR1.BRC[10:0] = 0 if present. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by CH[x].LLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1. - LSM: packed union { - raw: u1, - value: LSM, - }, + /// Link step mode. First the (possible 1D/repeated) block transfer is executed as defined by the current internal register file until CH[x].BR1.BNDT[15:0] = 0 and CH[x].BR1.BRC[10:0] = 0 if present. Secondly the next linked-list data structure is conditionally uploaded from memory as defined by CH[x].LLR. Then channel execution is completed. Note: This bit must be written when EN=0. This bit is read-only when EN=1. + LSM: LSM, reserved22: u5, - /// priority level of the channel x LPDMA transfer versus others. Note: This bit must be written when EN = 0. This bit is read-only when EN = 1. - PRIO: packed union { - raw: u2, - value: PRIO, - }, + /// priority level of the channel x LPDMA transfer versus others. Note: This bit must be written when EN = 0. This bit is read-only when EN = 1. + PRIO: PRIO, padding: u8, }), reserved64: [40]u8, - /// LPDMA channel 15 transfer register 1 + /// LPDMA channel 15 transfer register 1 TR1: mmio.Mmio(packed struct(u32) { - /// binary logarithm of the source data width of a burst in bytes. Note: Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (CH[x].BR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. A source single transfer must have an aligned address with its data width (start address CH[x].SAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued. - SDW: packed union { - raw: u2, - value: DW, - }, + /// binary logarithm of the source data width of a burst in bytes. Note: Setting a 8-byte data width causes a user setting error to be reported and no transfer is issued. A source block size must be a multiple of the source data width (CH[x].BR1.BNDT[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and no transfer is issued. A source single transfer must have an aligned address with its data width (start address CH[x].SAR[2:0] versus SDW_LOG2[1:0]). Otherwise, a user setting error is reported and none transfer is issued. + SDW: DW, reserved3: u1, - /// source incrementing burst. The source address, pointed by CH[x].SAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer. + /// source incrementing burst. The source address, pointed by CH[x].SAR, is kept constant after a burst beat/single transfer or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer. SINC: u1, reserved11: u7, - /// padding/alignment mode. If DDW[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else: - Case 1: If destination data width > source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer. - Case 2: If destination data width < source data width. 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination. Note: - PAM: packed union { - raw: u2, - value: PAM, - }, + /// padding/alignment mode. If DDW[1:0] = SDW_LOG2[1:0]: if the data width of a burst destination transfer is equal to the data width of a burst source transfer, these bits are ignored. Else: - Case 1: If destination data width > source data width. 1x: successive source data are FIFO queued and packed at the destination data width, in a left (LSB) to right (MSB) order (named little endian), before a destination transfer. - Case 2: If destination data width < source data width. 1x: source data is FIFO queued and unpacked at the destination data width, to be transferred in a left (LSB) to right (MSB) order (named little endian) to the destination. Note: + PAM: PAM, reserved15: u2, - /// security attribute of the LPDMA transfer from the source. If SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when SECCFGR.SECx =1 . A secure write is ignored when SECCFGR.SECx = 0. When SECCFGR.SECx is de-asserted, this SSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the LPDMA transfer from the source is non-secure. + /// security attribute of the LPDMA transfer from the source. If SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when SECCFGR.SECx =1 . A secure write is ignored when SECCFGR.SECx = 0. When SECCFGR.SECx is de-asserted, this SSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the LPDMA transfer from the source is non-secure. SSEC: u1, - /// binary logarithm of the destination data width of a burst, in bytes. Note: Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. A destination burst transfer must have an aligned address with its data width (start address CH[x].DAR[2:0] and address offset CH[x].TR3.DAO[2:0], versus DDW[1:0]). Otherwise a user setting error is reported and no transfer is issued. - DDW: packed union { - raw: u2, - value: DW, - }, + /// binary logarithm of the destination data width of a burst, in bytes. Note: Setting a 8-byte data width causes a user setting error to be reported and none transfer is issued. A destination burst transfer must have an aligned address with its data width (start address CH[x].DAR[2:0] and address offset CH[x].TR3.DAO[2:0], versus DDW[1:0]). Otherwise a user setting error is reported and no transfer is issued. + DDW: DW, reserved19: u1, - /// destination incrementing burst. The destination address, pointed by CH[x].DAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer. + /// destination incrementing burst. The destination address, pointed by CH[x].DAR, is kept constant after a burst beat/single transfer, or is incremented by the offset value corresponding to a contiguous data after a burst beat/single transfer. DINC: u1, reserved31: u11, - /// security attribute of the LPDMA transfer to the destination. If SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when SECCFGR.SECx = 1. A secure write is ignored when SECCFGR.SECx = 0. When SECCFGR.SECx is de-asserted, this DSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the LPDMA transfer to the destination is non-secure. + /// security attribute of the LPDMA transfer to the destination. If SECCFGR.SECx = 1 and the access is secure: This is a secure register bit. This bit can only be read by a secure software. This bit must be written by a secure software when SECCFGR.SECx = 1. A secure write is ignored when SECCFGR.SECx = 0. When SECCFGR.SECx is de-asserted, this DSEC bit is also de-asserted by hardware (on a secure reconfiguration of the channel as non-secure), and the LPDMA transfer to the destination is non-secure. DSEC: u1, }), - /// LPDMA channel 15 transfer register 2 + /// LPDMA channel 15 transfer register 2 TR2: mmio.Mmio(packed struct(u32) { - /// LPDMA hardware request selection. These bits are ignored if channel x is activated (CH[x].CR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per . The user must not assign a same input hardware request (same REQSEL[6:0] value) to different active LPDMA channels (CH[x].CR.EN = 1 and CH[x].TR2.SWREQ = 0 for these channels). LPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting. + /// LPDMA hardware request selection. These bits are ignored if channel x is activated (CH[x].CR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else, the selected hardware request is internally taken into account as per . The user must not assign a same input hardware request (same REQSEL[6:0] value) to different active LPDMA channels (CH[x].CR.EN = 1 and CH[x].TR2.SWREQ = 0 for these channels). LPDMA is not intended to hardware support the case of simultaneous enabled channels incorrectly configured with a same hardware peripheral request signal, and there is no user setting error reporting. REQSEL: u7, reserved9: u2, - /// software request. This bit is internally taken into account when CH[x].CR.EN is asserted. - SWREQ: packed union { - raw: u1, - value: SWREQ, - }, - /// destination hardware request. This bit is ignored if channel x is activated (CH[x].CR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: - DREQ: packed union { - raw: u1, - value: DREQ, - }, - /// Block hardware request. If the channel x is activated (CH[x].CR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: - BREQ: packed union { - raw: u1, - value: BREQ, - }, + /// software request. This bit is internally taken into account when CH[x].CR.EN is asserted. + SWREQ: SWREQ, + /// destination hardware request. This bit is ignored if channel x is activated (CH[x].CR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer). Else: Note: + DREQ: DREQ, + /// Block hardware request. If the channel x is activated (CH[x].CR.EN asserted) with SWREQ = 1 (software request for a memory-to-memory transfer), this bit is ignored. Else: + BREQ: BREQ, reserved14: u2, - /// trigger mode. These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (CH[x].CR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a LPDMA transfer is conditioned by at least one trigger hit: first burst read of a 2D/repeated block transfer is conditioned by one hit trigger. – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The LPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLIn+1 that updates the CH[x].TR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLIn trigger. After a first new trigger hitn+1 is memorized, if another second trigger hitn+2 is detected and if the hitn triggered transfer is still not completed, hitn+2 is lost and not memorized.memorized. A trigger overrun flag is reported (CH[x].SR.TOF =1 ), and an interrupt is generated if enabled (CH[x].CR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger. - TRIGM: packed union { - raw: u2, - value: TRIGM, - }, - /// trigger event input selection. These bits select the trigger event input of the LPDMA transfer (as per ), with an active trigger event if TRIGPOL[1:0] ≠ 00. + /// trigger mode. These bits define the transfer granularity for its conditioning by the trigger. If the channel x is enabled (CH[x].CR.EN asserted) with TRIGPOL[1:0] = 00 or 11, these TRIGM[1:0] bits are ignored. Else, a LPDMA transfer is conditioned by at least one trigger hit: first burst read of a 2D/repeated block transfer is conditioned by one hit trigger. – If the peripheral is programmed as a source (DREQ = 0) of the LLI data transfer, each programmed burst read is conditioned. – If the peripheral is programmed as a destination (DREQ = 1) of the LLI data transfer, each programmed burst write is conditioned. The first memory burst read of a (possibly 2D/repeated) block, also named as the first ready FIFO-based source burst, is gated by the occurrence of both the hardware request and the first trigger hit. The LPDMA monitoring of a trigger for channel x is started when the channel is enabled/loaded with a new active trigger configuration: rising or falling edge on a selected trigger (TRIGPOL[1:0] = 01 or respectively TRIGPOL[1:0] = 10). The monitoring of this trigger is kept active during the triggered and uncompleted (data or link) transfer; and if a new trigger is detected then, this hit is internally memorized to grant the next transfer, as long as the defined rising or falling edge is not modified, and the TRIGSEL[5:0] is not modified, and the channel is enabled. Transferring a next LLIn+1 that updates the CH[x].TR2 with a new value for any of TRIGSEL[5:0] or TRIGPOL[1:0], resets the monitoring, trashing the memorized hit of the formerly defined LLIn trigger. After a first new trigger hitn+1 is memorized, if another second trigger hitn+2 is detected and if the hitn triggered transfer is still not completed, hitn+2 is lost and not memorized.memorized. A trigger overrun flag is reported (CH[x].SR.TOF =1 ), and an interrupt is generated if enabled (CH[x].CR.TOIE = 1). The channel is not automatically disabled by hardware due to a trigger overrun. Note: When the source block size is not a multiple of the source burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, if TRIGM[1:0] = 11 and (SWREQ =1 or (SWREQ = 0 and DREQ =0 )), the shortened burst transfer (by singles or/and by bursts of lower length) is conditioned once by the trigger. When the programmed destination burst is internally shortened by singles or/and by bursts of lower length (versus FIFO size, versus block size, 1-Kbyte boundary address crossing): if the trigger is conditioning the programmed destination burst (if TRIGM[1:0] = 11 and SWREQ = 0 and DREQ = 1), this shortened destination burst transfer is conditioned once by the trigger. + TRIGM: TRIGM, + /// trigger event input selection. These bits select the trigger event input of the LPDMA transfer (as per ), with an active trigger event if TRIGPOL[1:0] ≠ 00. TRIGSEL: u6, reserved24: u2, - /// trigger event polarity. These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]. - TRIGPOL: packed union { - raw: u2, - value: TRIGPOL, - }, + /// trigger event polarity. These bits define the polarity of the selected trigger event input defined by TRIGSEL[5:0]. + TRIGPOL: TRIGPOL, reserved30: u4, - /// transfer complete event mode. These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI0 data transfer is null/void (directly programmed by the internal register file with CH[x].BR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI0 data transfer is null/void (directly programmed by the internal register file with CH[x].BR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI0 data transfer is null/void (i.e. directly programmed by the internal register file with CH[x].BR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI1. - TCEM: packed union { - raw: u2, - value: TCEM, - }, + /// transfer complete event mode. These bits define the transfer granularity for the transfer complete and half transfer complete events generation. Note: If the initial LLI0 data transfer is null/void (directly programmed by the internal register file with CH[x].BR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI0 data transfer is null/void (directly programmed by the internal register file with CH[x].BR1.BNDT[15:0] = 0), then neither the complete transfer event nor the half transfer event is generated. Note: If the initial LLI0 data transfer is null/void (i.e. directly programmed by the internal register file with CH[x].BR1.BNDT[15:0] =0 ), then the half transfer event is not generated, and the transfer complete event is generated when is completed the loading of the LLI1. + TCEM: TCEM, }), - /// LPDMA channel 15 alternate block register 1 + /// LPDMA channel 15 alternate block register 1 BR1: mmio.Mmio(packed struct(u32) { - /// block number of data bytes to transfer from the source. Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if CH[x].LLR.UB1 = 1, this field is updated by the LLI in the memory. - if CH[x].LLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. - if all CH[x].LLR.Uxx = 0 and if CH[x].LLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if CH[x].LLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus CH[x].TR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. When configured in packing mode (CH[x].TR1.PAM[1]=1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus CH[x].TR1.DDW[1:0]). Else a user setting error is reported and no transfer is issued. + /// block number of data bytes to transfer from the source. Block size transferred from the source. When the channel is enabled, this field becomes read-only and is decremented, indicating the remaining number of data items in the current source block to be transferred. BNDT[15:0] is programmed in number of bytes, maximum source block size is 64 Kbytes -1. Once the last data transfer is completed (BNDT[15:0] = 0): - if CH[x].LLR.UB1 = 1, this field is updated by the LLI in the memory. - if CH[x].LLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. - if all CH[x].LLR.Uxx = 0 and if CH[x].LLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). - if CH[x].LLR = 0, this field is kept as zero following the last LLI data transfer. Note: A non-null source block size must be a multiple of the source data width (BNDT[2:0] versus CH[x].TR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. When configured in packing mode (CH[x].TR1.PAM[1]=1 and destination data width different from source data width), a non-null source block size must be a multiple of the destination data width (BNDT[2:0] versus CH[x].TR1.DDW[1:0]). Else a user setting error is reported and no transfer is issued. BNDT: u16, - /// Block repeat counter. This field contains the number of repetitions of the current block (0 to 2047). When the channel is enabled, this field becomes read-only. After decrements, this field indicates the remaining number of blocks, excluding the current one. This counter is hardware decremented for each completed block transfer. Once the last block transfer is completed (BRC[10:0] = BNDT[15:0] = 0): If CH[x].LLR.UB1 = 1, all CH[x].BR1 fields are updated by the next LLI in the memory. If CH[x].LLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. if all CH[x].LLR.Uxx = 0 and if CH[x].LLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). if CH[x].LLR = 0, this field is kept as zero following the last LLI and data transfer. + /// Block repeat counter. This field contains the number of repetitions of the current block (0 to 2047). When the channel is enabled, this field becomes read-only. After decrements, this field indicates the remaining number of blocks, excluding the current one. This counter is hardware decremented for each completed block transfer. Once the last block transfer is completed (BRC[10:0] = BNDT[15:0] = 0): If CH[x].LLR.UB1 = 1, all CH[x].BR1 fields are updated by the next LLI in the memory. If CH[x].LLR.UB1 = 0 and if there is at least one not null Uxx update bit, this field is internally restored to the programmed value. if all CH[x].LLR.Uxx = 0 and if CH[x].LLR.LA[15:0] ≠ 0, this field is internally restored to the programmed value (infinite/continuous last LLI). if CH[x].LLR = 0, this field is kept as zero following the last LLI and data transfer. BRC: u11, reserved28: u1, - /// source address decrement - SDEC: packed union { - raw: u1, - value: DEC, - }, - /// destination address decrement - DDEC: packed union { - raw: u1, - value: DEC, - }, - /// Block repeat source address decrement. Note: On top of this increment/decrement (depending on BRSDEC), CH[x].SAR is in the same time also updated by the increment/decrement (depending on SDEC) of the CH[x].TR3.SAO value, as it is done after any programmed burst transfer. - BRSDEC: packed union { - raw: u1, - value: DEC, - }, - /// Block repeat destination address decrement. Note: On top of this increment/decrement (depending on BRDDEC), CH[x].DAR is in the same time also updated by the increment/decrement (depending on DDEC) of the CH[x].TR3.DAO value, as it is usually done at the end of each programmed burst transfer. - BRDDEC: packed union { - raw: u1, - value: DEC, - }, - }), - /// LPDMA channel 15 source address register + /// source address decrement + SDEC: DEC, + /// destination address decrement + DDEC: DEC, + /// Block repeat source address decrement. Note: On top of this increment/decrement (depending on BRSDEC), CH[x].SAR is in the same time also updated by the increment/decrement (depending on SDEC) of the CH[x].TR3.SAO value, as it is done after any programmed burst transfer. + BRSDEC: DEC, + /// Block repeat destination address decrement. Note: On top of this increment/decrement (depending on BRDDEC), CH[x].DAR is in the same time also updated by the increment/decrement (depending on DDEC) of the CH[x].TR3.DAO value, as it is usually done at the end of each programmed burst transfer. + BRDDEC: DEC, + }), + /// LPDMA channel 15 source address register SAR: u32, - /// LPDMA channel 15 destination address register + /// LPDMA channel 15 destination address register DAR: u32, - /// LPDMA channel 15 transfer register 3 + /// LPDMA channel 15 transfer register 3 TR3: mmio.Mmio(packed struct(u32) { - /// source address offset increment. The source address, pointed by CH[x].SAR, is incremented or decremented (depending on CH[x].BR1.SDEC) by this offset SAO[12:0] for each programmed source burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (CH[x].TR1.SINC = 1). Note: A source address offset must be aligned with the programmed data width of a source burst (SAO[2:0] versus CH[x].TR1.SDW_LOG2[1:0]). Else a user setting error is reported and none transfer is issued. When the source block size is not a multiple of the destination burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional CH[x].TR3.SAO[12:0] is not applied. + /// source address offset increment. The source address, pointed by CH[x].SAR, is incremented or decremented (depending on CH[x].BR1.SDEC) by this offset SAO[12:0] for each programmed source burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (CH[x].TR1.SINC = 1). Note: A source address offset must be aligned with the programmed data width of a source burst (SAO[2:0] versus CH[x].TR1.SDW_LOG2[1:0]). Else a user setting error is reported and none transfer is issued. When the source block size is not a multiple of the destination burst size and is a multiple of the source data width, then the last programmed source burst is not completed and is internally shorten to match the block size. In this case, the additional CH[x].TR3.SAO[12:0] is not applied. SAO: u13, reserved16: u3, - /// destination address offset increment. The destination address, pointed by CH[x].DAR, is incremented or decremented (depending on CH[x].BR1.DDEC) by this offset DAO[12:0] for each programmed destination burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (CH[x].TR1.DINC = 1). Note: A destination address offset must be aligned with the programmed data width of a destination burst (DAO[2:0] versus CH[x].TR1.DDW[1:0]). Else, a user setting error is reported and no transfer is issued. + /// destination address offset increment. The destination address, pointed by CH[x].DAR, is incremented or decremented (depending on CH[x].BR1.DDEC) by this offset DAO[12:0] for each programmed destination burst. This offset is not including and is added to the programmed burst size when the completed burst is addressed in incremented mode (CH[x].TR1.DINC = 1). Note: A destination address offset must be aligned with the programmed data width of a destination burst (DAO[2:0] versus CH[x].TR1.DDW[1:0]). Else, a user setting error is reported and no transfer is issued. DAO: u13, padding: u3, }), - /// LPDMA channel 15 block register 2 + /// LPDMA channel 15 block register 2 BR2: mmio.Mmio(packed struct(u32) { - /// Block repeated source address offset. For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on CH[x].BR1.BRSDEC) the current source address (CH[x].SAR) at the end of a block transfer. Note: A block repeated source address offset must be aligned with the programmed data width of a source burst (BRSAO[2:0] versus CH[x].TR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. + /// Block repeated source address offset. For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on CH[x].BR1.BRSDEC) the current source address (CH[x].SAR) at the end of a block transfer. Note: A block repeated source address offset must be aligned with the programmed data width of a source burst (BRSAO[2:0] versus CH[x].TR1.SDW_LOG2[1:0]). Else a user setting error is reported and no transfer is issued. BRSAO: u16, - /// Block repeated destination address offset. For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on CH[x].BR1.BRDDEC) the current destination address (CH[x].DAR) at the end of a block transfer. Note: A block repeated destination address offset must be aligned with the programmed data width of a destination burst (BRDAO[2:0] versus CH[x].TR1.DDW[1:0]). Else a user setting error is reported and no transfer is issued. + /// Block repeated destination address offset. For a channel with 2D addressing capability, this field is used to update (by addition or subtraction depending on CH[x].BR1.BRDDEC) the current destination address (CH[x].DAR) at the end of a block transfer. Note: A block repeated destination address offset must be aligned with the programmed data width of a destination burst (BRDAO[2:0] versus CH[x].TR1.DDW[1:0]). Else a user setting error is reported and no transfer is issued. BRDAO: u16, }), reserved124: [32]u8, - /// LPDMA channel 15 alternate linked-list address register + /// LPDMA channel 15 alternate linked-list address register LLR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// pointer (16-bit low-significant address) to the next linked-list data structure. If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list LPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list LPDMA internal register file (CH[x].CTR1, CH[x].TR2, CH[x].BR1, CH[x].SAR, CH[x].DAR and CH[x].LLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored. + /// pointer (16-bit low-significant address) to the next linked-list data structure. If UT1 = UT2 = UB1 = USA = UDA = ULL = 0 and if LA[15:20] = 0, the current LLI is the last one. The channel transfer is completed without any update of the linked-list LPDMA register file. Else, this field is the pointer to the memory address offset from which the next linked-list data structure is automatically fetched from, once the data transfer is completed, in order to conditionally update the linked-list LPDMA internal register file (CH[x].CTR1, CH[x].TR2, CH[x].BR1, CH[x].SAR, CH[x].DAR and CH[x].LLR). Note: The user must program the pointer to be 32-bit aligned. The two low-significant bits are write ignored. LA: u14, - /// Update CH[x].LLR register from memory. This bit is used to control the update of CH[x].LLR from the memory during the link transfer. + /// Update CH[x].LLR register from memory. This bit is used to control the update of CH[x].LLR from the memory during the link transfer. ULL: u1, reserved25: u8, - /// Update CH[x].BR2 from memory. This bit controls the update of CH[x].BR2 from the memory during the link transfer. + /// Update CH[x].BR2 from memory. This bit controls the update of CH[x].BR2 from the memory during the link transfer. UB2: u1, - /// Update CH[x].TR3 from memory. This bit controls the update of CH[x].TR3 from the memory during the link transfer. + /// Update CH[x].TR3 from memory. This bit controls the update of CH[x].TR3 from the memory during the link transfer. UT3: u1, - /// Update CH[x].DAR register from memory. This bit is used to control the update of CH[x].DAR from the memory during the link transfer. + /// Update CH[x].DAR register from memory. This bit is used to control the update of CH[x].DAR from the memory during the link transfer. UDA: u1, - /// update CH[x].SAR from memory. This bit controls the update of CH[x].SAR from the memory during the link transfer. + /// update CH[x].SAR from memory. This bit controls the update of CH[x].SAR from the memory during the link transfer. USA: u1, - /// Update CH[x].BR1 from memory. This bit controls the update of CH[x].BR1 from the memory during the link transfer. If UB1 = 0 and if CH[x].LLR ≠ 0, the linked-list is not completed. CH[x].BR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer. + /// Update CH[x].BR1 from memory. This bit controls the update of CH[x].BR1 from the memory during the link transfer. If UB1 = 0 and if CH[x].LLR ≠ 0, the linked-list is not completed. CH[x].BR1.BNDT[15:0] is then restored to the programmed value after data transfer is completed and before the link transfer. UB1: u1, - /// Update CH[x].TR2 from memory. This bit controls the update of CH[x].TR2 from the memory during the link transfer. + /// Update CH[x].TR2 from memory. This bit controls the update of CH[x].TR2 from the memory during the link transfer. UT2: u1, - /// Update CH[x].TR1 from memory. This bit controls the update of CH[x].TR1 from the memory during the link transfer. + /// Update CH[x].TR1 from memory. This bit controls the update of CH[x].TR1 from the memory during the link transfer. UT1: u1, }), }; - /// LPDMA + /// LPDMA pub const LPDMA = extern struct { - /// LPDMA secure configuration register + /// LPDMA secure configuration register SECCFGR: mmio.Mmio(packed struct(u32) { - /// SEC0 + /// SEC0 SEC: u1, padding: u31, }), - /// LPDMA privileged configuration register + /// LPDMA privileged configuration register PRIVCFGR: mmio.Mmio(packed struct(u32) { - /// PRIV0 + /// PRIV0 PRIV: u1, padding: u31, }), - /// LPDMA configuration lock register + /// LPDMA configuration lock register RCFGLOCKR: mmio.Mmio(packed struct(u32) { - /// LOCK0 + /// LOCK0 LOCK: u1, padding: u31, }), - /// LPDMA non-secure masked interrupt status register + /// LPDMA non-secure masked interrupt status register MISR: mmio.Mmio(packed struct(u32) { - /// MIS0 + /// MIS0 MIS: u1, padding: u31, }), - /// LPDMA secure masked interrupt status register + /// LPDMA secure masked interrupt status register SMISR: mmio.Mmio(packed struct(u32) { - /// MIS0 + /// MIS0 MIS: u1, padding: u31, }), @@ -352580,19 +349172,19 @@ pub const types = struct { pub const lptim_v1 = struct { pub const CKPOL = enum(u2) { - /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. + /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. Rising = 0x0, - /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. + /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Falling = 0x1, - /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. + /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. Both = 0x2, _, }; pub const ClockSource = enum(u1) { - /// clocked by internal clock source (APB clock or any of the embedded oscillators) + /// clocked by internal clock source (APB clock or any of the embedded oscillators) Internal = 0x0, - /// clocked by an external clock source through the LPTIM external Input1 + /// clocked by an external clock source through the LPTIM external Input1 External = 0x1, }; @@ -352615,162 +349207,138 @@ pub const types = struct { }; pub const TRIGEN = enum(u2) { - /// software trigger (counting start is initiated by software) + /// software trigger (counting start is initiated by software) Software = 0x0, - /// rising edge is the active edge + /// rising edge is the active edge RisingEdge = 0x1, - /// falling edge is the active edge + /// falling edge is the active edge FallingEdge = 0x2, - /// both edges are active edges + /// both edges are active edges BothEdge = 0x3, }; pub const WAVPOL = enum(u1) { - /// The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers. + /// The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers. Positive = 0x0, - /// The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers. + /// The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers. Negative = 0x1, }; - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM = extern struct { - /// LPTIM interrupt and status register. + /// LPTIM interrupt and status register. ISR: mmio.Mmio(packed struct(u32) { - /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. + /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. CCIF: u1, - /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. + /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. ARRM: u1, - /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. + /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. EXTTRIG: u1, - /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. + /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. CMPOK: u1, - /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. + /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. ARROK: u1, - /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UP: u1, - /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWN: u1, padding: u25, }), - /// LPTIM interrupt clear register. + /// LPTIM interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. + /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. CCCF: u1, - /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. + /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. ARRMCF: u1, - /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. + /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. EXTTRIGCF: u1, - /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. + /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. CMPOKCF: u1, - /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. + /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. ARROKCF: u1, - /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPCF: u1, - /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNCF: u1, padding: u25, }), - /// LPTIM interrupt enable register. + /// LPTIM interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 interrupt enable. + /// Capture/compare 1 interrupt enable. CCIE: u1, - /// Autoreload match Interrupt Enable. + /// Autoreload match Interrupt Enable. ARRMIE: u1, - /// External trigger valid edge Interrupt Enable. + /// External trigger valid edge Interrupt Enable. EXTTRIGIE: u1, - /// Compare register 1 update OK interrupt enable. + /// Compare register 1 update OK interrupt enable. CMPOKIE: u1, - /// Autoreload register update OK Interrupt Enable. + /// Autoreload register update OK Interrupt Enable. ARROKIE: u1, - /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPIE: u1, - /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNIE: u1, padding: u25, }), - /// LPTIM configuration register. + /// LPTIM configuration register. CFGR: mmio.Mmio(packed struct(u32) { - /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. - CKSEL: packed union { - raw: u1, - value: ClockSource, - }, - /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. - CKPOL: packed union { - raw: u2, - value: CKPOL, - }, - /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. - CKFLT: packed union { - raw: u2, - value: Filter, - }, + /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. + CKSEL: ClockSource, + /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. + CKPOL: CKPOL, + /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. + CKFLT: Filter, reserved6: u1, - /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. - TRGFLT: packed union { - raw: u2, - value: Filter, - }, + /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. + TRGFLT: Filter, reserved9: u1, - /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. - PRESC: packed union { - raw: u3, - value: PRESC, - }, + /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. + PRESC: PRESC, reserved13: u1, - /// Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details. + /// Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details. TRIGSEL: u3, reserved17: u1, - /// Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:. - TRIGEN: packed union { - raw: u2, - value: TRIGEN, - }, - /// Timeout enable The TIMOUT bit controls the Timeout feature. + /// Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:. + TRIGEN: TRIGEN, + /// Timeout enable The TIMOUT bit controls the Timeout feature. TIMOUT: u1, - /// Waveform shape The WAVE bit controls the output shape. + /// Waveform shape The WAVE bit controls the output shape. WAVE: u1, - /// Waveform shape polarity The WAVEPOL bit controls the output polarity Note: If the LPTIM implements at least one capture/compare channel, this bit is reserved. Please refer to. - WAVPOL: packed union { - raw: u1, - value: WAVPOL, - }, - /// Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality. + /// Waveform shape polarity The WAVEPOL bit controls the output polarity Note: If the LPTIM implements at least one capture/compare channel, this bit is reserved. Please refer to. + WAVPOL: WAVPOL, + /// Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality. PRELOAD: u1, - /// counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:. - COUNTMODE: packed union { - raw: u1, - value: ClockSource, - }, - /// Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:. + COUNTMODE: ClockSource, + /// Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. ENC: u1, padding: u7, }), - /// LPTIM control register. + /// LPTIM control register. CR: mmio.Mmio(packed struct(u32) { - /// LPTIM enable The ENABLE bit is set and cleared by software. + /// LPTIM enable The ENABLE bit is set and cleared by software. ENABLE: u1, - /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. + /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. SNGSTRT: u1, - /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. + /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. CNTSTRT: u1, padding: u29, }), - /// LPTIM compare register 1. + /// LPTIM compare register 1. CMP: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. + /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. CMP: u16, padding: u16, }), - /// LPTIM autoreload register. + /// LPTIM autoreload register. ARR: mmio.Mmio(packed struct(u32) { - /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. + /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. ARR: u16, padding: u16, }), - /// LPTIM counter register. + /// LPTIM counter register. CNT: mmio.Mmio(packed struct(u32) { - /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. + /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. CNT: u16, padding: u16, }), @@ -352779,19 +349347,19 @@ pub const types = struct { pub const lptim_v1a = struct { pub const CKPOL = enum(u2) { - /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. + /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. Rising = 0x0, - /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. + /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Falling = 0x1, - /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. + /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. Both = 0x2, _, }; pub const ClockSource = enum(u1) { - /// clocked by internal clock source (APB clock or any of the embedded oscillators) + /// clocked by internal clock source (APB clock or any of the embedded oscillators) Internal = 0x0, - /// clocked by an external clock source through the LPTIM external Input1 + /// clocked by an external clock source through the LPTIM external Input1 External = 0x1, }; @@ -352814,185 +349382,161 @@ pub const types = struct { }; pub const TRIGEN = enum(u2) { - /// software trigger (counting start is initiated by software) + /// software trigger (counting start is initiated by software) Software = 0x0, - /// rising edge is the active edge + /// rising edge is the active edge RisingEdge = 0x1, - /// falling edge is the active edge + /// falling edge is the active edge FallingEdge = 0x2, - /// both edges are active edges + /// both edges are active edges BothEdge = 0x3, }; pub const WAVPOL = enum(u1) { - /// The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers. + /// The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers. Positive = 0x0, - /// The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers. + /// The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers. Negative = 0x1, }; - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM = extern struct { - /// LPTIM interrupt and status register. + /// LPTIM interrupt and status register. ISR: mmio.Mmio(packed struct(u32) { - /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. + /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. CCIF: u1, - /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. + /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. ARRM: u1, - /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. + /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. EXTTRIG: u1, - /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. + /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. CMPOK: u1, - /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. + /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. ARROK: u1, - /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UP: u1, - /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWN: u1, padding: u25, }), - /// LPTIM interrupt clear register. + /// LPTIM interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. + /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. CCCF: u1, - /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. + /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. ARRMCF: u1, - /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. + /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. EXTTRIGCF: u1, - /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. + /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. CMPOKCF: u1, - /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. + /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. ARROKCF: u1, - /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPCF: u1, - /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNCF: u1, padding: u25, }), - /// LPTIM interrupt enable register. + /// LPTIM interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 interrupt enable. + /// Capture/compare 1 interrupt enable. CCIE: u1, - /// Autoreload match Interrupt Enable. + /// Autoreload match Interrupt Enable. ARRMIE: u1, - /// External trigger valid edge Interrupt Enable. + /// External trigger valid edge Interrupt Enable. EXTTRIGIE: u1, - /// Compare register 1 update OK interrupt enable. + /// Compare register 1 update OK interrupt enable. CMPOKIE: u1, - /// Autoreload register update OK Interrupt Enable. + /// Autoreload register update OK Interrupt Enable. ARROKIE: u1, - /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPIE: u1, - /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNIE: u1, padding: u25, }), - /// LPTIM configuration register. + /// LPTIM configuration register. CFGR: mmio.Mmio(packed struct(u32) { - /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. - CKSEL: packed union { - raw: u1, - value: ClockSource, - }, - /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. - CKPOL: packed union { - raw: u2, - value: CKPOL, - }, - /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. - CKFLT: packed union { - raw: u2, - value: Filter, - }, + /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. + CKSEL: ClockSource, + /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. + CKPOL: CKPOL, + /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. + CKFLT: Filter, reserved6: u1, - /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. - TRGFLT: packed union { - raw: u2, - value: Filter, - }, + /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. + TRGFLT: Filter, reserved9: u1, - /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. - PRESC: packed union { - raw: u3, - value: PRESC, - }, + /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. + PRESC: PRESC, reserved13: u1, - /// Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details. + /// Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details. TRIGSEL: u3, reserved17: u1, - /// Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:. - TRIGEN: packed union { - raw: u2, - value: TRIGEN, - }, - /// Timeout enable The TIMOUT bit controls the Timeout feature. + /// Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:. + TRIGEN: TRIGEN, + /// Timeout enable The TIMOUT bit controls the Timeout feature. TIMOUT: u1, - /// Waveform shape The WAVE bit controls the output shape. + /// Waveform shape The WAVE bit controls the output shape. WAVE: u1, - /// Waveform shape polarity The WAVEPOL bit controls the output polarity Note: If the LPTIM implements at least one capture/compare channel, this bit is reserved. Please refer to. - WAVPOL: packed union { - raw: u1, - value: WAVPOL, - }, - /// Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality. + /// Waveform shape polarity The WAVEPOL bit controls the output polarity Note: If the LPTIM implements at least one capture/compare channel, this bit is reserved. Please refer to. + WAVPOL: WAVPOL, + /// Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality. PRELOAD: u1, - /// counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:. - COUNTMODE: packed union { - raw: u1, - value: ClockSource, - }, - /// Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:. + COUNTMODE: ClockSource, + /// Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. ENC: u1, padding: u7, }), - /// LPTIM control register. + /// LPTIM control register. CR: mmio.Mmio(packed struct(u32) { - /// LPTIM enable The ENABLE bit is set and cleared by software. + /// LPTIM enable The ENABLE bit is set and cleared by software. ENABLE: u1, - /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. + /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. SNGSTRT: u1, - /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. + /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. CNTSTRT: u1, padding: u29, }), - /// LPTIM compare register 1. + /// LPTIM compare register 1. CMP: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. + /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. CMP: u16, padding: u16, }), - /// LPTIM autoreload register. + /// LPTIM autoreload register. ARR: mmio.Mmio(packed struct(u32) { - /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. + /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. ARR: u16, padding: u16, }), - /// LPTIM counter register. + /// LPTIM counter register. CNT: mmio.Mmio(packed struct(u32) { - /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. + /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. CNT: u16, padding: u16, }), - /// LPTIM option register. + /// LPTIM option register. OR: u32, }; }; pub const lptim_v1b = struct { pub const CKPOL = enum(u2) { - /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. + /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. Rising = 0x0, - /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. + /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Falling = 0x1, - /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. + /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. Both = 0x2, _, }; pub const ClockSource = enum(u1) { - /// clocked by internal clock source (APB clock or any of the embedded oscillators) + /// clocked by internal clock source (APB clock or any of the embedded oscillators) Internal = 0x0, - /// clocked by an external clock source through the LPTIM external Input1 + /// clocked by an external clock source through the LPTIM external Input1 External = 0x1, }; @@ -353015,189 +349559,165 @@ pub const types = struct { }; pub const TRIGEN = enum(u2) { - /// software trigger (counting start is initiated by software) + /// software trigger (counting start is initiated by software) Software = 0x0, - /// rising edge is the active edge + /// rising edge is the active edge RisingEdge = 0x1, - /// falling edge is the active edge + /// falling edge is the active edge FallingEdge = 0x2, - /// both edges are active edges + /// both edges are active edges BothEdge = 0x3, }; pub const WAVPOL = enum(u1) { - /// The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers. + /// The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers. Positive = 0x0, - /// The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers. + /// The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers. Negative = 0x1, }; - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM = extern struct { - /// LPTIM interrupt and status register. + /// LPTIM interrupt and status register. ISR: mmio.Mmio(packed struct(u32) { - /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. + /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. CCIF: u1, - /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. + /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. ARRM: u1, - /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. + /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. EXTTRIG: u1, - /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. + /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. CMPOK: u1, - /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. + /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. ARROK: u1, - /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UP: u1, - /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWN: u1, padding: u25, }), - /// LPTIM interrupt clear register. + /// LPTIM interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. + /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. CCCF: u1, - /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. + /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. ARRMCF: u1, - /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. + /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. EXTTRIGCF: u1, - /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. + /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. CMPOKCF: u1, - /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. + /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. ARROKCF: u1, - /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPCF: u1, - /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNCF: u1, padding: u25, }), - /// LPTIM interrupt enable register. + /// LPTIM interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 interrupt enable. + /// Capture/compare 1 interrupt enable. CCIE: u1, - /// Autoreload match Interrupt Enable. + /// Autoreload match Interrupt Enable. ARRMIE: u1, - /// External trigger valid edge Interrupt Enable. + /// External trigger valid edge Interrupt Enable. EXTTRIGIE: u1, - /// Compare register 1 update OK interrupt enable. + /// Compare register 1 update OK interrupt enable. CMPOKIE: u1, - /// Autoreload register update OK Interrupt Enable. + /// Autoreload register update OK Interrupt Enable. ARROKIE: u1, - /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPIE: u1, - /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNIE: u1, padding: u25, }), - /// LPTIM configuration register. + /// LPTIM configuration register. CFGR: mmio.Mmio(packed struct(u32) { - /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. - CKSEL: packed union { - raw: u1, - value: ClockSource, - }, - /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. - CKPOL: packed union { - raw: u2, - value: CKPOL, - }, - /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. - CKFLT: packed union { - raw: u2, - value: Filter, - }, + /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. + CKSEL: ClockSource, + /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. + CKPOL: CKPOL, + /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. + CKFLT: Filter, reserved6: u1, - /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. - TRGFLT: packed union { - raw: u2, - value: Filter, - }, + /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. + TRGFLT: Filter, reserved9: u1, - /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. - PRESC: packed union { - raw: u3, - value: PRESC, - }, + /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. + PRESC: PRESC, reserved13: u1, - /// Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details. + /// Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details. TRIGSEL: u3, reserved17: u1, - /// Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:. - TRIGEN: packed union { - raw: u2, - value: TRIGEN, - }, - /// Timeout enable The TIMOUT bit controls the Timeout feature. + /// Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:. + TRIGEN: TRIGEN, + /// Timeout enable The TIMOUT bit controls the Timeout feature. TIMOUT: u1, - /// Waveform shape The WAVE bit controls the output shape. + /// Waveform shape The WAVE bit controls the output shape. WAVE: u1, - /// Waveform shape polarity The WAVEPOL bit controls the output polarity Note: If the LPTIM implements at least one capture/compare channel, this bit is reserved. Please refer to. - WAVPOL: packed union { - raw: u1, - value: WAVPOL, - }, - /// Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality. + /// Waveform shape polarity The WAVEPOL bit controls the output polarity Note: If the LPTIM implements at least one capture/compare channel, this bit is reserved. Please refer to. + WAVPOL: WAVPOL, + /// Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality. PRELOAD: u1, - /// counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:. - COUNTMODE: packed union { - raw: u1, - value: ClockSource, - }, - /// Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:. + COUNTMODE: ClockSource, + /// Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. ENC: u1, padding: u7, }), - /// LPTIM control register. + /// LPTIM control register. CR: mmio.Mmio(packed struct(u32) { - /// LPTIM enable The ENABLE bit is set and cleared by software. + /// LPTIM enable The ENABLE bit is set and cleared by software. ENABLE: u1, - /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. + /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. SNGSTRT: u1, - /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. + /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. CNTSTRT: u1, - /// Counter reset This bit is set by software and cleared by hardware. When set to '1' this bit triggers a synchronous reset of the LPTIM_CNT counter register. Due to the synchronous nature of this reset, it only takes place after a synchronization delay of 3 LPTimer core clock cycles (LPTimer core clock may be different from APB clock). This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. COUNTRST must never be set to '1' by software before it is already cleared to '0' by hardware. Software should consequently check that COUNTRST bit is already cleared to '0' before attempting to set it to '1'. + /// Counter reset This bit is set by software and cleared by hardware. When set to '1' this bit triggers a synchronous reset of the LPTIM_CNT counter register. Due to the synchronous nature of this reset, it only takes place after a synchronization delay of 3 LPTimer core clock cycles (LPTimer core clock may be different from APB clock). This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. COUNTRST must never be set to '1' by software before it is already cleared to '0' by hardware. Software should consequently check that COUNTRST bit is already cleared to '0' before attempting to set it to '1'. COUNTRST: u1, - /// Reset after read enable This bit is set and cleared by software. When RSTARE is set to '1', any read access to LPTIM_CNT register asynchronously resets LPTIM_CNT register content. This bit can be set only when the LPTIM is enabled. + /// Reset after read enable This bit is set and cleared by software. When RSTARE is set to '1', any read access to LPTIM_CNT register asynchronously resets LPTIM_CNT register content. This bit can be set only when the LPTIM is enabled. RSTARE: u1, padding: u27, }), - /// LPTIM compare register 1. + /// LPTIM compare register 1. CMP: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. + /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. CMP: u16, padding: u16, }), - /// LPTIM autoreload register. + /// LPTIM autoreload register. ARR: mmio.Mmio(packed struct(u32) { - /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. + /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. ARR: u16, padding: u16, }), - /// LPTIM counter register. + /// LPTIM counter register. CNT: mmio.Mmio(packed struct(u32) { - /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. + /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. CNT: u16, padding: u16, }), - /// LPTIM option register. + /// LPTIM option register. OR: u32, }; }; pub const lptim_v1b_g4 = struct { pub const CKPOL = enum(u2) { - /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. + /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. Rising = 0x0, - /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. + /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Falling = 0x1, - /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. + /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. Both = 0x2, _, }; pub const ClockSource = enum(u1) { - /// clocked by internal clock source (APB clock or any of the embedded oscillators) + /// clocked by internal clock source (APB clock or any of the embedded oscillators) Internal = 0x0, - /// clocked by an external clock source through the LPTIM external Input1 + /// clocked by an external clock source through the LPTIM external Input1 External = 0x1, }; @@ -353220,162 +349740,147 @@ pub const types = struct { }; pub const TRIGEN = enum(u2) { - /// software trigger (counting start is initiated by software) + /// software trigger (counting start is initiated by software) Software = 0x0, - /// rising edge is the active edge + /// rising edge is the active edge RisingEdge = 0x1, - /// falling edge is the active edge + /// falling edge is the active edge FallingEdge = 0x2, - /// both edges are active edges + /// both edges are active edges BothEdge = 0x3, }; pub const WAVPOL = enum(u1) { - /// The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers. + /// The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers. Positive = 0x0, - /// The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers. + /// The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers. Negative = 0x1, }; - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM = extern struct { - /// LPTIM interrupt and status register. + /// LPTIM interrupt and status register. ISR: mmio.Mmio(packed struct(u32) { - /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. + /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. CCIF: u1, - /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. + /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. ARRM: u1, - /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. + /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. EXTTRIG: u1, - /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. + /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. CMPOK: u1, - /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. + /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. ARROK: u1, - /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UP: u1, - /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWN: u1, padding: u25, }), - /// LPTIM interrupt clear register. + /// LPTIM interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. + /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. CCCF: u1, - /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. + /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. ARRMCF: u1, - /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. + /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. EXTTRIGCF: u1, - /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. + /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. CMPOKCF: u1, - /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. + /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. ARROKCF: u1, - /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPCF: u1, - /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNCF: u1, padding: u25, }), - /// LPTIM interrupt enable register. + /// LPTIM interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 interrupt enable. + /// Capture/compare 1 interrupt enable. CCIE: u1, - /// Autoreload match Interrupt Enable. + /// Autoreload match Interrupt Enable. ARRMIE: u1, - /// External trigger valid edge Interrupt Enable. + /// External trigger valid edge Interrupt Enable. EXTTRIGIE: u1, - /// Compare register 1 update OK interrupt enable. + /// Compare register 1 update OK interrupt enable. CMPOKIE: u1, - /// Autoreload register update OK Interrupt Enable. + /// Autoreload register update OK Interrupt Enable. ARROKIE: u1, - /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPIE: u1, - /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNIE: u1, padding: u25, }), - /// LPTIM configuration register. + /// LPTIM configuration register. CFGR: mmio.Mmio(packed struct(u32) { - /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. - CKSEL: packed union { - raw: u1, - value: ClockSource, - }, - /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. - CKPOL: packed union { - raw: u2, - value: CKPOL, - }, - /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. - CKFLT: packed union { - raw: u2, - value: Filter, - }, + /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. + CKSEL: ClockSource, + /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. + CKPOL: CKPOL, + /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. + CKFLT: Filter, reserved6: u1, - /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. - TRGFLT: packed union { - raw: u2, - value: Filter, - }, + /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. + TRGFLT: Filter, reserved9: u1, - /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. - PRESC: packed union { - raw: u3, - value: PRESC, - }, + /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. + PRESC: PRESC, padding: u20, }), - /// LPTIM control register. + /// LPTIM control register. CR: mmio.Mmio(packed struct(u32) { - /// LPTIM enable The ENABLE bit is set and cleared by software. + /// LPTIM enable The ENABLE bit is set and cleared by software. ENABLE: u1, - /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. + /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. SNGSTRT: u1, - /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. + /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. CNTSTRT: u1, - /// Counter reset This bit is set by software and cleared by hardware. When set to '1' this bit triggers a synchronous reset of the LPTIM_CNT counter register. Due to the synchronous nature of this reset, it only takes place after a synchronization delay of 3 LPTimer core clock cycles (LPTimer core clock may be different from APB clock). This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. COUNTRST must never be set to '1' by software before it is already cleared to '0' by hardware. Software should consequently check that COUNTRST bit is already cleared to '0' before attempting to set it to '1'. + /// Counter reset This bit is set by software and cleared by hardware. When set to '1' this bit triggers a synchronous reset of the LPTIM_CNT counter register. Due to the synchronous nature of this reset, it only takes place after a synchronization delay of 3 LPTimer core clock cycles (LPTimer core clock may be different from APB clock). This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. COUNTRST must never be set to '1' by software before it is already cleared to '0' by hardware. Software should consequently check that COUNTRST bit is already cleared to '0' before attempting to set it to '1'. COUNTRST: u1, - /// Reset after read enable This bit is set and cleared by software. When RSTARE is set to '1', any read access to LPTIM_CNT register asynchronously resets LPTIM_CNT register content. This bit can be set only when the LPTIM is enabled. + /// Reset after read enable This bit is set and cleared by software. When RSTARE is set to '1', any read access to LPTIM_CNT register asynchronously resets LPTIM_CNT register content. This bit can be set only when the LPTIM is enabled. RSTARE: u1, padding: u27, }), - /// LPTIM compare register 1. + /// LPTIM compare register 1. CMP: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. + /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. CMP: u16, padding: u16, }), - /// LPTIM autoreload register. + /// LPTIM autoreload register. ARR: mmio.Mmio(packed struct(u32) { - /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. + /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. ARR: u16, padding: u16, }), - /// LPTIM counter register. + /// LPTIM counter register. CNT: mmio.Mmio(packed struct(u32) { - /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. + /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. CNT: u16, padding: u16, }), - /// LPTIM option register. + /// LPTIM option register. OR: u32, }; }; pub const lptim_v1b_h7 = struct { pub const CKPOL = enum(u2) { - /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. + /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. Rising = 0x0, - /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. + /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Falling = 0x1, - /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. + /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. Both = 0x2, _, }; pub const ClockSource = enum(u1) { - /// clocked by internal clock source (APB clock or any of the embedded oscillators) + /// clocked by internal clock source (APB clock or any of the embedded oscillators) Internal = 0x0, - /// clocked by an external clock source through the LPTIM external Input1 + /// clocked by an external clock source through the LPTIM external Input1 External = 0x1, }; @@ -353398,173 +349903,149 @@ pub const types = struct { }; pub const TRIGEN = enum(u2) { - /// software trigger (counting start is initiated by software) + /// software trigger (counting start is initiated by software) Software = 0x0, - /// rising edge is the active edge + /// rising edge is the active edge RisingEdge = 0x1, - /// falling edge is the active edge + /// falling edge is the active edge FallingEdge = 0x2, - /// both edges are active edges + /// both edges are active edges BothEdge = 0x3, }; pub const WAVPOL = enum(u1) { - /// The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers. + /// The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers. Positive = 0x0, - /// The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers. + /// The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers. Negative = 0x1, }; - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM = extern struct { - /// LPTIM interrupt and status register. + /// LPTIM interrupt and status register. ISR: mmio.Mmio(packed struct(u32) { - /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. + /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. CCIF: u1, - /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. + /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. ARRM: u1, - /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. + /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. EXTTRIG: u1, - /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. + /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. CMPOK: u1, - /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. + /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. ARROK: u1, - /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UP: u1, - /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWN: u1, padding: u25, }), - /// LPTIM interrupt clear register. + /// LPTIM interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. + /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. CCCF: u1, - /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. + /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. ARRMCF: u1, - /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. + /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. EXTTRIGCF: u1, - /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. + /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. CMPOKCF: u1, - /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. + /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. ARROKCF: u1, - /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPCF: u1, - /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNCF: u1, padding: u25, }), - /// LPTIM interrupt enable register. + /// LPTIM interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 interrupt enable. + /// Capture/compare 1 interrupt enable. CCIE: u1, - /// Autoreload match Interrupt Enable. + /// Autoreload match Interrupt Enable. ARRMIE: u1, - /// External trigger valid edge Interrupt Enable. + /// External trigger valid edge Interrupt Enable. EXTTRIGIE: u1, - /// Compare register 1 update OK interrupt enable. + /// Compare register 1 update OK interrupt enable. CMPOKIE: u1, - /// Autoreload register update OK Interrupt Enable. + /// Autoreload register update OK Interrupt Enable. ARROKIE: u1, - /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPIE: u1, - /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNIE: u1, padding: u25, }), - /// LPTIM configuration register. + /// LPTIM configuration register. CFGR: mmio.Mmio(packed struct(u32) { - /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. - CKSEL: packed union { - raw: u1, - value: ClockSource, - }, - /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. - CKPOL: packed union { - raw: u2, - value: CKPOL, - }, - /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. - CKFLT: packed union { - raw: u2, - value: Filter, - }, + /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. + CKSEL: ClockSource, + /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. + CKPOL: CKPOL, + /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. + CKFLT: Filter, reserved6: u1, - /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. - TRGFLT: packed union { - raw: u2, - value: Filter, - }, + /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. + TRGFLT: Filter, reserved9: u1, - /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. - PRESC: packed union { - raw: u3, - value: PRESC, - }, + /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. + PRESC: PRESC, reserved13: u1, - /// Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details. + /// Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details. TRIGSEL: u3, reserved17: u1, - /// Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:. - TRIGEN: packed union { - raw: u2, - value: TRIGEN, - }, - /// Timeout enable The TIMOUT bit controls the Timeout feature. + /// Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:. + TRIGEN: TRIGEN, + /// Timeout enable The TIMOUT bit controls the Timeout feature. TIMOUT: u1, - /// Waveform shape The WAVE bit controls the output shape. + /// Waveform shape The WAVE bit controls the output shape. WAVE: u1, - /// Waveform shape polarity The WAVEPOL bit controls the output polarity Note: If the LPTIM implements at least one capture/compare channel, this bit is reserved. Please refer to. - WAVPOL: packed union { - raw: u1, - value: WAVPOL, - }, - /// Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality. + /// Waveform shape polarity The WAVEPOL bit controls the output polarity Note: If the LPTIM implements at least one capture/compare channel, this bit is reserved. Please refer to. + WAVPOL: WAVPOL, + /// Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality. PRELOAD: u1, - /// counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:. - COUNTMODE: packed union { - raw: u1, - value: ClockSource, - }, - /// Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:. + COUNTMODE: ClockSource, + /// Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. ENC: u1, padding: u7, }), - /// LPTIM control register. + /// LPTIM control register. CR: mmio.Mmio(packed struct(u32) { - /// LPTIM enable The ENABLE bit is set and cleared by software. + /// LPTIM enable The ENABLE bit is set and cleared by software. ENABLE: u1, - /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. + /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. SNGSTRT: u1, - /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. + /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. CNTSTRT: u1, - /// Counter reset This bit is set by software and cleared by hardware. When set to '1' this bit triggers a synchronous reset of the LPTIM_CNT counter register. Due to the synchronous nature of this reset, it only takes place after a synchronization delay of 3 LPTimer core clock cycles (LPTimer core clock may be different from APB clock). This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. COUNTRST must never be set to '1' by software before it is already cleared to '0' by hardware. Software should consequently check that COUNTRST bit is already cleared to '0' before attempting to set it to '1'. + /// Counter reset This bit is set by software and cleared by hardware. When set to '1' this bit triggers a synchronous reset of the LPTIM_CNT counter register. Due to the synchronous nature of this reset, it only takes place after a synchronization delay of 3 LPTimer core clock cycles (LPTimer core clock may be different from APB clock). This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. COUNTRST must never be set to '1' by software before it is already cleared to '0' by hardware. Software should consequently check that COUNTRST bit is already cleared to '0' before attempting to set it to '1'. COUNTRST: u1, - /// Reset after read enable This bit is set and cleared by software. When RSTARE is set to '1', any read access to LPTIM_CNT register asynchronously resets LPTIM_CNT register content. This bit can be set only when the LPTIM is enabled. + /// Reset after read enable This bit is set and cleared by software. When RSTARE is set to '1', any read access to LPTIM_CNT register asynchronously resets LPTIM_CNT register content. This bit can be set only when the LPTIM is enabled. RSTARE: u1, padding: u27, }), - /// LPTIM compare register 1. + /// LPTIM compare register 1. CMP: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. + /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. CMP: u16, padding: u16, }), - /// LPTIM autoreload register. + /// LPTIM autoreload register. ARR: mmio.Mmio(packed struct(u32) { - /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. + /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. ARR: u16, padding: u16, }), - /// LPTIM counter register. + /// LPTIM counter register. CNT: mmio.Mmio(packed struct(u32) { - /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. + /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. CNT: u16, padding: u16, }), reserved36: [4]u8, - /// LPTIM configuration register 2. + /// LPTIM configuration register 2. CFGR2: mmio.Mmio(packed struct(u32) { - /// LPTIM input 1 selection The IN1SEL bits control the LPTIM input 1 multiplexer, which connects LPTIM input 1 to one of the available inputs. For connection details refer to. + /// LPTIM input 1 selection The IN1SEL bits control the LPTIM input 1 multiplexer, which connects LPTIM input 1 to one of the available inputs. For connection details refer to. INSEL: u2, padding: u30, }), @@ -353573,19 +350054,19 @@ pub const types = struct { pub const lptim_v1c = struct { pub const CKPOL = enum(u2) { - /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. + /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. Rising = 0x0, - /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. + /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Falling = 0x1, - /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. + /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. Both = 0x2, _, }; pub const ClockSource = enum(u1) { - /// clocked by internal clock source (APB clock or any of the embedded oscillators) + /// clocked by internal clock source (APB clock or any of the embedded oscillators) Internal = 0x0, - /// clocked by an external clock source through the LPTIM external Input1 + /// clocked by an external clock source through the LPTIM external Input1 External = 0x1, }; @@ -353608,187 +350089,163 @@ pub const types = struct { }; pub const TRIGEN = enum(u2) { - /// software trigger (counting start is initiated by software) + /// software trigger (counting start is initiated by software) Software = 0x0, - /// rising edge is the active edge + /// rising edge is the active edge RisingEdge = 0x1, - /// falling edge is the active edge + /// falling edge is the active edge FallingEdge = 0x2, - /// both edges are active edges + /// both edges are active edges BothEdge = 0x3, }; pub const WAVPOL = enum(u1) { - /// The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers. + /// The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers. Positive = 0x0, - /// The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers. + /// The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers. Negative = 0x1, }; - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM = extern struct { - /// LPTIM interrupt and status register. + /// LPTIM interrupt and status register. ISR: mmio.Mmio(packed struct(u32) { - /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. + /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. CCIF: u1, - /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. + /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. ARRM: u1, - /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. + /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. EXTTRIG: u1, - /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. + /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. CMPOK: u1, - /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. + /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. ARROK: u1, - /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UP: u1, - /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWN: u1, - /// LPTIM update event occurred UE is set by hardware to inform application that an update event was generated. UE flag can be cleared by writing 1 to the UECF bit in the LPTIM_ICR register. + /// LPTIM update event occurred UE is set by hardware to inform application that an update event was generated. UE flag can be cleared by writing 1 to the UECF bit in the LPTIM_ICR register. UE: u1, - /// Repetition register update OK REPOK is set by hardware to inform application that the APB bus write operation to the LPTIM_RCR register has been successfully completed. REPOK flag can be cleared by writing 1 to the REPOKCF bit in the LPTIM_ICR register. + /// Repetition register update OK REPOK is set by hardware to inform application that the APB bus write operation to the LPTIM_RCR register has been successfully completed. REPOK flag can be cleared by writing 1 to the REPOKCF bit in the LPTIM_ICR register. REPOK: u1, padding: u23, }), - /// LPTIM interrupt clear register. + /// LPTIM interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. + /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. CCCF: u1, - /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. + /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. ARRMCF: u1, - /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. + /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. EXTTRIGCF: u1, - /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. + /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. CMPOKCF: u1, - /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. + /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. ARROKCF: u1, - /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPCF: u1, - /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNCF: u1, - /// Update event clear flag Writing 1 to this bit clear the UE flag in the LPTIM_ISR register. + /// Update event clear flag Writing 1 to this bit clear the UE flag in the LPTIM_ISR register. UECF: u1, - /// Repetition register update OK clear flag Writing 1 to this bit clears the REPOK flag in the LPTIM_ISR register. + /// Repetition register update OK clear flag Writing 1 to this bit clears the REPOK flag in the LPTIM_ISR register. REPOKCF: u1, padding: u23, }), - /// LPTIM interrupt enable register. + /// LPTIM interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 interrupt enable. + /// Capture/compare 1 interrupt enable. CCIE: u1, - /// Autoreload match Interrupt Enable. + /// Autoreload match Interrupt Enable. ARRMIE: u1, - /// External trigger valid edge Interrupt Enable. + /// External trigger valid edge Interrupt Enable. EXTTRIGIE: u1, - /// Compare register 1 update OK interrupt enable. + /// Compare register 1 update OK interrupt enable. CMPOKIE: u1, - /// Autoreload register update OK Interrupt Enable. + /// Autoreload register update OK Interrupt Enable. ARROKIE: u1, - /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPIE: u1, - /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNIE: u1, - /// Update event interrupt enable. + /// Update event interrupt enable. UEIE: u1, - /// Repetition register update OK interrupt Enable. + /// Repetition register update OK interrupt Enable. REPOKIE: u1, padding: u23, }), - /// LPTIM configuration register. + /// LPTIM configuration register. CFGR: mmio.Mmio(packed struct(u32) { - /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. - CKSEL: packed union { - raw: u1, - value: ClockSource, - }, - /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. - CKPOL: packed union { - raw: u2, - value: CKPOL, - }, - /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. - CKFLT: packed union { - raw: u2, - value: Filter, - }, + /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. + CKSEL: ClockSource, + /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. + CKPOL: CKPOL, + /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. + CKFLT: Filter, reserved6: u1, - /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. - TRGFLT: packed union { - raw: u2, - value: Filter, - }, + /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. + TRGFLT: Filter, reserved9: u1, - /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. - PRESC: packed union { - raw: u3, - value: PRESC, - }, + /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. + PRESC: PRESC, reserved13: u1, - /// Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details. + /// Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details. TRIGSEL: u3, reserved17: u1, - /// Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:. - TRIGEN: packed union { - raw: u2, - value: TRIGEN, - }, - /// Timeout enable The TIMOUT bit controls the Timeout feature. + /// Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:. + TRIGEN: TRIGEN, + /// Timeout enable The TIMOUT bit controls the Timeout feature. TIMOUT: u1, - /// Waveform shape The WAVE bit controls the output shape. + /// Waveform shape The WAVE bit controls the output shape. WAVE: u1, - /// Waveform shape polarity The WAVEPOL bit controls the output polarity Note: If the LPTIM implements at least one capture/compare channel, this bit is reserved. Please refer to. - WAVPOL: packed union { - raw: u1, - value: WAVPOL, - }, - /// Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality. + /// Waveform shape polarity The WAVEPOL bit controls the output polarity Note: If the LPTIM implements at least one capture/compare channel, this bit is reserved. Please refer to. + WAVPOL: WAVPOL, + /// Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality. PRELOAD: u1, - /// counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:. - COUNTMODE: packed union { - raw: u1, - value: ClockSource, - }, - /// Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:. + COUNTMODE: ClockSource, + /// Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. ENC: u1, padding: u7, }), - /// LPTIM control register. + /// LPTIM control register. CR: mmio.Mmio(packed struct(u32) { - /// LPTIM enable The ENABLE bit is set and cleared by software. + /// LPTIM enable The ENABLE bit is set and cleared by software. ENABLE: u1, - /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. + /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. SNGSTRT: u1, - /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. + /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. CNTSTRT: u1, - /// Counter reset This bit is set by software and cleared by hardware. When set to '1' this bit triggers a synchronous reset of the LPTIM_CNT counter register. Due to the synchronous nature of this reset, it only takes place after a synchronization delay of 3 LPTimer core clock cycles (LPTimer core clock may be different from APB clock). This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. COUNTRST must never be set to '1' by software before it is already cleared to '0' by hardware. Software should consequently check that COUNTRST bit is already cleared to '0' before attempting to set it to '1'. + /// Counter reset This bit is set by software and cleared by hardware. When set to '1' this bit triggers a synchronous reset of the LPTIM_CNT counter register. Due to the synchronous nature of this reset, it only takes place after a synchronization delay of 3 LPTimer core clock cycles (LPTimer core clock may be different from APB clock). This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. COUNTRST must never be set to '1' by software before it is already cleared to '0' by hardware. Software should consequently check that COUNTRST bit is already cleared to '0' before attempting to set it to '1'. COUNTRST: u1, - /// Reset after read enable This bit is set and cleared by software. When RSTARE is set to '1', any read access to LPTIM_CNT register asynchronously resets LPTIM_CNT register content. This bit can be set only when the LPTIM is enabled. + /// Reset after read enable This bit is set and cleared by software. When RSTARE is set to '1', any read access to LPTIM_CNT register asynchronously resets LPTIM_CNT register content. This bit can be set only when the LPTIM is enabled. RSTARE: u1, padding: u27, }), - /// LPTIM compare register 1. + /// LPTIM compare register 1. CMP: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. + /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. CMP: u16, padding: u16, }), - /// LPTIM autoreload register. + /// LPTIM autoreload register. ARR: mmio.Mmio(packed struct(u32) { - /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. + /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. ARR: u16, padding: u16, }), - /// LPTIM counter register. + /// LPTIM counter register. CNT: mmio.Mmio(packed struct(u32) { - /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. + /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. CNT: u16, padding: u16, }), - /// LPTIM option register. + /// LPTIM option register. OR: u32, reserved40: [4]u8, - /// LPTIM repetition register. + /// LPTIM repetition register. RCR: mmio.Mmio(packed struct(u32) { - /// Repetition register value REP is the repetition value for the LPTIM. + /// Repetition register value REP is the repetition value for the LPTIM. REP: u8, padding: u24, }), @@ -353810,26 +350267,26 @@ pub const types = struct { }; pub const CCSEL = enum(u1) { - /// channel is configured in output PWM mode + /// channel is configured in output PWM mode OutputCompare = 0x0, - /// channel is configured in input capture mode + /// channel is configured in input capture mode InputCapture = 0x1, }; pub const CKPOL = enum(u2) { - /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. + /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. Rising = 0x0, - /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. + /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Falling = 0x1, - /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. + /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. Both = 0x2, _, }; pub const ClockSource = enum(u1) { - /// clocked by internal clock source (APB clock or any of the embedded oscillators) + /// clocked by internal clock source (APB clock or any of the embedded oscillators) Internal = 0x0, - /// clocked by an external clock source through the LPTIM external Input1 + /// clocked by an external clock source through the LPTIM external Input1 External = 0x1, }; @@ -353852,279 +350309,243 @@ pub const types = struct { }; pub const TRIGEN = enum(u2) { - /// software trigger (counting start is initiated by software) + /// software trigger (counting start is initiated by software) Software = 0x0, - /// rising edge is the active edge + /// rising edge is the active edge RisingEdge = 0x1, - /// falling edge is the active edge + /// falling edge is the active edge FallingEdge = 0x2, - /// both edges are active edges + /// both edges are active edges BothEdge = 0x3, }; pub const WAVPOL = enum(u1) { - /// The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers. + /// The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers. Positive = 0x0, - /// The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers. + /// The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers. Negative = 0x1, }; - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM = extern struct { - /// LPTIM interrupt and status register. + /// LPTIM interrupt and status register. ISR: mmio.Mmio(packed struct(u32) { - /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. + /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. CCIF: u1, reserved3: u2, - /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. + /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. CMPOK: u1, reserved12: u8, - /// Capture 1 over-capture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing 1 to the CC1OCF bit in the LPTIM_ICR register. Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. + /// Capture 1 over-capture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing 1 to the CC1OCF bit in the LPTIM_ICR register. Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. CCOF: u1, padding: u19, }), - /// LPTIM interrupt clear register. + /// LPTIM interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. + /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. CCCF: u1, reserved3: u2, - /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. + /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. CMPOKCF: u1, reserved12: u8, - /// Capture/compare 1 over-capture clear flag Writing 1 to this bit clears the CC1OF flag in the LPTIM_ISR register. Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. + /// Capture/compare 1 over-capture clear flag Writing 1 to this bit clears the CC1OF flag in the LPTIM_ISR register. Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. CCOCF: u1, padding: u19, }), - /// LPTIM interrupt enable register. + /// LPTIM interrupt enable register. DIER: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 interrupt enable. + /// Capture/compare 1 interrupt enable. CCIE: u1, reserved3: u2, - /// Compare register 1 update OK interrupt enable. + /// Compare register 1 update OK interrupt enable. CMPOKIE: u1, reserved12: u8, - /// Capture/compare 1 over-capture interrupt enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. + /// Capture/compare 1 over-capture interrupt enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. CCOIE: u1, reserved16: u3, - /// Capture/compare 1 DMA request enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. + /// Capture/compare 1 DMA request enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. CCDE: u1, padding: u15, }), reserved20: [8]u8, - /// LPTIM compare register 1. + /// LPTIM compare register 1. CCR: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. + /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. CCR: u16, padding: u16, }), reserved44: [20]u8, - /// LPTIM capture/compare mode register 1. + /// LPTIM capture/compare mode register 1. CCMR: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 selection This bitfield defines the direction of the channel input (capture) or output mode. - CCSEL: packed union { - raw: u1, - value: CCSEL, - }, - /// Capture/compare 1 output enable. This bit determines if a capture of the counter value can actually be done into the input capture/compare register 1 (LPTIM_CCR1) or not. + /// Capture/compare 1 selection This bitfield defines the direction of the channel input (capture) or output mode. + CCSEL: CCSEL, + /// Capture/compare 1 output enable. This bit determines if a capture of the counter value can actually be done into the input capture/compare register 1 (LPTIM_CCR1) or not. CCE: u1, - /// Capture/compare 1 output polarity. Only bit2 is used to set polarity when output mode is enabled, bit3 is don't care. This field is used to select the IC1 polarity for capture operations. - CCP_Input: packed union { - raw: u2, - value: CCP_Input, - }, + /// Capture/compare 1 output polarity. Only bit2 is used to set polarity when output mode is enabled, bit3 is don't care. This field is used to select the IC1 polarity for capture operations. + CCP_Input: CCP_Input, reserved8: u4, - /// Input capture 1 prescaler This bitfield defines the ratio of the prescaler acting on the CC1 input (IC1). - ICPSC: packed union { - raw: u2, - value: Filter, - }, + /// Input capture 1 prescaler This bitfield defines the ratio of the prescaler acting on the CC1 input (IC1). + ICPSC: Filter, reserved12: u2, - /// Input capture 1 filter This bitfield defines the number of consecutive equal samples that should be detected when a level change occurs on an external input capture signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. - ICF: packed union { - raw: u2, - value: Filter, - }, + /// Input capture 1 filter This bitfield defines the number of consecutive equal samples that should be detected when a level change occurs on an external input capture signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. + ICF: Filter, padding: u18, }), }; - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM_BASIC = extern struct { - /// LPTIM interrupt and status register. + /// LPTIM interrupt and status register. ISR: mmio.Mmio(packed struct(u32) { - /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. + /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. CCIF: u1, - /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. + /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. ARRM: u1, - /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. + /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. EXTTRIG: u1, - /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. + /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. CMPOK: u1, - /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. + /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. ARROK: u1, - /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UP: u1, - /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWN: u1, - /// LPTIM update event occurred UE is set by hardware to inform application that an update event was generated. UE flag can be cleared by writing 1 to the UECF bit in the LPTIM_ICR register. + /// LPTIM update event occurred UE is set by hardware to inform application that an update event was generated. UE flag can be cleared by writing 1 to the UECF bit in the LPTIM_ICR register. UE: u1, - /// Repetition register update OK REPOK is set by hardware to inform application that the APB bus write operation to the LPTIM_RCR register has been successfully completed. REPOK flag can be cleared by writing 1 to the REPOKCF bit in the LPTIM_ICR register. + /// Repetition register update OK REPOK is set by hardware to inform application that the APB bus write operation to the LPTIM_RCR register has been successfully completed. REPOK flag can be cleared by writing 1 to the REPOKCF bit in the LPTIM_ICR register. REPOK: u1, reserved24: u15, - /// Interrupt enable register update OK DIEROK is set by hardware to inform application that the APB bus write operation to the LPTIM_DIER register has been successfully completed. DIEROK flag can be cleared by writing 1 to the DIEROKCF bit in the LPTIM_ICR register. + /// Interrupt enable register update OK DIEROK is set by hardware to inform application that the APB bus write operation to the LPTIM_DIER register has been successfully completed. DIEROK flag can be cleared by writing 1 to the DIEROKCF bit in the LPTIM_ICR register. DIEROK: u1, padding: u7, }), - /// LPTIM interrupt clear register. + /// LPTIM interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. + /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. CCCF: u1, - /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. + /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. ARRMCF: u1, - /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. + /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. EXTTRIGCF: u1, - /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. + /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. CMPOKCF: u1, - /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. + /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. ARROKCF: u1, - /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPCF: u1, - /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNCF: u1, - /// Update event clear flag Writing 1 to this bit clear the UE flag in the LPTIM_ISR register. + /// Update event clear flag Writing 1 to this bit clear the UE flag in the LPTIM_ISR register. UECF: u1, - /// Repetition register update OK clear flag Writing 1 to this bit clears the REPOK flag in the LPTIM_ISR register. + /// Repetition register update OK clear flag Writing 1 to this bit clears the REPOK flag in the LPTIM_ISR register. REPOKCF: u1, reserved24: u15, - /// Interrupt enable register update OK clear flag Writing 1 to this bit clears the DIEROK flag in the LPTIM_ISR register. + /// Interrupt enable register update OK clear flag Writing 1 to this bit clears the DIEROK flag in the LPTIM_ISR register. DIEROKCF: u1, padding: u7, }), - /// LPTIM interrupt enable register. + /// LPTIM interrupt enable register. DIER: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 interrupt enable. + /// Capture/compare 1 interrupt enable. CCIE: u1, - /// Autoreload match Interrupt Enable. + /// Autoreload match Interrupt Enable. ARRMIE: u1, - /// External trigger valid edge Interrupt Enable. + /// External trigger valid edge Interrupt Enable. EXTTRIGIE: u1, - /// Compare register 1 update OK interrupt enable. + /// Compare register 1 update OK interrupt enable. CMPOKIE: u1, - /// Autoreload register update OK Interrupt Enable. + /// Autoreload register update OK Interrupt Enable. ARROKIE: u1, - /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPIE: u1, - /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNIE: u1, - /// Update event interrupt enable. + /// Update event interrupt enable. UEIE: u1, - /// Repetition register update OK interrupt Enable. + /// Repetition register update OK interrupt Enable. REPOKIE: u1, padding: u23, }), - /// LPTIM configuration register. + /// LPTIM configuration register. CFGR: mmio.Mmio(packed struct(u32) { - /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. - CKSEL: packed union { - raw: u1, - value: ClockSource, - }, - /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. - CKPOL: packed union { - raw: u2, - value: CKPOL, - }, - /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. - CKFLT: packed union { - raw: u2, - value: Filter, - }, + /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. + CKSEL: ClockSource, + /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. + CKPOL: CKPOL, + /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. + CKFLT: Filter, reserved6: u1, - /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. - TRGFLT: packed union { - raw: u2, - value: Filter, - }, + /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. + TRGFLT: Filter, reserved9: u1, - /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. - PRESC: packed union { - raw: u3, - value: PRESC, - }, + /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. + PRESC: PRESC, reserved13: u1, - /// Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details. + /// Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details. TRIGSEL: u3, reserved17: u1, - /// Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:. - TRIGEN: packed union { - raw: u2, - value: TRIGEN, - }, - /// Timeout enable The TIMOUT bit controls the Timeout feature. + /// Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:. + TRIGEN: TRIGEN, + /// Timeout enable The TIMOUT bit controls the Timeout feature. TIMOUT: u1, - /// Waveform shape The WAVE bit controls the output shape. + /// Waveform shape The WAVE bit controls the output shape. WAVE: u1, - /// Waveform shape polarity The WAVEPOL bit controls the output polarity Note: If the LPTIM implements at least one capture/compare channel, this bit is reserved. Please refer to. - WAVPOL: packed union { - raw: u1, - value: WAVPOL, - }, - /// Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality. + /// Waveform shape polarity The WAVEPOL bit controls the output polarity Note: If the LPTIM implements at least one capture/compare channel, this bit is reserved. Please refer to. + WAVPOL: WAVPOL, + /// Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality. PRELOAD: u1, - /// counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:. - COUNTMODE: packed union { - raw: u1, - value: ClockSource, - }, - /// Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:. + COUNTMODE: ClockSource, + /// Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. ENC: u1, padding: u7, }), - /// LPTIM control register. + /// LPTIM control register. CR: mmio.Mmio(packed struct(u32) { - /// LPTIM enable The ENABLE bit is set and cleared by software. + /// LPTIM enable The ENABLE bit is set and cleared by software. ENABLE: u1, - /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. + /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. SNGSTRT: u1, - /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. + /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. CNTSTRT: u1, - /// Counter reset This bit is set by software and cleared by hardware. When set to '1' this bit triggers a synchronous reset of the LPTIM_CNT counter register. Due to the synchronous nature of this reset, it only takes place after a synchronization delay of 3 LPTimer core clock cycles (LPTimer core clock may be different from APB clock). This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. COUNTRST must never be set to '1' by software before it is already cleared to '0' by hardware. Software should consequently check that COUNTRST bit is already cleared to '0' before attempting to set it to '1'. + /// Counter reset This bit is set by software and cleared by hardware. When set to '1' this bit triggers a synchronous reset of the LPTIM_CNT counter register. Due to the synchronous nature of this reset, it only takes place after a synchronization delay of 3 LPTimer core clock cycles (LPTimer core clock may be different from APB clock). This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. COUNTRST must never be set to '1' by software before it is already cleared to '0' by hardware. Software should consequently check that COUNTRST bit is already cleared to '0' before attempting to set it to '1'. COUNTRST: u1, - /// Reset after read enable This bit is set and cleared by software. When RSTARE is set to '1', any read access to LPTIM_CNT register asynchronously resets LPTIM_CNT register content. This bit can be set only when the LPTIM is enabled. + /// Reset after read enable This bit is set and cleared by software. When RSTARE is set to '1', any read access to LPTIM_CNT register asynchronously resets LPTIM_CNT register content. This bit can be set only when the LPTIM is enabled. RSTARE: u1, padding: u27, }), - /// LPTIM compare register 1. + /// LPTIM compare register 1. CCR: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. + /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. CCR: u16, padding: u16, }), - /// LPTIM autoreload register. + /// LPTIM autoreload register. ARR: mmio.Mmio(packed struct(u32) { - /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. + /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. ARR: u16, padding: u16, }), - /// LPTIM counter register. + /// LPTIM counter register. CNT: mmio.Mmio(packed struct(u32) { - /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. + /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. CNT: u16, padding: u16, }), reserved36: [4]u8, - /// LPTIM configuration register 2. + /// LPTIM configuration register 2. CFGR2: mmio.Mmio(packed struct(u32) { - /// LPTIM input 1 selection The IN1SEL bits control the LPTIM input 1 multiplexer, which connects LPTIM input 1 to one of the available inputs. For connection details refer to. + /// LPTIM input 1 selection The IN1SEL bits control the LPTIM input 1 multiplexer, which connects LPTIM input 1 to one of the available inputs. For connection details refer to. INSEL: u2, reserved16: u14, - /// LPTIM input capture 1 selection The IC1SEL bits control the LPTIM Input capture 1 multiplexer, which connects LPTIM Input capture 1 to one of the available inputs. For connection details refer to. + /// LPTIM input capture 1 selection The IC1SEL bits control the LPTIM Input capture 1 multiplexer, which connects LPTIM Input capture 1 to one of the available inputs. For connection details refer to. ICSEL: u2, padding: u14, }), - /// LPTIM repetition register. + /// LPTIM repetition register. RCR: mmio.Mmio(packed struct(u32) { - /// Repetition register value REP is the repetition value for the LPTIM. + /// Repetition register value REP is the repetition value for the LPTIM. REP: u8, padding: u24, }), @@ -354146,26 +350567,26 @@ pub const types = struct { }; pub const CCSEL = enum(u1) { - /// channel is configured in output PWM mode + /// channel is configured in output PWM mode OutputCompare = 0x0, - /// channel is configured in input capture mode + /// channel is configured in input capture mode InputCapture = 0x1, }; pub const CKPOL = enum(u2) { - /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. + /// the rising edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. Rising = 0x0, - /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. + /// the falling edge is the active edge used for counting. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Falling = 0x1, - /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. + /// both edges are active edges. When both external clock signal edges are considered active ones, the LPTIM must also be clocked by an internal clock source with a frequency equal to at least four times the external clock frequency. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 3 is active. Both = 0x2, _, }; pub const ClockSource = enum(u1) { - /// clocked by internal clock source (APB clock or any of the embedded oscillators) + /// clocked by internal clock source (APB clock or any of the embedded oscillators) Internal = 0x0, - /// clocked by an external clock source through the LPTIM external Input1 + /// clocked by an external clock source through the LPTIM external Input1 External = 0x1, }; @@ -354188,230 +350609,197 @@ pub const types = struct { }; pub const TRIGEN = enum(u2) { - /// software trigger (counting start is initiated by software) + /// software trigger (counting start is initiated by software) Software = 0x0, - /// rising edge is the active edge + /// rising edge is the active edge RisingEdge = 0x1, - /// falling edge is the active edge + /// falling edge is the active edge FallingEdge = 0x2, - /// both edges are active edges + /// both edges are active edges BothEdge = 0x3, }; - /// Low power timer with Output Compare + /// Low power timer with Output Compare pub const LPTIM = extern struct { - /// LPTIM interrupt and status register. + /// LPTIM interrupt and status register. ISR: mmio.Mmio(packed struct(u32) { - /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. + /// Compare 1 interrupt flag The CC1IF flag is set by hardware to inform application that LPTIM_CNT register value matches the compare register's value. The CC1IF flag can be cleared by writing 1 to the CC1CF bit in the LPTIM_ICR register. CCIF: u1, - /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. + /// Autoreload match ARRM is set by hardware to inform application that LPTIM_CNT register’s value reached the LPTIM_ARR register’s value. ARRM flag can be cleared by writing 1 to the ARRMCF bit in the LPTIM_ICR register. ARRM: u1, - /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. + /// External trigger edge event EXTTRIG is set by hardware to inform application that a valid edge on the selected external trigger input has occurred. If the trigger is ignored because the timer has already started, then this flag is not set. EXTTRIG flag can be cleared by writing 1 to the EXTTRIGCF bit in the LPTIM_ICR register. EXTTRIG: u1, - /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. + /// Compare register 1 update OK CMP1OK is set by hardware to inform application that the APB bus write operation to the LPTIM_CCR1 register has been successfully completed. CMP1OK flag can be cleared by writing 1 to the CMP1OKCF bit in the LPTIM_ICR register. CMPOK: u1, - /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. + /// Autoreload register update OK ARROK is set by hardware to inform application that the APB bus write operation to the LPTIM_ARR register has been successfully completed. ARROK flag can be cleared by writing 1 to the ARROKCF bit in the LPTIM_ICR register. ARROK: u1, - /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change down to up In Encoder mode, UP bit is set by hardware to inform application that the counter direction has changed from down to up. UP flag can be cleared by writing 1 to the UPCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UP: u1, - /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Counter direction change up to down In Encoder mode, DOWN bit is set by hardware to inform application that the counter direction has changed from up to down. DOWN flag can be cleared by writing 1 to the DOWNCF bit in the LPTIM_ICR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWN: u1, - /// LPTIM update event occurred UE is set by hardware to inform application that an update event was generated. UE flag can be cleared by writing 1 to the UECF bit in the LPTIM_ICR register. + /// LPTIM update event occurred UE is set by hardware to inform application that an update event was generated. UE flag can be cleared by writing 1 to the UECF bit in the LPTIM_ICR register. UE: u1, - /// Repetition register update OK REPOK is set by hardware to inform application that the APB bus write operation to the LPTIM_RCR register has been successfully completed. REPOK flag can be cleared by writing 1 to the REPOKCF bit in the LPTIM_ICR register. + /// Repetition register update OK REPOK is set by hardware to inform application that the APB bus write operation to the LPTIM_RCR register has been successfully completed. REPOK flag can be cleared by writing 1 to the REPOKCF bit in the LPTIM_ICR register. REPOK: u1, reserved12: u3, - /// Capture 1 over-capture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing 1 to the CC1OCF bit in the LPTIM_ICR register. Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. + /// Capture 1 over-capture flag This flag is set by hardware only when the corresponding channel is configured in input capture mode. It is cleared by software by writing 1 to the CC1OCF bit in the LPTIM_ICR register. Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. CCOF: u1, reserved24: u11, - /// Interrupt enable register update OK DIEROK is set by hardware to inform application that the APB bus write operation to the LPTIM_DIER register has been successfully completed. DIEROK flag can be cleared by writing 1 to the DIEROKCF bit in the LPTIM_ICR register. + /// Interrupt enable register update OK DIEROK is set by hardware to inform application that the APB bus write operation to the LPTIM_DIER register has been successfully completed. DIEROK flag can be cleared by writing 1 to the DIEROKCF bit in the LPTIM_ICR register. DIEROK: u1, padding: u7, }), - /// LPTIM interrupt clear register. + /// LPTIM interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. + /// Capture/compare 1 clear flag Writing 1 to this bit clears the CC1IF flag in the LPTIM_ISR register. CCCF: u1, - /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. + /// Autoreload match clear flag Writing 1 to this bit clears the ARRM flag in the LPTIM_ISR register. ARRMCF: u1, - /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. + /// External trigger valid edge clear flag Writing 1 to this bit clears the EXTTRIG flag in the LPTIM_ISR register. EXTTRIGCF: u1, - /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. + /// Compare register 1 update OK clear flag Writing 1 to this bit clears the CMP1OK flag in the LPTIM_ISR register. CMPOKCF: u1, - /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. + /// Autoreload register update OK clear flag Writing 1 to this bit clears the ARROK flag in the LPTIM_ISR register. ARROKCF: u1, - /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP clear flag Writing 1 to this bit clear the UP flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPCF: u1, - /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down clear flag Writing 1 to this bit clear the DOWN flag in the LPTIM_ISR register. Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNCF: u1, - /// Update event clear flag Writing 1 to this bit clear the UE flag in the LPTIM_ISR register. + /// Update event clear flag Writing 1 to this bit clear the UE flag in the LPTIM_ISR register. UECF: u1, - /// Repetition register update OK clear flag Writing 1 to this bit clears the REPOK flag in the LPTIM_ISR register. + /// Repetition register update OK clear flag Writing 1 to this bit clears the REPOK flag in the LPTIM_ISR register. REPOKCF: u1, reserved12: u3, - /// Capture/compare 1 over-capture clear flag Writing 1 to this bit clears the CC1OF flag in the LPTIM_ISR register. Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. + /// Capture/compare 1 over-capture clear flag Writing 1 to this bit clears the CC1OF flag in the LPTIM_ISR register. Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. CCOCF: u1, reserved24: u11, - /// Interrupt enable register update OK clear flag Writing 1 to this bit clears the DIEROK flag in the LPTIM_ISR register. + /// Interrupt enable register update OK clear flag Writing 1 to this bit clears the DIEROK flag in the LPTIM_ISR register. DIEROKCF: u1, padding: u7, }), - /// LPTIM interrupt enable register. + /// LPTIM interrupt enable register. DIER: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 interrupt enable. + /// Capture/compare 1 interrupt enable. CCIE: u1, - /// Autoreload match Interrupt Enable. + /// Autoreload match Interrupt Enable. ARRMIE: u1, - /// External trigger valid edge Interrupt Enable. + /// External trigger valid edge Interrupt Enable. EXTTRIGIE: u1, - /// Compare register 1 update OK interrupt enable. + /// Compare register 1 update OK interrupt enable. CMPOKIE: u1, - /// Autoreload register update OK Interrupt Enable. + /// Autoreload register update OK Interrupt Enable. ARROKIE: u1, - /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to UP Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. UPIE: u1, - /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// Direction change to down Interrupt Enable Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. DOWNIE: u1, - /// Update event interrupt enable. + /// Update event interrupt enable. UEIE: u1, - /// Repetition register update OK interrupt Enable. + /// Repetition register update OK interrupt Enable. REPOKIE: u1, reserved12: u3, - /// Capture/compare 1 over-capture interrupt enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. + /// Capture/compare 1 over-capture interrupt enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. CCOIE: u1, reserved16: u3, - /// Capture/compare 1 DMA request enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. + /// Capture/compare 1 DMA request enable Note: If LPTIM does not implement at least 1 channel this bit is reserved. Please refer to. CCDE: u1, padding: u15, }), - /// LPTIM configuration register. + /// LPTIM configuration register. CFGR: mmio.Mmio(packed struct(u32) { - /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. - CKSEL: packed union { - raw: u1, - value: ClockSource, - }, - /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. - CKPOL: packed union { - raw: u2, - value: CKPOL, - }, - /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. - CKFLT: packed union { - raw: u2, - value: Filter, - }, + /// Clock selector The CKSEL bit selects which clock source the LPTIM uses:. + CKSEL: ClockSource, + /// Clock Polarity When the LPTIM is clocked by an external clock source, CKPOL bits is used to configure the active edge or edges used by the counter: If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 1 is active. If the LPTIM is configured in Encoder mode (ENC bit is set), the encoder sub-mode 2 is active. Refer to for more details about Encoder mode sub-modes. + CKPOL: CKPOL, + /// Configurable digital filter for external clock The CKFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an external clock signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. + CKFLT: Filter, reserved6: u1, - /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. - TRGFLT: packed union { - raw: u2, - value: Filter, - }, + /// Configurable digital filter for trigger The TRGFLT value sets the number of consecutive equal samples that should be detected when a level change occurs on an internal trigger before it is considered as a valid level transition. An internal clock source must be present to use this feature. + TRGFLT: Filter, reserved9: u1, - /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. - PRESC: packed union { - raw: u3, - value: PRESC, - }, + /// Clock prescaler The PRESC bits configure the prescaler division factor. It can be one among the following division factors:. + PRESC: PRESC, reserved13: u1, - /// Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details. + /// Trigger selector The TRIGSEL bits select the trigger source that serves as a trigger event for the LPTIM among the below 8 available sources: See for details. TRIGSEL: u3, reserved17: u1, - /// Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:. - TRIGEN: packed union { - raw: u2, - value: TRIGEN, - }, - /// Timeout enable The TIMOUT bit controls the Timeout feature. + /// Trigger enable and polarity The TRIGEN bits controls whether the LPTIM counter is started by an external trigger or not. If the external trigger option is selected, three configurations are possible for the trigger active edge:. + TRIGEN: TRIGEN, + /// Timeout enable The TIMOUT bit controls the Timeout feature. TIMOUT: u1, - /// Waveform shape The WAVE bit controls the output shape. + /// Waveform shape The WAVE bit controls the output shape. WAVE: u1, reserved22: u1, - /// Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality. + /// Registers update mode The PRELOAD bit controls the LPTIM_ARR, LPTIM_RCR and the LPTIM_CCRx registers update modality. PRELOAD: u1, - /// counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:. - COUNTMODE: packed union { - raw: u1, - value: ClockSource, - }, - /// Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. + /// counter mode enabled The COUNTMODE bit selects which clock source is used by the LPTIM to clock the counter:. + COUNTMODE: ClockSource, + /// Encoder mode enable The ENC bit controls the Encoder mode Note: If the LPTIM does not support encoder mode feature, this bit is reserved. Please refer to. ENC: u1, padding: u7, }), - /// LPTIM control register. + /// LPTIM control register. CR: mmio.Mmio(packed struct(u32) { - /// LPTIM enable The ENABLE bit is set and cleared by software. + /// LPTIM enable The ENABLE bit is set and cleared by software. ENABLE: u1, - /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. + /// LPTIM start in Single mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in single pulse mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the LPTIM in single pulse mode as soon as an external trigger is detected. If this bit is set when the LPTIM is in continuous counting mode, then the LPTIM stops at the following match between LPTIM_ARR and LPTIM_CNT registers. This bit can only be set when the LPTIM is enabled. It is automatically reset by hardware. SNGSTRT: u1, - /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. + /// Timer start in Continuous mode This bit is set by software and cleared by hardware. In case of software start (TRIGEN[1:0] = ‘00’), setting this bit starts the LPTIM in Continuous mode. If the software start is disabled (TRIGEN[1:0] different than ‘00’), setting this bit starts the timer in Continuous mode as soon as an external trigger is detected. If this bit is set when a single pulse mode counting is ongoing, then the timer does not stop at the next match between the LPTIM_ARR and LPTIM_CNT registers and the LPTIM counter keeps counting in Continuous mode. This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. CNTSTRT: u1, - /// Counter reset This bit is set by software and cleared by hardware. When set to '1' this bit triggers a synchronous reset of the LPTIM_CNT counter register. Due to the synchronous nature of this reset, it only takes place after a synchronization delay of 3 LPTimer core clock cycles (LPTimer core clock may be different from APB clock). This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. COUNTRST must never be set to '1' by software before it is already cleared to '0' by hardware. Software should consequently check that COUNTRST bit is already cleared to '0' before attempting to set it to '1'. + /// Counter reset This bit is set by software and cleared by hardware. When set to '1' this bit triggers a synchronous reset of the LPTIM_CNT counter register. Due to the synchronous nature of this reset, it only takes place after a synchronization delay of 3 LPTimer core clock cycles (LPTimer core clock may be different from APB clock). This bit can be set only when the LPTIM is enabled. It is automatically reset by hardware. COUNTRST must never be set to '1' by software before it is already cleared to '0' by hardware. Software should consequently check that COUNTRST bit is already cleared to '0' before attempting to set it to '1'. COUNTRST: u1, - /// Reset after read enable This bit is set and cleared by software. When RSTARE is set to '1', any read access to LPTIM_CNT register asynchronously resets LPTIM_CNT register content. This bit can be set only when the LPTIM is enabled. + /// Reset after read enable This bit is set and cleared by software. When RSTARE is set to '1', any read access to LPTIM_CNT register asynchronously resets LPTIM_CNT register content. This bit can be set only when the LPTIM is enabled. RSTARE: u1, padding: u27, }), - /// LPTIM compare register 1. + /// LPTIM compare register 1. CCR: mmio.Mmio(packed struct(u32) { - /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. + /// Capture/compare 1 value If channel CC1 is configured as output: CCR1 is the value to be loaded in the capture/compare 1 register. Depending on the PRELOAD option, the CCR1 register is immediately updated if the PRELOAD bit is reset and updated at next LPTIM update event if PREOAD bit is reset. The capture/compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on OC1 output. If channel CC1 is configured as input: CCR1 contains the counter value transferred by the last input capture 1 event. The LPTIM_CCR1 register is read-only and cannot be programmed. If LPTIM does not implement any channel: The compare register 1 contains the value to be compared to the counter LPTIM_CNT and signaled on LPTIM output. CCR: u16, padding: u16, }), - /// LPTIM autoreload register. + /// LPTIM autoreload register. ARR: mmio.Mmio(packed struct(u32) { - /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. + /// Auto reload value ARR is the autoreload value for the LPTIM. This value must be strictly greater than the CCRx[15:0] value. ARR: u16, padding: u16, }), - /// LPTIM counter register. + /// LPTIM counter register. CNT: mmio.Mmio(packed struct(u32) { - /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. + /// Counter value When the LPTIM is running with an asynchronous clock, reading the LPTIM_CNT register may return unreliable values. So in this case it is necessary to perform two consecutive read accesses and verify that the two returned values are identical. CNT: u16, padding: u16, }), reserved36: [4]u8, - /// LPTIM configuration register 2. + /// LPTIM configuration register 2. CFGR2: mmio.Mmio(packed struct(u32) { - /// LPTIM input 1 selection The IN1SEL bits control the LPTIM input 1 multiplexer, which connects LPTIM input 1 to one of the available inputs. For connection details refer to. + /// LPTIM input 1 selection The IN1SEL bits control the LPTIM input 1 multiplexer, which connects LPTIM input 1 to one of the available inputs. For connection details refer to. INSEL: u2, reserved16: u14, - /// LPTIM input capture 1 selection The IC1SEL bits control the LPTIM Input capture 1 multiplexer, which connects LPTIM Input capture 1 to one of the available inputs. For connection details refer to. + /// LPTIM input capture 1 selection The IC1SEL bits control the LPTIM Input capture 1 multiplexer, which connects LPTIM Input capture 1 to one of the available inputs. For connection details refer to. ICSEL: u2, padding: u14, }), - /// LPTIM repetition register. + /// LPTIM repetition register. RCR: mmio.Mmio(packed struct(u32) { - /// Repetition register value REP is the repetition value for the LPTIM. + /// Repetition register value REP is the repetition value for the LPTIM. REP: u8, padding: u24, }), - /// LPTIM capture/compare mode register. + /// LPTIM capture/compare mode register. CCMR: mmio.Mmio(packed struct(u32) { - /// Capture/compare selection. This bitfield defines the direction of the channel input (capture) or output mode. - CCSEL: packed union { - raw: u1, - value: CCSEL, - }, - /// Capture/compare output enable. This bit determines if a capture of the counter value can actually be done into the input capture/compare register 1 (LPTIM_CCR1) or not. + /// Capture/compare selection. This bitfield defines the direction of the channel input (capture) or output mode. + CCSEL: CCSEL, + /// Capture/compare output enable. This bit determines if a capture of the counter value can actually be done into the input capture/compare register 1 (LPTIM_CCR1) or not. CCE: u1, - /// Capture/compare output polarity. Only bit2 is used to set polarity when output mode is enabled, bit3 is don't care. This field is used to select the IC1 polarity for capture operations. - CCP_Input: packed union { - raw: u2, - value: CCP_Input, - }, + /// Capture/compare output polarity. Only bit2 is used to set polarity when output mode is enabled, bit3 is don't care. This field is used to select the IC1 polarity for capture operations. + CCP_Input: CCP_Input, reserved8: u4, - /// Input capture prescaler This bitfield defines the ratio of the prescaler acting on the CC1 input (IC1). - ICPSC: packed union { - raw: u2, - value: Filter, - }, + /// Input capture prescaler This bitfield defines the ratio of the prescaler acting on the CC1 input (IC1). + ICPSC: Filter, reserved12: u2, - /// Input capture filter This bitfield defines the number of consecutive equal samples that should be detected when a level change occurs on an external input capture signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. - ICF: packed union { - raw: u2, - value: Filter, - }, + /// Input capture filter This bitfield defines the number of consecutive equal samples that should be detected when a level change occurs on an external input capture signal before it is considered as a valid level transition. An internal clock source must be present to use this feature. + ICF: Filter, padding: u18, }), }; @@ -354419,476 +350807,437 @@ pub const types = struct { pub const ltdc_v1 = struct { pub const BF1 = enum(u3) { - /// BF1 = constant alpha + /// BF1 = constant alpha Constant = 0x4, - /// BF1 = pixel alpha * constant alpha + /// BF1 = pixel alpha * constant alpha Pixel = 0x7, _, }; pub const BF2 = enum(u3) { - /// BF2 = 1 - constant alpha + /// BF2 = 1 - constant alpha Constant = 0x5, - /// BF2 = 1 - pixel alpha * constant alpha + /// BF2 = 1 - pixel alpha * constant alpha Pixel = 0x7, _, }; pub const CFUIF = enum(u1) { - /// Clears the FUIF flag in the ISR register + /// Clears the FUIF flag in the ISR register Clear = 0x1, _, }; pub const CLIF = enum(u1) { - /// Clears the LIF flag in the ISR register + /// Clears the LIF flag in the ISR register Clear = 0x1, _, }; pub const CRRIF = enum(u1) { - /// Clears the RRIF flag in the ISR register + /// Clears the RRIF flag in the ISR register Clear = 0x1, _, }; pub const CTERRIF = enum(u1) { - /// Clears the TERRIF flag in the ISR register + /// Clears the TERRIF flag in the ISR register Clear = 0x1, _, }; pub const DEPOL = enum(u1) { - /// Data enable polarity is active low + /// Data enable polarity is active low ActiveLow = 0x0, - /// Data enable polarity is active high + /// Data enable polarity is active high ActiveHigh = 0x1, }; pub const HSPOL = enum(u1) { - /// Horizontal synchronization polarity is active low + /// Horizontal synchronization polarity is active low ActiveLow = 0x0, - /// Horizontal synchronization polarity is active high + /// Horizontal synchronization polarity is active high ActiveHigh = 0x1, }; pub const IMR = enum(u1) { - /// This bit is set by software and cleared only by hardware after reload (it cannot be cleared through register write once it is set) + /// This bit is set by software and cleared only by hardware after reload (it cannot be cleared through register write once it is set) NoEffect = 0x0, - /// The shadow registers are reloaded immediately. This bit is set by software and cleared only by hardware after reload + /// The shadow registers are reloaded immediately. This bit is set by software and cleared only by hardware after reload Reload = 0x1, }; pub const PCPOL = enum(u1) { - /// Pixel clock on rising edge + /// Pixel clock on rising edge RisingEdge = 0x0, - /// Pixel clock on falling edge + /// Pixel clock on falling edge FallingEdge = 0x1, }; pub const PF = enum(u3) { - /// ARGB8888 + /// ARGB8888 ARGB8888 = 0x0, - /// RGB888 + /// RGB888 RGB888 = 0x1, - /// RGB565 + /// RGB565 RGB565 = 0x2, - /// ARGB1555 + /// ARGB1555 ARGB1555 = 0x3, - /// ARGB4444 + /// ARGB4444 ARGB4444 = 0x4, - /// L8 (8-bit luminance) + /// L8 (8-bit luminance) L8 = 0x5, - /// AL44 (4-bit alpha, 4-bit luminance) + /// AL44 (4-bit alpha, 4-bit luminance) AL44 = 0x6, - /// AL88 (8-bit alpha, 8-bit luminance) + /// AL88 (8-bit alpha, 8-bit luminance) AL88 = 0x7, }; pub const VBR = enum(u1) { - /// This bit is set by software and cleared only by hardware after reload (it cannot be cleared through register write once it is set) + /// This bit is set by software and cleared only by hardware after reload (it cannot be cleared through register write once it is set) NoEffect = 0x0, - /// The shadow registers are reloaded during the vertical blanking period (at the beginning of the first line after the active display area). + /// The shadow registers are reloaded during the vertical blanking period (at the beginning of the first line after the active display area). Reload = 0x1, }; pub const VSPOL = enum(u1) { - /// Vertical synchronization polarity is active low + /// Vertical synchronization polarity is active low ActiveLow = 0x0, - /// Vertical synchronization polarity is active high + /// Vertical synchronization polarity is active high ActiveHigh = 0x1, }; - /// Cluster LAYER%s, containing L?CR, L?WHPCR, L?WVPCR, L?CKCR, L?PFCR, L?CACR, L?DCCR, L?BFCR, L?CFBAR, L?CFBLR, L?CFBLNR, L?CLUTWR + /// Cluster LAYER%s, containing L?CR, L?WHPCR, L?WVPCR, L?CKCR, L?PFCR, L?CACR, L?DCCR, L?BFCR, L?CFBAR, L?CFBLR, L?CFBLNR, L?CLUTWR pub const LAYER = extern struct { - /// Layerx Control Register + /// Layerx Control Register CR: mmio.Mmio(packed struct(u32) { - /// Layer Enable + /// Layer Enable LEN: u1, - /// Color Keying Enable + /// Color Keying Enable COLKEN: u1, reserved4: u2, - /// Color Look-Up Table Enable + /// Color Look-Up Table Enable CLUTEN: u1, padding: u27, }), - /// Layerx Window Horizontal Position Configuration Register + /// Layerx Window Horizontal Position Configuration Register WHPCR: mmio.Mmio(packed struct(u32) { - /// Window Horizontal Start Position + /// Window Horizontal Start Position WHSTPOS: u12, reserved16: u4, - /// Window Horizontal Stop Position + /// Window Horizontal Stop Position WHSPPOS: u12, padding: u4, }), - /// Layerx Window Vertical Position Configuration Register + /// Layerx Window Vertical Position Configuration Register WVPCR: mmio.Mmio(packed struct(u32) { - /// Window Vertical Start Position + /// Window Vertical Start Position WVSTPOS: u11, reserved16: u5, - /// Window Vertical Stop Position + /// Window Vertical Stop Position WVSPPOS: u11, padding: u5, }), - /// Layerx Color Keying Configuration Register + /// Layerx Color Keying Configuration Register CKCR: mmio.Mmio(packed struct(u32) { - /// Color Key Blue value + /// Color Key Blue value CKBLUE: u8, - /// Color Key Green value + /// Color Key Green value CKGREEN: u8, - /// Color Key Red value + /// Color Key Red value CKRED: u8, padding: u8, }), - /// Layerx Pixel Format Configuration Register + /// Layerx Pixel Format Configuration Register PFCR: mmio.Mmio(packed struct(u32) { - /// Pixel Format - PF: packed union { - raw: u3, - value: PF, - }, + /// Pixel Format + PF: PF, padding: u29, }), - /// Layerx Constant Alpha Configuration Register + /// Layerx Constant Alpha Configuration Register CACR: mmio.Mmio(packed struct(u32) { - /// Constant Alpha + /// Constant Alpha CONSTA: u8, padding: u24, }), - /// Layerx Default Color Configuration Register + /// Layerx Default Color Configuration Register DCCR: mmio.Mmio(packed struct(u32) { - /// Default Color Blue + /// Default Color Blue DCBLUE: u8, - /// Default Color Green + /// Default Color Green DCGREEN: u8, - /// Default Color Red + /// Default Color Red DCRED: u8, - /// Default Color Alpha + /// Default Color Alpha DCALPHA: u8, }), - /// Layerx Blending Factors Configuration Register + /// Layerx Blending Factors Configuration Register BFCR: mmio.Mmio(packed struct(u32) { - /// Blending Factor 2 - BF2: packed union { - raw: u3, - value: BF2, - }, + /// Blending Factor 2 + BF2: BF2, reserved8: u5, - /// Blending Factor 1 - BF1: packed union { - raw: u3, - value: BF1, - }, + /// Blending Factor 1 + BF1: BF1, padding: u21, }), reserved40: [8]u8, - /// Layerx Color Frame Buffer Address Register + /// Layerx Color Frame Buffer Address Register CFBAR: mmio.Mmio(packed struct(u32) { - /// Color Frame Buffer Start Address + /// Color Frame Buffer Start Address CFBADD: u32, }), - /// Layerx Color Frame Buffer Length Register + /// Layerx Color Frame Buffer Length Register CFBLR: mmio.Mmio(packed struct(u32) { - /// Color Frame Buffer Line Length + /// Color Frame Buffer Line Length CFBLL: u13, reserved16: u3, - /// Color Frame Buffer Pitch in bytes + /// Color Frame Buffer Pitch in bytes CFBP: u13, padding: u3, }), - /// Layerx ColorFrame Buffer Line Number Register + /// Layerx ColorFrame Buffer Line Number Register CFBLNR: mmio.Mmio(packed struct(u32) { - /// Frame Buffer Line Number + /// Frame Buffer Line Number CFBLNBR: u11, padding: u21, }), reserved64: [12]u8, - /// Layerx CLUT Write Register + /// Layerx CLUT Write Register CLUTWR: mmio.Mmio(packed struct(u32) { - /// Blue value + /// Blue value BLUE: u8, - /// Green value + /// Green value GREEN: u8, - /// Red value + /// Red value RED: u8, - /// CLUT Address + /// CLUT Address CLUTADD: u8, }), }; - /// LCD-TFT Controller + /// LCD-TFT Controller pub const LTDC = extern struct { reserved8: [8]u8, - /// Synchronization Size Configuration Register + /// Synchronization Size Configuration Register SSCR: mmio.Mmio(packed struct(u32) { - /// Vertical Synchronization Height (in units of horizontal scan line) + /// Vertical Synchronization Height (in units of horizontal scan line) VSH: u11, reserved16: u5, - /// Horizontal Synchronization Width (in units of pixel clock period) + /// Horizontal Synchronization Width (in units of pixel clock period) HSW: u12, padding: u4, }), - /// Back Porch Configuration Register + /// Back Porch Configuration Register BPCR: mmio.Mmio(packed struct(u32) { - /// Accumulated Vertical back porch (in units of horizontal scan line) + /// Accumulated Vertical back porch (in units of horizontal scan line) AVBP: u11, reserved16: u5, - /// Accumulated Horizontal back porch (in units of pixel clock period) + /// Accumulated Horizontal back porch (in units of pixel clock period) AHBP: u12, padding: u4, }), - /// Active Width Configuration Register + /// Active Width Configuration Register AWCR: mmio.Mmio(packed struct(u32) { - /// Accumulated Active Height (in units of horizontal scan line) + /// Accumulated Active Height (in units of horizontal scan line) AAH: u11, reserved16: u5, - /// Accumulated Active Width (in units of pixel clock period) + /// Accumulated Active Width (in units of pixel clock period) AAW: u12, padding: u4, }), - /// Total Width Configuration Register + /// Total Width Configuration Register TWCR: mmio.Mmio(packed struct(u32) { - /// Total Height (in units of horizontal scan line) + /// Total Height (in units of horizontal scan line) TOTALH: u11, reserved16: u5, - /// Total Width (in units of pixel clock period) + /// Total Width (in units of pixel clock period) TOTALW: u12, padding: u4, }), - /// Global Control Register + /// Global Control Register GCR: mmio.Mmio(packed struct(u32) { - /// LCD-TFT controller enable bit + /// LCD-TFT controller enable bit LTDCEN: u1, reserved4: u3, - /// Dither Blue Width + /// Dither Blue Width DBW: u3, reserved8: u1, - /// Dither Green Width + /// Dither Green Width DGW: u3, reserved12: u1, - /// Dither Red Width + /// Dither Red Width DRW: u3, reserved16: u1, - /// Dither Enable + /// Dither Enable DEN: u1, reserved28: u11, - /// Pixel Clock Polarity - PCPOL: packed union { - raw: u1, - value: PCPOL, - }, - /// Data Enable Polarity - DEPOL: packed union { - raw: u1, - value: DEPOL, - }, - /// Vertical Synchronization Polarity - VSPOL: packed union { - raw: u1, - value: VSPOL, - }, - /// Horizontal Synchronization Polarity - HSPOL: packed union { - raw: u1, - value: HSPOL, - }, + /// Pixel Clock Polarity + PCPOL: PCPOL, + /// Data Enable Polarity + DEPOL: DEPOL, + /// Vertical Synchronization Polarity + VSPOL: VSPOL, + /// Horizontal Synchronization Polarity + HSPOL: HSPOL, }), reserved36: [8]u8, - /// Shadow Reload Configuration Register + /// Shadow Reload Configuration Register SRCR: mmio.Mmio(packed struct(u32) { - /// Immediate Reload - IMR: packed union { - raw: u1, - value: IMR, - }, - /// Vertical Blanking Reload - VBR: packed union { - raw: u1, - value: VBR, - }, + /// Immediate Reload + IMR: IMR, + /// Vertical Blanking Reload + VBR: VBR, padding: u30, }), reserved44: [4]u8, - /// Background Color Configuration Register + /// Background Color Configuration Register BCCR: mmio.Mmio(packed struct(u32) { - /// Background color blue value + /// Background color blue value BCBLUE: u8, - /// Background color green value + /// Background color green value BCGREEN: u8, - /// Background color red value + /// Background color red value BCRED: u8, padding: u8, }), reserved52: [4]u8, - /// Interrupt Enable Register + /// Interrupt Enable Register IER: mmio.Mmio(packed struct(u32) { - /// Line Interrupt Enable + /// Line Interrupt Enable LIE: u1, - /// FIFO Underrun Interrupt Enable + /// FIFO Underrun Interrupt Enable FUIE: u1, - /// Transfer Error Interrupt Enable + /// Transfer Error Interrupt Enable TERRIE: u1, - /// Register Reload interrupt enable + /// Register Reload interrupt enable RRIE: u1, padding: u28, }), - /// Interrupt Status Register + /// Interrupt Status Register ISR: mmio.Mmio(packed struct(u32) { - /// Line Interrupt flag + /// Line Interrupt flag LIF: u1, - /// FIFO Underrun Interrupt flag + /// FIFO Underrun Interrupt flag FUIF: u1, - /// Transfer Error interrupt flag + /// Transfer Error interrupt flag TERRIF: u1, - /// Register Reload Interrupt Flag + /// Register Reload Interrupt Flag RRIF: u1, padding: u28, }), - /// Interrupt Clear Register + /// Interrupt Clear Register ICR: mmio.Mmio(packed struct(u32) { - /// Clears the Line Interrupt Flag - CLIF: packed union { - raw: u1, - value: CLIF, - }, - /// Clears the FIFO Underrun Interrupt flag - CFUIF: packed union { - raw: u1, - value: CFUIF, - }, - /// Clears the Transfer Error Interrupt Flag - CTERRIF: packed union { - raw: u1, - value: CTERRIF, - }, - /// Clears Register Reload Interrupt Flag - CRRIF: packed union { - raw: u1, - value: CRRIF, - }, + /// Clears the Line Interrupt Flag + CLIF: CLIF, + /// Clears the FIFO Underrun Interrupt flag + CFUIF: CFUIF, + /// Clears the Transfer Error Interrupt Flag + CTERRIF: CTERRIF, + /// Clears Register Reload Interrupt Flag + CRRIF: CRRIF, padding: u28, }), - /// Line Interrupt Position Configuration Register + /// Line Interrupt Position Configuration Register LIPCR: mmio.Mmio(packed struct(u32) { - /// Line Interrupt Position + /// Line Interrupt Position LIPOS: u11, padding: u21, }), - /// Current Position Status Register + /// Current Position Status Register CPSR: mmio.Mmio(packed struct(u32) { - /// Current Y Position + /// Current Y Position CYPOS: u16, - /// Current X Position + /// Current X Position CXPOS: u16, }), - /// Current Display Status Register + /// Current Display Status Register CDSR: mmio.Mmio(packed struct(u32) { - /// Vertical Data Enable display Status + /// Vertical Data Enable display Status VDES: u1, - /// Horizontal Data Enable display Status + /// Horizontal Data Enable display Status HDES: u1, - /// Vertical Synchronization display Status + /// Vertical Synchronization display Status VSYNCS: u1, - /// Horizontal Synchronization display Status + /// Horizontal Synchronization display Status HSYNCS: u1, padding: u28, }), reserved132: [56]u8, - /// Cluster LAYER%s, containing L?CR, L?WHPCR, L?WVPCR, L?CKCR, L?PFCR, L?CACR, L?DCCR, L?BFCR, L?CFBAR, L?CFBLR, L?CFBLNR, L?CLUTWR + /// Cluster LAYER%s, containing L?CR, L?WHPCR, L?WVPCR, L?CKCR, L?PFCR, L?CACR, L?DCCR, L?BFCR, L?CFBAR, L?CFBLR, L?CFBLNR, L?CLUTWR LAYER: u32, }; }; pub const mdios_v1 = struct { - /// Management data input/output slave + /// Management data input/output slave pub const MDIOS = extern struct { - /// MDIOS configuration register + /// MDIOS configuration register CR: mmio.Mmio(packed struct(u32) { - /// Peripheral enable + /// Peripheral enable EN: u1, - /// Register write interrupt enable + /// Register write interrupt enable WRIE: u1, - /// Register Read Interrupt Enable + /// Register Read Interrupt Enable RDIE: u1, - /// Error interrupt enable + /// Error interrupt enable EIE: u1, reserved7: u3, - /// Disable Preamble Check + /// Disable Preamble Check DPC: u1, - /// Slaves's address + /// Slaves's address PORT_ADDRESS: u5, padding: u19, }), - /// MDIOS write flag register + /// MDIOS write flag register WRFR: mmio.Mmio(packed struct(u32) { - /// Write flags for MDIO registers 0 to 31 + /// Write flags for MDIO registers 0 to 31 WRF: u32, }), - /// MDIOS clear write flag register + /// MDIOS clear write flag register CWRFR: mmio.Mmio(packed struct(u32) { - /// Clear the write flag + /// Clear the write flag CWRF: u32, }), - /// MDIOS read flag register + /// MDIOS read flag register RDFR: mmio.Mmio(packed struct(u32) { - /// Read flags for MDIO registers 0 to 31 + /// Read flags for MDIO registers 0 to 31 RDF: u32, }), - /// MDIOS clear read flag register + /// MDIOS clear read flag register CRDFR: mmio.Mmio(packed struct(u32) { - /// Clear the read flag + /// Clear the read flag CRDF: u32, }), - /// MDIOS status register + /// MDIOS status register SR: mmio.Mmio(packed struct(u32) { - /// Preamble error flag + /// Preamble error flag PERF: u1, - /// Start error flag + /// Start error flag SERF: u1, - /// Turnaround error flag + /// Turnaround error flag TERF: u1, padding: u29, }), - /// MDIOS clear flag register + /// MDIOS clear flag register CLRFR: mmio.Mmio(packed struct(u32) { - /// Clear the preamble error flag + /// Clear the preamble error flag CPERF: u1, - /// Clear the start error flag + /// Clear the start error flag CSERF: u1, - /// Clear the turnaround error flag + /// Clear the turnaround error flag CTERF: u1, padding: u29, }), reserved256: [228]u8, - /// MDIOS input data register %s + /// MDIOS input data register %s DINR: [32]mmio.Mmio(packed struct(u32) { - /// Input data received from MDIO Master during write frames + /// Input data received from MDIO Master during write frames DIN: u16, padding: u16, }), - /// MDIOS output data register %s + /// MDIOS output data register %s DOUTR: [32]mmio.Mmio(packed struct(u32) { - /// Output data sent to MDIO Master during read frames + /// Output data sent to MDIO Master during read frames DOUT: u16, padding: u16, }), @@ -354897,524 +351246,437 @@ pub const types = struct { pub const octospi_v1 = struct { pub const FlashSelect = enum(u1) { - /// FLASH 1 selected (data exchanged over IO[3:0]) + /// FLASH 1 selected (data exchanged over IO[3:0]) FlashOne = 0x0, - /// FLASH 2 selected (data exchanged over IO[7:4]) + /// FLASH 2 selected (data exchanged over IO[7:4]) FlashTwo = 0x1, }; pub const FunctionalMode = enum(u2) { - /// Indirect-write mode + /// Indirect-write mode IndirectWrite = 0x0, - /// Indirect-read mode + /// Indirect-read mode IndirectRead = 0x1, - /// Automatic status-polling mode + /// Automatic status-polling mode AutoStatusPolling = 0x2, - /// Memory-mapped mode + /// Memory-mapped mode MemoryMapped = 0x3, }; pub const LatencyMode = enum(u1) { - /// Variable initial latency + /// Variable initial latency Variable = 0x0, - /// Fixed latency + /// Fixed latency Fixed = 0x1, }; pub const MatchMode = enum(u1) { - /// AND-match mode, SMF is set if all the unmasked bits received from the device match the corresponding bits in the match register. + /// AND-match mode, SMF is set if all the unmasked bits received from the device match the corresponding bits in the match register. MatchAnd = 0x0, - /// OR-match mode, SMF is set if any of the unmasked bits received from the device matches its corresponding bit in the match register. + /// OR-match mode, SMF is set if any of the unmasked bits received from the device matches its corresponding bit in the match register. MatchOr = 0x1, }; pub const MemType = enum(u3) { - /// Micron mode, D0/D1 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes. + /// Micron mode, D0/D1 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes. Micron = 0x0, - /// Macronix mode, D1/D0 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes. + /// Macronix mode, D1/D0 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes. Macronix = 0x1, - /// Standard mode + /// Standard mode B_Standard = 0x2, - /// Macronix RAM mode, D1/D0 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes with dedicated address mapping. + /// Macronix RAM mode, D1/D0 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes with dedicated address mapping. MacronixRam = 0x3, - /// HyperBus memory mode, the protocol follows the HyperBus specification. 8-data-bit DTR mode must be selected. + /// HyperBus memory mode, the protocol follows the HyperBus specification. 8-data-bit DTR mode must be selected. HyperBusMemory = 0x4, - /// HyperBus register mode, addressing register space. The memory-mapped accesses in. this mode must be non-cacheable, or Indirect read/write modes must be used. + /// HyperBus register mode, addressing register space. The memory-mapped accesses in. this mode must be non-cacheable, or Indirect read/write modes must be used. HyperBusRegister = 0x5, _, }; pub const PhaseMode = enum(u3) { - /// No alternate bytes + /// No alternate bytes None = 0x0, - /// Alternate bytes on a single line + /// Alternate bytes on a single line OneLine = 0x1, - /// Alternate bytes on two lines + /// Alternate bytes on two lines TwoLines = 0x2, - /// Alternate bytes on four lines + /// Alternate bytes on four lines FourLines = 0x3, - /// Alternate bytes on eight lines + /// Alternate bytes on eight lines EightLines = 0x4, _, }; pub const SampleShift = enum(u1) { - /// No shift + /// No shift None = 0x0, - /// 1/2 cycle shift + /// 1/2 cycle shift HalfCycle = 0x1, }; pub const SizeInBits = enum(u2) { - /// 8-bit alternate bytes + /// 8-bit alternate bytes @"8Bit" = 0x0, - /// 16-bit alternate bytes + /// 16-bit alternate bytes @"16Bit" = 0x1, - /// 24-bit alternate bytes + /// 24-bit alternate bytes @"24Bit" = 0x2, - /// 32-bit alternate bytes + /// 32-bit alternate bytes @"32Bit" = 0x3, }; pub const Threshold = enum(u5) { - /// FTF is set if there are one or more free bytes available to be written to in the FIFO in Indirect-write mode, or if there are one or more valid bytes can be read from the FIFO in Indirect-read mode. + /// FTF is set if there are one or more free bytes available to be written to in the FIFO in Indirect-write mode, or if there are one or more valid bytes can be read from the FIFO in Indirect-read mode. NeedOneByte = 0x0, - /// FTF is set if there are two or more free bytes available to be written to in the FIFO in Indirect‑write mode, or if there are two or more valid bytes can be read from the FIFO in Indirect-read mode. + /// FTF is set if there are two or more free bytes available to be written to in the FIFO in Indirect‑write mode, or if there are two or more valid bytes can be read from the FIFO in Indirect-read mode. NeedTwoBytes = 0x1, - /// FTF is set if there are 32 free bytes available to be written to in the FIFO in Indirect-write mode, or if there are 32 valid bytes can be read from the FIFO in Indirect-read mode. + /// FTF is set if there are 32 free bytes available to be written to in the FIFO in Indirect-write mode, or if there are 32 valid bytes can be read from the FIFO in Indirect-read mode. NeedThirtyTwoBytes = 0x1f, _, }; - /// OctoSPI + /// OctoSPI pub const OCTOSPI = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// Enable This bit enables the OCTOSPI. Note: The DMA request can be aborted without having received the ACK in case this EN bit is cleared during the operation. In case. this bit is set to 0 during a DMA transfer, the REQ signal to DMA returns to inactive state without waiting for the ACK signal from DMA to be active. + /// Enable This bit enables the OCTOSPI. Note: The DMA request can be aborted without having received the ACK in case this EN bit is cleared during the operation. In case. this bit is set to 0 during a DMA transfer, the REQ signal to DMA returns to inactive state without waiting for the ACK signal from DMA to be active. EN: u1, - /// Abort request. This bit aborts the ongoing command sequence. It is automatically reset once the abort is completed. This bit stops the current transfer. Note: This bit is always read as 0. + /// Abort request. This bit aborts the ongoing command sequence. It is automatically reset once the abort is completed. This bit stops the current transfer. Note: This bit is always read as 0. ABORT: u1, - /// DMA enable In Indirect mode, the DMA can be used to input or output data via DR. DMA transfers are initiated when FTF is set. Note: Resetting the DMAEN bit while a DMA transfer is ongoing, breaks the handshake with the DMA. Do not write. this bit during DMA operation. + /// DMA enable In Indirect mode, the DMA can be used to input or output data via DR. DMA transfers are initiated when FTF is set. Note: Resetting the DMAEN bit while a DMA transfer is ongoing, breaks the handshake with the DMA. Do not write. this bit during DMA operation. DMAEN: u1, - /// Timeout counter enable. This bit is valid only when the Memory-mapped mode (FMODE[1:0] = 11) is selected. This bit enables the timeout counter. + /// Timeout counter enable. This bit is valid only when the Memory-mapped mode (FMODE[1:0] = 11) is selected. This bit enables the timeout counter. TCEN: u1, reserved6: u2, - /// Dual-memory configuration. This bit activates the dual-memory configuration, where two external devices are used simultaneously to double the throughput and the capacity + /// Dual-memory configuration. This bit activates the dual-memory configuration, where two external devices are used simultaneously to double the throughput and the capacity DMM: u1, - /// Flash select. This bit selects the Flash memory to be addressed in Single-, Dual-, Quad-SPI mode in single-memory configuration (when DMM = 0). This bit is ignored when DMM = 1 or when Octal-SPI mode is selected. - FSEL: packed union { - raw: u1, - value: FlashSelect, - }, - /// FIFO threshold level. This field defines, in Indirect mode, the threshold number of bytes in the FIFO that causes the FIFO threshold flag FTF in SR, to be set. ... Note: If DMAEN = 1, the DMA controller for the corresponding channel must be disabled before changing the FTHRES[4:0] value. - FTHRES: packed union { - raw: u5, - value: Threshold, - }, + /// Flash select. This bit selects the Flash memory to be addressed in Single-, Dual-, Quad-SPI mode in single-memory configuration (when DMM = 0). This bit is ignored when DMM = 1 or when Octal-SPI mode is selected. + FSEL: FlashSelect, + /// FIFO threshold level. This field defines, in Indirect mode, the threshold number of bytes in the FIFO that causes the FIFO threshold flag FTF in SR, to be set. ... Note: If DMAEN = 1, the DMA controller for the corresponding channel must be disabled before changing the FTHRES[4:0] value. + FTHRES: Threshold, reserved16: u3, - /// Transfer error interrupt enable. This bit enables the transfer error interrupt. + /// Transfer error interrupt enable. This bit enables the transfer error interrupt. TEIE: u1, - /// Transfer complete interrupt enable. This bit enables the transfer complete interrupt. + /// Transfer complete interrupt enable. This bit enables the transfer complete interrupt. TCIE: u1, - /// FIFO threshold interrupt enable. This bit enables the FIFO threshold interrupt. + /// FIFO threshold interrupt enable. This bit enables the FIFO threshold interrupt. FTIE: u1, - /// Status match interrupt enable. This bit enables the status match interrupt. + /// Status match interrupt enable. This bit enables the status match interrupt. SMIE: u1, - /// Timeout interrupt enable. This bit enables the timeout interrupt. + /// Timeout interrupt enable. This bit enables the timeout interrupt. TOIE: u1, reserved22: u1, - /// Automatic status-polling mode stop. This bit determines if the Automatic status-polling mode is stopped after a match. + /// Automatic status-polling mode stop. This bit determines if the Automatic status-polling mode is stopped after a match. APMS: u1, - /// Polling match mode. This bit indicates which method must be used to determine a match during the Automatic status-polling mode. - PMM: packed union { - raw: u1, - value: MatchMode, - }, + /// Polling match mode. This bit indicates which method must be used to determine a match during the Automatic status-polling mode. + PMM: MatchMode, reserved28: u4, - /// Functional mode. This field defines the OCTOSPI functional mode of operation. If DMAEN = 1 already, then the DMA controller for the corresponding channel must be disabled before changing the FMODE[1:0] value. If FMODE[1:0] and FTHRES[4:0] are wrongly updated while DMAEN = 1, the DMA request signal automatically goes to inactive state. - FMODE: packed union { - raw: u2, - value: FunctionalMode, - }, + /// Functional mode. This field defines the OCTOSPI functional mode of operation. If DMAEN = 1 already, then the DMA controller for the corresponding channel must be disabled before changing the FMODE[1:0] value. If FMODE[1:0] and FTHRES[4:0] are wrongly updated while DMAEN = 1, the DMA request signal automatically goes to inactive state. + FMODE: FunctionalMode, padding: u2, }), reserved8: [4]u8, - /// device configuration register 1 + /// device configuration register 1 DCR1: mmio.Mmio(packed struct(u32) { - /// Mode 0/Mode 3 This bit indicates the level taken by the CLK between commands (when NCS = 1). + /// Mode 0/Mode 3 This bit indicates the level taken by the CLK between commands (when NCS = 1). CKMODE: u1, - /// Free running clock. This bit configures the free running clock. + /// Free running clock. This bit configures the free running clock. FRCK: u1, reserved3: u1, - /// Delay block bypass + /// Delay block bypass DLYBYP: u1, reserved8: u4, - /// Chip-select high time CSHT + 1 defines the minimum number of CLK cycles where the chip-select (NCS) must remain high between commands issued to the external device. ... + /// Chip-select high time CSHT + 1 defines the minimum number of CLK cycles where the chip-select (NCS) must remain high between commands issued to the external device. ... CSHT: u6, reserved16: u2, - /// Device size. This field defines the size of the external device using the following formula: Number of bytes in device = 2[DEVSIZE+1]. DEVSIZE+1 is effectively the number of address bits required to address the external device. The device capacity can be up to 4 Gbytes (addressed using 32-bits) in Indirect mode, but the addressable space in Memory-mapped mode is limited to 256 Mbytes. In Regular-command protocol, if DMM = 1, DEVSIZE[4:0] indicates the total capacity of the two devices together. + /// Device size. This field defines the size of the external device using the following formula: Number of bytes in device = 2[DEVSIZE+1]. DEVSIZE+1 is effectively the number of address bits required to address the external device. The device capacity can be up to 4 Gbytes (addressed using 32-bits) in Indirect mode, but the addressable space in Memory-mapped mode is limited to 256 Mbytes. In Regular-command protocol, if DMM = 1, DEVSIZE[4:0] indicates the total capacity of the two devices together. DEVSIZE: u5, reserved24: u3, - /// Memory type. This bit indicates the type of memory to be supported. Note: In. this mode, DQS signal polarity is inverted with respect to the memory clock signal. This is the default value and care must be taken to change MTYP[2:0] for memories different from Micron. Others: Reserved - MTYP: packed union { - raw: u3, - value: MemType, - }, + /// Memory type. This bit indicates the type of memory to be supported. Note: In. this mode, DQS signal polarity is inverted with respect to the memory clock signal. This is the default value and care must be taken to change MTYP[2:0] for memories different from Micron. Others: Reserved + MTYP: MemType, padding: u5, }), - /// device configuration register 2 + /// device configuration register 2 DCR2: mmio.Mmio(packed struct(u32) { - /// Clock prescaler. This field defines the scaler factor for generating the CLK based on the kernel clock (value + 1). 2: FCLK = FKERNEL/3 ... 255: FCLK = FKERNEL/256 For odd clock division factors, the CLK duty cycle is not 50 %. The clock signal remains low one cycle longer than it stays high. + /// Clock prescaler. This field defines the scaler factor for generating the CLK based on the kernel clock (value + 1). 2: FCLK = FKERNEL/3 ... 255: FCLK = FKERNEL/256 For odd clock division factors, the CLK duty cycle is not 50 %. The clock signal remains low one cycle longer than it stays high. PRESCALER: u8, reserved16: u8, - /// Wrap size. This field indicates the wrap size to which the memory is configured. For memories which have a separate command for wrapped instructions, this field indicates the wrap-size associated with the command held in the OCTOSPI1_WPIR register. 110-111: Reserved + /// Wrap size. This field indicates the wrap size to which the memory is configured. For memories which have a separate command for wrapped instructions, this field indicates the wrap-size associated with the command held in the OCTOSPI1_WPIR register. 110-111: Reserved WRAPSIZE: u3, padding: u13, }), - /// device configuration register 3 + /// device configuration register 3 DCR3: mmio.Mmio(packed struct(u32) { - /// Maximum transfer + /// Maximum transfer MAXTRAN: u8, reserved16: u8, - /// NCS boundary. This field enables the transaction boundary feature. When active, a minimum value of 3 is recommended. The NCS is released on each boundary of 2CSBOUND bytes. others: NCS boundary set to 2CSBOUND bytes + /// NCS boundary. This field enables the transaction boundary feature. When active, a minimum value of 3 is recommended. The NCS is released on each boundary of 2CSBOUND bytes. others: NCS boundary set to 2CSBOUND bytes CSBOUND: u5, padding: u11, }), - /// device configuration register 4 + /// device configuration register 4 DCR4: mmio.Mmio(packed struct(u32) { - /// Refresh rate. This field enables the refresh rate feature. The NCS is released every REFRESH + 1 clock cycles for writes, and REFRESH + 4 clock cycles for reads. Note: These two values can be extended with few clock cycles when refresh occurs during a byte transmission in Single-, Dual- or Quad-SPI mode, because the byte transmission must be completed. others: Maximum communication length is set to REFRESH + 1 clock cycles. + /// Refresh rate. This field enables the refresh rate feature. The NCS is released every REFRESH + 1 clock cycles for writes, and REFRESH + 4 clock cycles for reads. Note: These two values can be extended with few clock cycles when refresh occurs during a byte transmission in Single-, Dual- or Quad-SPI mode, because the byte transmission must be completed. others: Maximum communication length is set to REFRESH + 1 clock cycles. REFRESH: u32, }), reserved32: [8]u8, - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Transfer error flag. This bit is set in Indirect mode when an invalid address is being accessed in Indirect mode. It is cleared by writing 1 to CTEF. + /// Transfer error flag. This bit is set in Indirect mode when an invalid address is being accessed in Indirect mode. It is cleared by writing 1 to CTEF. TEF: u1, - /// Transfer complete flag. This bit is set in Indirect mode when the programmed number of data has been transferred or in any mode when the transfer has been aborted.It is cleared by writing 1 to CTCF. + /// Transfer complete flag. This bit is set in Indirect mode when the programmed number of data has been transferred or in any mode when the transfer has been aborted.It is cleared by writing 1 to CTCF. TCF: u1, - /// FIFO threshold flag In Indirect mode, this bit is set when the FIFO threshold has been reached, or if there is any data left in the FIFO after the reads from the external device are complete. It is cleared automatically as soon as the threshold condition is no longer true. In Automatic status-polling mode, this bit is set every time the status register is read, and the bit is cleared when the data register is read. + /// FIFO threshold flag In Indirect mode, this bit is set when the FIFO threshold has been reached, or if there is any data left in the FIFO after the reads from the external device are complete. It is cleared automatically as soon as the threshold condition is no longer true. In Automatic status-polling mode, this bit is set every time the status register is read, and the bit is cleared when the data register is read. FTF: u1, - /// Status match flag. This bit is set in Automatic status-polling mode when the unmasked received data matches the corresponding bits in the match register (PSMAR). It is cleared by writing 1 to CSMF. + /// Status match flag. This bit is set in Automatic status-polling mode when the unmasked received data matches the corresponding bits in the match register (PSMAR). It is cleared by writing 1 to CSMF. SMF: u1, - /// Timeout flag. This bit is set when timeout occurs. It is cleared by writing 1 to CTOF. + /// Timeout flag. This bit is set when timeout occurs. It is cleared by writing 1 to CTOF. TOF: u1, - /// Busy. This bit is set when an operation is ongoing. It is cleared automatically when the operation with the external device is finished and the FIFO is empty. + /// Busy. This bit is set when an operation is ongoing. It is cleared automatically when the operation with the external device is finished and the FIFO is empty. BUSY: u1, reserved8: u2, - /// FIFO level. This field gives the number of valid bytes that are being held in the FIFO. FLEVEL = 0 when the FIFO is empty, and 32 when it is full. In Automatic status-polling mode, FLEVEL is zero. + /// FIFO level. This field gives the number of valid bytes that are being held in the FIFO. FLEVEL = 0 when the FIFO is empty, and 32 when it is full. In Automatic status-polling mode, FLEVEL is zero. FLEVEL: u6, padding: u18, }), - /// flag clear register + /// flag clear register FCR: mmio.Mmio(packed struct(u32) { - /// Clear transfer error flag Writing 1 clears the TEF flag in the SR register. + /// Clear transfer error flag Writing 1 clears the TEF flag in the SR register. CTEF: u1, - /// Clear transfer complete flag Writing 1 clears the TCF flag in the SR register. + /// Clear transfer complete flag Writing 1 clears the TCF flag in the SR register. CTCF: u1, reserved3: u1, - /// Clear status match flag Writing 1 clears the SMF flag in the SR register. + /// Clear status match flag Writing 1 clears the SMF flag in the SR register. CSMF: u1, - /// Clear timeout flag Writing 1 clears the TOF flag in the SR register. + /// Clear timeout flag Writing 1 clears the TOF flag in the SR register. CTOF: u1, padding: u27, }), reserved64: [24]u8, - /// data length register + /// data length register DLR: mmio.Mmio(packed struct(u32) { - /// [31: 0]: Data length Number of data to be retrieved (value+1) in Indirect and Automatic status-polling modes. A value not greater than three (indicating 4 bytes) must be used for Automatic status-polling mode. All 1’s in Indirect mode means undefined length, where OCTOSPI continues until the end of the memory, as defined by DEVSIZE. 0x0000_0000: 1 byte is to be transferred. 0x0000_0001: 2 bytes are to be transferred. 0x0000_0002: 3 bytes are to be transferred. 0x0000_0003: 4 bytes are to be transferred. ... 0xFFFF_FFFD: 4,294,967,294 (4G-2) bytes are to be transferred. 0xFFFF_FFFE: 4,294,967,295 (4G-1) bytes are to be transferred. 0xFFFF_FFFF: undefined length; all bytes, until the end of the external device, (as defined by DEVSIZE) are to be transferred. Continue reading indefinitely if DEVSIZE = 0x1F. DL[0] is stuck at 1 in dual-memory configuration (DMM = 1) even when 0 is written to. this bit, thus assuring that each access transfers an even number of bytes. This field has no effect in Memory-mapped mode. + /// [31: 0]: Data length Number of data to be retrieved (value+1) in Indirect and Automatic status-polling modes. A value not greater than three (indicating 4 bytes) must be used for Automatic status-polling mode. All 1’s in Indirect mode means undefined length, where OCTOSPI continues until the end of the memory, as defined by DEVSIZE. 0x0000_0000: 1 byte is to be transferred. 0x0000_0001: 2 bytes are to be transferred. 0x0000_0002: 3 bytes are to be transferred. 0x0000_0003: 4 bytes are to be transferred. ... 0xFFFF_FFFD: 4,294,967,294 (4G-2) bytes are to be transferred. 0xFFFF_FFFE: 4,294,967,295 (4G-1) bytes are to be transferred. 0xFFFF_FFFF: undefined length; all bytes, until the end of the external device, (as defined by DEVSIZE) are to be transferred. Continue reading indefinitely if DEVSIZE = 0x1F. DL[0] is stuck at 1 in dual-memory configuration (DMM = 1) even when 0 is written to. this bit, thus assuring that each access transfers an even number of bytes. This field has no effect in Memory-mapped mode. DL: u32, }), reserved72: [4]u8, - /// address register + /// address register AR: mmio.Mmio(packed struct(u32) { - /// Address to be sent to the external device. In HyperBus protocol, this field must be even as this protocol is 16-bit word oriented. In dual-memory configuration, AR[0] is forced to 1. Writes to. this field are ignored when BUSY = 1 or when FMODE = 11 (Memory-mapped mode). + /// Address to be sent to the external device. In HyperBus protocol, this field must be even as this protocol is 16-bit word oriented. In dual-memory configuration, AR[0] is forced to 1. Writes to. this field are ignored when BUSY = 1 or when FMODE = 11 (Memory-mapped mode). ADDRESS: u32, }), reserved80: [4]u8, - /// data register + /// data register DR: mmio.Mmio(packed struct(u32) { - /// [31: 0]: Data Data to be sent/received to/from the external SPI device In Indirect-write mode, data written to this register is stored on the FIFO before it is sent to the external device during the data phase. If the FIFO is too full, a write operation is stalled until the FIFO has enough space to accept the amount of data being written. In Indirect-read mode, reading this register gives (via the FIFO) the data that was received from the external device. If the FIFO does not have as many bytes as requested by the read operation and if BUSY = 1, the read operation is stalled until enough data is present or until the transfer is complete, whichever happens first. In Automatic status-polling mode, this register contains the last data read from the external device (without masking). Word, half-word, and byte accesses to this register are supported. In Indirect-write mode, a byte write adds 1 byte to the FIFO, a half-word write 2 bytes, and a word write 4 bytes. Similarly, in Indirect-read mode, a byte read removes 1 byte from the FIFO, a halfword read 2 bytes, and a word read 4 bytes. Accesses in Indirect mode must be aligned to the bottom of. this register: A byte read must read DATA[7:0] and a half-word read must read DATA[15:0]. + /// [31: 0]: Data Data to be sent/received to/from the external SPI device In Indirect-write mode, data written to this register is stored on the FIFO before it is sent to the external device during the data phase. If the FIFO is too full, a write operation is stalled until the FIFO has enough space to accept the amount of data being written. In Indirect-read mode, reading this register gives (via the FIFO) the data that was received from the external device. If the FIFO does not have as many bytes as requested by the read operation and if BUSY = 1, the read operation is stalled until enough data is present or until the transfer is complete, whichever happens first. In Automatic status-polling mode, this register contains the last data read from the external device (without masking). Word, half-word, and byte accesses to this register are supported. In Indirect-write mode, a byte write adds 1 byte to the FIFO, a half-word write 2 bytes, and a word write 4 bytes. Similarly, in Indirect-read mode, a byte read removes 1 byte from the FIFO, a halfword read 2 bytes, and a word read 4 bytes. Accesses in Indirect mode must be aligned to the bottom of. this register: A byte read must read DATA[7:0] and a half-word read must read DATA[15:0]. DATA: u32, }), reserved128: [44]u8, - /// polling status mask register + /// polling status mask register PSMKR: mmio.Mmio(packed struct(u32) { - /// Status mask Mask to be applied to the status bytes received in Automatic status-polling mode For bit n: + /// Status mask Mask to be applied to the status bytes received in Automatic status-polling mode For bit n: MASK: u32, }), reserved136: [4]u8, - /// polling status match register + /// polling status match register PSMAR: mmio.Mmio(packed struct(u32) { - /// [31: 0]: Status match Value to be compared with the masked status register to get a match + /// [31: 0]: Status match Value to be compared with the masked status register to get a match MATCH: u32, }), reserved144: [4]u8, - /// polling interval register + /// polling interval register PIR: mmio.Mmio(packed struct(u32) { - /// [15: 0]: Polling interval Number of CLK cycle between a read during the Automatic status-polling phases + /// [15: 0]: Polling interval Number of CLK cycle between a read during the Automatic status-polling phases INTERVAL: u16, padding: u16, }), reserved256: [108]u8, - /// communication configuration register + /// communication configuration register CCR: mmio.Mmio(packed struct(u32) { - /// Instruction mode. This field defines the instruction phase mode of operation. 101-111: Reserved - IMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Instruction double transfer rate. This bit sets the DTR mode for the instruction phase. + /// Instruction mode. This field defines the instruction phase mode of operation. 101-111: Reserved + IMODE: PhaseMode, + /// Instruction double transfer rate. This bit sets the DTR mode for the instruction phase. IDTR: u1, - /// Instruction size. This bit defines instruction size. - ISIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Instruction size. This bit defines instruction size. + ISIZE: SizeInBits, reserved8: u2, - /// Address mode. This field defines the address phase mode of operation. 101-111: Reserved - ADMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Address double transfer rate. This bit sets the DTR mode for the address phase. + /// Address mode. This field defines the address phase mode of operation. 101-111: Reserved + ADMODE: PhaseMode, + /// Address double transfer rate. This bit sets the DTR mode for the address phase. ADDTR: u1, - /// Address size. This field defines address size. - ADSIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Address size. This field defines address size. + ADSIZE: SizeInBits, reserved16: u2, - /// Alternate-byte mode. This field defines the alternate-byte phase mode of operation. 101-111: Reserved - ABMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Alternate bytes double transfer rate. This bit sets the DTR mode for the alternate bytes phase. This field can be written only when BUSY = 0. + /// Alternate-byte mode. This field defines the alternate-byte phase mode of operation. 101-111: Reserved + ABMODE: PhaseMode, + /// Alternate bytes double transfer rate. This bit sets the DTR mode for the alternate bytes phase. This field can be written only when BUSY = 0. ABDTR: u1, - /// Alternate bytes size. This bit defines alternate bytes size. - ABSIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Alternate bytes size. This bit defines alternate bytes size. + ABSIZE: SizeInBits, reserved24: u2, - /// Data mode. This field defines the data phase mode of operation. 101-111: Reserved - DMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Data double transfer rate. This bit sets the DTR mode for the data phase. + /// Data mode. This field defines the data phase mode of operation. 101-111: Reserved + DMODE: PhaseMode, + /// Data double transfer rate. This bit sets the DTR mode for the data phase. DDTR: u1, reserved29: u1, - /// DQS enable. This bit enables the data strobe management. + /// DQS enable. This bit enables the data strobe management. DQSE: u1, reserved31: u1, - /// Send instruction only once mode. This bit has no effect when IMODE = 00 (see ). + /// Send instruction only once mode. This bit has no effect when IMODE = 00 (see ). SIOO: u1, }), reserved264: [4]u8, - /// timing configuration register + /// timing configuration register TCR: mmio.Mmio(packed struct(u32) { - /// Number of dummy cycles. This field defines the duration of the dummy phase. In both SDR and DTR modes, it specifies a number of CLK cycles (0-31). It is recommended to have at least six dummy cycles when using memories with DQS activated. + /// Number of dummy cycles. This field defines the duration of the dummy phase. In both SDR and DTR modes, it specifies a number of CLK cycles (0-31). It is recommended to have at least six dummy cycles when using memories with DQS activated. DCYC: u5, reserved28: u23, - /// Delay hold quarter cycle + /// Delay hold quarter cycle DHQC: u1, reserved30: u1, - /// Sample shift By default, the OCTOSPI samples data 1/2 of a CLK cycle after the data is driven by the external device. This bit allows the data to be sampled later in order to consider the external signal delays. The software must ensure that SSHIFT = 0 when the data phase is configured in DTR mode (when DDTR = 1.) - SSHIFT: packed union { - raw: u1, - value: SampleShift, - }, + /// Sample shift By default, the OCTOSPI samples data 1/2 of a CLK cycle after the data is driven by the external device. This bit allows the data to be sampled later in order to consider the external signal delays. The software must ensure that SSHIFT = 0 when the data phase is configured in DTR mode (when DDTR = 1.) + SSHIFT: SampleShift, padding: u1, }), reserved272: [4]u8, - /// instruction register + /// instruction register IR: mmio.Mmio(packed struct(u32) { - /// Instruction to be sent to the external SPI device + /// Instruction to be sent to the external SPI device INSTRUCTION: u32, }), reserved288: [12]u8, - /// alternate bytes register + /// alternate bytes register ABR: mmio.Mmio(packed struct(u32) { - /// Alternate bytes + /// Alternate bytes ALTERNATE: u32, }), reserved304: [12]u8, - /// low-power timeout register + /// low-power timeout register LPTR: mmio.Mmio(packed struct(u32) { - /// [15: 0]: Timeout period After each access in Memory-mapped mode, the OCTOSPI prefetches the subsequent bytes and hold them in the FIFO. This field indicates how many CLK cycles the OCTOSPI waits after the clock becomes inactive and until it raises the NCS, putting the external device in a lower-consumption state. + /// [15: 0]: Timeout period After each access in Memory-mapped mode, the OCTOSPI prefetches the subsequent bytes and hold them in the FIFO. This field indicates how many CLK cycles the OCTOSPI waits after the clock becomes inactive and until it raises the NCS, putting the external device in a lower-consumption state. TIMEOUT: u16, padding: u16, }), reserved320: [12]u8, - /// wrap communication configuration register + /// wrap communication configuration register WPCCR: mmio.Mmio(packed struct(u32) { - /// Instruction mode. This field defines the instruction phase mode of operation. 101-111: Reserved - IMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Instruction double transfer rate. This bit sets the DTR mode for the instruction phase. + /// Instruction mode. This field defines the instruction phase mode of operation. 101-111: Reserved + IMODE: PhaseMode, + /// Instruction double transfer rate. This bit sets the DTR mode for the instruction phase. IDTR: u1, - /// Instruction size. This field defines instruction size. - ISIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Instruction size. This field defines instruction size. + ISIZE: SizeInBits, reserved8: u2, - /// Address mode. This field defines the address phase mode of operation. 101-111: Reserved - ADMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Address double transfer rate. This bit sets the DTR mode for the address phase. + /// Address mode. This field defines the address phase mode of operation. 101-111: Reserved + ADMODE: PhaseMode, + /// Address double transfer rate. This bit sets the DTR mode for the address phase. ADDTR: u1, - /// Address size. This field defines address size. - ADSIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Address size. This field defines address size. + ADSIZE: SizeInBits, reserved16: u2, - /// Alternate-byte mode. This field defines the alternate byte phase mode of operation. 101-111: Reserved - ABMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Alternate bytes double transfer rate. This bit sets the DTR mode for the alternate bytes phase. + /// Alternate-byte mode. This field defines the alternate byte phase mode of operation. 101-111: Reserved + ABMODE: PhaseMode, + /// Alternate bytes double transfer rate. This bit sets the DTR mode for the alternate bytes phase. ABDTR: u1, - /// Alternate bytes size. This bit defines alternate bytes size. - ABSIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Alternate bytes size. This bit defines alternate bytes size. + ABSIZE: SizeInBits, reserved24: u2, - /// Data mode. This field defines the data phase mode of operation. 101-111: Reserved - DMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Data double transfer rate. This bit sets the DTR mode for the data phase. + /// Data mode. This field defines the data phase mode of operation. 101-111: Reserved + DMODE: PhaseMode, + /// Data double transfer rate. This bit sets the DTR mode for the data phase. DDTR: u1, reserved29: u1, - /// DQS enable. This bit enables the data strobe management. + /// DQS enable. This bit enables the data strobe management. DQSE: u1, padding: u2, }), reserved328: [4]u8, - /// wrap timing configuration register + /// wrap timing configuration register WPTCR: mmio.Mmio(packed struct(u32) { - /// Number of dummy cycles. This field defines the duration of the dummy phase. In both SDR and DTR modes, it specifies a number of CLK cycles (0-31). It is recommended to have at least 5 dummy cycles when using memories with DQS activated. + /// Number of dummy cycles. This field defines the duration of the dummy phase. In both SDR and DTR modes, it specifies a number of CLK cycles (0-31). It is recommended to have at least 5 dummy cycles when using memories with DQS activated. DCYC: u5, reserved28: u23, - /// Delay hold quarter cycle. Add a quarter cycle delay on the outputs in DTR communication to match hold requirement. + /// Delay hold quarter cycle. Add a quarter cycle delay on the outputs in DTR communication to match hold requirement. DHQC: u1, reserved30: u1, - /// Sample shift By default, the OCTOSPI samples data 1/2 of a CLK cycle after the data is driven by the external device. This bit allows the data to be sampled later in order to consider the external signal delays. The firmware must assure that SSHIFT=0 when the data phase is configured in DTR mode (when DDTR = 1). - SSHIFT: packed union { - raw: u1, - value: SampleShift, - }, + /// Sample shift By default, the OCTOSPI samples data 1/2 of a CLK cycle after the data is driven by the external device. This bit allows the data to be sampled later in order to consider the external signal delays. The firmware must assure that SSHIFT=0 when the data phase is configured in DTR mode (when DDTR = 1). + SSHIFT: SampleShift, padding: u1, }), reserved336: [4]u8, - /// wrap instruction register + /// wrap instruction register WPIR: mmio.Mmio(packed struct(u32) { - /// [31: 0]: Instruction Instruction to be sent to the external SPI device + /// [31: 0]: Instruction Instruction to be sent to the external SPI device INSTRUCTION: u32, }), reserved352: [12]u8, - /// wrap alternate bytes register + /// wrap alternate bytes register WPABR: mmio.Mmio(packed struct(u32) { - /// [31: 0]: Alternate bytes Optional data to be sent to the external SPI device right after the address + /// [31: 0]: Alternate bytes Optional data to be sent to the external SPI device right after the address ALTERNATE: u32, }), reserved384: [28]u8, - /// write communication configuration register + /// write communication configuration register WCCR: mmio.Mmio(packed struct(u32) { - /// Instruction mode. This field defines the instruction phase mode of operation. 101-111: Reserved - IMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Instruction double transfer rate. This bit sets the DTR mode for the instruction phase. + /// Instruction mode. This field defines the instruction phase mode of operation. 101-111: Reserved + IMODE: PhaseMode, + /// Instruction double transfer rate. This bit sets the DTR mode for the instruction phase. IDTR: u1, - /// Instruction size. This bit defines instruction size: - ISIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Instruction size. This bit defines instruction size: + ISIZE: SizeInBits, reserved8: u2, - /// Address mode. This field defines the address phase mode of operation. 101-111: Reserved - ADMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Address double transfer rate. This bit sets the DTR mode for the address phase. + /// Address mode. This field defines the address phase mode of operation. 101-111: Reserved + ADMODE: PhaseMode, + /// Address double transfer rate. This bit sets the DTR mode for the address phase. ADDTR: u1, - /// Address size. This field defines address size. - ADSIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Address size. This field defines address size. + ADSIZE: SizeInBits, reserved16: u2, - /// Alternate-byte mode. This field defines the alternate-byte phase mode of operation. 101-111: Reserved - ABMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Alternate bytes double transfer rate. This bit sets the DTR mode for the alternate-bytes phase. + /// Alternate-byte mode. This field defines the alternate-byte phase mode of operation. 101-111: Reserved + ABMODE: PhaseMode, + /// Alternate bytes double transfer rate. This bit sets the DTR mode for the alternate-bytes phase. ABDTR: u1, - /// Alternate bytes size. This field defines alternate bytes size: - ABSIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Alternate bytes size. This field defines alternate bytes size: + ABSIZE: SizeInBits, reserved24: u2, - /// Data mode. This field defines the data phase mode of operation. 101-111: Reserved - DMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// data double transfer rate. This bit sets the DTR mode for the data phase. + /// Data mode. This field defines the data phase mode of operation. 101-111: Reserved + DMODE: PhaseMode, + /// data double transfer rate. This bit sets the DTR mode for the data phase. DDTR: u1, reserved29: u1, - /// DQS enable. This bit enables the data strobe management. + /// DQS enable. This bit enables the data strobe management. DQSE: u1, padding: u2, }), reserved392: [4]u8, - /// write timing configuration register + /// write timing configuration register WTCR: mmio.Mmio(packed struct(u32) { - /// Number of dummy cycles. This field defines the duration of the dummy phase. In both SDR and DTR modes, it specifies a number of CLK cycles (0-31). It is recommended to have at least 5 dummy cycles when using memories with DQS activated. + /// Number of dummy cycles. This field defines the duration of the dummy phase. In both SDR and DTR modes, it specifies a number of CLK cycles (0-31). It is recommended to have at least 5 dummy cycles when using memories with DQS activated. DCYC: u5, padding: u27, }), reserved400: [4]u8, - /// write instruction register + /// write instruction register WIR: mmio.Mmio(packed struct(u32) { - /// Instruction Instruction to be sent to the external SPI device + /// Instruction Instruction to be sent to the external SPI device INSTRUCTION: u32, }), reserved416: [12]u8, - /// write alternate bytes register + /// write alternate bytes register WABR: mmio.Mmio(packed struct(u32) { - /// [31: 0]: Alternate bytes. Optional data to be sent to the external SPI device right after the address + /// [31: 0]: Alternate bytes. Optional data to be sent to the external SPI device right after the address ALTERNATE: u32, }), reserved512: [92]u8, - /// OCTOSPI HyperBus latency configuration register + /// OCTOSPI HyperBus latency configuration register HLCR: mmio.Mmio(packed struct(u32) { - /// Latency mode. This bit selects the Latency mode. - LM: packed union { - raw: u1, - value: LatencyMode, - }, - /// Write zero latency. This bit enables zero latency on write operations. + /// Latency mode. This bit selects the Latency mode. + LM: LatencyMode, + /// Write zero latency. This bit enables zero latency on write operations. WZL: u1, reserved8: u6, - /// [7: 0]: Access time. Device access time expressed in number of communication clock cycles + /// [7: 0]: Access time. Device access time expressed in number of communication clock cycles TACC: u8, - /// Read write recovery time Device read write recovery time expressed in number of communication clock cycles + /// Read write recovery time Device read write recovery time expressed in number of communication clock cycles TRWR: u8, padding: u8, }), @@ -355423,522 +351685,435 @@ pub const types = struct { pub const octospi_v2 = struct { pub const FlashSelect = enum(u1) { - /// FLASH 1 selected (data exchanged over IO[3:0]) + /// FLASH 1 selected (data exchanged over IO[3:0]) FlashOne = 0x0, - /// FLASH 2 selected (data exchanged over IO[7:4]) + /// FLASH 2 selected (data exchanged over IO[7:4]) FlashTwo = 0x1, }; pub const FunctionalMode = enum(u2) { - /// Indirect-write mode + /// Indirect-write mode IndirectWrite = 0x0, - /// Indirect-read mode + /// Indirect-read mode IndirectRead = 0x1, - /// Automatic status-polling mode + /// Automatic status-polling mode AutoStatusPolling = 0x2, - /// Memory-mapped mode + /// Memory-mapped mode MemoryMapped = 0x3, }; pub const LatencyMode = enum(u1) { - /// Variable initial latency + /// Variable initial latency Variable = 0x0, - /// Fixed latency + /// Fixed latency Fixed = 0x1, }; pub const MatchMode = enum(u1) { - /// AND-match mode, SMF is set if all the unmasked bits received from the device match the corresponding bits in the match register. + /// AND-match mode, SMF is set if all the unmasked bits received from the device match the corresponding bits in the match register. MatchAnd = 0x0, - /// OR-match mode, SMF is set if any of the unmasked bits received from the device matches its corresponding bit in the match register. + /// OR-match mode, SMF is set if any of the unmasked bits received from the device matches its corresponding bit in the match register. MatchOr = 0x1, }; pub const MemType = enum(u3) { - /// Micron mode, D0/D1 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes. + /// Micron mode, D0/D1 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes. Micron = 0x0, - /// Macronix mode, D1/D0 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes. + /// Macronix mode, D1/D0 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes. Macronix = 0x1, - /// Standard mode + /// Standard mode B_Standard = 0x2, - /// Macronix RAM mode, D1/D0 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes with dedicated address mapping. + /// Macronix RAM mode, D1/D0 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes with dedicated address mapping. MacronixRam = 0x3, - /// HyperBus memory mode, the protocol follows the HyperBus specification. 8-data-bit DTR mode must be selected. + /// HyperBus memory mode, the protocol follows the HyperBus specification. 8-data-bit DTR mode must be selected. HyperBusMemory = 0x4, - /// HyperBus register mode, addressing register space. The memory-mapped accesses in. this mode must be non-cacheable, or Indirect read/write modes must be used. + /// HyperBus register mode, addressing register space. The memory-mapped accesses in. this mode must be non-cacheable, or Indirect read/write modes must be used. HyperBusRegister = 0x5, _, }; pub const PhaseMode = enum(u3) { - /// No alternate bytes + /// No alternate bytes None = 0x0, - /// Alternate bytes on a single line + /// Alternate bytes on a single line OneLine = 0x1, - /// Alternate bytes on two lines + /// Alternate bytes on two lines TwoLines = 0x2, - /// Alternate bytes on four lines + /// Alternate bytes on four lines FourLines = 0x3, - /// Alternate bytes on eight lines + /// Alternate bytes on eight lines EightLines = 0x4, _, }; pub const SampleShift = enum(u1) { - /// No shift + /// No shift None = 0x0, - /// 1/2 cycle shift + /// 1/2 cycle shift HalfCycle = 0x1, }; pub const SizeInBits = enum(u2) { - /// 8-bit alternate bytes + /// 8-bit alternate bytes @"8Bit" = 0x0, - /// 16-bit alternate bytes + /// 16-bit alternate bytes @"16Bit" = 0x1, - /// 24-bit alternate bytes + /// 24-bit alternate bytes @"24Bit" = 0x2, - /// 32-bit alternate bytes + /// 32-bit alternate bytes @"32Bit" = 0x3, }; pub const Threshold = enum(u5) { - /// FTF is set if there are one or more free bytes available to be written to in the FIFO in Indirect-write mode, or if there are one or more valid bytes can be read from the FIFO in Indirect-read mode. + /// FTF is set if there are one or more free bytes available to be written to in the FIFO in Indirect-write mode, or if there are one or more valid bytes can be read from the FIFO in Indirect-read mode. NeedOneByte = 0x0, - /// FTF is set if there are two or more free bytes available to be written to in the FIFO in Indirect‑write mode, or if there are two or more valid bytes can be read from the FIFO in Indirect-read mode. + /// FTF is set if there are two or more free bytes available to be written to in the FIFO in Indirect‑write mode, or if there are two or more valid bytes can be read from the FIFO in Indirect-read mode. NeedTwoBytes = 0x1, - /// FTF is set if there are 32 free bytes available to be written to in the FIFO in Indirect-write mode, or if there are 32 valid bytes can be read from the FIFO in Indirect-read mode. + /// FTF is set if there are 32 free bytes available to be written to in the FIFO in Indirect-write mode, or if there are 32 valid bytes can be read from the FIFO in Indirect-read mode. NeedThirtyTwoBytes = 0x1f, _, }; - /// OctoSPI + /// OctoSPI pub const OCTOSPI = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// Enable This bit enables the OCTOSPI. Note: The DMA request can be aborted without having received the ACK in case this EN bit is cleared during the operation. In case. this bit is set to 0 during a DMA transfer, the REQ signal to DMA returns to inactive state without waiting for the ACK signal from DMA to be active. + /// Enable This bit enables the OCTOSPI. Note: The DMA request can be aborted without having received the ACK in case this EN bit is cleared during the operation. In case. this bit is set to 0 during a DMA transfer, the REQ signal to DMA returns to inactive state without waiting for the ACK signal from DMA to be active. EN: u1, - /// Abort request. This bit aborts the ongoing command sequence. It is automatically reset once the abort is completed. This bit stops the current transfer. Note: This bit is always read as 0. + /// Abort request. This bit aborts the ongoing command sequence. It is automatically reset once the abort is completed. This bit stops the current transfer. Note: This bit is always read as 0. ABORT: u1, - /// DMA enable In Indirect mode, the DMA can be used to input or output data via DR. DMA transfers are initiated when FTF is set. Note: Resetting the DMAEN bit while a DMA transfer is ongoing, breaks the handshake with the DMA. Do not write. this bit during DMA operation. + /// DMA enable In Indirect mode, the DMA can be used to input or output data via DR. DMA transfers are initiated when FTF is set. Note: Resetting the DMAEN bit while a DMA transfer is ongoing, breaks the handshake with the DMA. Do not write. this bit during DMA operation. DMAEN: u1, - /// Timeout counter enable. This bit is valid only when the Memory-mapped mode (FMODE[1:0] = 11) is selected. This bit enables the timeout counter. + /// Timeout counter enable. This bit is valid only when the Memory-mapped mode (FMODE[1:0] = 11) is selected. This bit enables the timeout counter. TCEN: u1, reserved6: u2, - /// Dual-memory configuration. This bit activates the dual-memory configuration, where two external devices are used simultaneously to double the throughput and the capacity + /// Dual-memory configuration. This bit activates the dual-memory configuration, where two external devices are used simultaneously to double the throughput and the capacity DMM: u1, - /// Flash select. This bit selects the Flash memory to be addressed in Single-, Dual-, Quad-SPI mode in single-memory configuration (when DMM = 0). This bit is ignored when DMM = 1 or when Octal-SPI mode is selected. - FSEL: packed union { - raw: u1, - value: FlashSelect, - }, - /// FIFO threshold level. This field defines, in Indirect mode, the threshold number of bytes in the FIFO that causes the FIFO threshold flag FTF in SR, to be set. ... Note: If DMAEN = 1, the DMA controller for the corresponding channel must be disabled before changing the FTHRES[4:0] value. - FTHRES: packed union { - raw: u5, - value: Threshold, - }, + /// Flash select. This bit selects the Flash memory to be addressed in Single-, Dual-, Quad-SPI mode in single-memory configuration (when DMM = 0). This bit is ignored when DMM = 1 or when Octal-SPI mode is selected. + FSEL: FlashSelect, + /// FIFO threshold level. This field defines, in Indirect mode, the threshold number of bytes in the FIFO that causes the FIFO threshold flag FTF in SR, to be set. ... Note: If DMAEN = 1, the DMA controller for the corresponding channel must be disabled before changing the FTHRES[4:0] value. + FTHRES: Threshold, reserved16: u3, - /// Transfer error interrupt enable. This bit enables the transfer error interrupt. + /// Transfer error interrupt enable. This bit enables the transfer error interrupt. TEIE: u1, - /// Transfer complete interrupt enable. This bit enables the transfer complete interrupt. + /// Transfer complete interrupt enable. This bit enables the transfer complete interrupt. TCIE: u1, - /// FIFO threshold interrupt enable. This bit enables the FIFO threshold interrupt. + /// FIFO threshold interrupt enable. This bit enables the FIFO threshold interrupt. FTIE: u1, - /// Status match interrupt enable. This bit enables the status match interrupt. + /// Status match interrupt enable. This bit enables the status match interrupt. SMIE: u1, - /// Timeout interrupt enable. This bit enables the timeout interrupt. + /// Timeout interrupt enable. This bit enables the timeout interrupt. TOIE: u1, reserved22: u1, - /// Automatic status-polling mode stop. This bit determines if the Automatic status-polling mode is stopped after a match. + /// Automatic status-polling mode stop. This bit determines if the Automatic status-polling mode is stopped after a match. APMS: u1, - /// Polling match mode. This bit indicates which method must be used to determine a match during the Automatic status-polling mode. - PMM: packed union { - raw: u1, - value: MatchMode, - }, + /// Polling match mode. This bit indicates which method must be used to determine a match during the Automatic status-polling mode. + PMM: MatchMode, reserved28: u4, - /// Functional mode. This field defines the OCTOSPI functional mode of operation. If DMAEN = 1 already, then the DMA controller for the corresponding channel must be disabled before changing the FMODE[1:0] value. If FMODE[1:0] and FTHRES[4:0] are wrongly updated while DMAEN = 1, the DMA request signal automatically goes to inactive state. - FMODE: packed union { - raw: u2, - value: FunctionalMode, - }, + /// Functional mode. This field defines the OCTOSPI functional mode of operation. If DMAEN = 1 already, then the DMA controller for the corresponding channel must be disabled before changing the FMODE[1:0] value. If FMODE[1:0] and FTHRES[4:0] are wrongly updated while DMAEN = 1, the DMA request signal automatically goes to inactive state. + FMODE: FunctionalMode, padding: u2, }), reserved8: [4]u8, - /// device configuration register 1 + /// device configuration register 1 DCR1: mmio.Mmio(packed struct(u32) { - /// Mode 0/Mode 3 This bit indicates the level taken by the CLK between commands (when NCS = 1). + /// Mode 0/Mode 3 This bit indicates the level taken by the CLK between commands (when NCS = 1). CKMODE: u1, - /// Free running clock. This bit configures the free running clock. + /// Free running clock. This bit configures the free running clock. FRCK: u1, reserved3: u1, - /// Delay block bypass + /// Delay block bypass DLYBYP: u1, reserved8: u4, - /// Chip-select high time CSHT + 1 defines the minimum number of CLK cycles where the chip-select (NCS) must remain high between commands issued to the external device. ... + /// Chip-select high time CSHT + 1 defines the minimum number of CLK cycles where the chip-select (NCS) must remain high between commands issued to the external device. ... CSHT: u6, reserved16: u2, - /// Device size. This field defines the size of the external device using the following formula: Number of bytes in device = 2[DEVSIZE+1]. DEVSIZE+1 is effectively the number of address bits required to address the external device. The device capacity can be up to 4 Gbytes (addressed using 32-bits) in Indirect mode, but the addressable space in Memory-mapped mode is limited to 256 Mbytes. In Regular-command protocol, if DMM = 1, DEVSIZE[4:0] indicates the total capacity of the two devices together. + /// Device size. This field defines the size of the external device using the following formula: Number of bytes in device = 2[DEVSIZE+1]. DEVSIZE+1 is effectively the number of address bits required to address the external device. The device capacity can be up to 4 Gbytes (addressed using 32-bits) in Indirect mode, but the addressable space in Memory-mapped mode is limited to 256 Mbytes. In Regular-command protocol, if DMM = 1, DEVSIZE[4:0] indicates the total capacity of the two devices together. DEVSIZE: u5, reserved24: u3, - /// Memory type. This bit indicates the type of memory to be supported. Note: In. this mode, DQS signal polarity is inverted with respect to the memory clock signal. This is the default value and care must be taken to change MTYP[2:0] for memories different from Micron. Others: Reserved - MTYP: packed union { - raw: u3, - value: MemType, - }, + /// Memory type. This bit indicates the type of memory to be supported. Note: In. this mode, DQS signal polarity is inverted with respect to the memory clock signal. This is the default value and care must be taken to change MTYP[2:0] for memories different from Micron. Others: Reserved + MTYP: MemType, padding: u5, }), - /// device configuration register 2 + /// device configuration register 2 DCR2: mmio.Mmio(packed struct(u32) { - /// Clock prescaler. This field defines the scaler factor for generating the CLK based on the kernel clock (value + 1). 2: FCLK = FKERNEL/3 ... 255: FCLK = FKERNEL/256 For odd clock division factors, the CLK duty cycle is not 50 %. The clock signal remains low one cycle longer than it stays high. + /// Clock prescaler. This field defines the scaler factor for generating the CLK based on the kernel clock (value + 1). 2: FCLK = FKERNEL/3 ... 255: FCLK = FKERNEL/256 For odd clock division factors, the CLK duty cycle is not 50 %. The clock signal remains low one cycle longer than it stays high. PRESCALER: u8, reserved16: u8, - /// Wrap size. This field indicates the wrap size to which the memory is configured. For memories which have a separate command for wrapped instructions, this field indicates the wrap-size associated with the command held in the OCTOSPI1_WPIR register. 110-111: Reserved + /// Wrap size. This field indicates the wrap size to which the memory is configured. For memories which have a separate command for wrapped instructions, this field indicates the wrap-size associated with the command held in the OCTOSPI1_WPIR register. 110-111: Reserved WRAPSIZE: u3, padding: u13, }), - /// device configuration register 3 + /// device configuration register 3 DCR3: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// NCS boundary. This field enables the transaction boundary feature. When active, a minimum value of 3 is recommended. The NCS is released on each boundary of 2CSBOUND bytes. others: NCS boundary set to 2CSBOUND bytes + /// NCS boundary. This field enables the transaction boundary feature. When active, a minimum value of 3 is recommended. The NCS is released on each boundary of 2CSBOUND bytes. others: NCS boundary set to 2CSBOUND bytes CSBOUND: u5, padding: u11, }), - /// device configuration register 4 + /// device configuration register 4 DCR4: mmio.Mmio(packed struct(u32) { - /// Refresh rate. This field enables the refresh rate feature. The NCS is released every REFRESH + 1 clock cycles for writes, and REFRESH + 4 clock cycles for reads. Note: These two values can be extended with few clock cycles when refresh occurs during a byte transmission in Single-, Dual- or Quad-SPI mode, because the byte transmission must be completed. others: Maximum communication length is set to REFRESH + 1 clock cycles. + /// Refresh rate. This field enables the refresh rate feature. The NCS is released every REFRESH + 1 clock cycles for writes, and REFRESH + 4 clock cycles for reads. Note: These two values can be extended with few clock cycles when refresh occurs during a byte transmission in Single-, Dual- or Quad-SPI mode, because the byte transmission must be completed. others: Maximum communication length is set to REFRESH + 1 clock cycles. REFRESH: u32, }), reserved32: [8]u8, - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Transfer error flag. This bit is set in Indirect mode when an invalid address is being accessed in Indirect mode. It is cleared by writing 1 to CTEF. + /// Transfer error flag. This bit is set in Indirect mode when an invalid address is being accessed in Indirect mode. It is cleared by writing 1 to CTEF. TEF: u1, - /// Transfer complete flag. This bit is set in Indirect mode when the programmed number of data has been transferred or in any mode when the transfer has been aborted.It is cleared by writing 1 to CTCF. + /// Transfer complete flag. This bit is set in Indirect mode when the programmed number of data has been transferred or in any mode when the transfer has been aborted.It is cleared by writing 1 to CTCF. TCF: u1, - /// FIFO threshold flag In Indirect mode, this bit is set when the FIFO threshold has been reached, or if there is any data left in the FIFO after the reads from the external device are complete. It is cleared automatically as soon as the threshold condition is no longer true. In Automatic status-polling mode, this bit is set every time the status register is read, and the bit is cleared when the data register is read. + /// FIFO threshold flag In Indirect mode, this bit is set when the FIFO threshold has been reached, or if there is any data left in the FIFO after the reads from the external device are complete. It is cleared automatically as soon as the threshold condition is no longer true. In Automatic status-polling mode, this bit is set every time the status register is read, and the bit is cleared when the data register is read. FTF: u1, - /// Status match flag. This bit is set in Automatic status-polling mode when the unmasked received data matches the corresponding bits in the match register (PSMAR). It is cleared by writing 1 to CSMF. + /// Status match flag. This bit is set in Automatic status-polling mode when the unmasked received data matches the corresponding bits in the match register (PSMAR). It is cleared by writing 1 to CSMF. SMF: u1, - /// Timeout flag. This bit is set when timeout occurs. It is cleared by writing 1 to CTOF. + /// Timeout flag. This bit is set when timeout occurs. It is cleared by writing 1 to CTOF. TOF: u1, - /// Busy. This bit is set when an operation is ongoing. It is cleared automatically when the operation with the external device is finished and the FIFO is empty. + /// Busy. This bit is set when an operation is ongoing. It is cleared automatically when the operation with the external device is finished and the FIFO is empty. BUSY: u1, reserved8: u2, - /// FIFO level. This field gives the number of valid bytes that are being held in the FIFO. FLEVEL = 0 when the FIFO is empty, and 32 when it is full. In Automatic status-polling mode, FLEVEL is zero. + /// FIFO level. This field gives the number of valid bytes that are being held in the FIFO. FLEVEL = 0 when the FIFO is empty, and 32 when it is full. In Automatic status-polling mode, FLEVEL is zero. FLEVEL: u6, padding: u18, }), - /// flag clear register + /// flag clear register FCR: mmio.Mmio(packed struct(u32) { - /// Clear transfer error flag Writing 1 clears the TEF flag in the SR register. + /// Clear transfer error flag Writing 1 clears the TEF flag in the SR register. CTEF: u1, - /// Clear transfer complete flag Writing 1 clears the TCF flag in the SR register. + /// Clear transfer complete flag Writing 1 clears the TCF flag in the SR register. CTCF: u1, reserved3: u1, - /// Clear status match flag Writing 1 clears the SMF flag in the SR register. + /// Clear status match flag Writing 1 clears the SMF flag in the SR register. CSMF: u1, - /// Clear timeout flag Writing 1 clears the TOF flag in the SR register. + /// Clear timeout flag Writing 1 clears the TOF flag in the SR register. CTOF: u1, padding: u27, }), reserved64: [24]u8, - /// data length register + /// data length register DLR: mmio.Mmio(packed struct(u32) { - /// [31: 0]: Data length Number of data to be retrieved (value+1) in Indirect and Automatic status-polling modes. A value not greater than three (indicating 4 bytes) must be used for Automatic status-polling mode. All 1’s in Indirect mode means undefined length, where OCTOSPI continues until the end of the memory, as defined by DEVSIZE. 0x0000_0000: 1 byte is to be transferred. 0x0000_0001: 2 bytes are to be transferred. 0x0000_0002: 3 bytes are to be transferred. 0x0000_0003: 4 bytes are to be transferred. ... 0xFFFF_FFFD: 4,294,967,294 (4G-2) bytes are to be transferred. 0xFFFF_FFFE: 4,294,967,295 (4G-1) bytes are to be transferred. 0xFFFF_FFFF: undefined length; all bytes, until the end of the external device, (as defined by DEVSIZE) are to be transferred. Continue reading indefinitely if DEVSIZE = 0x1F. DL[0] is stuck at 1 in dual-memory configuration (DMM = 1) even when 0 is written to. this bit, thus assuring that each access transfers an even number of bytes. This field has no effect in Memory-mapped mode. + /// [31: 0]: Data length Number of data to be retrieved (value+1) in Indirect and Automatic status-polling modes. A value not greater than three (indicating 4 bytes) must be used for Automatic status-polling mode. All 1’s in Indirect mode means undefined length, where OCTOSPI continues until the end of the memory, as defined by DEVSIZE. 0x0000_0000: 1 byte is to be transferred. 0x0000_0001: 2 bytes are to be transferred. 0x0000_0002: 3 bytes are to be transferred. 0x0000_0003: 4 bytes are to be transferred. ... 0xFFFF_FFFD: 4,294,967,294 (4G-2) bytes are to be transferred. 0xFFFF_FFFE: 4,294,967,295 (4G-1) bytes are to be transferred. 0xFFFF_FFFF: undefined length; all bytes, until the end of the external device, (as defined by DEVSIZE) are to be transferred. Continue reading indefinitely if DEVSIZE = 0x1F. DL[0] is stuck at 1 in dual-memory configuration (DMM = 1) even when 0 is written to. this bit, thus assuring that each access transfers an even number of bytes. This field has no effect in Memory-mapped mode. DL: u32, }), reserved72: [4]u8, - /// address register + /// address register AR: mmio.Mmio(packed struct(u32) { - /// Address to be sent to the external device. In HyperBus protocol, this field must be even as this protocol is 16-bit word oriented. In dual-memory configuration, AR[0] is forced to 1. Writes to. this field are ignored when BUSY = 1 or when FMODE = 11 (Memory-mapped mode). + /// Address to be sent to the external device. In HyperBus protocol, this field must be even as this protocol is 16-bit word oriented. In dual-memory configuration, AR[0] is forced to 1. Writes to. this field are ignored when BUSY = 1 or when FMODE = 11 (Memory-mapped mode). ADDRESS: u32, }), reserved80: [4]u8, - /// data register + /// data register DR: mmio.Mmio(packed struct(u32) { - /// [31: 0]: Data Data to be sent/received to/from the external SPI device In Indirect-write mode, data written to this register is stored on the FIFO before it is sent to the external device during the data phase. If the FIFO is too full, a write operation is stalled until the FIFO has enough space to accept the amount of data being written. In Indirect-read mode, reading this register gives (via the FIFO) the data that was received from the external device. If the FIFO does not have as many bytes as requested by the read operation and if BUSY = 1, the read operation is stalled until enough data is present or until the transfer is complete, whichever happens first. In Automatic status-polling mode, this register contains the last data read from the external device (without masking). Word, half-word, and byte accesses to this register are supported. In Indirect-write mode, a byte write adds 1 byte to the FIFO, a half-word write 2 bytes, and a word write 4 bytes. Similarly, in Indirect-read mode, a byte read removes 1 byte from the FIFO, a halfword read 2 bytes, and a word read 4 bytes. Accesses in Indirect mode must be aligned to the bottom of. this register: A byte read must read DATA[7:0] and a half-word read must read DATA[15:0]. + /// [31: 0]: Data Data to be sent/received to/from the external SPI device In Indirect-write mode, data written to this register is stored on the FIFO before it is sent to the external device during the data phase. If the FIFO is too full, a write operation is stalled until the FIFO has enough space to accept the amount of data being written. In Indirect-read mode, reading this register gives (via the FIFO) the data that was received from the external device. If the FIFO does not have as many bytes as requested by the read operation and if BUSY = 1, the read operation is stalled until enough data is present or until the transfer is complete, whichever happens first. In Automatic status-polling mode, this register contains the last data read from the external device (without masking). Word, half-word, and byte accesses to this register are supported. In Indirect-write mode, a byte write adds 1 byte to the FIFO, a half-word write 2 bytes, and a word write 4 bytes. Similarly, in Indirect-read mode, a byte read removes 1 byte from the FIFO, a halfword read 2 bytes, and a word read 4 bytes. Accesses in Indirect mode must be aligned to the bottom of. this register: A byte read must read DATA[7:0] and a half-word read must read DATA[15:0]. DATA: u32, }), reserved128: [44]u8, - /// polling status mask register + /// polling status mask register PSMKR: mmio.Mmio(packed struct(u32) { - /// Status mask Mask to be applied to the status bytes received in Automatic status-polling mode For bit n: + /// Status mask Mask to be applied to the status bytes received in Automatic status-polling mode For bit n: MASK: u32, }), reserved136: [4]u8, - /// polling status match register + /// polling status match register PSMAR: mmio.Mmio(packed struct(u32) { - /// [31: 0]: Status match Value to be compared with the masked status register to get a match + /// [31: 0]: Status match Value to be compared with the masked status register to get a match MATCH: u32, }), reserved144: [4]u8, - /// polling interval register + /// polling interval register PIR: mmio.Mmio(packed struct(u32) { - /// [15: 0]: Polling interval Number of CLK cycle between a read during the Automatic status-polling phases + /// [15: 0]: Polling interval Number of CLK cycle between a read during the Automatic status-polling phases INTERVAL: u16, padding: u16, }), reserved256: [108]u8, - /// communication configuration register + /// communication configuration register CCR: mmio.Mmio(packed struct(u32) { - /// Instruction mode. This field defines the instruction phase mode of operation. 101-111: Reserved - IMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Instruction double transfer rate. This bit sets the DTR mode for the instruction phase. + /// Instruction mode. This field defines the instruction phase mode of operation. 101-111: Reserved + IMODE: PhaseMode, + /// Instruction double transfer rate. This bit sets the DTR mode for the instruction phase. IDTR: u1, - /// Instruction size. This bit defines instruction size. - ISIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Instruction size. This bit defines instruction size. + ISIZE: SizeInBits, reserved8: u2, - /// Address mode. This field defines the address phase mode of operation. 101-111: Reserved - ADMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Address double transfer rate. This bit sets the DTR mode for the address phase. + /// Address mode. This field defines the address phase mode of operation. 101-111: Reserved + ADMODE: PhaseMode, + /// Address double transfer rate. This bit sets the DTR mode for the address phase. ADDTR: u1, - /// Address size. This field defines address size. - ADSIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Address size. This field defines address size. + ADSIZE: SizeInBits, reserved16: u2, - /// Alternate-byte mode. This field defines the alternate-byte phase mode of operation. 101-111: Reserved - ABMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Alternate bytes double transfer rate. This bit sets the DTR mode for the alternate bytes phase. This field can be written only when BUSY = 0. + /// Alternate-byte mode. This field defines the alternate-byte phase mode of operation. 101-111: Reserved + ABMODE: PhaseMode, + /// Alternate bytes double transfer rate. This bit sets the DTR mode for the alternate bytes phase. This field can be written only when BUSY = 0. ABDTR: u1, - /// Alternate bytes size. This bit defines alternate bytes size. - ABSIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Alternate bytes size. This bit defines alternate bytes size. + ABSIZE: SizeInBits, reserved24: u2, - /// Data mode. This field defines the data phase mode of operation. 101-111: Reserved - DMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Data double transfer rate. This bit sets the DTR mode for the data phase. + /// Data mode. This field defines the data phase mode of operation. 101-111: Reserved + DMODE: PhaseMode, + /// Data double transfer rate. This bit sets the DTR mode for the data phase. DDTR: u1, reserved29: u1, - /// DQS enable. This bit enables the data strobe management. + /// DQS enable. This bit enables the data strobe management. DQSE: u1, reserved31: u1, - /// Send instruction only once mode. This bit has no effect when IMODE = 00 (see ). + /// Send instruction only once mode. This bit has no effect when IMODE = 00 (see ). SIOO: u1, }), reserved264: [4]u8, - /// timing configuration register + /// timing configuration register TCR: mmio.Mmio(packed struct(u32) { - /// Number of dummy cycles. This field defines the duration of the dummy phase. In both SDR and DTR modes, it specifies a number of CLK cycles (0-31). It is recommended to have at least six dummy cycles when using memories with DQS activated. + /// Number of dummy cycles. This field defines the duration of the dummy phase. In both SDR and DTR modes, it specifies a number of CLK cycles (0-31). It is recommended to have at least six dummy cycles when using memories with DQS activated. DCYC: u5, reserved28: u23, - /// Delay hold quarter cycle + /// Delay hold quarter cycle DHQC: u1, reserved30: u1, - /// Sample shift By default, the OCTOSPI samples data 1/2 of a CLK cycle after the data is driven by the external device. This bit allows the data to be sampled later in order to consider the external signal delays. The software must ensure that SSHIFT = 0 when the data phase is configured in DTR mode (when DDTR = 1.) - SSHIFT: packed union { - raw: u1, - value: SampleShift, - }, + /// Sample shift By default, the OCTOSPI samples data 1/2 of a CLK cycle after the data is driven by the external device. This bit allows the data to be sampled later in order to consider the external signal delays. The software must ensure that SSHIFT = 0 when the data phase is configured in DTR mode (when DDTR = 1.) + SSHIFT: SampleShift, padding: u1, }), reserved272: [4]u8, - /// instruction register + /// instruction register IR: mmio.Mmio(packed struct(u32) { - /// Instruction to be sent to the external SPI device + /// Instruction to be sent to the external SPI device INSTRUCTION: u32, }), reserved288: [12]u8, - /// alternate bytes register + /// alternate bytes register ABR: mmio.Mmio(packed struct(u32) { - /// Alternate bytes + /// Alternate bytes ALTERNATE: u32, }), reserved304: [12]u8, - /// low-power timeout register + /// low-power timeout register LPTR: mmio.Mmio(packed struct(u32) { - /// [15: 0]: Timeout period After each access in Memory-mapped mode, the OCTOSPI prefetches the subsequent bytes and hold them in the FIFO. This field indicates how many CLK cycles the OCTOSPI waits after the clock becomes inactive and until it raises the NCS, putting the external device in a lower-consumption state. + /// [15: 0]: Timeout period After each access in Memory-mapped mode, the OCTOSPI prefetches the subsequent bytes and hold them in the FIFO. This field indicates how many CLK cycles the OCTOSPI waits after the clock becomes inactive and until it raises the NCS, putting the external device in a lower-consumption state. TIMEOUT: u16, padding: u16, }), reserved320: [12]u8, - /// wrap communication configuration register + /// wrap communication configuration register WPCCR: mmio.Mmio(packed struct(u32) { - /// Instruction mode. This field defines the instruction phase mode of operation. 101-111: Reserved - IMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Instruction double transfer rate. This bit sets the DTR mode for the instruction phase. + /// Instruction mode. This field defines the instruction phase mode of operation. 101-111: Reserved + IMODE: PhaseMode, + /// Instruction double transfer rate. This bit sets the DTR mode for the instruction phase. IDTR: u1, - /// Instruction size. This field defines instruction size. - ISIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Instruction size. This field defines instruction size. + ISIZE: SizeInBits, reserved8: u2, - /// Address mode. This field defines the address phase mode of operation. 101-111: Reserved - ADMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Address double transfer rate. This bit sets the DTR mode for the address phase. + /// Address mode. This field defines the address phase mode of operation. 101-111: Reserved + ADMODE: PhaseMode, + /// Address double transfer rate. This bit sets the DTR mode for the address phase. ADDTR: u1, - /// Address size. This field defines address size. - ADSIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Address size. This field defines address size. + ADSIZE: SizeInBits, reserved16: u2, - /// Alternate-byte mode. This field defines the alternate byte phase mode of operation. 101-111: Reserved - ABMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Alternate bytes double transfer rate. This bit sets the DTR mode for the alternate bytes phase. + /// Alternate-byte mode. This field defines the alternate byte phase mode of operation. 101-111: Reserved + ABMODE: PhaseMode, + /// Alternate bytes double transfer rate. This bit sets the DTR mode for the alternate bytes phase. ABDTR: u1, - /// Alternate bytes size. This bit defines alternate bytes size. - ABSIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Alternate bytes size. This bit defines alternate bytes size. + ABSIZE: SizeInBits, reserved24: u2, - /// Data mode. This field defines the data phase mode of operation. 101-111: Reserved - DMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Data double transfer rate. This bit sets the DTR mode for the data phase. + /// Data mode. This field defines the data phase mode of operation. 101-111: Reserved + DMODE: PhaseMode, + /// Data double transfer rate. This bit sets the DTR mode for the data phase. DDTR: u1, reserved29: u1, - /// DQS enable. This bit enables the data strobe management. + /// DQS enable. This bit enables the data strobe management. DQSE: u1, padding: u2, }), reserved328: [4]u8, - /// wrap timing configuration register + /// wrap timing configuration register WPTCR: mmio.Mmio(packed struct(u32) { - /// Number of dummy cycles. This field defines the duration of the dummy phase. In both SDR and DTR modes, it specifies a number of CLK cycles (0-31). It is recommended to have at least 5 dummy cycles when using memories with DQS activated. + /// Number of dummy cycles. This field defines the duration of the dummy phase. In both SDR and DTR modes, it specifies a number of CLK cycles (0-31). It is recommended to have at least 5 dummy cycles when using memories with DQS activated. DCYC: u5, reserved28: u23, - /// Delay hold quarter cycle. Add a quarter cycle delay on the outputs in DTR communication to match hold requirement. + /// Delay hold quarter cycle. Add a quarter cycle delay on the outputs in DTR communication to match hold requirement. DHQC: u1, reserved30: u1, - /// Sample shift By default, the OCTOSPI samples data 1/2 of a CLK cycle after the data is driven by the external device. This bit allows the data to be sampled later in order to consider the external signal delays. The firmware must assure that SSHIFT=0 when the data phase is configured in DTR mode (when DDTR = 1). - SSHIFT: packed union { - raw: u1, - value: SampleShift, - }, + /// Sample shift By default, the OCTOSPI samples data 1/2 of a CLK cycle after the data is driven by the external device. This bit allows the data to be sampled later in order to consider the external signal delays. The firmware must assure that SSHIFT=0 when the data phase is configured in DTR mode (when DDTR = 1). + SSHIFT: SampleShift, padding: u1, }), reserved336: [4]u8, - /// wrap instruction register + /// wrap instruction register WPIR: mmio.Mmio(packed struct(u32) { - /// [31: 0]: Instruction Instruction to be sent to the external SPI device + /// [31: 0]: Instruction Instruction to be sent to the external SPI device INSTRUCTION: u32, }), reserved352: [12]u8, - /// wrap alternate bytes register + /// wrap alternate bytes register WPABR: mmio.Mmio(packed struct(u32) { - /// [31: 0]: Alternate bytes Optional data to be sent to the external SPI device right after the address + /// [31: 0]: Alternate bytes Optional data to be sent to the external SPI device right after the address ALTERNATE: u32, }), reserved384: [28]u8, - /// write communication configuration register + /// write communication configuration register WCCR: mmio.Mmio(packed struct(u32) { - /// Instruction mode. This field defines the instruction phase mode of operation. 101-111: Reserved - IMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Instruction double transfer rate. This bit sets the DTR mode for the instruction phase. + /// Instruction mode. This field defines the instruction phase mode of operation. 101-111: Reserved + IMODE: PhaseMode, + /// Instruction double transfer rate. This bit sets the DTR mode for the instruction phase. IDTR: u1, - /// Instruction size. This bit defines instruction size: - ISIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Instruction size. This bit defines instruction size: + ISIZE: SizeInBits, reserved8: u2, - /// Address mode. This field defines the address phase mode of operation. 101-111: Reserved - ADMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Address double transfer rate. This bit sets the DTR mode for the address phase. + /// Address mode. This field defines the address phase mode of operation. 101-111: Reserved + ADMODE: PhaseMode, + /// Address double transfer rate. This bit sets the DTR mode for the address phase. ADDTR: u1, - /// Address size. This field defines address size. - ADSIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Address size. This field defines address size. + ADSIZE: SizeInBits, reserved16: u2, - /// Alternate-byte mode. This field defines the alternate-byte phase mode of operation. 101-111: Reserved - ABMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// Alternate bytes double transfer rate. This bit sets the DTR mode for the alternate-bytes phase. + /// Alternate-byte mode. This field defines the alternate-byte phase mode of operation. 101-111: Reserved + ABMODE: PhaseMode, + /// Alternate bytes double transfer rate. This bit sets the DTR mode for the alternate-bytes phase. ABDTR: u1, - /// Alternate bytes size. This field defines alternate bytes size: - ABSIZE: packed union { - raw: u2, - value: SizeInBits, - }, + /// Alternate bytes size. This field defines alternate bytes size: + ABSIZE: SizeInBits, reserved24: u2, - /// Data mode. This field defines the data phase mode of operation. 101-111: Reserved - DMODE: packed union { - raw: u3, - value: PhaseMode, - }, - /// data double transfer rate. This bit sets the DTR mode for the data phase. + /// Data mode. This field defines the data phase mode of operation. 101-111: Reserved + DMODE: PhaseMode, + /// data double transfer rate. This bit sets the DTR mode for the data phase. DDTR: u1, reserved29: u1, - /// DQS enable. This bit enables the data strobe management. + /// DQS enable. This bit enables the data strobe management. DQSE: u1, padding: u2, }), reserved392: [4]u8, - /// write timing configuration register + /// write timing configuration register WTCR: mmio.Mmio(packed struct(u32) { - /// Number of dummy cycles. This field defines the duration of the dummy phase. In both SDR and DTR modes, it specifies a number of CLK cycles (0-31). It is recommended to have at least 5 dummy cycles when using memories with DQS activated. + /// Number of dummy cycles. This field defines the duration of the dummy phase. In both SDR and DTR modes, it specifies a number of CLK cycles (0-31). It is recommended to have at least 5 dummy cycles when using memories with DQS activated. DCYC: u5, padding: u27, }), reserved400: [4]u8, - /// write instruction register + /// write instruction register WIR: mmio.Mmio(packed struct(u32) { - /// Instruction Instruction to be sent to the external SPI device + /// Instruction Instruction to be sent to the external SPI device INSTRUCTION: u32, }), reserved416: [12]u8, - /// write alternate bytes register + /// write alternate bytes register WABR: mmio.Mmio(packed struct(u32) { - /// [31: 0]: Alternate bytes. Optional data to be sent to the external SPI device right after the address + /// [31: 0]: Alternate bytes. Optional data to be sent to the external SPI device right after the address ALTERNATE: u32, }), reserved512: [92]u8, - /// OCTOSPI HyperBus latency configuration register + /// OCTOSPI HyperBus latency configuration register HLCR: mmio.Mmio(packed struct(u32) { - /// Latency mode. This bit selects the Latency mode. - LM: packed union { - raw: u1, - value: LatencyMode, - }, - /// Write zero latency. This bit enables zero latency on write operations. + /// Latency mode. This bit selects the Latency mode. + LM: LatencyMode, + /// Write zero latency. This bit enables zero latency on write operations. WZL: u1, reserved8: u6, - /// [7: 0]: Access time. Device access time expressed in number of communication clock cycles + /// [7: 0]: Access time. Device access time expressed in number of communication clock cycles TACC: u8, - /// Read write recovery time Device read write recovery time expressed in number of communication clock cycles + /// Read write recovery time Device read write recovery time expressed in number of communication clock cycles TRWR: u8, padding: u8, }), @@ -355946,70 +352121,70 @@ pub const types = struct { }; pub const octospim_v1 = struct { - /// OctoSPI IO Manager + /// OctoSPI IO Manager pub const OCTOSPIM = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// Multiplexed mode enable + /// Multiplexed mode enable MUXEN: u1, reserved16: u15, - /// REQ to ACK time + /// REQ to ACK time REQ2ACK_TIME: u8, padding: u8, }), - /// OctoSPI IO Manager Port 1 Configuration Register + /// OctoSPI IO Manager Port 1 Configuration Register P1CR: mmio.Mmio(packed struct(u32) { - /// CLK/CLK Enable for Port + /// CLK/CLK Enable for Port CLKEN: u1, - /// CLK/CLK Source for Port + /// CLK/CLK Source for Port CLKSRC: u1, reserved4: u2, - /// DQS Enable for Port + /// DQS Enable for Port DQSEN: u1, - /// DQS Source for Port + /// DQS Source for Port DQSSRC: u1, reserved8: u2, - /// CS Enable for Port + /// CS Enable for Port NCSEN: u1, - /// CS Source for Port + /// CS Source for Port NCSSRC: u1, reserved16: u6, - /// Enable for Port + /// Enable for Port IOLEN: u1, - /// Source for Port + /// Source for Port IOLSRC: u2, reserved24: u5, - /// Enable for Port n + /// Enable for Port n IOHEN: u1, - /// Source for Port + /// Source for Port IOHSRC: u2, padding: u5, }), - /// OctoSPI IO Manager Port 2 Configuration Register + /// OctoSPI IO Manager Port 2 Configuration Register P2CR: mmio.Mmio(packed struct(u32) { - /// CLK/CLK Enable for Port + /// CLK/CLK Enable for Port CLKEN: u1, - /// CLK/CLK Source for Port + /// CLK/CLK Source for Port CLKSRC: u1, reserved4: u2, - /// DQS Enable for Port + /// DQS Enable for Port DQSEN: u1, - /// DQS Source for Port + /// DQS Source for Port DQSSRC: u1, reserved8: u2, - /// CS Enable for Port + /// CS Enable for Port NCSEN: u1, - /// CS Source for Port + /// CS Source for Port NCSSRC: u1, reserved16: u6, - /// Enable for Port + /// Enable for Port IOLEN: u1, - /// Source for Port + /// Source for Port IOLSRC: u2, reserved24: u5, - /// Enable for Port n + /// Enable for Port n IOHEN: u1, - /// Source for Port + /// Source for Port IOHSRC: u2, padding: u5, }), @@ -356018,156 +352193,132 @@ pub const types = struct { pub const opamp_f3 = struct { pub const CALSEL = enum(u2) { - /// VREFOPAMP=3.3% VDDA + /// VREFOPAMP=3.3% VDDA Percent3_3 = 0x0, - /// VREFOPAMP=10% VDDA + /// VREFOPAMP=10% VDDA Percent10 = 0x1, - /// VREFOPAMP=50% VDDA + /// VREFOPAMP=50% VDDA Percent50 = 0x2, - /// VREFOPAMP=90% VDDA + /// VREFOPAMP=90% VDDA Percent90 = 0x3, }; pub const FORCE_VP = enum(u1) { - /// Normal operating mode + /// Normal operating mode Normal = 0x0, - /// Calibration mode. Non-inverting input connected to calibration reference + /// Calibration mode. Non-inverting input connected to calibration reference Calibration = 0x1, }; pub const OUTCAL = enum(u1) { - /// Non-inverting < inverting + /// Non-inverting < inverting Low = 0x0, - /// Non-inverting > inverting + /// Non-inverting > inverting High = 0x1, }; pub const PGA_GAIN = enum(u4) { - /// Gain 2 + /// Gain 2 Gain2 = 0x0, - /// Gain 4 + /// Gain 4 Gain4 = 0x1, - /// Gain 8 + /// Gain 8 Gain8 = 0x2, - /// Gain 16 + /// Gain 16 Gain16 = 0x4, - /// Gain 2, feedback connected to VM0 + /// Gain 2, feedback connected to VM0 Gain2_VM0 = 0x8, - /// Gain 4, feedback connected to VM0 + /// Gain 4, feedback connected to VM0 Gain4_VM0 = 0x9, - /// Gain 8, feedback connected to VM0 + /// Gain 8, feedback connected to VM0 Gain8_VM0 = 0xa, - /// Gain 16, feedback connected to VM0 + /// Gain 16, feedback connected to VM0 Gain16_VM0 = 0xb, - /// Gain 2, feedback connected to VM1 + /// Gain 2, feedback connected to VM1 Gain2_VM1 = 0xc, - /// Gain 4, feedback connected to VM1 + /// Gain 4, feedback connected to VM1 Gain4_VM1 = 0xd, - /// Gain 8, feedback connected to VM1 + /// Gain 8, feedback connected to VM1 Gain8_VM1 = 0xe, - /// Gain 16, feedback connected to VM1 + /// Gain 16, feedback connected to VM1 Gain16_VM1 = 0xf, _, }; pub const VMS_SEL = enum(u1) { - /// PC5 (VM0) used as OPAMP2 inverting input when TCM_EN=1 + /// PC5 (VM0) used as OPAMP2 inverting input when TCM_EN=1 PC5 = 0x0, - /// PA5 (VM1) used as OPAMP2 inverting input when TCM_EN=1 + /// PA5 (VM1) used as OPAMP2 inverting input when TCM_EN=1 PA5 = 0x1, }; pub const VM_SEL = enum(u2) { - /// PC5 (VM0) used as OPAMP2 inverting input + /// PC5 (VM0) used as OPAMP2 inverting input PC5 = 0x0, - /// PA5 (VM1) used as OPAMP2 inverting input + /// PA5 (VM1) used as OPAMP2 inverting input PA5 = 0x1, - /// Resistor feedback output (PGA mode) + /// Resistor feedback output (PGA mode) PGA = 0x2, - /// Follower mode + /// Follower mode Follower = 0x3, }; pub const VPS_SEL = enum(u2) { - /// PB14 used as OPAMP2 non-inverting input when TCM_EN=1 + /// PB14 used as OPAMP2 non-inverting input when TCM_EN=1 PB14 = 0x1, - /// PB0 used as OPAMP2 non-inverting input when TCM_EN=1 + /// PB0 used as OPAMP2 non-inverting input when TCM_EN=1 PB0 = 0x2, - /// PA7 used as OPAMP2 non-inverting input when TCM_EN=1 + /// PA7 used as OPAMP2 non-inverting input when TCM_EN=1 PA7 = 0x3, _, }; pub const VP_SEL = enum(u2) { - /// PB14 used as OPAMP2 non-inverting input + /// PB14 used as OPAMP2 non-inverting input PB14 = 0x1, - /// PB0 used as OPAMP2 non-inverting input + /// PB0 used as OPAMP2 non-inverting input PB0 = 0x2, - /// PA7 used as OPAMP2 non-inverting input + /// PA7 used as OPAMP2 non-inverting input PA7 = 0x3, _, }; - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP = extern struct { - /// OPAMP control/status register + /// OPAMP control/status register CSR: mmio.Mmio(packed struct(u32) { - /// OPAMP enable + /// OPAMP enable OPAMPEN: u1, - /// Forces a calibration reference voltage on non-inverting input and disables external connections. - FORCE_VP: packed union { - raw: u1, - value: FORCE_VP, - }, - /// OPAMP Non inverting input selection - VP_SEL: packed union { - raw: u2, - value: VP_SEL, - }, + /// Forces a calibration reference voltage on non-inverting input and disables external connections. + FORCE_VP: FORCE_VP, + /// OPAMP Non inverting input selection + VP_SEL: VP_SEL, reserved5: u1, - /// OPAMP inverting input selection - VM_SEL: packed union { - raw: u2, - value: VM_SEL, - }, - /// Timer controlled Mux mode enable + /// OPAMP inverting input selection + VM_SEL: VM_SEL, + /// Timer controlled Mux mode enable TCM_EN: u1, - /// OPAMP inverting input secondary selection - VMS_SEL: packed union { - raw: u1, - value: VMS_SEL, - }, - /// OPAMP Non inverting input secondary selection - VPS_SEL: packed union { - raw: u2, - value: VPS_SEL, - }, - /// Calibration mode enable + /// OPAMP inverting input secondary selection + VMS_SEL: VMS_SEL, + /// OPAMP Non inverting input secondary selection + VPS_SEL: VPS_SEL, + /// Calibration mode enable CALON: u1, - /// Calibration selection - CALSEL: packed union { - raw: u2, - value: CALSEL, - }, - /// Gain in PGA mode - PGA_GAIN: packed union { - raw: u4, - value: PGA_GAIN, - }, - /// User trimming enable + /// Calibration selection + CALSEL: CALSEL, + /// Gain in PGA mode + PGA_GAIN: PGA_GAIN, + /// User trimming enable USER_TRIM: u1, - /// Offset trimming value (PMOS) + /// Offset trimming value (PMOS) TRIMOFFSETP: u5, - /// Offset trimming value (NMOS) + /// Offset trimming value (NMOS) TRIMOFFSETN: u5, - /// Output the internal reference voltage + /// Output the internal reference voltage TSTREF: u1, - /// OPAMP ouput status flag - OUTCAL: packed union { - raw: u1, - value: OUTCAL, - }, - /// OPAMP lock + /// OPAMP ouput status flag + OUTCAL: OUTCAL, + /// OPAMP lock LOCK: u1, }), }; @@ -356175,216 +352326,186 @@ pub const types = struct { pub const opamp_g4 = struct { pub const CALSEL = enum(u2) { - /// VREFOPAMP=3.3% VDDA + /// VREFOPAMP=3.3% VDDA Percent3_3 = 0x0, - /// VREFOPAMP=10% VDDA + /// VREFOPAMP=10% VDDA Percent10 = 0x1, - /// VREFOPAMP=50% VDDA + /// VREFOPAMP=50% VDDA Percent50 = 0x2, - /// VREFOPAMP=90% VDDA + /// VREFOPAMP=90% VDDA Percent90 = 0x3, }; pub const FORCE_VP = enum(u1) { - /// Normal operating mode + /// Normal operating mode Normal = 0x0, - /// Calibration mode. Non-inverting input connected to calibration reference + /// Calibration mode. Non-inverting input connected to calibration reference Calibration = 0x1, }; pub const OPAHSM = enum(u1) { - /// OpAmp in normal mode + /// OpAmp in normal mode Normal = 0x0, - /// OpAmp in high speed mode + /// OpAmp in high speed mode HighSpeed = 0x1, }; pub const OPAINTOEN = enum(u1) { - /// Output is connected to the output Pin + /// Output is connected to the output Pin OutputPin = 0x0, - /// Output is connected internally to ADC channel + /// Output is connected internally to ADC channel ADCChannel = 0x1, }; pub const OUTCAL = enum(u1) { - /// Non-inverting < inverting + /// Non-inverting < inverting Low = 0x0, - /// Non-inverting > inverting + /// Non-inverting > inverting High = 0x1, }; pub const PGA_GAIN = enum(u5) { - /// Gain 2 + /// Gain 2 Gain2 = 0x0, - /// Gain 4 + /// Gain 4 Gain4 = 0x1, - /// Gain 8 + /// Gain 8 Gain8 = 0x2, - /// Gain 16 + /// Gain 16 Gain16 = 0x3, - /// Gain 32 + /// Gain 32 Gain32 = 0x4, - /// Gain 64 + /// Gain 64 Gain64 = 0x5, - /// Gain 2, input/bias connected to VINM0 or inverting gain + /// Gain 2, input/bias connected to VINM0 or inverting gain Gain2_InputVINM0 = 0x8, - /// Gain 4, input/bias connected to VINM0 or inverting gain + /// Gain 4, input/bias connected to VINM0 or inverting gain Gain4_InputVINM0 = 0x9, - /// Gain 8, input/bias connected to VINM0 or inverting gain + /// Gain 8, input/bias connected to VINM0 or inverting gain Gain8_InputVINM0 = 0xa, - /// Gain 16, input/bias connected to VINM0 or inverting gain + /// Gain 16, input/bias connected to VINM0 or inverting gain Gain16_InputVINM0 = 0xb, - /// Gain 32, input/bias connected to VINM0 or inverting gain + /// Gain 32, input/bias connected to VINM0 or inverting gain Gain32_InputVINM0 = 0xc, - /// Gain 64, input/bias connected to VINM0 or inverting gain + /// Gain 64, input/bias connected to VINM0 or inverting gain Gain64_InputVINM0 = 0xd, - /// Gain 2, with filtering on VINM0 + /// Gain 2, with filtering on VINM0 Gain2_FilteringVINM0 = 0x10, - /// Gain 4, with filtering on VINM0 + /// Gain 4, with filtering on VINM0 Gain4_FilteringVINM0 = 0x11, - /// Gain 8, with filtering on VINM0 + /// Gain 8, with filtering on VINM0 Gain8_FilteringVINM0 = 0x12, - /// Gain 16, with filtering on VINM0 + /// Gain 16, with filtering on VINM0 Gain16_FilteringVINM0 = 0x13, - /// Gain 32, with filtering on VINM0 + /// Gain 32, with filtering on VINM0 Gain32_FilteringVINM0 = 0x14, - /// Gain 64, with filtering on VINM0 + /// Gain 64, with filtering on VINM0 Gain64_FilteringVINM0 = 0x15, - /// Gain 2, input/bias connected to VINM0 with filtering on VINM1 or inverting gain + /// Gain 2, input/bias connected to VINM0 with filtering on VINM1 or inverting gain Gain2_InputVINM0FilteringVINM1 = 0x18, - /// Gain 4, input/bias connected to VINM0 with filtering on VINM1 or inverting gain + /// Gain 4, input/bias connected to VINM0 with filtering on VINM1 or inverting gain Gain4_InputVINM0FilteringVINM1 = 0x19, - /// Gain 8, input/bias connected to VINM0 with filtering on VINM1 or inverting gain + /// Gain 8, input/bias connected to VINM0 with filtering on VINM1 or inverting gain Gain8_InputVINM0FilteringVINM1 = 0x1a, - /// Gain 16, input/bias connected to VINM0 with filtering on VINM1 or inverting gain + /// Gain 16, input/bias connected to VINM0 with filtering on VINM1 or inverting gain Gain16_InputVINM0FilteringVINM1 = 0x1b, - /// Gain 32, input/bias connected to VINM0 with filtering on VINM1 or inverting gain + /// Gain 32, input/bias connected to VINM0 with filtering on VINM1 or inverting gain Gain32_InputVINM0FilteringVINM1 = 0x1c, - /// Gain 64, input/bias connected to VINM0 with filtering on VINM1 or inverting gain + /// Gain 64, input/bias connected to VINM0 with filtering on VINM1 or inverting gain Gain64_InputVINM0FilteringVINM1 = 0x1d, _, }; pub const USERTRIM = enum(u1) { - /// Factory trim used + /// Factory trim used Factory = 0x0, - /// User trim used + /// User trim used User = 0x1, }; pub const VM_SEL = enum(u2) { - /// VINM0 connected to VINM input + /// VINM0 connected to VINM input VINM0 = 0x0, - /// VINM1 connected to VINM input + /// VINM1 connected to VINM input VINM1 = 0x1, - /// Feedback resistor connected to VINM (PGA mode) + /// Feedback resistor connected to VINM (PGA mode) PGA = 0x2, - /// OpAmp output connected to VINM (Follower mode) + /// OpAmp output connected to VINM (Follower mode) Output = 0x3, }; pub const VPS_SEL = enum(u2) { - /// VINP0 connected to VINP input + /// VINP0 connected to VINP input VINP0 = 0x0, - /// VINP1 connected to VINP input + /// VINP1 connected to VINP input VINP1 = 0x1, - /// VINP2 connected to VINP input + /// VINP2 connected to VINP input VINP2 = 0x2, - /// DAC3_CH1 connected to VINP input + /// DAC3_CH1 connected to VINP input DAC3_CH1 = 0x3, }; pub const VP_SEL = enum(u2) { - /// VINP0 connected to VINP input + /// VINP0 connected to VINP input VINP0 = 0x0, - /// VINP1 connected to VINP input + /// VINP1 connected to VINP input VINP1 = 0x1, - /// VINP2 connected to VINP input + /// VINP2 connected to VINP input VINP2 = 0x2, - /// DAC3_CH1 connected to VINP input + /// DAC3_CH1 connected to VINP input DAC3_CH1 = 0x3, }; - /// Operational Amplifier + /// Operational Amplifier pub const OPAMP = extern struct { - /// OPAMP control/status register + /// OPAMP control/status register CSR: mmio.Mmio(packed struct(u32) { - /// OPAMP enable + /// OPAMP enable OPAMPEN: u1, - /// Forces a calibration reference voltage on non-inverting input and disables external connections. - FORCE_VP: packed union { - raw: u1, - value: FORCE_VP, - }, - /// VP_SEL - VP_SEL: packed union { - raw: u2, - value: VP_SEL, - }, - /// USERTRIM - USERTRIM: packed union { - raw: u1, - value: USERTRIM, - }, - /// OPAMP inverting input selection - VM_SEL: packed union { - raw: u2, - value: VM_SEL, - }, - /// OPAHSM - OPAHSM: packed union { - raw: u1, - value: OPAHSM, - }, - /// OPAINTOEN - OPAINTOEN: packed union { - raw: u1, - value: OPAINTOEN, - }, + /// Forces a calibration reference voltage on non-inverting input and disables external connections. + FORCE_VP: FORCE_VP, + /// VP_SEL + VP_SEL: VP_SEL, + /// USERTRIM + USERTRIM: USERTRIM, + /// OPAMP inverting input selection + VM_SEL: VM_SEL, + /// OPAHSM + OPAHSM: OPAHSM, + /// OPAINTOEN + OPAINTOEN: OPAINTOEN, reserved11: u2, - /// Calibration mode enable + /// Calibration mode enable CALON: u1, - /// Calibration selection - CALSEL: packed union { - raw: u2, - value: CALSEL, - }, - /// Gain in PGA mode - PGA_GAIN: packed union { - raw: u5, - value: PGA_GAIN, - }, - /// Offset trimming value (PMOS) + /// Calibration selection + CALSEL: CALSEL, + /// Gain in PGA mode + PGA_GAIN: PGA_GAIN, + /// Offset trimming value (PMOS) TRIMOFFSETP: u5, - /// Offset trimming value (NMOS) + /// Offset trimming value (NMOS) TRIMOFFSETN: u5, reserved30: u1, - /// OPAMP ouput status flag - OUTCAL: packed union { - raw: u1, - value: OUTCAL, - }, - /// LOCK + /// OPAMP ouput status flag + OUTCAL: OUTCAL, + /// LOCK LOCK: u1, }), reserved24: [20]u8, - /// OPAMP control/status register + /// OPAMP control/status register TCMR: mmio.Mmio(packed struct(u32) { - /// VMS_SEL + /// VMS_SEL VMS_SEL: u1, - /// VPS_SEL - VPS_SEL: packed union { - raw: u2, - value: VPS_SEL, - }, - /// T1CM_EN + /// VPS_SEL + VPS_SEL: VPS_SEL, + /// T1CM_EN T1CM_EN: u1, - /// T8CM_EN + /// T8CM_EN T8CM_EN: u1, - /// T20CM_EN + /// T20CM_EN T20CM_EN: u1, reserved31: u25, - /// TCMR LOCK + /// TCMR LOCK LOCK: u1, }), }; @@ -356392,179 +352513,152 @@ pub const types = struct { pub const opamp_h_v1 = struct { pub const CALON = enum(u1) { - /// Normal mode + /// Normal mode Normal = 0x0, - /// Calibration mode (all switches opened by HW) + /// Calibration mode (all switches opened by HW) Calibration = 0x1, }; pub const CALOUT = enum(u1) { - /// Non-inverting < inverting + /// Non-inverting < inverting Less = 0x0, - /// Non-inverting > inverting + /// Non-inverting > inverting Greater = 0x1, }; pub const CALSEL = enum(u2) { - /// VREFOPAMP=3.3% VDDA. + /// VREFOPAMP=3.3% VDDA. Percent3_3 = 0x0, - /// VREFOPAMP=10% VDDA. + /// VREFOPAMP=10% VDDA. Percent10 = 0x1, - /// VREFOPAMP=50% VDDA. + /// VREFOPAMP=50% VDDA. Percent50 = 0x2, - /// VREFOPAMP=90% VDDA. + /// VREFOPAMP=90% VDDA. Percent90 = 0x3, }; pub const FORCE_VP = enum(u1) { - /// Normal operating mode. Non-inverting input connected to inputs. + /// Normal operating mode. Non-inverting input connected to inputs. NormalOperating = 0x0, - /// Calibration verification mode. Non-inverting input connected to calibration reference voltage. + /// Calibration verification mode. Non-inverting input connected to calibration reference voltage. CalibrationVerification = 0x1, }; pub const OPAHSM = enum(u1) { - /// operational amplifier in normal mode + /// operational amplifier in normal mode Normal = 0x0, - /// operational amplifier in high-speed mode + /// operational amplifier in high-speed mode HighSpeed = 0x1, }; pub const PGA_GAIN = enum(u4) { - /// Non-inverting internal Gain 2, VREF- referenced + /// Non-inverting internal Gain 2, VREF- referenced Gain2 = 0x0, - /// Non-inverting internal Gain 4, VREF- referenced + /// Non-inverting internal Gain 4, VREF- referenced Gain4 = 0x1, - /// Non-inverting internal Gain 8, VREF- referenced + /// Non-inverting internal Gain 8, VREF- referenced Gain8 = 0x2, - /// Non-inverting internal Gain 16, VREF- referenced + /// Non-inverting internal Gain 16, VREF- referenced Gain16 = 0x3, - /// Non-inverting internal Gain 2 with filtering on INM0, VREF- referenced + /// Non-inverting internal Gain 2 with filtering on INM0, VREF- referenced Gain2_FilteringVINM0 = 0x4, - /// Non-inverting internal Gain 4 with filtering on INM0, VREF- referenced + /// Non-inverting internal Gain 4 with filtering on INM0, VREF- referenced Gain4_FilteringVINM0 = 0x5, - /// Non-inverting internal Gain 8 with filtering on INM0, VREF- referenced + /// Non-inverting internal Gain 8 with filtering on INM0, VREF- referenced Gain8_FilteringVINM0 = 0x6, - /// Non-inverting internal Gain 8 with filtering on INM0, VREF- referenced + /// Non-inverting internal Gain 8 with filtering on INM0, VREF- referenced Gain16_FilteringVINM0 = 0x7, - /// Inverting gain=-1/ Non-inverting gain =2 with INM0 node for input or bias + /// Inverting gain=-1/ Non-inverting gain =2 with INM0 node for input or bias Gain2InvGainNeg1_InputVINM0 = 0x8, - /// Inverting gain=-3/ Non-inverting gain =4 with INM0 node for input or bias + /// Inverting gain=-3/ Non-inverting gain =4 with INM0 node for input or bias Gain4InvGainNeg3_InputVINM0 = 0x9, - /// Inverting gain=-7/ Non-inverting gain =8 with INM0 node for input or bias + /// Inverting gain=-7/ Non-inverting gain =8 with INM0 node for input or bias Gain8InvGainNeg7_InputVINM0 = 0xa, - /// Inverting gain=-15/ Non-inverting gain =16 with INM0 node for input or bias + /// Inverting gain=-15/ Non-inverting gain =16 with INM0 node for input or bias Gain16InvGainNeg15_InputVINM0 = 0xb, - /// Inverting gain=-1/ Non-inverting gain =2 with INM0 node for input or bias, INM1 node for filtering + /// Inverting gain=-1/ Non-inverting gain =2 with INM0 node for input or bias, INM1 node for filtering Gain2InvGainNeg1_InputVINM0FilteringVINM1 = 0xc, - /// Inverting gain=-3/ Non-inverting gain =4 with INM0 node for input or bias, INM1 node for filtering + /// Inverting gain=-3/ Non-inverting gain =4 with INM0 node for input or bias, INM1 node for filtering Gain4InvGainNeg3_InputVINM0FilteringVINM1 = 0xd, - /// Inverting gain=-7/ Non-inverting gain =8 with INM0 node for input or bias, INM1 node for filtering + /// Inverting gain=-7/ Non-inverting gain =8 with INM0 node for input or bias, INM1 node for filtering Gain8InvGainNeg7_InputVINM0FilteringVINM1 = 0xe, - /// Inverting gain=-15/ Non-inverting gain =16 with INM0 node for input or bias, INM1 node for filtering + /// Inverting gain=-15/ Non-inverting gain =16 with INM0 node for input or bias, INM1 node for filtering Gain16InvGainNeg15_InputVINM0FilteringVINM1 = 0xf, }; pub const USERTRIM = enum(u1) { - /// \'factory\' trim code used + /// \'factory\' trim code used Factory = 0x0, - /// \'user\' trim code used + /// \'user\' trim code used User = 0x1, }; pub const VM_SEL = enum(u2) { - /// INM0 connected to OPAMP_VINM input + /// INM0 connected to OPAMP_VINM input Inm0 = 0x0, - /// INM1 connected to OPAMP_VINM input + /// INM1 connected to OPAMP_VINM input Inm1 = 0x1, - /// Feedback resistor is connected to the OPAMP_VINM input (PGA mode), Inverting input selection depends on the PGA_GAIN setting + /// Feedback resistor is connected to the OPAMP_VINM input (PGA mode), Inverting input selection depends on the PGA_GAIN setting Pga = 0x2, - /// opamp_out connected to OPAMP_VINM input (Follower mode) + /// opamp_out connected to OPAMP_VINM input (Follower mode) Follower = 0x3, }; pub const VP_SEL = enum(u2) { - /// GPIO connected to OPAMPx_VINP + /// GPIO connected to OPAMPx_VINP Gpio = 0x0, - /// dac_outx connected to OPAMPx_VINP + /// dac_outx connected to OPAMPx_VINP DacOut = 0x1, _, }; - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP = extern struct { - /// OPAMP1 control/status register. + /// OPAMP1 control/status register. CSR: mmio.Mmio(packed struct(u32) { - /// Operational amplifier Enable. + /// Operational amplifier Enable. OPAMPEN: u1, - /// Force internal reference on VP (reserved for test. - FORCE_VP: packed union { - raw: u1, - value: FORCE_VP, - }, - /// Operational amplifier PGA mode. - VP_SEL: packed union { - raw: u2, - value: VP_SEL, - }, + /// Force internal reference on VP (reserved for test. + FORCE_VP: FORCE_VP, + /// Operational amplifier PGA mode. + VP_SEL: VP_SEL, reserved5: u1, - /// Inverting input selection. - VM_SEL: packed union { - raw: u2, - value: VM_SEL, - }, + /// Inverting input selection. + VM_SEL: VM_SEL, reserved8: u1, - /// Operational amplifier high-speed mode. - OPAHSM: packed union { - raw: u1, - value: OPAHSM, - }, + /// Operational amplifier high-speed mode. + OPAHSM: OPAHSM, reserved11: u2, - /// Calibration mode enabled. - CALON: packed union { - raw: u1, - value: CALON, - }, - /// Calibration selection. - CALSEL: packed union { - raw: u2, - value: CALSEL, - }, - /// allows to switch from AOP offset trimmed values to AOP offset. - PGA_GAIN: packed union { - raw: u4, - value: PGA_GAIN, - }, - /// User trimming enable. - USERTRIM: packed union { - raw: u1, - value: USERTRIM, - }, + /// Calibration mode enabled. + CALON: CALON, + /// Calibration selection. + CALSEL: CALSEL, + /// allows to switch from AOP offset trimmed values to AOP offset. + PGA_GAIN: PGA_GAIN, + /// User trimming enable. + USERTRIM: USERTRIM, reserved29: u10, - /// OPAMP calibration reference voltage output control (reserved for test). + /// OPAMP calibration reference voltage output control (reserved for test). TSTREF: u1, - /// Operational amplifier calibration output. - CALOUT: packed union { - raw: u1, - value: CALOUT, - }, + /// Operational amplifier calibration output. + CALOUT: CALOUT, padding: u1, }), - /// OPAMP1 offset trimming register in normal mode. + /// OPAMP1 offset trimming register in normal mode. OTR: mmio.Mmio(packed struct(u32) { - /// Trim for NMOS differential pairs. + /// Trim for NMOS differential pairs. TRIMOFFSETN: u5, reserved8: u3, - /// Trim for PMOS differential pairs. + /// Trim for PMOS differential pairs. TRIMOFFSETP: u5, padding: u19, }), - /// OPAMP1 offset trimming register in low-power mode. + /// OPAMP1 offset trimming register in low-power mode. HSOTR: mmio.Mmio(packed struct(u32) { - /// Trim for NMOS differential pairs. + /// Trim for NMOS differential pairs. TRIMLPOFFSETN: u5, reserved8: u3, - /// Trim for PMOS differential pairs. + /// Trim for PMOS differential pairs. TRIMLPOFFSETP: u5, padding: u19, }), @@ -356573,181 +352667,154 @@ pub const types = struct { pub const opamp_h_v2 = struct { pub const CALON = enum(u1) { - /// Normal mode + /// Normal mode Normal = 0x0, - /// Calibration mode (all switches opened by HW) + /// Calibration mode (all switches opened by HW) Calibration = 0x1, }; pub const CALOUT = enum(u1) { - /// Non-inverting < inverting + /// Non-inverting < inverting Less = 0x0, - /// Non-inverting > inverting + /// Non-inverting > inverting Greater = 0x1, }; pub const CALSEL = enum(u2) { - /// VREFOPAMP=3.3% VDDA. + /// VREFOPAMP=3.3% VDDA. Percent3_3 = 0x0, - /// VREFOPAMP=10% VDDA. + /// VREFOPAMP=10% VDDA. Percent10 = 0x1, - /// VREFOPAMP=50% VDDA. + /// VREFOPAMP=50% VDDA. Percent50 = 0x2, - /// VREFOPAMP=90% VDDA. + /// VREFOPAMP=90% VDDA. Percent90 = 0x3, }; pub const FORCE_VP = enum(u1) { - /// Normal operating mode. Non-inverting input connected to inputs. + /// Normal operating mode. Non-inverting input connected to inputs. NormalOperating = 0x0, - /// Calibration verification mode. Non-inverting input connected to calibration reference voltage. + /// Calibration verification mode. Non-inverting input connected to calibration reference voltage. CalibrationVerification = 0x1, }; pub const OPAHSM = enum(u1) { - /// operational amplifier in normal mode + /// operational amplifier in normal mode Normal = 0x0, - /// operational amplifier in high-speed mode + /// operational amplifier in high-speed mode HighSpeed = 0x1, }; pub const PGA_GAIN = enum(u4) { - /// Non-inverting internal Gain 2, VREF- referenced + /// Non-inverting internal Gain 2, VREF- referenced Gain2 = 0x0, - /// Non-inverting internal Gain 4, VREF- referenced + /// Non-inverting internal Gain 4, VREF- referenced Gain4 = 0x1, - /// Non-inverting internal Gain 8, VREF- referenced + /// Non-inverting internal Gain 8, VREF- referenced Gain8 = 0x2, - /// Non-inverting internal Gain 16, VREF- referenced + /// Non-inverting internal Gain 16, VREF- referenced Gain16 = 0x3, - /// Non-inverting internal Gain 2 with filtering on INM0, VREF- referenced + /// Non-inverting internal Gain 2 with filtering on INM0, VREF- referenced Gain2_FilteringVINM0 = 0x4, - /// Non-inverting internal Gain 4 with filtering on INM0, VREF- referenced + /// Non-inverting internal Gain 4 with filtering on INM0, VREF- referenced Gain4_FilteringVINM0 = 0x5, - /// Non-inverting internal Gain 8 with filtering on INM0, VREF- referenced + /// Non-inverting internal Gain 8 with filtering on INM0, VREF- referenced Gain8_FilteringVINM0 = 0x6, - /// Non-inverting internal Gain 8 with filtering on INM0, VREF- referenced + /// Non-inverting internal Gain 8 with filtering on INM0, VREF- referenced Gain16_FilteringVINM0 = 0x7, - /// Inverting gain=-1/ Non-inverting gain =2 with INM0 node for input or bias + /// Inverting gain=-1/ Non-inverting gain =2 with INM0 node for input or bias Gain2InvGainNeg1_InputVINM0 = 0x8, - /// Inverting gain=-3/ Non-inverting gain =4 with INM0 node for input or bias + /// Inverting gain=-3/ Non-inverting gain =4 with INM0 node for input or bias Gain4InvGainNeg3_InputVINM0 = 0x9, - /// Inverting gain=-7/ Non-inverting gain =8 with INM0 node for input or bias + /// Inverting gain=-7/ Non-inverting gain =8 with INM0 node for input or bias Gain8InvGainNeg7_InputVINM0 = 0xa, - /// Inverting gain=-15/ Non-inverting gain =16 with INM0 node for input or bias + /// Inverting gain=-15/ Non-inverting gain =16 with INM0 node for input or bias Gain16InvGainNeg15_InputVINM0 = 0xb, - /// Inverting gain=-1/ Non-inverting gain =2 with INM0 node for input or bias, INM1 node for filtering + /// Inverting gain=-1/ Non-inverting gain =2 with INM0 node for input or bias, INM1 node for filtering Gain2InvGainNeg1_InputVINM0FilteringVINM1 = 0xc, - /// Inverting gain=-3/ Non-inverting gain =4 with INM0 node for input or bias, INM1 node for filtering + /// Inverting gain=-3/ Non-inverting gain =4 with INM0 node for input or bias, INM1 node for filtering Gain4InvGainNeg3_InputVINM0FilteringVINM1 = 0xd, - /// Inverting gain=-7/ Non-inverting gain =8 with INM0 node for input or bias, INM1 node for filtering + /// Inverting gain=-7/ Non-inverting gain =8 with INM0 node for input or bias, INM1 node for filtering Gain8InvGainNeg7_InputVINM0FilteringVINM1 = 0xe, - /// Inverting gain=-15/ Non-inverting gain =16 with INM0 node for input or bias, INM1 node for filtering + /// Inverting gain=-15/ Non-inverting gain =16 with INM0 node for input or bias, INM1 node for filtering Gain16InvGainNeg15_InputVINM0FilteringVINM1 = 0xf, }; pub const USERTRIM = enum(u1) { - /// \'factory\' trim code used + /// \'factory\' trim code used Factory = 0x0, - /// \'user\' trim code used + /// \'user\' trim code used User = 0x1, }; pub const VM_SEL = enum(u2) { - /// INM0 connected to OPAMP_VINM input + /// INM0 connected to OPAMP_VINM input Inm0 = 0x0, - /// INM1 connected to OPAMP_VINM input + /// INM1 connected to OPAMP_VINM input Inm1 = 0x1, - /// Feedback resistor is connected to the OPAMP_VINM input (PGA mode), Inverting input selection depends on the PGA_GAIN setting + /// Feedback resistor is connected to the OPAMP_VINM input (PGA mode), Inverting input selection depends on the PGA_GAIN setting Pga = 0x2, - /// opamp_out connected to OPAMP_VINM input (Follower mode) + /// opamp_out connected to OPAMP_VINM input (Follower mode) Follower = 0x3, }; pub const VP_SEL = enum(u2) { - /// GPIO INP0 connected to OPAMP_VINP + /// GPIO INP0 connected to OPAMP_VINP GpioInp0 = 0x0, - /// dac_outx connected to OPAMPx_VINP + /// dac_outx connected to OPAMPx_VINP DacOut = 0x1, - /// GPIO INP2 is connected to OPAMP_VINP + /// GPIO INP2 is connected to OPAMP_VINP GpioInp2 = 0x2, _, }; - /// Operational amplifiers. + /// Operational amplifiers. pub const OPAMP = extern struct { - /// OPAMP1 control/status register. + /// OPAMP1 control/status register. CSR: mmio.Mmio(packed struct(u32) { - /// Operational amplifier Enable. + /// Operational amplifier Enable. OPAMPEN: u1, - /// Force internal reference on VP (reserved for test. - FORCE_VP: packed union { - raw: u1, - value: FORCE_VP, - }, - /// Operational amplifier PGA mode. - VP_SEL: packed union { - raw: u2, - value: VP_SEL, - }, + /// Force internal reference on VP (reserved for test. + FORCE_VP: FORCE_VP, + /// Operational amplifier PGA mode. + VP_SEL: VP_SEL, reserved5: u1, - /// Inverting input selection. - VM_SEL: packed union { - raw: u2, - value: VM_SEL, - }, + /// Inverting input selection. + VM_SEL: VM_SEL, reserved8: u1, - /// Operational amplifier high-speed mode. - OPAHSM: packed union { - raw: u1, - value: OPAHSM, - }, + /// Operational amplifier high-speed mode. + OPAHSM: OPAHSM, reserved11: u2, - /// Calibration mode enabled. - CALON: packed union { - raw: u1, - value: CALON, - }, - /// Calibration selection. - CALSEL: packed union { - raw: u2, - value: CALSEL, - }, - /// allows to switch from AOP offset trimmed values to AOP offset. - PGA_GAIN: packed union { - raw: u4, - value: PGA_GAIN, - }, - /// User trimming enable. - USERTRIM: packed union { - raw: u1, - value: USERTRIM, - }, + /// Calibration mode enabled. + CALON: CALON, + /// Calibration selection. + CALSEL: CALSEL, + /// allows to switch from AOP offset trimmed values to AOP offset. + PGA_GAIN: PGA_GAIN, + /// User trimming enable. + USERTRIM: USERTRIM, reserved29: u10, - /// OPAMP calibration reference voltage output control (reserved for test). + /// OPAMP calibration reference voltage output control (reserved for test). TSTREF: u1, - /// Operational amplifier calibration output. - CALOUT: packed union { - raw: u1, - value: CALOUT, - }, + /// Operational amplifier calibration output. + CALOUT: CALOUT, padding: u1, }), - /// OPAMP1 offset trimming register in normal mode. + /// OPAMP1 offset trimming register in normal mode. OTR: mmio.Mmio(packed struct(u32) { - /// Trim for NMOS differential pairs. + /// Trim for NMOS differential pairs. TRIMOFFSETN: u5, reserved8: u3, - /// Trim for PMOS differential pairs. + /// Trim for PMOS differential pairs. TRIMOFFSETP: u5, padding: u19, }), - /// OPAMP1 offset trimming register in low-power mode. + /// OPAMP1 offset trimming register in low-power mode. HSOTR: mmio.Mmio(packed struct(u32) { - /// Trim for NMOS differential pairs. + /// Trim for NMOS differential pairs. TRIMLPOFFSETN: u5, reserved8: u3, - /// Trim for PMOS differential pairs. + /// Trim for PMOS differential pairs. TRIMLPOFFSETP: u5, padding: u19, }), @@ -356756,149 +352823,122 @@ pub const types = struct { pub const opamp_u0 = struct { pub const CALON = enum(u1) { - /// Normal mode. + /// Normal mode. Normal = 0x0, - /// Calibration mode (all switches opened by HW). + /// Calibration mode (all switches opened by HW). Calibration = 0x1, }; pub const CALSEL = enum(u1) { - /// NMOS calibration (200mV applied on OPAMP inputs). + /// NMOS calibration (200mV applied on OPAMP inputs). NMOS = 0x0, - /// PMOS calibration (VDDA-200mV applied on OPAMP inputs). + /// PMOS calibration (VDDA-200mV applied on OPAMP inputs). PMOS = 0x1, }; pub const OPALPM = enum(u1) { - /// operational amplifier in normal mode. + /// operational amplifier in normal mode. Normal = 0x0, - /// operational amplifier in low-power mode. + /// operational amplifier in low-power mode. LowPower = 0x1, }; pub const OPAMODE = enum(u2) { - /// internal PGA disable. + /// internal PGA disable. Disable = 0x0, - /// internal PGA disable. (Duplicate) + /// internal PGA disable. (Duplicate) Disable2 = 0x1, - /// internal PGA enable, gain programmed in PGA_GAIN. + /// internal PGA enable, gain programmed in PGA_GAIN. Enable = 0x2, - /// internal follower. + /// internal follower. Follower = 0x3, }; pub const OPA_RANGE = enum(u1) { - /// Low range (VDDA < 2.4V). + /// Low range (VDDA < 2.4V). Low = 0x0, - /// High range (VDDA > 2.4V). + /// High range (VDDA > 2.4V). High = 0x1, }; pub const PGA_GAIN = enum(u2) { - /// internal PGA Gain 2. + /// internal PGA Gain 2. Gain2 = 0x0, - /// internal PGA Gain 4. + /// internal PGA Gain 4. Gain4 = 0x1, - /// internal PGA Gain 8. + /// internal PGA Gain 8. Gain8 = 0x2, - /// internal PGA Gain 16. + /// internal PGA Gain 16. Gain16 = 0x3, }; pub const USERTRIM = enum(u1) { - /// Factory trim code used. + /// Factory trim code used. Factory = 0x0, - /// User trim code used. + /// User trim code used. User = 0x1, }; pub const VM_SEL = enum(u2) { - /// GPIO connected to VINM (valid also in PGA mode for filtering). + /// GPIO connected to VINM (valid also in PGA mode for filtering). VINM = 0x0, - /// Inverting input not externally connected. These configurations are valid only when OPAMODE = 10 (PGA mode) + /// Inverting input not externally connected. These configurations are valid only when OPAMODE = 10 (PGA mode) NotConnected = 0x2, _, }; pub const VP_SEL = enum(u1) { - /// GPIO connected to VINP. + /// GPIO connected to VINP. VINP = 0x0, - /// DAC connected to VINP. + /// DAC connected to VINP. DAC = 0x1, }; - /// OPAMP address block description. + /// OPAMP address block description. pub const OPAMP = extern struct { - /// OPAMP control/status register. + /// OPAMP control/status register. CSR: mmio.Mmio(packed struct(u32) { - /// Operational amplifier Enable. + /// Operational amplifier Enable. OPAMPEN: u1, - /// Operational amplifier Low Power Mode. The operational amplifier must be disable to change this configuration. - OPALPM: packed union { - raw: u1, - value: OPALPM, - }, - /// Operational amplifier PGA mode. - OPAMODE: packed union { - raw: u2, - value: OPAMODE, - }, - /// Operational amplifier Programmable amplifier gain value. - PGA_GAIN: packed union { - raw: u2, - value: PGA_GAIN, - }, + /// Operational amplifier Low Power Mode. The operational amplifier must be disable to change this configuration. + OPALPM: OPALPM, + /// Operational amplifier PGA mode. + OPAMODE: OPAMODE, + /// Operational amplifier Programmable amplifier gain value. + PGA_GAIN: PGA_GAIN, reserved8: u2, - /// Inverting input selection. These bits are used only when OPAMODE = 00, 01 or 10. 1x: Inverting input not externally connected. These configurations are valid only when OPAMODE = 10 (PGA mode). - VM_SEL: packed union { - raw: u2, - value: VM_SEL, - }, - /// Non inverted input selection. - VP_SEL: packed union { - raw: u1, - value: VP_SEL, - }, + /// Inverting input selection. These bits are used only when OPAMODE = 00, 01 or 10. 1x: Inverting input not externally connected. These configurations are valid only when OPAMODE = 10 (PGA mode). + VM_SEL: VM_SEL, + /// Non inverted input selection. + VP_SEL: VP_SEL, reserved12: u1, - /// Calibration mode enabled. - CALON: packed union { - raw: u1, - value: CALON, - }, - /// Calibration selection. - CALSEL: packed union { - raw: u1, - value: CALSEL, - }, - /// allows to switch from factory AOP offset trimmed values to AOP offset user trimmed values This bit is active for both mode normal and low-power. - USERTRIM: packed union { - raw: u1, - value: USERTRIM, - }, - /// Operational amplifier calibration output During calibration mode offset is trimmed when this signal toggle. + /// Calibration mode enabled. + CALON: CALON, + /// Calibration selection. + CALSEL: CALSEL, + /// allows to switch from factory AOP offset trimmed values to AOP offset user trimmed values This bit is active for both mode normal and low-power. + USERTRIM: USERTRIM, + /// Operational amplifier calibration output During calibration mode offset is trimmed when this signal toggle. CALOUT: u1, reserved31: u15, - /// Operational amplifier power supply range for stability All AOP must be in power down to allow AOP-RANGE bit write. It applies to all AOP embedded in the product. - OPA_RANGE: packed union { - raw: u1, - value: OPA_RANGE, - }, + /// Operational amplifier power supply range for stability All AOP must be in power down to allow AOP-RANGE bit write. It applies to all AOP embedded in the product. + OPA_RANGE: OPA_RANGE, }), - /// OPAMP offset trimming register in normal mode. + /// OPAMP offset trimming register in normal mode. OTR: mmio.Mmio(packed struct(u32) { - /// Trim for NMOS differential pairs. + /// Trim for NMOS differential pairs. TRIMOFFSETN: u5, reserved8: u3, - /// Trim for PMOS differential pairs. + /// Trim for PMOS differential pairs. TRIMOFFSETP: u5, padding: u19, }), - /// OPAMP offset trimming register in low-power mode. + /// OPAMP offset trimming register in low-power mode. LPOTR: mmio.Mmio(packed struct(u32) { - /// Low-power mode trim for NMOS differential pairs. + /// Low-power mode trim for NMOS differential pairs. TRIMLPOFFSETN: u5, reserved8: u3, - /// Low-power mode trim for PMOS differential pairs. + /// Low-power mode trim for PMOS differential pairs. TRIMLPOFFSETP: u5, padding: u19, }), @@ -356907,101 +352947,95 @@ pub const types = struct { pub const otfdec_v1 = struct { pub const ENC = enum(u1) { - /// OTFDEC working in decryption mode + /// OTFDEC working in decryption mode Decryption = 0x0, - /// OTFDEC working in encryption mode + /// OTFDEC working in encryption mode Encryption = 0x1, }; pub const MODE = enum(u2) { - /// All read accesses are decrypted (instruction or data). + /// All read accesses are decrypted (instruction or data). Standard = 0x2, - /// Enhanced encryption mode is activated, and only instruction accesses are decrypted + /// Enhanced encryption mode is activated, and only instruction accesses are decrypted Enhanced = 0x3, _, }; - /// On-The-Fly Decryption engine. + /// On-The-Fly Decryption engine. pub const OTFDEC = extern struct { - /// OTFDEC control register. + /// OTFDEC control register. CR: mmio.Mmio(packed struct(u32) { - /// Encryption mode bit When this bit is set, OTFDEC is used in encryption mode, during which application can write clear text data then read back encrypted data. When this bit is cleared (default), OTFDEC is used in decryption mode, during which application only read back decrypted data. For both modes, cryptographic context (keys, nonces, firmware versions) must be properly initialized. When this bit is set, only data accesses are allowed (zeros are returned otherwise, and XONEIF is set). When MODE = 11, enhanced encryption mode is automatically selected. Note: When ENC bit is set, no access to OCTOSPI must be done (registers and Memory‑mapped region). - ENC: packed union { - raw: u1, - value: ENC, - }, + /// Encryption mode bit When this bit is set, OTFDEC is used in encryption mode, during which application can write clear text data then read back encrypted data. When this bit is cleared (default), OTFDEC is used in decryption mode, during which application only read back decrypted data. For both modes, cryptographic context (keys, nonces, firmware versions) must be properly initialized. When this bit is set, only data accesses are allowed (zeros are returned otherwise, and XONEIF is set). When MODE = 11, enhanced encryption mode is automatically selected. Note: When ENC bit is set, no access to OCTOSPI must be done (registers and Memory‑mapped region). + ENC: ENC, padding: u31, }), reserved16: [12]u8, - /// OTFDEC_PRIVCFGR. + /// OTFDEC_PRIVCFGR. PRIVCFGR: mmio.Mmio(packed struct(u32) { - /// Privileged access protection. Unprivileged read accesses to registers return zeros Unprivileged write accesses to registers are ignored. Note: This bit can only be written in privileged mode. There is no limitations on reads. + /// Privileged access protection. Unprivileged read accesses to registers return zeros Unprivileged write accesses to registers are ignored. Note: This bit can only be written in privileged mode. There is no limitations on reads. PRIV: u1, padding: u31, }), reserved32: [12]u8, Region: u32, reserved768: [732]u8, - /// OTFDEC interrupt status register. + /// OTFDEC interrupt status register. ISR: mmio.Mmio(packed struct(u32) { - /// Security error interrupt flag status This bit is set by hardware and read only by application. This bit is set when at least one security error has been detected. This bit is cleared when application sets in OTFDEC_ICR the corresponding bit to 1. + /// Security error interrupt flag status This bit is set by hardware and read only by application. This bit is set when at least one security error has been detected. This bit is cleared when application sets in OTFDEC_ICR the corresponding bit to 1. SEIF: u1, - /// Execute-only execute-never error interrupt flag status This bit is set by hardware and read only by application. This bit is set when a read access and not an instruction fetch is detected on any encrypted region with MODE bits set to 11. Lastly, XONEIF is also set when an execute access is detected while encryption mode is enabled. This bit is cleared when application sets in OTFDEC_ICR the corresponding bit to 1. + /// Execute-only execute-never error interrupt flag status This bit is set by hardware and read only by application. This bit is set when a read access and not an instruction fetch is detected on any encrypted region with MODE bits set to 11. Lastly, XONEIF is also set when an execute access is detected while encryption mode is enabled. This bit is cleared when application sets in OTFDEC_ICR the corresponding bit to 1. XONEIF: u1, - /// Key error interrupt flag status This bit is set by hardware and read only by application. The bit is set when a read access occurs on an encrypted region, while its key registers is null or not properly initialized (KEYCRC = 0x0). This bit is cleared when the application sets in OTFDEC_ICR the corresponding bit to 1. After KEIF is set any subsequent read to the region with bad key registers returns a zeroed value. This state remains until those key registers are properly initialized (KEYCRC not zero). + /// Key error interrupt flag status This bit is set by hardware and read only by application. The bit is set when a read access occurs on an encrypted region, while its key registers is null or not properly initialized (KEYCRC = 0x0). This bit is cleared when the application sets in OTFDEC_ICR the corresponding bit to 1. After KEIF is set any subsequent read to the region with bad key registers returns a zeroed value. This state remains until those key registers are properly initialized (KEYCRC not zero). KEIF: u1, padding: u29, }), - /// OTFDEC interrupt clear register. + /// OTFDEC interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Security error interrupt flag clear This bit is written by application, and always read as 0. + /// Security error interrupt flag clear This bit is written by application, and always read as 0. SEIF: u1, - /// Execute-only execute-never error interrupt flag clear This bit is written by application, and always read as 0. + /// Execute-only execute-never error interrupt flag clear This bit is written by application, and always read as 0. XONEIF: u1, - /// Key error interrupt flag clear This bit is written by application, and always read as 0. Note: Clearing KEIF does not solve the source of the problem (bad key registers). To be able to access again any encrypted region, OTFDEC key registers must be properly initialized again. + /// Key error interrupt flag clear This bit is written by application, and always read as 0. Note: Clearing KEIF does not solve the source of the problem (bad key registers). To be able to access again any encrypted region, OTFDEC key registers must be properly initialized again. KEIF: u1, padding: u29, }), - /// OTFDEC interrupt enable register. + /// OTFDEC interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// Security error interrupt enable This bit is read and written by application. It controls the OTFDEC interrupt generation when SEIF flag status is set. + /// Security error interrupt enable This bit is read and written by application. It controls the OTFDEC interrupt generation when SEIF flag status is set. SEIE: u1, - /// Execute-only execute-never error interrupt enable This bit is read and written by application. It controls the OTFDEC interrupt generation when XONEIF flag status is set. + /// Execute-only execute-never error interrupt enable This bit is read and written by application. It controls the OTFDEC interrupt generation when XONEIF flag status is set. XONEIE: u1, - /// Key error interrupt enable This bit is read and written by application. It controls the OTFDEC interrupt generation when KEIF flag status is set. + /// Key error interrupt enable This bit is read and written by application. It controls the OTFDEC interrupt generation when KEIF flag status is set. KEIE: u1, padding: u29, }), }; pub const Region = extern struct { - /// OTFDEC region 3 configuration register. + /// OTFDEC region 3 configuration register. CFGR: mmio.Mmio(packed struct(u32) { - /// region on-the-fly decryption enable Note: Garbage is decrypted if region context (version, key, nonce) is not valid when this bit is set. + /// region on-the-fly decryption enable Note: Garbage is decrypted if region context (version, key, nonce) is not valid when this bit is set. REG_EN: u1, - /// region config lock Note: This bit is set once. If this bit is set, it can only be reset to 0 if OTFDEC is reset. Setting this bit forces KEYLOCK bit to 1. + /// region config lock Note: This bit is set once. If this bit is set, it can only be reset to 0 if OTFDEC is reset. Setting this bit forces KEYLOCK bit to 1. CONFIGLOCK: u1, - /// region key lock Note: This bit is set once: if this bit is set, it can only be reset to 0 if the OTFDEC is reset. + /// region key lock Note: This bit is set once: if this bit is set, it can only be reset to 0 if the OTFDEC is reset. KEYLOCK: u1, reserved4: u1, - /// operating mode This bitfield selects the OTFDEC operating mode for this region: Others: Reserved When MODE ≠ 11, the standard AES encryption mode is activated. When either of the MODE bits are changed, the region key and associated CRC are zeroed. - MODE: packed union { - raw: u2, - value: MODE, - }, + /// operating mode This bitfield selects the OTFDEC operating mode for this region: Others: Reserved When MODE ≠ 11, the standard AES encryption mode is activated. When either of the MODE bits are changed, the region key and associated CRC are zeroed. + MODE: MODE, reserved8: u2, - /// region key 8-bit CRC When KEYLOCK = 0, KEYCRC bitfield is automatically computed by hardware while loading the key of this region in this exact sequence: KEYR0 then KEYR1 then KEYR2 then finally KEYR3 (all written once). A new computation starts as soon as a new valid sequence is initiated, and KEYCRC is read as zero until a valid sequence is completed. When KEYLOCK = 1, KEYCRC remains unchanged until the next reset. CRC computation is an 8-bit checksum using the standard CRC-8-CCITT algorithm X8 + X2 + X + 1 (according the convention). Source code is available in . This field is read only. Note: CRC information is updated only after the last bit of the key has been written. + /// region key 8-bit CRC When KEYLOCK = 0, KEYCRC bitfield is automatically computed by hardware while loading the key of this region in this exact sequence: KEYR0 then KEYR1 then KEYR2 then finally KEYR3 (all written once). A new computation starts as soon as a new valid sequence is initiated, and KEYCRC is read as zero until a valid sequence is completed. When KEYLOCK = 1, KEYCRC remains unchanged until the next reset. CRC computation is an 8-bit checksum using the standard CRC-8-CCITT algorithm X8 + X2 + X + 1 (according the convention). Source code is available in . This field is read only. Note: CRC information is updated only after the last bit of the key has been written. KEYCRC: u8, - /// region firmware version This 16-bit bitfield must be correctly initialized before the region corresponding REG_EN bit is set in OTFDEC_RxCFGR. + /// region firmware version This 16-bit bitfield must be correctly initialized before the region corresponding REG_EN bit is set in OTFDEC_RxCFGR. REG_VERSION: u16, }), - /// OTFDEC region 3 start address register. + /// OTFDEC region 3 start address register. STARTADDR: u32, - /// OTFDEC region 3 end address register. + /// OTFDEC region 3 end address register. ENDADDR: u32, - /// OTFDEC region 3 nonce register 0. + /// OTFDEC region 3 nonce register 0. NONCER: [2]u32, - /// OTFDEC region 3 key register 0. + /// OTFDEC region 3 key register 0. KEYR: [4]u32, }; }; @@ -357015,11 +353049,11 @@ pub const types = struct { }; pub const DSPD = enum(u2) { - /// High speed + /// High speed HIGH_SPEED = 0x0, - /// Full speed using external ULPI PHY + /// Full speed using external ULPI PHY FULL_SPEED_EXTERNAL = 0x1, - /// Full speed using internal embedded PHY + /// Full speed using internal embedded PHY FULL_SPEED_INTERNAL = 0x3, _, }; @@ -357032,908 +353066,878 @@ pub const types = struct { }; pub const PFIVL = enum(u2) { - /// 80% of the frame interval + /// 80% of the frame interval FRAME_INTERVAL_80 = 0x0, - /// 85% of the frame interval + /// 85% of the frame interval FRAME_INTERVAL_85 = 0x1, - /// 90% of the frame interval + /// 90% of the frame interval FRAME_INTERVAL_90 = 0x2, - /// 95% of the frame interval + /// 95% of the frame interval FRAME_INTERVAL_95 = 0x3, }; pub const PKTSTSD = enum(u4) { - /// Global OUT NAK (triggers an interrupt) + /// Global OUT NAK (triggers an interrupt) OUT_NAK = 0x1, - /// OUT data packet received + /// OUT data packet received OUT_DATA_RX = 0x2, - /// OUT transfer completed (triggers an interrupt) + /// OUT transfer completed (triggers an interrupt) OUT_DATA_DONE = 0x3, - /// SETUP transaction completed (triggers an interrupt) + /// SETUP transaction completed (triggers an interrupt) SETUP_DATA_DONE = 0x4, - /// SETUP data packet received + /// SETUP data packet received SETUP_DATA_RX = 0x6, _, }; pub const PKTSTSH = enum(u4) { - /// IN data packet received + /// IN data packet received IN_DATA_RX = 0x2, - /// IN transfer completed (triggers an interrupt) + /// IN transfer completed (triggers an interrupt) IN_DATA_DONE = 0x3, - /// Data toggle error (triggers an interrupt) + /// Data toggle error (triggers an interrupt) DATA_TOGGLE_ERR = 0x5, - /// Channel halted (triggers an interrupt) + /// Channel halted (triggers an interrupt) CHANNEL_HALTED = 0x7, _, }; - /// USB on the go + /// USB on the go pub const OTG = extern struct { - /// Control and status register + /// Control and status register GOTGCTL: mmio.Mmio(packed struct(u32) { - /// Session request success + /// Session request success SRQSCS: u1, - /// Session request + /// Session request SRQ: u1, - /// VBUS valid override enable + /// VBUS valid override enable VBVALOEN: u1, - /// VBUS valid override value + /// VBUS valid override value VBVALOVAL: u1, - /// A-peripheral session valid override enable + /// A-peripheral session valid override enable AVALOEN: u1, - /// A-peripheral session valid override value + /// A-peripheral session valid override value AVALOVAL: u1, - /// B-peripheral session valid override enable + /// B-peripheral session valid override enable BVALOEN: u1, - /// B-peripheral session valid override value + /// B-peripheral session valid override value BVALOVAL: u1, - /// Host negotiation success + /// Host negotiation success HNGSCS: u1, - /// HNP request + /// HNP request HNPRQ: u1, - /// Host set HNP enable + /// Host set HNP enable HSHNPEN: u1, - /// Device HNP enabled + /// Device HNP enabled DHNPEN: u1, - /// Embedded host enable + /// Embedded host enable EHEN: u1, reserved16: u3, - /// Connector ID status + /// Connector ID status CIDSTS: u1, - /// Long/short debounce time + /// Long/short debounce time DBCT: u1, - /// A-session valid + /// A-session valid ASVLD: u1, - /// B-session valid + /// B-session valid BSVLD: u1, padding: u12, }), - /// Interrupt register + /// Interrupt register GOTGINT: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Session end detected + /// Session end detected SEDET: u1, reserved8: u5, - /// Session request success status change + /// Session request success status change SRSSCHG: u1, - /// Host negotiation success status change + /// Host negotiation success status change HNSSCHG: u1, reserved17: u7, - /// Host negotiation detected + /// Host negotiation detected HNGDET: u1, - /// A-device timeout change + /// A-device timeout change ADTOCHG: u1, - /// Debounce done + /// Debounce done DBCDNE: u1, - /// ID input pin changed + /// ID input pin changed IDCHNG: u1, padding: u11, }), - /// AHB configuration register + /// AHB configuration register GAHBCFG: mmio.Mmio(packed struct(u32) { - /// Global interrupt mask + /// Global interrupt mask GINT: u1, - /// Burst length/type + /// Burst length/type HBSTLEN: u4, - /// DMA enable + /// DMA enable DMAEN: u1, reserved7: u1, - /// TxFIFO empty level + /// TxFIFO empty level TXFELVL: u1, - /// Periodic TxFIFO empty level + /// Periodic TxFIFO empty level PTXFELVL: u1, padding: u23, }), - /// USB configuration register + /// USB configuration register GUSBCFG: mmio.Mmio(packed struct(u32) { - /// FS timeout calibration + /// FS timeout calibration TOCAL: u3, reserved6: u3, - /// Full-speed internal serial transceiver enable + /// Full-speed internal serial transceiver enable PHYSEL: u1, reserved8: u1, - /// SRP-capable + /// SRP-capable SRPCAP: u1, - /// HNP-capable + /// HNP-capable HNPCAP: u1, - /// USB turnaround time + /// USB turnaround time TRDT: u4, reserved15: u1, - /// PHY Low-power clock select + /// PHY Low-power clock select PHYLPCS: u1, reserved17: u1, - /// ULPI FS/LS select + /// ULPI FS/LS select ULPIFSLS: u1, - /// ULPI Auto-resume + /// ULPI Auto-resume ULPIAR: u1, - /// ULPI Clock SuspendM + /// ULPI Clock SuspendM ULPICSM: u1, - /// ULPI External VBUS Drive + /// ULPI External VBUS Drive ULPIEVBUSD: u1, - /// ULPI external VBUS indicator + /// ULPI external VBUS indicator ULPIEVBUSI: u1, - /// TermSel DLine pulsing selection + /// TermSel DLine pulsing selection TSDPS: u1, - /// Indicator complement + /// Indicator complement PCCI: u1, - /// Indicator pass through + /// Indicator pass through PTCI: u1, - /// ULPI interface protect disable + /// ULPI interface protect disable ULPIIPD: u1, reserved29: u3, - /// Force host mode + /// Force host mode FHMOD: u1, - /// Force device mode + /// Force device mode FDMOD: u1, - /// Corrupt Tx packet + /// Corrupt Tx packet CTXPKT: u1, }), - /// Reset register + /// Reset register GRSTCTL: mmio.Mmio(packed struct(u32) { - /// Core soft reset + /// Core soft reset CSRST: u1, - /// HCLK soft reset + /// HCLK soft reset HSRST: u1, - /// Host frame counter reset + /// Host frame counter reset FCRST: u1, reserved4: u1, - /// RxFIFO flush + /// RxFIFO flush RXFFLSH: u1, - /// TxFIFO flush + /// TxFIFO flush TXFFLSH: u1, - /// TxFIFO number + /// TxFIFO number TXFNUM: u5, reserved30: u19, - /// DMA request signal enabled for USB OTG HS + /// DMA request signal enabled for USB OTG HS DMAREQ: u1, - /// AHB master idle + /// AHB master idle AHBIDL: u1, }), - /// Core interrupt register + /// Core interrupt register GINTSTS: mmio.Mmio(packed struct(u32) { - /// Current mode of operation + /// Current mode of operation CMOD: u1, - /// Mode mismatch interrupt + /// Mode mismatch interrupt MMIS: u1, - /// OTG interrupt + /// OTG interrupt OTGINT: u1, - /// Start of frame + /// Start of frame SOF: u1, - /// RxFIFO non-empty + /// RxFIFO non-empty RXFLVL: u1, - /// Non-periodic TxFIFO empty + /// Non-periodic TxFIFO empty NPTXFE: u1, - /// Global IN non-periodic NAK effective + /// Global IN non-periodic NAK effective GINAKEFF: u1, - /// Global OUT NAK effective + /// Global OUT NAK effective GOUTNAKEFF: u1, reserved10: u2, - /// Early suspend + /// Early suspend ESUSP: u1, - /// USB suspend + /// USB suspend USBSUSP: u1, - /// USB reset + /// USB reset USBRST: u1, - /// Enumeration done + /// Enumeration done ENUMDNE: u1, - /// Isochronous OUT packet dropped interrupt + /// Isochronous OUT packet dropped interrupt ISOODRP: u1, - /// End of periodic frame interrupt + /// End of periodic frame interrupt EOPF: u1, reserved18: u2, - /// IN endpoint interrupt + /// IN endpoint interrupt IEPINT: u1, - /// OUT endpoint interrupt + /// OUT endpoint interrupt OEPINT: u1, - /// Incomplete isochronous IN transfer + /// Incomplete isochronous IN transfer IISOIXFR: u1, - /// Incomplete periodic transfer (host mode) / Incomplete isochronous OUT transfer (device mode) + /// Incomplete periodic transfer (host mode) / Incomplete isochronous OUT transfer (device mode) IPXFR_INCOMPISOOUT: u1, - /// Data fetch suspended + /// Data fetch suspended DATAFSUSP: u1, reserved24: u1, - /// Host port interrupt + /// Host port interrupt HPRTINT: u1, - /// Host channels interrupt + /// Host channels interrupt HCINT: u1, - /// Periodic TxFIFO empty + /// Periodic TxFIFO empty PTXFE: u1, reserved28: u1, - /// Connector ID status change + /// Connector ID status change CIDSCHG: u1, - /// Disconnect detected interrupt + /// Disconnect detected interrupt DISCINT: u1, - /// Session request/new session detected interrupt + /// Session request/new session detected interrupt SRQINT: u1, - /// Resume/remote wakeup detected interrupt + /// Resume/remote wakeup detected interrupt WKUPINT: u1, }), - /// Interrupt mask register + /// Interrupt mask register GINTMSK: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Mode mismatch interrupt mask + /// Mode mismatch interrupt mask MMISM: u1, - /// OTG interrupt mask + /// OTG interrupt mask OTGINT: u1, - /// Start of frame mask + /// Start of frame mask SOFM: u1, - /// Receive FIFO non-empty mask + /// Receive FIFO non-empty mask RXFLVLM: u1, - /// Non-periodic TxFIFO empty mask + /// Non-periodic TxFIFO empty mask NPTXFEM: u1, - /// Global non-periodic IN NAK effective mask + /// Global non-periodic IN NAK effective mask GINAKEFFM: u1, - /// Global OUT NAK effective mask + /// Global OUT NAK effective mask GONAKEFFM: u1, reserved10: u2, - /// Early suspend mask + /// Early suspend mask ESUSPM: u1, - /// USB suspend mask + /// USB suspend mask USBSUSPM: u1, - /// USB reset mask + /// USB reset mask USBRST: u1, - /// Enumeration done mask + /// Enumeration done mask ENUMDNEM: u1, - /// Isochronous OUT packet dropped interrupt mask + /// Isochronous OUT packet dropped interrupt mask ISOODRPM: u1, - /// End of periodic frame interrupt mask + /// End of periodic frame interrupt mask EOPFM: u1, reserved17: u1, - /// Endpoint mismatch interrupt mask + /// Endpoint mismatch interrupt mask EPMISM: u1, - /// IN endpoints interrupt mask + /// IN endpoints interrupt mask IEPINT: u1, - /// OUT endpoints interrupt mask + /// OUT endpoints interrupt mask OEPINT: u1, - /// Incomplete isochronous IN transfer mask + /// Incomplete isochronous IN transfer mask IISOIXFRM: u1, - /// Incomplete periodic transfer mask (host mode) / Incomplete isochronous OUT transfer mask (device mode) + /// Incomplete periodic transfer mask (host mode) / Incomplete isochronous OUT transfer mask (device mode) IPXFRM_IISOOXFRM: u1, - /// Data fetch suspended mask + /// Data fetch suspended mask FSUSPM: u1, - /// Reset detected interrupt mask + /// Reset detected interrupt mask RSTDE: u1, - /// Host port interrupt mask + /// Host port interrupt mask PRTIM: u1, - /// Host channels interrupt mask + /// Host channels interrupt mask HCIM: u1, - /// Periodic TxFIFO empty mask + /// Periodic TxFIFO empty mask PTXFEM: u1, - /// LPM interrupt mask + /// LPM interrupt mask LPMINTM: u1, - /// Connector ID status change mask + /// Connector ID status change mask CIDSCHGM: u1, - /// Disconnect detected interrupt mask + /// Disconnect detected interrupt mask DISCINT: u1, - /// Session request/new session detected interrupt mask + /// Session request/new session detected interrupt mask SRQIM: u1, - /// Resume/remote wakeup detected interrupt mask + /// Resume/remote wakeup detected interrupt mask WUIM: u1, }), - /// Receive status debug read register + /// Receive status debug read register GRXSTSR: mmio.Mmio(packed struct(u32) { - /// Endpoint number (device mode) / Channel number (host mode) + /// Endpoint number (device mode) / Channel number (host mode) EPNUM: u4, - /// Byte count + /// Byte count BCNT: u11, - /// Data PID - DPID: packed union { - raw: u2, - value: DPID, - }, - /// Packet status (device mode) - PKTSTSD: packed union { - raw: u4, - value: PKTSTSD, - }, - /// Frame number (device mode) + /// Data PID + DPID: DPID, + /// Packet status (device mode) + PKTSTSD: PKTSTSD, + /// Frame number (device mode) FRMNUM: u4, padding: u7, }), - /// Status read and pop register + /// Status read and pop register GRXSTSP: mmio.Mmio(packed struct(u32) { - /// Endpoint number (device mode) / Channel number (host mode) + /// Endpoint number (device mode) / Channel number (host mode) EPNUM: u4, - /// Byte count + /// Byte count BCNT: u11, - /// Data PID - DPID: packed union { - raw: u2, - value: DPID, - }, - /// Packet status (device mode) - PKTSTSD: packed union { - raw: u4, - value: PKTSTSD, - }, - /// Frame number (device mode) + /// Data PID + DPID: DPID, + /// Packet status (device mode) + PKTSTSD: PKTSTSD, + /// Frame number (device mode) FRMNUM: u4, padding: u7, }), - /// Receive FIFO size register + /// Receive FIFO size register GRXFSIZ: mmio.Mmio(packed struct(u32) { - /// RxFIFO depth + /// RxFIFO depth RXFD: u16, padding: u16, }), - /// Endpoint 0 transmit FIFO size register (device mode) + /// Endpoint 0 transmit FIFO size register (device mode) DIEPTXF0: mmio.Mmio(packed struct(u32) { - /// RAM start address + /// RAM start address SA: u16, - /// FIFO depth + /// FIFO depth FD: u16, }), - /// Non-periodic transmit FIFO/queue status register (host mode) + /// Non-periodic transmit FIFO/queue status register (host mode) HNPTXSTS: mmio.Mmio(packed struct(u32) { - /// Non-periodic TxFIFO space available + /// Non-periodic TxFIFO space available NPTXFSAV: u16, - /// Non-periodic transmit request queue space available + /// Non-periodic transmit request queue space available NPTQXSAV: u8, - /// Top of the non-periodic transmit request queue + /// Top of the non-periodic transmit request queue NPTXQTOP: u7, padding: u1, }), - /// OTG I2C access register + /// OTG I2C access register GI2CCTL: mmio.Mmio(packed struct(u32) { - /// I2C Read/Write Data + /// I2C Read/Write Data RWDATA: u8, - /// I2C Register Address + /// I2C Register Address REGADDR: u8, - /// I2C Address + /// I2C Address ADDR: u7, - /// I2C Enable + /// I2C Enable I2CEN: u1, - /// I2C ACK + /// I2C ACK ACK: u1, reserved26: u1, - /// I2C Device Address + /// I2C Device Address I2CDEVADR: u2, - /// I2C DatSe0 USB mode + /// I2C DatSe0 USB mode I2CDATSE0: u1, reserved30: u1, - /// Read/Write Indicator + /// Read/Write Indicator RW: u1, - /// I2C Busy/Done + /// I2C Busy/Done BSYDNE: u1, }), reserved56: [4]u8, - /// General core configuration register, for core_id 0x0000_1xxx + /// General core configuration register, for core_id 0x0000_1xxx GCCFG_V1: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Power down + /// Power down PWRDWN: u1, reserved18: u1, - /// Enable the VBUS "A" sensing device + /// Enable the VBUS "A" sensing device VBUSASEN: u1, - /// Enable the VBUS "B" sensing device + /// Enable the VBUS "B" sensing device VBUSBSEN: u1, - /// SOF output enable + /// SOF output enable SOFOUTEN: u1, - /// VBUS sensing disable + /// VBUS sensing disable NOVBUSSENS: u1, padding: u10, }), - /// Core ID register + /// Core ID register CID: mmio.Mmio(packed struct(u32) { - /// Product ID field + /// Product ID field PRODUCT_ID: u32, }), reserved84: [20]u8, - /// OTG core LPM configuration register + /// OTG core LPM configuration register GLPMCFG: mmio.Mmio(packed struct(u32) { - /// LPM support enable + /// LPM support enable LPMEN: u1, - /// LPM token acknowledge enable + /// LPM token acknowledge enable LPMACK: u1, - /// Best effort service latency + /// Best effort service latency BESL: u4, - /// bRemoteWake value + /// bRemoteWake value REMWAKE: u1, - /// L1 Shallow Sleep enable + /// L1 Shallow Sleep enable L1SSEN: u1, - /// BESL threshold + /// BESL threshold BESLTHRS: u4, - /// L1 deep sleep enable + /// L1 deep sleep enable L1DSEN: u1, - /// LPM response + /// LPM response LPMRST: u2, - /// Port sleep status + /// Port sleep status SLPSTS: u1, - /// Sleep State Resume OK + /// Sleep State Resume OK L1RSMOK: u1, - /// LPM Channel Index + /// LPM Channel Index LPMCHIDX: u4, - /// LPM retry count + /// LPM retry count LPMRCNT: u3, - /// Send LPM transaction + /// Send LPM transaction SNDLPM: u1, - /// LPM retry count status + /// LPM retry count status LPMRCNTSTS: u3, - /// Enable best effort service latency + /// Enable best effort service latency ENBESL: u1, padding: u3, }), reserved256: [168]u8, - /// Host periodic transmit FIFO size register + /// Host periodic transmit FIFO size register HPTXFSIZ: mmio.Mmio(packed struct(u32) { - /// RAM start address + /// RAM start address SA: u16, - /// FIFO depth + /// FIFO depth FD: u16, }), - /// Device IN endpoint transmit FIFO size register + /// Device IN endpoint transmit FIFO size register DIEPTXF: [7]mmio.Mmio(packed struct(u32) { - /// RAM start address + /// RAM start address SA: u16, - /// FIFO depth + /// FIFO depth FD: u16, }), reserved1024: [736]u8, - /// Host configuration register + /// Host configuration register HCFG: mmio.Mmio(packed struct(u32) { - /// FS/LS PHY clock select + /// FS/LS PHY clock select FSLSPCS: u2, - /// FS- and LS-only support + /// FS- and LS-only support FSLSS: u1, padding: u29, }), - /// Host frame interval register + /// Host frame interval register HFIR: mmio.Mmio(packed struct(u32) { - /// Frame interval + /// Frame interval FRIVL: u16, padding: u16, }), - /// Host frame number/frame time remaining register + /// Host frame number/frame time remaining register HFNUM: mmio.Mmio(packed struct(u32) { - /// Frame number + /// Frame number FRNUM: u16, - /// Frame time remaining + /// Frame time remaining FTREM: u16, }), reserved1040: [4]u8, - /// Periodic transmit FIFO/queue status register + /// Periodic transmit FIFO/queue status register HPTXSTS: mmio.Mmio(packed struct(u32) { - /// Periodic transmit data FIFO space available + /// Periodic transmit data FIFO space available PTXFSAVL: u16, - /// Periodic transmit request queue space available + /// Periodic transmit request queue space available PTXQSAV: u8, - /// Top of the periodic transmit request queue + /// Top of the periodic transmit request queue PTXQTOP: u8, }), - /// Host all channels interrupt register + /// Host all channels interrupt register HAINT: mmio.Mmio(packed struct(u32) { - /// Channel interrupts + /// Channel interrupts HAINT: u16, padding: u16, }), - /// Host all channels interrupt mask register + /// Host all channels interrupt mask register HAINTMSK: mmio.Mmio(packed struct(u32) { - /// Channel interrupt mask + /// Channel interrupt mask HAINTM: u16, padding: u16, }), reserved1088: [36]u8, - /// Host port control and status register + /// Host port control and status register HPRT: mmio.Mmio(packed struct(u32) { - /// Port connect status + /// Port connect status PCSTS: u1, - /// Port connect detected + /// Port connect detected PCDET: u1, - /// Port enable + /// Port enable PENA: u1, - /// Port enable/disable change + /// Port enable/disable change PENCHNG: u1, - /// Port overcurrent active + /// Port overcurrent active POCA: u1, - /// Port overcurrent change + /// Port overcurrent change POCCHNG: u1, - /// Port resume + /// Port resume PRES: u1, - /// Port suspend + /// Port suspend PSUSP: u1, - /// Port reset + /// Port reset PRST: u1, reserved10: u1, - /// Port line status + /// Port line status PLSTS: u2, - /// Port power + /// Port power PPWR: u1, - /// Port test control + /// Port test control PTCTL: u4, - /// Port speed + /// Port speed PSPD: u2, padding: u13, }), reserved1280: [188]u8, - /// Host channel characteristics register + /// Host channel characteristics register HCCHAR: mmio.Mmio(packed struct(u32) { - /// Maximum packet size + /// Maximum packet size MPSIZ: u11, - /// Endpoint number + /// Endpoint number EPNUM: u4, - /// Endpoint direction + /// Endpoint direction EPDIR: u1, reserved17: u1, - /// Low-speed device + /// Low-speed device LSDEV: u1, - /// Endpoint type - EPTYP: packed union { - raw: u2, - value: EPTYP, - }, - /// Multicount + /// Endpoint type + EPTYP: EPTYP, + /// Multicount MCNT: u2, - /// Device address + /// Device address DAD: u7, - /// Odd frame + /// Odd frame ODDFRM: u1, - /// Channel disable + /// Channel disable CHDIS: u1, - /// Channel enable + /// Channel enable CHENA: u1, }), - /// Host channel split control register + /// Host channel split control register HCSPLT: u32, - /// Host channel interrupt register + /// Host channel interrupt register HCINT: mmio.Mmio(packed struct(u32) { - /// Transfer completed + /// Transfer completed XFRC: u1, - /// Channel halted + /// Channel halted CHH: u1, reserved3: u1, - /// STALL response received interrupt + /// STALL response received interrupt STALL: u1, - /// NAK response received interrupt + /// NAK response received interrupt NAK: u1, - /// ACK response received/transmitted interrupt + /// ACK response received/transmitted interrupt ACK: u1, reserved7: u1, - /// Transaction error + /// Transaction error TXERR: u1, - /// Babble error + /// Babble error BBERR: u1, - /// Frame overrun + /// Frame overrun FRMOR: u1, - /// Data toggle error + /// Data toggle error DTERR: u1, padding: u21, }), - /// Host channel mask register + /// Host channel mask register HCINTMSK: mmio.Mmio(packed struct(u32) { - /// Transfer completed mask + /// Transfer completed mask XFRCM: u1, - /// Channel halted mask + /// Channel halted mask CHHM: u1, reserved3: u1, - /// STALL response received interrupt mask + /// STALL response received interrupt mask STALLM: u1, - /// NAK response received interrupt mask + /// NAK response received interrupt mask NAKM: u1, - /// ACK response received/transmitted interrupt mask + /// ACK response received/transmitted interrupt mask ACKM: u1, - /// Response received interrupt mask + /// Response received interrupt mask NYET: u1, - /// Transaction error mask + /// Transaction error mask TXERRM: u1, - /// Babble error mask + /// Babble error mask BBERRM: u1, - /// Frame overrun mask + /// Frame overrun mask FRMORM: u1, - /// Data toggle error mask + /// Data toggle error mask DTERRM: u1, padding: u21, }), - /// Host channel transfer size register + /// Host channel transfer size register HCTSIZ: mmio.Mmio(packed struct(u32) { - /// Transfer size + /// Transfer size XFRSIZ: u19, - /// Packet count + /// Packet count PKTCNT: u10, - /// Data PID + /// Data PID DPID: u2, padding: u1, }), reserved2048: [748]u8, - /// Device configuration register + /// Device configuration register DCFG: mmio.Mmio(packed struct(u32) { - /// Device speed - DSPD: packed union { - raw: u2, - value: DSPD, - }, - /// Non-zero-length status OUT handshake + /// Device speed + DSPD: DSPD, + /// Non-zero-length status OUT handshake NZLSOHSK: u1, reserved4: u1, - /// Device address + /// Device address DAD: u7, - /// Periodic frame interval - PFIVL: packed union { - raw: u2, - value: PFIVL, - }, + /// Periodic frame interval + PFIVL: PFIVL, reserved14: u1, - /// Transceiver delay + /// Transceiver delay XCVRDLY: u1, padding: u17, }), - /// Device control register + /// Device control register DCTL: mmio.Mmio(packed struct(u32) { - /// Remote wakeup signaling + /// Remote wakeup signaling RWUSIG: u1, - /// Soft disconnect + /// Soft disconnect SDIS: u1, - /// Global IN NAK status + /// Global IN NAK status GINSTS: u1, - /// Global OUT NAK status + /// Global OUT NAK status GONSTS: u1, - /// Test control + /// Test control TCTL: u3, - /// Set global IN NAK + /// Set global IN NAK SGINAK: u1, - /// Clear global IN NAK + /// Clear global IN NAK CGINAK: u1, - /// Set global OUT NAK + /// Set global OUT NAK SGONAK: u1, - /// Clear global OUT NAK + /// Clear global OUT NAK CGONAK: u1, - /// Power-on programming done + /// Power-on programming done POPRGDNE: u1, padding: u20, }), - /// Device status register + /// Device status register DSTS: mmio.Mmio(packed struct(u32) { - /// Suspend status + /// Suspend status SUSPSTS: u1, - /// Enumerated speed - ENUMSPD: packed union { - raw: u2, - value: DSPD, - }, - /// Erratic error + /// Enumerated speed + ENUMSPD: DSPD, + /// Erratic error EERR: u1, reserved8: u4, - /// Frame number of the received SOF + /// Frame number of the received SOF FNSOF: u14, padding: u10, }), reserved2064: [4]u8, - /// Device IN endpoint common interrupt mask register + /// Device IN endpoint common interrupt mask register DIEPMSK: mmio.Mmio(packed struct(u32) { - /// Transfer completed interrupt mask + /// Transfer completed interrupt mask XFRCM: u1, - /// Endpoint disabled interrupt mask + /// Endpoint disabled interrupt mask EPDM: u1, reserved3: u1, - /// Timeout condition mask (Non-isochronous endpoints) + /// Timeout condition mask (Non-isochronous endpoints) TOM: u1, - /// IN token received when TxFIFO empty mask + /// IN token received when TxFIFO empty mask ITTXFEMSK: u1, - /// IN token received with EP mismatch mask + /// IN token received with EP mismatch mask INEPNMM: u1, - /// IN endpoint NAK effective mask + /// IN endpoint NAK effective mask INEPNEM: u1, padding: u25, }), - /// Device OUT endpoint common interrupt mask register + /// Device OUT endpoint common interrupt mask register DOEPMSK: mmio.Mmio(packed struct(u32) { - /// Transfer completed interrupt mask + /// Transfer completed interrupt mask XFRCM: u1, - /// Endpoint disabled interrupt mask + /// Endpoint disabled interrupt mask EPDM: u1, reserved3: u1, - /// SETUP phase done mask + /// SETUP phase done mask STUPM: u1, - /// OUT token received when endpoint disabled mask + /// OUT token received when endpoint disabled mask OTEPDM: u1, padding: u27, }), - /// Device all endpoints interrupt register + /// Device all endpoints interrupt register DAINT: mmio.Mmio(packed struct(u32) { - /// IN endpoint interrupt bits + /// IN endpoint interrupt bits IEPINT: u16, - /// OUT endpoint interrupt bits + /// OUT endpoint interrupt bits OEPINT: u16, }), - /// All endpoints interrupt mask register + /// All endpoints interrupt mask register DAINTMSK: mmio.Mmio(packed struct(u32) { - /// IN EP interrupt mask bits + /// IN EP interrupt mask bits IEPM: u16, - /// OUT EP interrupt mask bits + /// OUT EP interrupt mask bits OEPM: u16, }), reserved2088: [8]u8, - /// Device VBUS discharge time register + /// Device VBUS discharge time register DVBUSDIS: mmio.Mmio(packed struct(u32) { - /// Device VBUS discharge time + /// Device VBUS discharge time VBUSDT: u16, padding: u16, }), - /// Device VBUS pulsing time register + /// Device VBUS pulsing time register DVBUSPULSE: mmio.Mmio(packed struct(u32) { - /// Device VBUS pulsing time + /// Device VBUS pulsing time DVBUSP: u12, padding: u20, }), reserved2100: [4]u8, - /// Device IN endpoint FIFO empty interrupt mask register + /// Device IN endpoint FIFO empty interrupt mask register DIEPEMPMSK: mmio.Mmio(packed struct(u32) { - /// IN EP Tx FIFO empty interrupt mask bits + /// IN EP Tx FIFO empty interrupt mask bits INEPTXFEM: u16, padding: u16, }), reserved2304: [200]u8, - /// Device IN endpoint control register + /// Device IN endpoint control register DIEPCTL: mmio.Mmio(packed struct(u32) { - /// MPSIZ + /// MPSIZ MPSIZ: u11, reserved15: u4, - /// USBAEP + /// USBAEP USBAEP: u1, - /// EONUM/DPID + /// EONUM/DPID EONUM_DPID: u1, - /// NAKSTS + /// NAKSTS NAKSTS: u1, - /// EPTYP - EPTYP: packed union { - raw: u2, - value: EPTYP, - }, - /// SNPM + /// EPTYP + EPTYP: EPTYP, + /// SNPM SNPM: u1, - /// STALL + /// STALL STALL: u1, - /// TXFNUM + /// TXFNUM TXFNUM: u4, - /// CNAK + /// CNAK CNAK: u1, - /// SNAK + /// SNAK SNAK: u1, - /// SD0PID/SEVNFRM + /// SD0PID/SEVNFRM SD0PID_SEVNFRM: u1, - /// SODDFRM/SD1PID + /// SODDFRM/SD1PID SODDFRM_SD1PID: u1, - /// EPDIS + /// EPDIS EPDIS: u1, - /// EPENA + /// EPENA EPENA: u1, }), reserved2312: [4]u8, - /// Device IN endpoint interrupt register + /// Device IN endpoint interrupt register DIEPINT: mmio.Mmio(packed struct(u32) { - /// XFRC + /// XFRC XFRC: u1, - /// EPDISD + /// EPDISD EPDISD: u1, reserved3: u1, - /// TOC + /// TOC TOC: u1, - /// ITTXFE + /// ITTXFE ITTXFE: u1, reserved6: u1, - /// INEPNE + /// INEPNE INEPNE: u1, - /// TXFE + /// TXFE TXFE: u1, padding: u24, }), reserved2320: [4]u8, - /// Device IN endpoint transfer size register + /// Device IN endpoint transfer size register DIEPTSIZ: mmio.Mmio(packed struct(u32) { - /// Transfer size + /// Transfer size XFRSIZ: u19, - /// Packet count + /// Packet count PKTCNT: u10, - /// Multi count + /// Multi count MCNT: u2, padding: u1, }), reserved2328: [4]u8, - /// Device IN endpoint transmit FIFO status register + /// Device IN endpoint transmit FIFO status register DTXFSTS: mmio.Mmio(packed struct(u32) { - /// IN endpoint TxFIFO space available + /// IN endpoint TxFIFO space available INEPTFSAV: u16, padding: u16, }), reserved2816: [484]u8, - /// Device OUT endpoint control register + /// Device OUT endpoint control register DOEPCTL: mmio.Mmio(packed struct(u32) { - /// MPSIZ + /// MPSIZ MPSIZ: u11, reserved15: u4, - /// USBAEP + /// USBAEP USBAEP: u1, - /// EONUM/DPID + /// EONUM/DPID EONUM_DPID: u1, - /// NAKSTS + /// NAKSTS NAKSTS: u1, - /// EPTYP - EPTYP: packed union { - raw: u2, - value: EPTYP, - }, - /// SNPM + /// EPTYP + EPTYP: EPTYP, + /// SNPM SNPM: u1, - /// STALL + /// STALL STALL: u1, reserved26: u4, - /// CNAK + /// CNAK CNAK: u1, - /// SNAK + /// SNAK SNAK: u1, - /// SD0PID/SEVNFRM + /// SD0PID/SEVNFRM SD0PID_SEVNFRM: u1, - /// SODDFRM + /// SODDFRM SODDFRM: u1, - /// EPDIS + /// EPDIS EPDIS: u1, - /// EPENA + /// EPENA EPENA: u1, }), reserved2824: [4]u8, - /// Device OUT endpoint interrupt register + /// Device OUT endpoint interrupt register DOEPINT: mmio.Mmio(packed struct(u32) { - /// XFRC + /// XFRC XFRC: u1, - /// EPDISD + /// EPDISD EPDISD: u1, reserved3: u1, - /// STUP + /// STUP STUP: u1, - /// OTEPDIS + /// OTEPDIS OTEPDIS: u1, reserved6: u1, - /// B2BSTUP + /// B2BSTUP B2BSTUP: u1, padding: u25, }), reserved2832: [4]u8, - /// Device OUT endpoint transfer size register + /// Device OUT endpoint transfer size register DOEPTSIZ: mmio.Mmio(packed struct(u32) { - /// Transfer size + /// Transfer size XFRSIZ: u19, - /// Packet count + /// Packet count PKTCNT: u10, - /// Received data PID/SETUP packet count + /// Received data PID/SETUP packet count RXDPID_STUPCNT: u2, padding: u1, }), reserved3584: [748]u8, - /// Power and clock gating control register + /// Power and clock gating control register PCGCCTL: mmio.Mmio(packed struct(u32) { - /// Stop PHY clock + /// Stop PHY clock STPPCLK: u1, - /// Gate HCLK + /// Gate HCLK GATEHCLK: u1, reserved4: u2, - /// PHY Suspended + /// PHY Suspended PHYSUSP: u1, padding: u27, }), reserved4096: [508]u8, - /// Device endpoint / host channel FIFO register + /// Device endpoint / host channel FIFO register FIFO: mmio.Mmio(packed struct(u32) { - /// Data + /// Data DATA: u32, }), }; @@ -357941,336 +353945,315 @@ pub const types = struct { pub const pka_v1a = struct { pub const LMF = enum(u1) { - /// All values documented in MODE bitfield can be used. + /// All values documented in MODE bitfield can be used. All = 0x0, - /// Only ECDSA verification (MODE = 0x26) is supported by the PKA. + /// Only ECDSA verification (MODE = 0x26) is supported by the PKA. Limited = 0x1, }; - /// Public key accelerator. + /// Public key accelerator. pub const PKA = extern struct { - /// PKA control register. + /// PKA control register. CR: mmio.Mmio(packed struct(u32) { - /// PKA enable. When an illegal operation is selected while EN=1 OPERRF bit is set in PKA_SR. See PKA_CR.MODE bitfield for details. When EN=0 PKA RAM can still be accessed by the application. + /// PKA enable. When an illegal operation is selected while EN=1 OPERRF bit is set in PKA_SR. See PKA_CR.MODE bitfield for details. When EN=0 PKA RAM can still be accessed by the application. EN: u1, - /// start the operation Writing 1 to this bit starts the operation which is selected by MODE[5:0], using the operands and data already written to the PKA RAM. This bit is always read as 0. When an illegal operation is selected while START bit is set no operation is started, and OPERRF bit is set in PKA_SR. START is ignored if PKA is busy. + /// start the operation Writing 1 to this bit starts the operation which is selected by MODE[5:0], using the operands and data already written to the PKA RAM. This bit is always read as 0. When an illegal operation is selected while START bit is set no operation is started, and OPERRF bit is set in PKA_SR. START is ignored if PKA is busy. START: u1, reserved8: u6, - /// PKA operation code When an operation not listed here is written by the application with EN bit set, OPERRF bit is set in PKA_SR register, and the write to MODE bitfield is ignored. When PKA is configured in limited mode (LMF = 1 in PKA_SR), writing a MODE different from 0x26 with EN bit to 1 triggers OPERRF bit to be set and write to MODE bit is ignored. + /// PKA operation code When an operation not listed here is written by the application with EN bit set, OPERRF bit is set in PKA_SR register, and the write to MODE bitfield is ignored. When PKA is configured in limited mode (LMF = 1 in PKA_SR), writing a MODE different from 0x26 with EN bit to 1 triggers OPERRF bit to be set and write to MODE bit is ignored. MODE: u6, reserved17: u3, - /// End of operation interrupt enable. + /// End of operation interrupt enable. PROCENDIE: u1, reserved19: u1, - /// RAM error interrupt enable. + /// RAM error interrupt enable. RAMERRIE: u1, - /// Address error interrupt enable. + /// Address error interrupt enable. ADDRERRIE: u1, - /// Operation error interrupt enable. + /// Operation error interrupt enable. OPERRIE: u1, padding: u10, }), - /// PKA status register. + /// PKA status register. SR: mmio.Mmio(packed struct(u32) { - /// PKA initialization OK This bit is asserted when PKA initialization is complete. When RNG is not able to output proper random numbers INITOK stays at 0. + /// PKA initialization OK This bit is asserted when PKA initialization is complete. When RNG is not able to output proper random numbers INITOK stays at 0. INITOK: u1, - /// Limited mode flag This bit is updated when EN bit in PKA_CR is set. - LMF: packed union { - raw: u1, - value: LMF, - }, + /// Limited mode flag This bit is updated when EN bit in PKA_CR is set. + LMF: LMF, reserved16: u14, - /// PKA operation is in progress This bit is set to 1 whenever START bit in the PKA_CR is set. It is automatically cleared when the computation is complete, meaning that PKA RAM can be safely accessed and a new operation can be started. If PKA is started with a wrong opcode, it is busy for a couple of cycles, then it aborts automatically the operation and go back to ready (BUSY bit is set to 0). + /// PKA operation is in progress This bit is set to 1 whenever START bit in the PKA_CR is set. It is automatically cleared when the computation is complete, meaning that PKA RAM can be safely accessed and a new operation can be started. If PKA is started with a wrong opcode, it is busy for a couple of cycles, then it aborts automatically the operation and go back to ready (BUSY bit is set to 0). BUSY: u1, - /// PKA End of Operation flag. + /// PKA End of Operation flag. PROCENDF: u1, reserved19: u1, - /// PKA RAM error flag This bit is cleared using RAMERRFC bit in PKA_CLRFR. + /// PKA RAM error flag This bit is cleared using RAMERRFC bit in PKA_CLRFR. RAMERRF: u1, - /// Address error flag This bit is cleared using ADDRERRFC bit in PKA_CLRFR. + /// Address error flag This bit is cleared using ADDRERRFC bit in PKA_CLRFR. ADDRERRF: u1, - /// Operation error flag This bit is cleared using OPERRFC bit in PKA_CLRFR. + /// Operation error flag This bit is cleared using OPERRFC bit in PKA_CLRFR. OPERRF: u1, padding: u10, }), - /// PKA clear flag register. + /// PKA clear flag register. CLRFR: mmio.Mmio(packed struct(u32) { reserved17: u17, - /// Clear PKA End of Operation flag. + /// Clear PKA End of Operation flag. PROCENDFC: u1, reserved19: u1, - /// Clear PKA RAM error flag. + /// Clear PKA RAM error flag. RAMERRFC: u1, - /// Clear address error flag. + /// Clear address error flag. ADDRERRFC: u1, - /// Clear operation error flag. + /// Clear operation error flag. OPERRFC: u1, padding: u10, }), reserved1024: [1012]u8, - /// PKA internal memeory. + /// PKA internal memeory. RAM: [1334]u32, }; }; pub const pka_v1b = struct { - /// Public key accelerator. + /// Public key accelerator. pub const PKA = extern struct { - /// PKA control register. + /// PKA control register. CR: mmio.Mmio(packed struct(u32) { - /// PKA enable. When an illegal operation is selected while EN=1 OPERRF bit is set in PKA_SR. See PKA_CR.MODE bitfield for details. When EN=0 PKA RAM can still be accessed by the application. + /// PKA enable. When an illegal operation is selected while EN=1 OPERRF bit is set in PKA_SR. See PKA_CR.MODE bitfield for details. When EN=0 PKA RAM can still be accessed by the application. EN: u1, - /// start the operation Writing 1 to this bit starts the operation which is selected by MODE[5:0], using the operands and data already written to the PKA RAM. This bit is always read as 0. When an illegal operation is selected while START bit is set no operation is started, and OPERRF bit is set in PKA_SR. START is ignored if PKA is busy. + /// start the operation Writing 1 to this bit starts the operation which is selected by MODE[5:0], using the operands and data already written to the PKA RAM. This bit is always read as 0. When an illegal operation is selected while START bit is set no operation is started, and OPERRF bit is set in PKA_SR. START is ignored if PKA is busy. START: u1, reserved8: u6, - /// PKA operation code When an operation not listed here is written by the application with EN bit set, OPERRF bit is set in PKA_SR register, and the write to MODE bitfield is ignored. When PKA is configured in limited mode (LMF = 1 in PKA_SR), writing a MODE different from 0x26 with EN bit to 1 triggers OPERRF bit to be set and write to MODE bit is ignored. + /// PKA operation code When an operation not listed here is written by the application with EN bit set, OPERRF bit is set in PKA_SR register, and the write to MODE bitfield is ignored. When PKA is configured in limited mode (LMF = 1 in PKA_SR), writing a MODE different from 0x26 with EN bit to 1 triggers OPERRF bit to be set and write to MODE bit is ignored. MODE: u6, reserved17: u3, - /// End of operation interrupt enable. + /// End of operation interrupt enable. PROCENDIE: u1, reserved19: u1, - /// RAM error interrupt enable. + /// RAM error interrupt enable. RAMERRIE: u1, - /// Address error interrupt enable. + /// Address error interrupt enable. ADDRERRIE: u1, - /// Operation error interrupt enable. + /// Operation error interrupt enable. OPERRIE: u1, padding: u10, }), - /// PKA status register. + /// PKA status register. SR: mmio.Mmio(packed struct(u32) { - /// PKA initialization OK This bit is asserted when PKA initialization is complete. When RNG is not able to output proper random numbers INITOK stays at 0. + /// PKA initialization OK This bit is asserted when PKA initialization is complete. When RNG is not able to output proper random numbers INITOK stays at 0. INITOK: u1, reserved16: u15, - /// PKA operation is in progress This bit is set to 1 whenever START bit in the PKA_CR is set. It is automatically cleared when the computation is complete, meaning that PKA RAM can be safely accessed and a new operation can be started. If PKA is started with a wrong opcode, it is busy for a couple of cycles, then it aborts automatically the operation and go back to ready (BUSY bit is set to 0). + /// PKA operation is in progress This bit is set to 1 whenever START bit in the PKA_CR is set. It is automatically cleared when the computation is complete, meaning that PKA RAM can be safely accessed and a new operation can be started. If PKA is started with a wrong opcode, it is busy for a couple of cycles, then it aborts automatically the operation and go back to ready (BUSY bit is set to 0). BUSY: u1, - /// PKA End of Operation flag. + /// PKA End of Operation flag. PROCENDF: u1, reserved19: u1, - /// PKA RAM error flag This bit is cleared using RAMERRFC bit in PKA_CLRFR. + /// PKA RAM error flag This bit is cleared using RAMERRFC bit in PKA_CLRFR. RAMERRF: u1, - /// Address error flag This bit is cleared using ADDRERRFC bit in PKA_CLRFR. + /// Address error flag This bit is cleared using ADDRERRFC bit in PKA_CLRFR. ADDRERRF: u1, - /// Operation error flag This bit is cleared using OPERRFC bit in PKA_CLRFR. + /// Operation error flag This bit is cleared using OPERRFC bit in PKA_CLRFR. OPERRF: u1, padding: u10, }), - /// PKA clear flag register. + /// PKA clear flag register. CLRFR: mmio.Mmio(packed struct(u32) { reserved17: u17, - /// Clear PKA End of Operation flag. + /// Clear PKA End of Operation flag. PROCENDFC: u1, reserved19: u1, - /// Clear PKA RAM error flag. + /// Clear PKA RAM error flag. RAMERRFC: u1, - /// Clear address error flag. + /// Clear address error flag. ADDRERRFC: u1, - /// Clear operation error flag. + /// Clear operation error flag. OPERRFC: u1, padding: u10, }), reserved1024: [1012]u8, - /// PKA internal memeory. + /// PKA internal memeory. RAM: [1334]u32, }; }; pub const pka_v1c = struct { - /// Public key accelerator. + /// Public key accelerator. pub const PKA = extern struct { - /// PKA control register. + /// PKA control register. CR: mmio.Mmio(packed struct(u32) { - /// PKA enable. When an illegal operation is selected while EN=1 OPERRF bit is set in PKA_SR. See PKA_CR.MODE bitfield for details. When EN=0 PKA RAM can still be accessed by the application. + /// PKA enable. When an illegal operation is selected while EN=1 OPERRF bit is set in PKA_SR. See PKA_CR.MODE bitfield for details. When EN=0 PKA RAM can still be accessed by the application. EN: u1, - /// start the operation Writing 1 to this bit starts the operation which is selected by MODE[5:0], using the operands and data already written to the PKA RAM. This bit is always read as 0. When an illegal operation is selected while START bit is set no operation is started, and OPERRF bit is set in PKA_SR. START is ignored if PKA is busy. + /// start the operation Writing 1 to this bit starts the operation which is selected by MODE[5:0], using the operands and data already written to the PKA RAM. This bit is always read as 0. When an illegal operation is selected while START bit is set no operation is started, and OPERRF bit is set in PKA_SR. START is ignored if PKA is busy. START: u1, reserved8: u6, - /// PKA operation code When an operation not listed here is written by the application with EN bit set, OPERRF bit is set in PKA_SR register, and the write to MODE bitfield is ignored. When PKA is configured in limited mode (LMF = 1 in PKA_SR), writing a MODE different from 0x26 with EN bit to 1 triggers OPERRF bit to be set and write to MODE bit is ignored. + /// PKA operation code When an operation not listed here is written by the application with EN bit set, OPERRF bit is set in PKA_SR register, and the write to MODE bitfield is ignored. When PKA is configured in limited mode (LMF = 1 in PKA_SR), writing a MODE different from 0x26 with EN bit to 1 triggers OPERRF bit to be set and write to MODE bit is ignored. MODE: u6, reserved17: u3, - /// End of operation interrupt enable. + /// End of operation interrupt enable. PROCENDIE: u1, reserved19: u1, - /// RAM error interrupt enable. + /// RAM error interrupt enable. RAMERRIE: u1, - /// Address error interrupt enable. + /// Address error interrupt enable. ADDRERRIE: u1, padding: u11, }), - /// PKA status register. + /// PKA status register. SR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// PKA operation is in progress This bit is set to 1 whenever START bit in the PKA_CR is set. It is automatically cleared when the computation is complete, meaning that PKA RAM can be safely accessed and a new operation can be started. If PKA is started with a wrong opcode, it is busy for a couple of cycles, then it aborts automatically the operation and go back to ready (BUSY bit is set to 0). + /// PKA operation is in progress This bit is set to 1 whenever START bit in the PKA_CR is set. It is automatically cleared when the computation is complete, meaning that PKA RAM can be safely accessed and a new operation can be started. If PKA is started with a wrong opcode, it is busy for a couple of cycles, then it aborts automatically the operation and go back to ready (BUSY bit is set to 0). BUSY: u1, - /// PKA End of Operation flag. + /// PKA End of Operation flag. PROCENDF: u1, reserved19: u1, - /// PKA RAM error flag This bit is cleared using RAMERRFC bit in PKA_CLRFR. + /// PKA RAM error flag This bit is cleared using RAMERRFC bit in PKA_CLRFR. RAMERRF: u1, - /// Address error flag This bit is cleared using ADDRERRFC bit in PKA_CLRFR. + /// Address error flag This bit is cleared using ADDRERRFC bit in PKA_CLRFR. ADDRERRF: u1, padding: u11, }), - /// PKA clear flag register. + /// PKA clear flag register. CLRFR: mmio.Mmio(packed struct(u32) { reserved17: u17, - /// Clear PKA End of Operation flag. + /// Clear PKA End of Operation flag. PROCENDFC: u1, reserved19: u1, - /// Clear PKA RAM error flag. + /// Clear PKA RAM error flag. RAMERRFC: u1, - /// Clear address error flag. + /// Clear address error flag. ADDRERRFC: u1, padding: u11, }), reserved1024: [1012]u8, - /// PKA internal memeory. + /// PKA internal memeory. RAM: [894]u32, }; }; pub const pssi_v1 = struct { pub const CKPOL = enum(u1) { - /// Falling edge active for inputs or rising edge active for outputs. + /// Falling edge active for inputs or rising edge active for outputs. FallingEdge = 0x0, - /// Rising edge active for inputs or falling edge active for outputs. + /// Rising edge active for inputs or falling edge active for outputs. RisingEdge = 0x1, }; pub const DEPOL = enum(u1) { - /// PSSI_DE active low (0 indicates that data is valid). + /// PSSI_DE active low (0 indicates that data is valid). ActiveLow = 0x0, - /// PSSI_DE active high (1 indicates that data is valid). + /// PSSI_DE active high (1 indicates that data is valid). ActiveHigh = 0x1, }; pub const DERDYCFG = enum(u3) { - /// PSSI_DE and PSSI_RDY both disabled. + /// PSSI_DE and PSSI_RDY both disabled. Disabled = 0x0, - /// Only PSSI_RDY enabled. + /// Only PSSI_RDY enabled. Rdy = 0x1, - /// Only PSSI_DE enabled. + /// Only PSSI_DE enabled. De = 0x2, - /// Both PSSI_RDY and PSSI_DE alternate functions enabled. + /// Both PSSI_RDY and PSSI_DE alternate functions enabled. RdyDeAlt = 0x3, - /// Both PSSI_RDY and PSSI_DE features enabled - bidirectional on PSSI_RDY pin. + /// Both PSSI_RDY and PSSI_DE features enabled - bidirectional on PSSI_RDY pin. RdyDe = 0x4, - /// Only PSSI_RDY function enabled, but mapped to PSSI_DE pin. + /// Only PSSI_RDY function enabled, but mapped to PSSI_DE pin. RdyRemapped = 0x5, - /// Only PSSI_DE function enabled, but mapped to PSSI_RDY pin. + /// Only PSSI_DE function enabled, but mapped to PSSI_RDY pin. DeRemapped = 0x6, - /// Both PSSI_RDY and PSSI_DE features enabled - bidirectional on PSSI_DE pin. + /// Both PSSI_RDY and PSSI_DE features enabled - bidirectional on PSSI_DE pin. RdyDeBidi = 0x7, }; pub const EDM = enum(u2) { - /// Interface captures 8-bit data on every parallel data clock. + /// Interface captures 8-bit data on every parallel data clock. BitWidth8 = 0x0, - /// The interface captures 16-bit data on every parallel data clock. + /// The interface captures 16-bit data on every parallel data clock. BitWidth16 = 0x3, _, }; pub const OUTEN = enum(u1) { - /// Data is input synchronously with PSSI_PDCK. + /// Data is input synchronously with PSSI_PDCK. ReceiveMode = 0x0, - /// Data is output synchronously with PSSI_PDCK. + /// Data is output synchronously with PSSI_PDCK. TransmitMode = 0x1, }; pub const RDYPOL = enum(u1) { - /// PSSI_RDY active low (0 indicates that the receiver is ready to receive). + /// PSSI_RDY active low (0 indicates that the receiver is ready to receive). ActiveLow = 0x0, - /// PSSI_RDY active high (1 indicates that the receiver is ready to receive). + /// PSSI_RDY active high (1 indicates that the receiver is ready to receive). ActiveHigh = 0x1, }; - /// Parallel synchronous slave interface. + /// Parallel synchronous slave interface. pub const PSSI = extern struct { - /// PSSI control register. + /// PSSI control register. CR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// Parallel data clock polarity This bit configures the capture edge of the parallel clock or the edge used for driving outputs, depending on OUTEN. - CKPOL: packed union { - raw: u1, - value: CKPOL, - }, - /// Data enable (PSSI_DE) polarity This bit indicates the level on the PSSI_DE pin when the data are not valid on the parallel interface. - DEPOL: packed union { - raw: u1, - value: DEPOL, - }, + /// Parallel data clock polarity This bit configures the capture edge of the parallel clock or the edge used for driving outputs, depending on OUTEN. + CKPOL: CKPOL, + /// Data enable (PSSI_DE) polarity This bit indicates the level on the PSSI_DE pin when the data are not valid on the parallel interface. + DEPOL: DEPOL, reserved8: u1, - /// Ready (PSSI_RDY) polarity This bit indicates the level on the PSSI_RDY pin when the data are not valid on the parallel interface. - RDYPOL: packed union { - raw: u1, - value: RDYPOL, - }, + /// Ready (PSSI_RDY) polarity This bit indicates the level on the PSSI_RDY pin when the data are not valid on the parallel interface. + RDYPOL: RDYPOL, reserved10: u1, - /// Extended data mode. - EDM: packed union { - raw: u2, - value: EDM, - }, + /// Extended data mode. + EDM: EDM, reserved14: u2, - /// PSSI enable The contents of the FIFO are flushed when ENABLE is cleared to 0. Note: When ENABLE=1, the content of PSSI_CR must not be changed, except for the ENABLE bit itself. All configuration bits can change as soon as ENABLE changes from 0 to 1. The DMA controller and all PSSI configuration registers must be programmed correctly before setting the ENABLE bit to 1. The ENABLE bit and the DCMI ENABLE bit (bit 15 of DCMI_CR) must not be set to 1 at the same time. + /// PSSI enable The contents of the FIFO are flushed when ENABLE is cleared to 0. Note: When ENABLE=1, the content of PSSI_CR must not be changed, except for the ENABLE bit itself. All configuration bits can change as soon as ENABLE changes from 0 to 1. The DMA controller and all PSSI configuration registers must be programmed correctly before setting the ENABLE bit to 1. The ENABLE bit and the DCMI ENABLE bit (bit 15 of DCMI_CR) must not be set to 1 at the same time. ENABLE: u1, reserved18: u3, - /// Data enable and ready configuration When the PSSI_RDY function is mapped to the PSSI_DE pin (settings 101 or 111), it is still the RDYPOL bit which determines its polarity. Similarly, when the PSSI_DE function is mapped to the PSSI_RDY pin (settings 110 or 111), it is still the DEPOL bit which determines its polarity. - DERDYCFG: packed union { - raw: u3, - value: DERDYCFG, - }, + /// Data enable and ready configuration When the PSSI_RDY function is mapped to the PSSI_DE pin (settings 101 or 111), it is still the RDYPOL bit which determines its polarity. Similarly, when the PSSI_DE function is mapped to the PSSI_RDY pin (settings 110 or 111), it is still the DEPOL bit which determines its polarity. + DERDYCFG: DERDYCFG, reserved30: u9, - /// DMA enable bit. + /// DMA enable bit. DMAEN: u1, - /// Data direction selection bit. - OUTEN: packed union { - raw: u1, - value: OUTEN, - }, + /// Data direction selection bit. + OUTEN: OUTEN, }), - /// PSSI status register. + /// PSSI status register. SR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// FIFO is ready to transfer four bytes. + /// FIFO is ready to transfer four bytes. RTT4B: u1, - /// FIFO is ready to transfer one byte. + /// FIFO is ready to transfer one byte. RTT1B: u1, padding: u28, }), - /// PSSI raw interrupt status register. + /// PSSI raw interrupt status register. RIS: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Data buffer overrun/underrun raw interrupt status This bit is cleared by writing a 1 to the OVR_ISC bit in PSSI_ICR. + /// Data buffer overrun/underrun raw interrupt status This bit is cleared by writing a 1 to the OVR_ISC bit in PSSI_ICR. OVR_RIS: u1, padding: u30, }), - /// PSSI interrupt enable register. + /// PSSI interrupt enable register. IER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Data buffer overrun/underrun interrupt enable. + /// Data buffer overrun/underrun interrupt enable. OVR_IE: u1, padding: u30, }), - /// PSSI masked interrupt status register. + /// PSSI masked interrupt status register. MIS: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Data buffer overrun/underrun masked interrupt status This bit is set to 1 only when PSSI_IER/OVR_IE and PSSI_RIS/OVR_RIS are both set to 1. + /// Data buffer overrun/underrun masked interrupt status This bit is set to 1 only when PSSI_IER/OVR_IE and PSSI_RIS/OVR_RIS are both set to 1. OVR_MIS: u1, padding: u30, }), - /// PSSI interrupt clear register. + /// PSSI interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Data buffer overrun/underrun interrupt status clear Writing this bit to 1 clears the OVR_RIS bit in PSSI_RIS. + /// Data buffer overrun/underrun interrupt status clear Writing this bit to 1 clears the OVR_RIS bit in PSSI_RIS. OVR_ISC: u1, padding: u30, }), reserved40: [16]u8, - /// PSSI data register. + /// PSSI data register. DR: mmio.Mmio(packed struct(u32) { - /// Data byte 0. + /// Data byte 0. BYTE: u8, padding: u24, }), @@ -358278,76 +354261,76 @@ pub const types = struct { }; pub const pwr_c0 = struct { - /// PWR address block description + /// PWR address block description pub const PWR = extern struct { - /// PWR control register 1 + /// PWR control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Low-power mode selection These bits select the low-power mode entered when CPU enters deepsleep mode. 1XX: Shutdown mode + /// Low-power mode selection These bits select the low-power mode entered when CPU enters deepsleep mode. 1XX: Shutdown mode LPMS: u3, - /// Flash memory powered down during Stop mode This bit determines whether the Flash memory is put in power-down mode or remains in idle mode when the device enters Stop mode. + /// Flash memory powered down during Stop mode This bit determines whether the Flash memory is put in power-down mode or remains in idle mode when the device enters Stop mode. FPD_STOP: u1, reserved5: u1, - /// Flash memory powered down during Sleep mode This bit determines whether the Flash memory is put in power-down mode or remains in idle mode when the device enters Sleep mode. + /// Flash memory powered down during Sleep mode This bit determines whether the Flash memory is put in power-down mode or remains in idle mode when the device enters Sleep mode. FPD_SLP: u1, padding: u26, }), reserved8: [4]u8, - /// PWR control register 3 + /// PWR control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup pin + /// Enable Wakeup pin EWUP: u1, reserved10: u9, - /// Apply pull-up and pull-down configuration This bit determines whether the I/O pull-up and pull-down configurations defined in the PWR_PUCRx and PWR_PDCRx registers are applied. + /// Apply pull-up and pull-down configuration This bit determines whether the I/O pull-up and pull-down configurations defined in the PWR_PUCRx and PWR_PDCRx registers are applied. APC: u1, reserved15: u4, - /// Enable internal wakeup line When set, a rising edge on the internal wakeup line triggers a wakeup event. + /// Enable internal wakeup line When set, a rising edge on the internal wakeup line triggers a wakeup event. EIWUL: u1, padding: u16, }), - /// PWR control register 4 + /// PWR control register 4 CR4: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUP1 polarity + /// Wakeup pin WKUP1 polarity WP: u1, padding: u31, }), - /// PWR status register 1 + /// PWR status register 1 SR1: mmio.Mmio(packed struct(u32) { - /// Wakeup flag + /// Wakeup flag WUF: u1, reserved8: u7, - /// Standby/Shutdown flag This bit is set by hardware when the device enters Standby or Shutdown mode and is cleared by setting the CSBF bit in the PWR_SCR register, or by a power-on reset. It is not cleared by the system reset. + /// Standby/Shutdown flag This bit is set by hardware when the device enters Standby or Shutdown mode and is cleared by setting the CSBF bit in the PWR_SCR register, or by a power-on reset. It is not cleared by the system reset. SBF: u1, reserved15: u6, - /// Wakeup flag internal This bit is set when a wakeup condition is detected on the internal wakeup line. It is cleared when all internal wakeup sources are cleared. + /// Wakeup flag internal This bit is set when a wakeup condition is detected on the internal wakeup line. It is cleared when all internal wakeup sources are cleared. WUFI: u1, padding: u16, }), - /// PWR status register 2 + /// PWR status register 2 SR2: mmio.Mmio(packed struct(u32) { reserved7: u7, - /// Flash ready flag This bit is set by hardware to indicate when the Flash memory is ready to be accessed after wakeup from power-down. To place the Flash memory in power-down, set either FPD_SLP or FPD_STP bit. Note: If the system boots from SRAM, the user application must wait till FLASH_RDY bit is set, prior to jumping to Flash memory. + /// Flash ready flag This bit is set by hardware to indicate when the Flash memory is ready to be accessed after wakeup from power-down. To place the Flash memory in power-down, set either FPD_SLP or FPD_STP bit. Note: If the system boots from SRAM, the user application must wait till FLASH_RDY bit is set, prior to jumping to Flash memory. FLASH_RDY: u1, padding: u24, }), - /// PWR status clear register + /// PWR status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear Wakeup flag + /// Clear Wakeup flag CWUF: u1, reserved8: u7, - /// Clear standby flag Setting this bit clears the SBF flag in the PWR_SR1 register. + /// Clear standby flag Setting this bit clears the SBF flag in the PWR_SR1 register. CSBF: u1, padding: u23, }), reserved32: [4]u8, - /// PWR Port pull-up control register + /// PWR Port pull-up control register PUCR: mmio.Mmio(packed struct(u32) { - /// Port pull bit y (y=0..15) + /// Port pull bit y (y=0..15) P: u1, padding: u31, }), - /// PWR Port pull-down control register + /// PWR Port pull-down control register PDCR: mmio.Mmio(packed struct(u32) { - /// Port pull bit y (y=0..15) + /// Port pull bit y (y=0..15) P: u1, padding: u31, }), @@ -358356,47 +354339,44 @@ pub const types = struct { pub const pwr_f0 = struct { pub const PDDS = enum(u1) { - /// Enter Stop mode when the CPU enters deepsleep + /// Enter Stop mode when the CPU enters deepsleep STOP_MODE = 0x0, - /// Enter Standby mode when the CPU enters deepsleep + /// Enter Standby mode when the CPU enters deepsleep STANDBY_MODE = 0x1, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// power control register + /// power control register CR: mmio.Mmio(packed struct(u32) { - /// Low-power deep sleep + /// Low-power deep sleep LPDS: u1, - /// Power down deepsleep - PDDS: packed union { - raw: u1, - value: PDDS, - }, - /// Clear wakeup flag + /// Power down deepsleep + PDDS: PDDS, + /// Clear wakeup flag CWUF: u1, - /// Clear standby flag + /// Clear standby flag CSBF: u1, - /// Power voltage detector enable + /// Power voltage detector enable PVDE: u1, - /// PVD level selection + /// PVD level selection PLS: u3, - /// Disable backup domain write protection + /// Disable backup domain write protection DBP: u1, padding: u23, }), - /// power control/status register + /// power control/status register CSR: mmio.Mmio(packed struct(u32) { - /// Wakeup flag + /// Wakeup flag WUF: u1, - /// Standby flag + /// Standby flag SBF: u1, - /// PVD output + /// PVD output PVDO: u1, - /// VREFINT reference voltage ready + /// VREFINT reference voltage ready VREFINTRDY: u1, reserved8: u4, - /// Enable WKUP pin 1 + /// Enable WKUP pin 1 EWUP: u1, padding: u23, }), @@ -358405,40 +354385,37 @@ pub const types = struct { pub const pwr_f0x0 = struct { pub const PDDS = enum(u1) { - /// Enter Stop mode when the CPU enters deepsleep + /// Enter Stop mode when the CPU enters deepsleep STOP_MODE = 0x0, - /// Enter Standby mode when the CPU enters deepsleep + /// Enter Standby mode when the CPU enters deepsleep STANDBY_MODE = 0x1, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// power control register + /// power control register CR: mmio.Mmio(packed struct(u32) { - /// Low-power deep sleep + /// Low-power deep sleep LPDS: u1, - /// Power down deepsleep - PDDS: packed union { - raw: u1, - value: PDDS, - }, - /// Clear wakeup flag + /// Power down deepsleep + PDDS: PDDS, + /// Clear wakeup flag CWUF: u1, - /// Clear standby flag + /// Clear standby flag CSBF: u1, reserved8: u4, - /// Disable backup domain write protection + /// Disable backup domain write protection DBP: u1, padding: u23, }), - /// power control/status register + /// power control/status register CSR: mmio.Mmio(packed struct(u32) { - /// Wakeup flag + /// Wakeup flag WUF: u1, - /// Standby flag + /// Standby flag SBF: u1, reserved8: u6, - /// Enable WKUP pin 1 + /// Enable WKUP pin 1 EWUP: u1, padding: u23, }), @@ -358447,45 +354424,42 @@ pub const types = struct { pub const pwr_f1 = struct { pub const PDDS = enum(u1) { - /// Enter Stop mode when the CPU enters deepsleep + /// Enter Stop mode when the CPU enters deepsleep STOP_MODE = 0x0, - /// Enter Standby mode when the CPU enters deepsleep + /// Enter Standby mode when the CPU enters deepsleep STANDBY_MODE = 0x1, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// Power control register (PWR_CR) + /// Power control register (PWR_CR) CR: mmio.Mmio(packed struct(u32) { - /// Low Power Deep Sleep + /// Low Power Deep Sleep LPDS: u1, - /// Power Down Deep Sleep - PDDS: packed union { - raw: u1, - value: PDDS, - }, - /// Clear Wake-up Flag + /// Power Down Deep Sleep + PDDS: PDDS, + /// Clear Wake-up Flag CWUF: u1, - /// Clear STANDBY Flag + /// Clear STANDBY Flag CSBF: u1, - /// Power Voltage Detector Enable + /// Power Voltage Detector Enable PVDE: u1, - /// PVD Level Selection + /// PVD Level Selection PLS: u3, - /// Disable Backup Domain write protection + /// Disable Backup Domain write protection DBP: u1, padding: u23, }), - /// Power control register (PWR_CR) + /// Power control register (PWR_CR) CSR: mmio.Mmio(packed struct(u32) { - /// Wake-Up Flag + /// Wake-Up Flag WUF: u1, - /// STANDBY Flag + /// STANDBY Flag SBF: u1, - /// PVD Output + /// PVD Output PVDO: u1, reserved8: u5, - /// Enable WKUP pin + /// Enable WKUP pin EWUP: u1, padding: u23, }), @@ -358494,51 +354468,48 @@ pub const types = struct { pub const pwr_f2 = struct { pub const PDDS = enum(u1) { - /// Enter Stop mode when the CPU enters deepsleep + /// Enter Stop mode when the CPU enters deepsleep STOP_MODE = 0x0, - /// Enter Standby mode when the CPU enters deepsleep + /// Enter Standby mode when the CPU enters deepsleep STANDBY_MODE = 0x1, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// power control register + /// power control register CR: mmio.Mmio(packed struct(u32) { - /// Low-power deep sleep + /// Low-power deep sleep LPDS: u1, - /// Power down deepsleep - PDDS: packed union { - raw: u1, - value: PDDS, - }, - /// Clear wakeup flag + /// Power down deepsleep + PDDS: PDDS, + /// Clear wakeup flag CWUF: u1, - /// Clear standby flag + /// Clear standby flag CSBF: u1, - /// Power voltage detector enable + /// Power voltage detector enable PVDE: u1, - /// PVD level selection + /// PVD level selection PLS: u3, - /// Disable backup domain write protection + /// Disable backup domain write protection DBP: u1, - /// Flash power down in Stop mode + /// Flash power down in Stop mode FPDS: u1, padding: u22, }), - /// power control/status register + /// power control/status register CSR: mmio.Mmio(packed struct(u32) { - /// Wakeup flag + /// Wakeup flag WUF: u1, - /// Standby flag + /// Standby flag SBF: u1, - /// PVD output + /// PVD output PVDO: u1, - /// Backup regulator ready + /// Backup regulator ready BRR: u1, reserved8: u4, - /// Enable WKUP pin + /// Enable WKUP pin EWUP: u1, - /// Backup regulator enable + /// Backup regulator enable BRE: u1, padding: u22, }), @@ -358547,49 +354518,46 @@ pub const types = struct { pub const pwr_f3 = struct { pub const PDDS = enum(u1) { - /// Enter Stop mode when the CPU enters deepsleep + /// Enter Stop mode when the CPU enters deepsleep STOP_MODE = 0x0, - /// Enter Standby mode when the CPU enters deepsleep + /// Enter Standby mode when the CPU enters deepsleep STANDBY_MODE = 0x1, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// power control register + /// power control register CR: mmio.Mmio(packed struct(u32) { - /// Low-power deep sleep + /// Low-power deep sleep LPDS: u1, - /// Power down deepsleep - PDDS: packed union { - raw: u1, - value: PDDS, - }, - /// Clear wakeup flag + /// Power down deepsleep + PDDS: PDDS, + /// Clear wakeup flag CWUF: u1, - /// Clear standby flag + /// Clear standby flag CSBF: u1, - /// Power voltage detector enable + /// Power voltage detector enable PVDE: u1, - /// PVD level selection + /// PVD level selection PLS: u3, - /// Disable backup domain write protection + /// Disable backup domain write protection DBP: u1, - /// ENable SD1 ADC + /// ENable SD1 ADC ENSD: u1, padding: u22, }), - /// power control/status register + /// power control/status register CSR: mmio.Mmio(packed struct(u32) { - /// Wakeup flag + /// Wakeup flag WUF: u1, - /// Standby flag + /// Standby flag SBF: u1, - /// PVD output + /// PVD output PVDO: u1, - /// Internal voltage reference ready flag + /// Internal voltage reference ready flag VREFINTRDYF: u1, reserved8: u4, - /// Enable WKUP1 pin + /// Enable WKUP1 pin EWUP: u1, padding: u23, }), @@ -358598,95 +354566,89 @@ pub const types = struct { pub const pwr_f4 = struct { pub const PDDS = enum(u1) { - /// Enter Stop mode when the CPU enters deepsleep + /// Enter Stop mode when the CPU enters deepsleep STOP_MODE = 0x0, - /// Enter Standby mode when the CPU enters deepsleep + /// Enter Standby mode when the CPU enters deepsleep STANDBY_MODE = 0x1, }; pub const VOS = enum(u2) { - /// Scale 3 mode (STM32F4[23] ONLY) + /// Scale 3 mode (STM32F4[23] ONLY) SCALE3 = 0x1, - /// Scale 2 mode + /// Scale 2 mode SCALE2 = 0x2, - /// Scale 1 mode (reset value) + /// Scale 1 mode (reset value) SCALE1 = 0x3, _, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// power control register + /// power control register CR1: mmio.Mmio(packed struct(u32) { - /// Low-power deep sleep + /// Low-power deep sleep LPDS: u1, - /// Power down deepsleep - PDDS: packed union { - raw: u1, - value: PDDS, - }, - /// Clear wakeup flag + /// Power down deepsleep + PDDS: PDDS, + /// Clear wakeup flag CWUF: u1, - /// Clear standby flag + /// Clear standby flag CSBF: u1, - /// Power voltage detector enable + /// Power voltage detector enable PVDE: u1, - /// PVD level selection + /// PVD level selection PLS: u3, - /// Disable backup domain write protection + /// Disable backup domain write protection DBP: u1, - /// Flash power down in Stop mode + /// Flash power down in Stop mode FPDS: u1, - /// Low-Power Regulator Low Voltage in deepsleep + /// Low-Power Regulator Low Voltage in deepsleep LPLVDS: u1, - /// Main regulator low voltage in deepsleep mode + /// Main regulator low voltage in deepsleep mode MRLVDS: u1, reserved13: u1, - /// ADCDC1 + /// ADCDC1 ADCDC1: u1, - /// Regulator voltage scaling output selection - VOS: packed union { - raw: u2, - value: VOS, - }, - /// Over-drive enable (STM32F4[23] ONLY) + /// Regulator voltage scaling output selection + VOS: VOS, + /// Over-drive enable (STM32F4[23] ONLY) ODEN: u1, - /// Over-drive switching enabled (STM32F4[23] ONLY) + /// Over-drive switching enabled (STM32F4[23] ONLY) ODSWEN: u1, - /// Under-drive enable in stop mode (STM32F4[23] ONLY) + /// Under-drive enable in stop mode (STM32F4[23] ONLY) UDEN: u2, - /// Flash Memory Stop while System Run + /// Flash Memory Stop while System Run FMSSR: u1, - /// Flash Interface Stop while System Run + /// Flash Interface Stop while System Run FISSR: u1, padding: u10, }), - /// power control/status register + /// power control/status register CSR1: mmio.Mmio(packed struct(u32) { - /// Wakeup flag + /// Wakeup flag WUF: u1, - /// Standby flag + /// Standby flag SBF: u1, - /// PVD output + /// PVD output PVDO: u1, - /// Backup regulator ready + /// Backup regulator ready BRR: u1, reserved7: u3, - /// Enable WKUP2 pin + /// Enable WKUP2 pin EWUP2: u1, - /// Enable WKUP pin + /// Enable WKUP pin EWUP: u1, - /// Backup regulator enable + /// Backup regulator enable BRE: u1, reserved14: u4, - /// Regulator voltage scaling output selection ready bit (STM32F4[23] ONLY) + /// Regulator voltage scaling output selection ready bit (STM32F4[23] ONLY) VOSRDY: u1, reserved16: u1, - /// Over-drive mode ready (STM32F4[23] ONLY) + /// Over-drive mode ready (STM32F4[23] ONLY) ODRDY: u1, - /// Over-drive mode switching ready (STM32F4[23] ONLY) + /// Over-drive mode switching ready (STM32F4[23] ONLY) ODSWRDY: u1, - /// Under-drive ready flag + /// Under-drive ready flag UDRDY: u2, padding: u12, }), @@ -358695,106 +354657,100 @@ pub const types = struct { pub const pwr_f7 = struct { pub const PDDS = enum(u1) { - /// Enter Stop mode when the CPU enters deepsleep + /// Enter Stop mode when the CPU enters deepsleep STOP_MODE = 0x0, - /// Enter Standby mode when the CPU enters deepsleep + /// Enter Standby mode when the CPU enters deepsleep STANDBY_MODE = 0x1, }; pub const VOS = enum(u2) { - /// Scale 3 mode + /// Scale 3 mode SCALE3 = 0x1, - /// Scale 2 mode + /// Scale 2 mode SCALE2 = 0x2, - /// Scale 1 mode (reset value) + /// Scale 1 mode (reset value) SCALE1 = 0x3, _, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// power control register + /// power control register CR1: mmio.Mmio(packed struct(u32) { - /// Low-power deep sleep + /// Low-power deep sleep LPDS: u1, - /// Power down deepsleep - PDDS: packed union { - raw: u1, - value: PDDS, - }, + /// Power down deepsleep + PDDS: PDDS, reserved3: u1, - /// Clear standby flag + /// Clear standby flag CSBF: u1, - /// Power voltage detector enable + /// Power voltage detector enable PVDE: u1, - /// PVD level selection + /// PVD level selection PLS: u3, - /// Disable backup domain write protection + /// Disable backup domain write protection DBP: u1, - /// Flash power down in Stop mode + /// Flash power down in Stop mode FPDS: u1, - /// Low-power regulator in deepsleep under-drive mode + /// Low-power regulator in deepsleep under-drive mode LPUDS: u1, - /// Main regulator in deepsleep under-drive mode + /// Main regulator in deepsleep under-drive mode MRUDS: u1, reserved13: u1, - /// ADCDC1 + /// ADCDC1 ADCDC1: u1, - /// Regulator voltage scaling output selection - VOS: packed union { - raw: u2, - value: VOS, - }, - /// Over-drive enable + /// Regulator voltage scaling output selection + VOS: VOS, + /// Over-drive enable ODEN: u1, - /// Over-drive switching enabled + /// Over-drive switching enabled ODSWEN: u1, - /// Under-drive enable in stop mode + /// Under-drive enable in stop mode UDEN: u2, padding: u12, }), - /// power control/status register + /// power control/status register CSR1: mmio.Mmio(packed struct(u32) { - /// Wakeup internal flag + /// Wakeup internal flag WUIF: u1, - /// Standby flag + /// Standby flag SBF: u1, - /// PVD output + /// PVD output PVDO: u1, - /// Backup regulator ready + /// Backup regulator ready BRR: u1, reserved8: u4, - /// Enable internal wakeup + /// Enable internal wakeup EIWUP: u1, - /// Backup regulator enable + /// Backup regulator enable BRE: u1, reserved14: u4, - /// Regulator voltage scaling output selection ready bit + /// Regulator voltage scaling output selection ready bit VOSRDY: u1, reserved16: u1, - /// Over-drive mode ready + /// Over-drive mode ready ODRDY: u1, - /// Over-drive mode switching ready + /// Over-drive mode switching ready ODSWRDY: u1, - /// Under-drive ready flag + /// Under-drive ready flag UDRDY: u2, padding: u12, }), - /// power control register + /// power control register CR2: mmio.Mmio(packed struct(u32) { - /// Clear Wakeup Pin flag for PA0 + /// Clear Wakeup Pin flag for PA0 CWUPF: u1, reserved8: u7, - /// Wakeup pin polarity bit for PA0 + /// Wakeup pin polarity bit for PA0 WUPP: u1, padding: u23, }), - /// power control/status register + /// power control/status register CSR2: mmio.Mmio(packed struct(u32) { - /// Wakeup Pin flag for PA0 + /// Wakeup Pin flag for PA0 WUPF: u1, reserved8: u7, - /// Enable Wakeup pin for PA0 + /// Enable Wakeup pin for PA0 EWUP: u1, padding: u23, }), @@ -358808,114 +354764,111 @@ pub const types = struct { _, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// Power control register 1 + /// Power control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Low-power mode selection + /// Low-power mode selection LPMS: u3, - /// Flash memory powered down during Stop mode + /// Flash memory powered down during Stop mode FPD_STOP: u1, - /// Flash memory powered down during Low-power run mode + /// Flash memory powered down during Low-power run mode FPD_LPRUN: u1, - /// Flash memory powered down during Low-power sleep mode + /// Flash memory powered down during Low-power sleep mode FPD_LPSLP: u1, reserved8: u2, - /// Disable backup domain write protection + /// Disable backup domain write protection DBP: u1, - /// Voltage scaling range selection - VOS: packed union { - raw: u2, - value: VOS, - }, + /// Voltage scaling range selection + VOS: VOS, reserved14: u3, - /// Low-power run + /// Low-power run LPR: u1, padding: u17, }), - /// Power control register 2 + /// Power control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Power voltage detector enable + /// Power voltage detector enable PVDE: u1, - /// Power voltage detector falling threshold selection + /// Power voltage detector falling threshold selection PVDFT: u3, - /// Power voltage detector rising threshold selection + /// Power voltage detector rising threshold selection PVDRT: u3, padding: u25, }), - /// Power control register 3 + /// Power control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup pin + /// Enable Wakeup pin EWUP: u1, reserved8: u7, - /// SRAM retention in Standby mode + /// SRAM retention in Standby mode RRS: u1, - /// Enable the periodical sampling mode for PDR detection + /// Enable the periodical sampling mode for PDR detection ULPEN: u1, - /// Apply pull-up and pull-down configuration + /// Apply pull-up and pull-down configuration APC: u1, reserved15: u4, - /// Enable internal wakeup line + /// Enable internal wakeup line EIWUL: u1, padding: u16, }), - /// Power control register 4 + /// Power control register 4 CR4: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUP1 polarity + /// Wakeup pin WKUP1 polarity WP: u1, reserved8: u7, - /// VBAT battery charging enable + /// VBAT battery charging enable VBE: u1, - /// VBAT battery charging resistor selection + /// VBAT battery charging resistor selection VBRS: u1, padding: u22, }), - /// Power status register 1 + /// Power status register 1 SR1: mmio.Mmio(packed struct(u32) { - /// Wakeup flag + /// Wakeup flag WUF: u1, reserved8: u7, - /// Standby flag + /// Standby flag SBF: u1, reserved15: u6, - /// Wakeup flag internal + /// Wakeup flag internal WUFI: u1, padding: u16, }), - /// Power status register 2 + /// Power status register 2 SR2: mmio.Mmio(packed struct(u32) { reserved7: u7, - /// Flash ready flag + /// Flash ready flag FLASH_RDY: u1, - /// Low-power regulator started + /// Low-power regulator started REGLPS: u1, - /// Low-power regulator flag + /// Low-power regulator flag REGLPF: u1, - /// Voltage scaling flag + /// Voltage scaling flag VOSF: u1, - /// Power voltage detector output + /// Power voltage detector output PVDO: u1, padding: u20, }), - /// Power status clear register + /// Power status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear Wakeup flag + /// Clear Wakeup flag CWUF: u1, reserved8: u7, - /// Clear standby flag + /// Clear standby flag CSBF: u1, padding: u23, }), reserved32: [4]u8, - /// Power Port pull-up control register + /// Power Port pull-up control register PUCR: mmio.Mmio(packed struct(u32) { - /// Port pull bit y (y=0..15) + /// Port pull bit y (y=0..15) P: u1, padding: u31, }), - /// Power Port pull-down control register + /// Power Port pull-down control register PDCR: mmio.Mmio(packed struct(u32) { - /// Port pull bit y (y=0..15) + /// Port pull bit y (y=0..15) P: u1, padding: u31, }), @@ -358929,162 +354882,159 @@ pub const types = struct { _, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// Power control register 1 + /// Power control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Low-power mode selection + /// Low-power mode selection LPMS: u3, reserved8: u5, - /// Disable backup domain write protection + /// Disable backup domain write protection DBP: u1, - /// Voltage scaling range selection - VOS: packed union { - raw: u2, - value: VOS, - }, + /// Voltage scaling range selection + VOS: VOS, reserved14: u3, - /// Low-power run + /// Low-power run LPR: u1, padding: u17, }), - /// Power control register 2 + /// Power control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Power voltage detector enable + /// Power voltage detector enable PVDE: u1, - /// Power voltage detector level selection + /// Power voltage detector level selection PLS: u3, - /// Peripheral voltage monitoring 1 enable: VDDA vs. COMP min voltage + /// Peripheral voltage monitoring 1 enable: VDDA vs. COMP min voltage PVMEN1: u1, - /// Peripheral voltage monitoring 2 enable: VDDA vs. Fast DAC min voltage + /// Peripheral voltage monitoring 2 enable: VDDA vs. Fast DAC min voltage PVMEN2: u1, - /// Peripheral voltage monitoring 3 enable: VDDA vs. ADC min voltage 1.62V + /// Peripheral voltage monitoring 3 enable: VDDA vs. ADC min voltage 1.62V PVMEN3: u1, - /// Peripheral voltage monitoring 4 enable: VDDA vs. OPAMP/DAC min voltage + /// Peripheral voltage monitoring 4 enable: VDDA vs. OPAMP/DAC min voltage PVMEN4: u1, padding: u24, }), - /// Power control register 3 + /// Power control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup pin WKUP1 + /// Enable Wakeup pin WKUP1 EWUP1: u1, - /// Enable Wakeup pin WKUP2 + /// Enable Wakeup pin WKUP2 EWUP2: u1, - /// Enable Wakeup pin WKUP3 + /// Enable Wakeup pin WKUP3 EWUP3: u1, - /// Enable Wakeup pin WKUP4 + /// Enable Wakeup pin WKUP4 EWUP4: u1, - /// Enable Wakeup pin WKUP5 + /// Enable Wakeup pin WKUP5 EWUP5: u1, reserved8: u3, - /// SRAM2 retention in Standby mode + /// SRAM2 retention in Standby mode RRS: u1, reserved10: u1, - /// Apply pull-up and pull-down configuration + /// Apply pull-up and pull-down configuration APC: u1, reserved13: u2, - /// STDBY + /// STDBY UCPD1_STDBY: u1, - /// DBDIS + /// DBDIS UCPD1_DBDIS: u1, - /// Enable external WakeUp line + /// Enable external WakeUp line EIWUL: u1, padding: u16, }), - /// Power control register 4 + /// Power control register 4 CR4: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUP1 polarity + /// Wakeup pin WKUP1 polarity WP1: u1, - /// Wakeup pin WKUP2 polarity + /// Wakeup pin WKUP2 polarity WP2: u1, - /// Wakeup pin WKUP3 polarity + /// Wakeup pin WKUP3 polarity WP3: u1, - /// Wakeup pin WKUP4 polarity + /// Wakeup pin WKUP4 polarity WP4: u1, - /// Wakeup pin WKUP5 polarity + /// Wakeup pin WKUP5 polarity WP5: u1, reserved8: u3, - /// VBAT battery charging enable + /// VBAT battery charging enable VBE: u1, - /// VBAT battery charging resistor selection + /// VBAT battery charging resistor selection VBRS: u1, padding: u22, }), - /// Power status register 1 + /// Power status register 1 SR1: mmio.Mmio(packed struct(u32) { - /// Wakeup flag 1 + /// Wakeup flag 1 WUF1: u1, - /// Wakeup flag 2 + /// Wakeup flag 2 WUF2: u1, - /// Wakeup flag 3 + /// Wakeup flag 3 WUF3: u1, - /// Wakeup flag 4 + /// Wakeup flag 4 WUF4: u1, - /// Wakeup flag 5 + /// Wakeup flag 5 WUF5: u1, reserved8: u3, - /// Standby flag + /// Standby flag SBF: u1, reserved15: u6, - /// Wakeup flag internal + /// Wakeup flag internal WUFI: u1, padding: u16, }), - /// Power status register 2 + /// Power status register 2 SR2: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Low-power regulator started + /// Low-power regulator started REGLPS: u1, - /// Low-power regulator flag + /// Low-power regulator flag REGLPF: u1, - /// Voltage scaling flag + /// Voltage scaling flag VOSF: u1, - /// Power voltage detector output + /// Power voltage detector output PVDO: u1, - /// Peripheral voltage monitoring output: VDDUSB vs. 1.2 V + /// Peripheral voltage monitoring output: VDDUSB vs. 1.2 V PVMO1: u1, - /// Peripheral voltage monitoring output: VDDIO2 vs. 0.9 V + /// Peripheral voltage monitoring output: VDDIO2 vs. 0.9 V PVMO2: u1, - /// Peripheral voltage monitoring output: VDDA vs. 1.62 V + /// Peripheral voltage monitoring output: VDDA vs. 1.62 V PVMO3: u1, - /// Peripheral voltage monitoring output: VDDA vs. 2.2 V + /// Peripheral voltage monitoring output: VDDA vs. 2.2 V PVMO4: u1, padding: u16, }), - /// Power status clear register + /// Power status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear wakeup flag 1 + /// Clear wakeup flag 1 CWUF1: u1, - /// Clear wakeup flag 2 + /// Clear wakeup flag 2 CWUF2: u1, - /// Clear wakeup flag 3 + /// Clear wakeup flag 3 CWUF3: u1, - /// Clear wakeup flag 4 + /// Clear wakeup flag 4 CWUF4: u1, - /// Clear wakeup flag 5 + /// Clear wakeup flag 5 CWUF5: u1, reserved8: u3, - /// Clear standby flag + /// Clear standby flag CSBF: u1, padding: u23, }), reserved32: [4]u8, - /// Power Port pull-up control register + /// Power Port pull-up control register PUCR: mmio.Mmio(packed struct(u32) { - /// Port pull bit y (y=0..15) + /// Port pull bit y (y=0..15) P: u1, padding: u31, }), - /// Power Port pull-down control register + /// Power Port pull-down control register PDCR: mmio.Mmio(packed struct(u32) { - /// Port pull bit y (y=0..15) + /// Port pull bit y (y=0..15) P: u1, padding: u31, }), reserved128: [88]u8, - /// Power control register 5 + /// Power control register 5 CR5: mmio.Mmio(packed struct(u32) { - /// Main regular range 1 mode + /// Main regular range 1 mode R1MODE: u1, padding: u31, }), @@ -359093,77 +355043,77 @@ pub const types = struct { pub const pwr_h5 = struct { pub const ALS = enum(u2) { - /// AVD level0 (VAVD0 ~ 1.7 V) + /// AVD level0 (VAVD0 ~ 1.7 V) Level0 = 0x0, - /// AVD level1 (VAVD1 ~ 2.1 V) + /// AVD level1 (VAVD1 ~ 2.1 V) Level1 = 0x1, - /// AVD level2 (VAVD2 ~ 2.5 V) + /// AVD level2 (VAVD2 ~ 2.5 V) Level2 = 0x2, - /// AVD level3 (VAVD3 ~ 2.8 V) + /// AVD level3 (VAVD3 ~ 2.8 V) Level3 = 0x3, }; pub const LPMS = enum(u1) { - /// Keeps Stop mode when entering DeepSleep. + /// Keeps Stop mode when entering DeepSleep. Stop = 0x0, - /// Allows Standby mode when entering DeepSleep. + /// Allows Standby mode when entering DeepSleep. Standby = 0x1, }; pub const PLS = enum(u3) { - /// PVD level0 (VPVD0 ~ 1.95 V) + /// PVD level0 (VPVD0 ~ 1.95 V) Level0 = 0x0, - /// PVD level1 (VPVD1 ~ 2.10 V) + /// PVD level1 (VPVD1 ~ 2.10 V) Level1 = 0x1, - /// PVD level2 (VPVD2 ~ 2.25 V) + /// PVD level2 (VPVD2 ~ 2.25 V) Level2 = 0x2, - /// PVD level3 (VPVD3 ~ 2.40 V) + /// PVD level3 (VPVD3 ~ 2.40 V) Level3 = 0x3, - /// PVD level4 (VPVD4 ~ 2.55 V) + /// PVD level4 (VPVD4 ~ 2.55 V) Level4 = 0x4, - /// PVD level5 (VPVD5 ~ 2.70 V) + /// PVD level5 (VPVD5 ~ 2.70 V) Level5 = 0x5, - /// PVD level6 (VPVD6 ~ 2.85 V) + /// PVD level6 (VPVD6 ~ 2.85 V) Level6 = 0x6, - /// PVD_IN pin + /// PVD_IN pin PVDInPin = 0x7, }; pub const PowerModeInStopMode = enum(u1) { - /// Remains in normal mode when the system enters Stop mode (quick restart time). + /// Remains in normal mode when the system enters Stop mode (quick restart time). Normal = 0x0, - /// Enters low-power mode when the system enters Stop mode (low-power consumption). + /// Enters low-power mode when the system enters Stop mode (low-power consumption). LowPower = 0x1, }; pub const Retention = enum(u1) { - /// Content is lost. + /// Content is lost. Lost = 0x0, - /// Content is preserved. + /// Content is preserved. Preserved = 0x1, }; pub const SVOS = enum(u2) { - /// SVOS5 scale 5 + /// SVOS5 scale 5 Scale5 = 0x1, - /// SVOS4 scale 4 + /// SVOS4 scale 4 Scale4 = 0x2, - /// SVOS3 scale 3 (default) + /// SVOS3 scale 3 (default) Scale3 = 0x3, _, }; pub const ShutOff = enum(u1) { - /// Content is kept. + /// Content is kept. Kept = 0x0, - /// Content is lost. + /// Content is lost. Lost = 0x1, }; pub const VBRS = enum(u1) { - /// Charge VBAT through a 5 kΩ resistor. + /// Charge VBAT through a 5 kΩ resistor. R5kOhm = 0x0, - /// Charge VBAT through a 1.5 kΩ resistor. + /// Charge VBAT through a 1.5 kΩ resistor. R1_5kOhm = 0x1, }; @@ -359175,9 +355125,9 @@ pub const types = struct { }; pub const WUPP = enum(u1) { - /// detection on high level (rising edge) + /// detection on high level (rising edge) High = 0x0, - /// detection on low level (falling edge) + /// detection on low level (falling edge) Low = 0x1, }; @@ -359188,266 +355138,218 @@ pub const types = struct { _, }; - /// Power control. + /// Power control. pub const PWR = extern struct { - /// PWR power mode control register. + /// PWR power mode control register. PMCR: mmio.Mmio(packed struct(u32) { - /// low-power mode selection This bit defines the Deepsleep mode. - LPMS: packed union { - raw: u1, - value: LPMS, - }, + /// low-power mode selection This bit defines the Deepsleep mode. + LPMS: LPMS, reserved2: u1, - /// system Stop mode voltage scaling selection These bits control the V_CORE voltage level in system Stop mode, to obtain the best trade-off between power consumption and performance. - SVOS: packed union { - raw: u2, - value: SVOS, - }, + /// system Stop mode voltage scaling selection These bits control the V_CORE voltage level in system Stop mode, to obtain the best trade-off between power consumption and performance. + SVOS: SVOS, reserved7: u3, - /// clear Standby and Stop flags (always read as 0) This bit is cleared to 0 by hardware. + /// clear Standby and Stop flags (always read as 0) This bit is cleared to 0 by hardware. CSSF: u1, reserved9: u1, - /// Flash memory low-power mode in Stop mode This bit is used to obtain the best trade-off between low-power consumption and restart time when exiting from Stop mode. When it is set, the Flash memory enters low-power mode when the CPU domain is in Stop mode. Note: When system enters stop mode with SVOS5 enabled, Flash memory is automatically forced in low-power mode. - FLPS: packed union { - raw: u1, - value: PowerModeInStopMode, - }, + /// Flash memory low-power mode in Stop mode This bit is used to obtain the best trade-off between low-power consumption and restart time when exiting from Stop mode. When it is set, the Flash memory enters low-power mode when the CPU domain is in Stop mode. Note: When system enters stop mode with SVOS5 enabled, Flash memory is automatically forced in low-power mode. + FLPS: PowerModeInStopMode, reserved12: u2, - /// analog switch V_BOOST control This bit enables the booster to guarantee the analog switch AC performance when the V_DD supply voltage is below 2.7 V (reduction of the total harmonic distortion to have the same switch performance over the full supply voltage range) The V_DD supply voltage can be monitored through the PVD and the PLS bits. + /// analog switch V_BOOST control This bit enables the booster to guarantee the analog switch AC performance when the V_DD supply voltage is below 2.7 V (reduction of the total harmonic distortion to have the same switch performance over the full supply voltage range) The V_DD supply voltage can be monitored through the PVD and the PLS bits. BOOSTE: u1, - /// analog voltage ready This bit is only used when the analog switch boost needs to be enabled (see BOOSTE bit). It must be set by software when the expected V_DDA analog supply level is available. The correct analog supply level is indicated by the AVDO bit (PWR_VMSR register) after setting the AVDEN bit (PWR_VMCR register) and selecting the supply level to be monitored. (ALS bits). + /// analog voltage ready This bit is only used when the analog switch boost needs to be enabled (see BOOSTE bit). It must be set by software when the expected V_DDA analog supply level is available. The correct analog supply level is indicated by the AVDO bit (PWR_VMSR register) after setting the AVDEN bit (PWR_VMCR register) and selecting the supply level to be monitored. (ALS bits). AVD_READY: u1, reserved16: u2, - /// ETHERNET RAM shut-off in Stop mode. - ETHERNETSO: packed union { - raw: u1, - value: ShutOff, - }, + /// ETHERNET RAM shut-off in Stop mode. + ETHERNETSO: ShutOff, reserved23: u6, - /// AHB SRAM3 shut-off in Stop mode. - SRAM3SO: packed union { - raw: u1, - value: ShutOff, - }, - /// AHB SRAM2 16-Kbyte shut-off in Stop mode. - SRAM2_16SO: packed union { - raw: u1, - value: ShutOff, - }, - /// AHB SRAM2 48-Kbyte shut-off in Stop mode. - SRAM2_48SO: packed union { - raw: u1, - value: ShutOff, - }, - /// AHB SRAM1 shut-off in Stop mode. - SRAM1SO: packed union { - raw: u1, - value: ShutOff, - }, + /// AHB SRAM3 shut-off in Stop mode. + SRAM3SO: ShutOff, + /// AHB SRAM2 16-Kbyte shut-off in Stop mode. + SRAM2_16SO: ShutOff, + /// AHB SRAM2 48-Kbyte shut-off in Stop mode. + SRAM2_48SO: ShutOff, + /// AHB SRAM1 shut-off in Stop mode. + SRAM1SO: ShutOff, padding: u5, }), - /// PWR status register. + /// PWR status register. PMSR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// Stop flag This bit is set by hardware and cleared only by any reset or by setting the CSSF bit. + /// Stop flag This bit is set by hardware and cleared only by any reset or by setting the CSSF bit. STOPF: u1, - /// System standby flag This bit is set by hardware and cleared only by a POR or by setting the CSSF bit. + /// System standby flag This bit is set by hardware and cleared only by a POR or by setting the CSSF bit. SBF: u1, padding: u25, }), reserved16: [8]u8, - /// PWR voltage scaling control register. + /// PWR voltage scaling control register. VOSCR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// voltage scaling selection according to performance These bits control the V_CORE voltage level and allow to obtain the best trade-off between power consumption and performance: - In bypass mode, these bits must also be set according to the external provided core voltage level and related performance. - When increasing the performance, the voltage scaling must be changed before increasing the system frequency. - When decreasing performance, the system frequency must first be decreased before changing the voltage scaling. - VOS: packed union { - raw: u2, - value: VOS, - }, + /// voltage scaling selection according to performance These bits control the V_CORE voltage level and allow to obtain the best trade-off between power consumption and performance: - In bypass mode, these bits must also be set according to the external provided core voltage level and related performance. - When increasing the performance, the voltage scaling must be changed before increasing the system frequency. - When decreasing performance, the system frequency must first be decreased before changing the voltage scaling. + VOS: VOS, padding: u26, }), - /// PWR voltage scaling status register. + /// PWR voltage scaling status register. VOSSR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Ready bit for V_CORE voltage scaling output selection. + /// Ready bit for V_CORE voltage scaling output selection. VOSRDY: u1, reserved13: u9, - /// Voltage level ready for currently used VOS. + /// Voltage level ready for currently used VOS. ACTVOSRDY: u1, - /// voltage output scaling currently applied to V_CORE This field provides the last VOS value. - ACTVOS: packed union { - raw: u2, - value: VOS, - }, + /// voltage output scaling currently applied to V_CORE This field provides the last VOS value. + ACTVOS: VOS, padding: u16, }), reserved32: [8]u8, - /// PWR Backup domain control register. + /// PWR Backup domain control register. BDCR: mmio.Mmio(packed struct(u32) { - /// Backup RAM retention in Standby and V_BAT modes When this bit set, the backup regulator (used to maintain the backup RAM content in Standby and V_BAT modes) is enabled. If BREN is cleared, the backup regulator is switched off. The backup RAM can still be used in. Run and Stop modes. However its content is lost in Standby and V_BAT modes. If BREN is set, the application must wait till the backup regulator ready flag (BRRDY) is set to indicate that the data written into the SRAM is maintained in Standby and V_BAT modes. - BREN: packed union { - raw: u1, - value: Retention, - }, - /// Backup domain voltage and temperature monitoring enable. + /// Backup RAM retention in Standby and V_BAT modes When this bit set, the backup regulator (used to maintain the backup RAM content in Standby and V_BAT modes) is enabled. If BREN is cleared, the backup regulator is switched off. The backup RAM can still be used in. Run and Stop modes. However its content is lost in Standby and V_BAT modes. If BREN is set, the application must wait till the backup regulator ready flag (BRRDY) is set to indicate that the data written into the SRAM is maintained in Standby and V_BAT modes. + BREN: Retention, + /// Backup domain voltage and temperature monitoring enable. MONEN: u1, reserved8: u6, - /// V_BAT charging enable Note: Reset only by POR,. + /// V_BAT charging enable Note: Reset only by POR,. VBE: u1, - /// V_BAT charging resistor selection. - VBRS: packed union { - raw: u1, - value: VBRS, - }, + /// V_BAT charging resistor selection. + VBRS: VBRS, padding: u22, }), - /// PWR Backup domain control register. + /// PWR Backup domain control register. DBPCR: mmio.Mmio(packed struct(u32) { - /// Disable Backup domain write protection In reset state, all registers and SRAM in Backup domain are protected against parasitic write. access. This bit must be set to enable write access to these registers. + /// Disable Backup domain write protection In reset state, all registers and SRAM in Backup domain are protected against parasitic write. access. This bit must be set to enable write access to these registers. DBP: u1, padding: u31, }), - /// PWR Backup domain status register. + /// PWR Backup domain status register. BDSR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// backup regulator ready This bit is set by hardware to indicate that the backup regulator is ready. + /// backup regulator ready This bit is set by hardware to indicate that the backup regulator is ready. BRRDY: u1, reserved20: u3, - /// V_BAT level monitoring versus low threshold. + /// V_BAT level monitoring versus low threshold. VBATL: u1, - /// V_BAT level monitoring versus high threshold. + /// V_BAT level monitoring versus high threshold. VBATH: u1, - /// temperature level monitoring versus low threshold. + /// temperature level monitoring versus low threshold. TEMPL: u1, - /// temperature level monitoring versus high threshold. + /// temperature level monitoring versus high threshold. TEMPH: u1, padding: u8, }), - /// PWR USB Type-C power delivery register. + /// PWR USB Type-C power delivery register. UCPDR: mmio.Mmio(packed struct(u32) { - /// USB Type-C and power delivery dead battery disable After exiting reset, the USB Type-C “dead battery” behavior is enabled, which may have a pull-down effect on CC1 and CC2 pins. It is recommended to disable it in all case, either to stop this pull-down or to hand over control to the UCPD (which should therefore be initialized before doing the disable). + /// USB Type-C and power delivery dead battery disable After exiting reset, the USB Type-C “dead battery” behavior is enabled, which may have a pull-down effect on CC1 and CC2 pins. It is recommended to disable it in all case, either to stop this pull-down or to hand over control to the UCPD (which should therefore be initialized before doing the disable). UCPD_DBDIS: u1, - /// USB Type-c and Power delivery Standby mode When set, this bit is used to memorize the UCPD configuration in Standby mode. This bit must be written to 1 just before entering Standby mode when using UCPD, and it must be written to 0 after exiting the standby mode and before writing any UCPD register. + /// USB Type-c and Power delivery Standby mode When set, this bit is used to memorize the UCPD configuration in Standby mode. This bit must be written to 1 just before entering Standby mode when using UCPD, and it must be written to 0 after exiting the standby mode and before writing any UCPD register. UCPD_STBY: u1, padding: u30, }), - /// PWR supply configuration control register. + /// PWR supply configuration control register. SCCR: mmio.Mmio(packed struct(u32) { - /// power management unit bypass. + /// power management unit bypass. BYPASS: u1, reserved8: u7, - /// LDO enable The value is set by hardware when the package uses the LDO regulator. + /// LDO enable The value is set by hardware when the package uses the LDO regulator. LDOEN: u1, - /// SMPS enable The value is set by hardware when the package uses the SMPS regulator. + /// SMPS enable The value is set by hardware when the package uses the SMPS regulator. SMPSEN: u1, padding: u22, }), - /// PWR voltage monitor control register. + /// PWR voltage monitor control register. VMCR: mmio.Mmio(packed struct(u32) { - /// PVD enable. + /// PVD enable. PVDE: u1, - /// programmable voltage detector (PVD) level selection These bits select the voltage threshold detected by the PVD. - PLS: packed union { - raw: u3, - value: PLS, - }, + /// programmable voltage detector (PVD) level selection These bits select the voltage threshold detected by the PVD. + PLS: PLS, reserved8: u4, - /// peripheral voltage monitor on V_DDA enable. + /// peripheral voltage monitor on V_DDA enable. AVDEN: u1, - /// analog voltage detector (AVD) level selection These bits select the voltage threshold detected by the AVD. - ALS: packed union { - raw: u2, - value: ALS, - }, + /// analog voltage detector (AVD) level selection These bits select the voltage threshold detected by the AVD. + ALS: ALS, padding: u21, }), - /// PWR USB supply control register. + /// PWR USB supply control register. USBSCR: mmio.Mmio(packed struct(u32) { reserved24: u24, - /// V_DDUSB voltage level detector enable. + /// V_DDUSB voltage level detector enable. USB33DEN: u1, - /// independent USB supply valid This bit is used to validate the V_DDUSB supply for electrical and logical isolation purpose. Setting this bit is mandatory to use the USBFS peripheral. If V_DDUSB is not always present in the application, the V_DDUSB voltage monitor can be used to determine whether this supply is ready or not. + /// independent USB supply valid This bit is used to validate the V_DDUSB supply for electrical and logical isolation purpose. Setting this bit is mandatory to use the USBFS peripheral. If V_DDUSB is not always present in the application, the V_DDUSB voltage monitor can be used to determine whether this supply is ready or not. USB33SV: u1, padding: u6, }), - /// PWR voltage monitor status register. + /// PWR voltage monitor status register. VMSR: mmio.Mmio(packed struct(u32) { reserved19: u19, - /// analog voltage detector output on V_DDA This bit is set and cleared by hardware. It is valid only if AVD on VDDA is enabled by the AVDEN bit. Note: Since the AVD is disabled in Standby mode, this bit is equal to 0 after standby or reset until the AVDEN bit is set. + /// analog voltage detector output on V_DDA This bit is set and cleared by hardware. It is valid only if AVD on VDDA is enabled by the AVDEN bit. Note: Since the AVD is disabled in Standby mode, this bit is equal to 0 after standby or reset until the AVDEN bit is set. AVDO: u1, - /// voltage detector output on V_DDIO2 This bit is set and cleared by hardware. + /// voltage detector output on V_DDIO2 This bit is set and cleared by hardware. VDDIO2RDY: u1, reserved22: u1, - /// programmable voltage detect output This bit is set and cleared by hardware. It is valid only if the PVD has been enabled by the PVDE bit. Note: Since the PVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the PVDE bit is set. + /// programmable voltage detect output This bit is set and cleared by hardware. It is valid only if the PVD has been enabled by the PVDE bit. Note: Since the PVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the PVDE bit is set. PVDO: u1, reserved24: u1, - /// V_DDUSB ready. + /// V_DDUSB ready. USB33RDY: u1, padding: u7, }), - /// PWR wakeup status clear register. + /// PWR wakeup status clear register. WUSCR: mmio.Mmio(packed struct(u32) { - /// clear wakeup pin flag for WUFx These bits are always read as 0. + /// clear wakeup pin flag for WUFx These bits are always read as 0. CWUF: u1, padding: u31, }), - /// PWR wakeup status register. + /// PWR wakeup status register. WUSR: mmio.Mmio(packed struct(u32) { - /// wakeup pin WUFx flag This bit is set by hardware and cleared only by a RESET pin or by setting the CWUFx bit in PWR_WUSCR register. + /// wakeup pin WUFx flag This bit is set by hardware and cleared only by a RESET pin or by setting the CWUFx bit in PWR_WUSCR register. WUF: u1, padding: u31, }), - /// PWR wakeup configuration register. + /// PWR wakeup configuration register. WUCR: mmio.Mmio(packed struct(u32) { - /// enable wakeup pin WUPx These bits are set and cleared by software. Note: an additional wakeup event is detected if WUPx pin is enabled (by setting the WUPENx bit) when WUPx pin level is already high when WUPPx selects rising edge, or low when WUPPx selects falling edge. + /// enable wakeup pin WUPx These bits are set and cleared by software. Note: an additional wakeup event is detected if WUPx pin is enabled (by setting the WUPENx bit) when WUPx pin level is already high when WUPPx selects rising edge, or low when WUPPx selects falling edge. WUPEN: u1, reserved8: u7, - /// wakeup pin polarity bit for WUPx These bits define the polarity used for event detection on WUPx external wakeup pin. - WUPP: packed union { - raw: u1, - value: WUPP, - }, + /// wakeup pin polarity bit for WUPx These bits define the polarity used for event detection on WUPx external wakeup pin. + WUPP: WUPP, reserved16: u7, - /// wakeup pin pull configuration for WKUPx These bits define the I/O pad pull configuration used when WUPENx = 1. The associated GPIO port pull configuration must be set to the same value or to 00. The wakeup pin pull configuration is kept in Standby mode. - WUPPUPD: packed union { - raw: u2, - value: WUPPUPD, - }, + /// wakeup pin pull configuration for WKUPx These bits define the I/O pad pull configuration used when WUPENx = 1. The associated GPIO port pull configuration must be set to the same value or to 00. The wakeup pin pull configuration is kept in Standby mode. + WUPPUPD: WUPPUPD, padding: u14, }), reserved80: [4]u8, - /// PWR I/O retention register. + /// PWR I/O retention register. IORETR: mmio.Mmio(packed struct(u32) { - /// IO retention enable: When entering into standby mode, the output is sampled, and apply to the output IO during the standby power mode. Note: the IO state is not retained if the DBG_STANDBY bit is set in DBGMCU_CR register. + /// IO retention enable: When entering into standby mode, the output is sampled, and apply to the output IO during the standby power mode. Note: the IO state is not retained if the DBG_STANDBY bit is set in DBGMCU_CR register. IORETEN: u1, reserved16: u15, - /// IO retention enable for JTAG IOs when entering into standby mode, the output is sampled, and apply to the output IO during the standby power mode. + /// IO retention enable for JTAG IOs when entering into standby mode, the output is sampled, and apply to the output IO during the standby power mode. JTAGIORETEN: u1, padding: u15, }), reserved256: [172]u8, - /// PWR security configuration register. + /// PWR security configuration register. SECCFGR: mmio.Mmio(packed struct(u32) { - /// WUPx secure protection. + /// WUPx secure protection. WUPSEC: u1, reserved11: u10, - /// retention secure protection. + /// retention secure protection. RETSEC: u1, - /// low-power modes secure protection. + /// low-power modes secure protection. LPMSEC: u1, - /// supply configuration and monitoring secure protection. + /// supply configuration and monitoring secure protection. SCMSEC: u1, - /// backup domain secure protection. + /// backup domain secure protection. VBSEC: u1, - /// voltage USB secure protection. + /// voltage USB secure protection. VUSBSEC: u1, padding: u16, }), - /// PWR privilege configuration register. + /// PWR privilege configuration register. PRIVCFGR: mmio.Mmio(packed struct(u32) { - /// PWR secure functions privilege configuration Set and reset by software. This bit can be written only by a secure privileged access. + /// PWR secure functions privilege configuration Set and reset by software. This bit can be written only by a secure privileged access. SPRIV: u1, - /// PWR non-secure functions privilege configuration Set and reset by software. This bit can be written only by privileged access, secure or non-secure. + /// PWR non-secure functions privilege configuration Set and reset by software. This bit can be written only by privileged access, secure or non-secure. NSPRIV: u1, padding: u30, }), @@ -359456,77 +355358,77 @@ pub const types = struct { pub const pwr_h50 = struct { pub const ALS = enum(u2) { - /// AVD level0 (VAVD0 ~ 1.7 V) + /// AVD level0 (VAVD0 ~ 1.7 V) Level0 = 0x0, - /// AVD level1 (VAVD1 ~ 2.1 V) + /// AVD level1 (VAVD1 ~ 2.1 V) Level1 = 0x1, - /// AVD level2 (VAVD2 ~ 2.5 V) + /// AVD level2 (VAVD2 ~ 2.5 V) Level2 = 0x2, - /// AVD level3 (VAVD3 ~ 2.8 V) + /// AVD level3 (VAVD3 ~ 2.8 V) Level3 = 0x3, }; pub const LPMS = enum(u1) { - /// Keeps Stop mode when entering DeepSleep. + /// Keeps Stop mode when entering DeepSleep. Stop = 0x0, - /// Allows Standby mode when entering DeepSleep. + /// Allows Standby mode when entering DeepSleep. Standby = 0x1, }; pub const PLS = enum(u3) { - /// PVD level0 (VPVD0 ~ 1.95 V) + /// PVD level0 (VPVD0 ~ 1.95 V) Level0 = 0x0, - /// PVD level1 (VPVD1 ~ 2.10 V) + /// PVD level1 (VPVD1 ~ 2.10 V) Level1 = 0x1, - /// PVD level2 (VPVD2 ~ 2.25 V) + /// PVD level2 (VPVD2 ~ 2.25 V) Level2 = 0x2, - /// PVD level3 (VPVD3 ~ 2.40 V) + /// PVD level3 (VPVD3 ~ 2.40 V) Level3 = 0x3, - /// PVD level4 (VPVD4 ~ 2.55 V) + /// PVD level4 (VPVD4 ~ 2.55 V) Level4 = 0x4, - /// PVD level5 (VPVD5 ~ 2.70 V) + /// PVD level5 (VPVD5 ~ 2.70 V) Level5 = 0x5, - /// PVD level6 (VPVD6 ~ 2.85 V) + /// PVD level6 (VPVD6 ~ 2.85 V) Level6 = 0x6, - /// PVD_IN pin + /// PVD_IN pin PVDInPin = 0x7, }; pub const PowerModeInStopMode = enum(u1) { - /// Remains in normal mode when the system enters Stop mode (quick restart time). + /// Remains in normal mode when the system enters Stop mode (quick restart time). Normal = 0x0, - /// Enters low-power mode when the system enters Stop mode (low-power consumption). + /// Enters low-power mode when the system enters Stop mode (low-power consumption). LowPower = 0x1, }; pub const Retention = enum(u1) { - /// Content is lost. + /// Content is lost. Lost = 0x0, - /// Content is preserved. + /// Content is preserved. Preserved = 0x1, }; pub const SVOS = enum(u2) { - /// SVOS5 scale 5 + /// SVOS5 scale 5 Scale5 = 0x1, - /// SVOS4 scale 4 + /// SVOS4 scale 4 Scale4 = 0x2, - /// SVOS3 scale 3 (default) + /// SVOS3 scale 3 (default) Scale3 = 0x3, _, }; pub const ShutOff = enum(u1) { - /// Content is kept. + /// Content is kept. Kept = 0x0, - /// Content is lost. + /// Content is lost. Lost = 0x1, }; pub const VBRS = enum(u1) { - /// Charge VBAT through a 5 kΩ resistor. + /// Charge VBAT through a 5 kΩ resistor. R5kOhm = 0x0, - /// Charge VBAT through a 1.5 kΩ resistor. + /// Charge VBAT through a 1.5 kΩ resistor. R1_5kOhm = 0x1, }; @@ -359538,9 +355440,9 @@ pub const types = struct { }; pub const WUPP = enum(u1) { - /// detection on high level (rising edge) + /// detection on high level (rising edge) High = 0x0, - /// detection on low level (falling edge) + /// detection on low level (falling edge) Low = 0x1, }; @@ -359551,212 +355453,173 @@ pub const types = struct { _, }; - /// Power control. + /// Power control. pub const PWR = extern struct { - /// PWR power mode control register. + /// PWR power mode control register. PMCR: mmio.Mmio(packed struct(u32) { - /// low-power mode selection This bit defines the Deepsleep mode. - LPMS: packed union { - raw: u1, - value: LPMS, - }, + /// low-power mode selection This bit defines the Deepsleep mode. + LPMS: LPMS, reserved2: u1, - /// system Stop mode voltage scaling selection These bits control the V_CORE voltage level in system Stop mode, to obtain the best trade-off between power consumption and performance. - SVOS: packed union { - raw: u2, - value: SVOS, - }, + /// system Stop mode voltage scaling selection These bits control the V_CORE voltage level in system Stop mode, to obtain the best trade-off between power consumption and performance. + SVOS: SVOS, reserved7: u3, - /// clear Standby and Stop flags (always read as 0) This bit is cleared to 0 by hardware. + /// clear Standby and Stop flags (always read as 0) This bit is cleared to 0 by hardware. CSSF: u1, reserved9: u1, - /// Flash memory low-power mode in Stop mode This bit is used to obtain the best trade-off between low-power consumption and restart time when exiting from Stop mode. When it is set, the Flash memory enters low-power mode when the CPU domain is in Stop mode. Note: When system enters stop mode with SVOS5 enabled, Flash memory is automatically forced in low-power mode. - FLPS: packed union { - raw: u1, - value: PowerModeInStopMode, - }, + /// Flash memory low-power mode in Stop mode This bit is used to obtain the best trade-off between low-power consumption and restart time when exiting from Stop mode. When it is set, the Flash memory enters low-power mode when the CPU domain is in Stop mode. Note: When system enters stop mode with SVOS5 enabled, Flash memory is automatically forced in low-power mode. + FLPS: PowerModeInStopMode, reserved12: u2, - /// analog switch V_BOOST control This bit enables the booster to guarantee the analog switch AC performance when the V_DD supply voltage is below 2.7 V (reduction of the total harmonic distortion to have the same switch performance over the full supply voltage range) The V_DD supply voltage can be monitored through the PVD and the PLS bits. + /// analog switch V_BOOST control This bit enables the booster to guarantee the analog switch AC performance when the V_DD supply voltage is below 2.7 V (reduction of the total harmonic distortion to have the same switch performance over the full supply voltage range) The V_DD supply voltage can be monitored through the PVD and the PLS bits. BOOSTE: u1, - /// analog voltage ready This bit is only used when the analog switch boost needs to be enabled (see BOOSTE bit). It must be set by software when the expected V_DDA analog supply level is available. The correct analog supply level is indicated by the AVDO bit (PWR_VMSR register) after setting the AVDEN bit (PWR_VMCR register) and selecting the supply level to be monitored. (ALS bits). + /// analog voltage ready This bit is only used when the analog switch boost needs to be enabled (see BOOSTE bit). It must be set by software when the expected V_DDA analog supply level is available. The correct analog supply level is indicated by the AVDO bit (PWR_VMSR register) after setting the AVDEN bit (PWR_VMCR register) and selecting the supply level to be monitored. (ALS bits). AVD_READY: u1, reserved25: u11, - /// AHB SRAM2 shut-off in Stop mode. - SRAM2SO: packed union { - raw: u1, - value: ShutOff, - }, - /// AHB SRAM1 shut-off in Stop mode. - SRAM1SO: packed union { - raw: u1, - value: ShutOff, - }, + /// AHB SRAM2 shut-off in Stop mode. + SRAM2SO: ShutOff, + /// AHB SRAM1 shut-off in Stop mode. + SRAM1SO: ShutOff, padding: u5, }), - /// PWR status register. + /// PWR status register. PMSR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// Stop flag This bit is set by hardware and cleared only by any reset or by setting the CSSF bit. + /// Stop flag This bit is set by hardware and cleared only by any reset or by setting the CSSF bit. STOPF: u1, - /// System standby flag This bit is set by hardware and cleared only by a POR or by setting the CSSF bit. + /// System standby flag This bit is set by hardware and cleared only by a POR or by setting the CSSF bit. SBF: u1, padding: u25, }), reserved16: [8]u8, - /// PWR voltage scaling control register. + /// PWR voltage scaling control register. VOSCR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// voltage scaling selection according to performance These bits control the V_CORE voltage level and allow to obtain the best trade-off between power consumption and performance: - In bypass mode, these bits must also be set according to the external provided core voltage level and related performance. - When increasing the performance, the voltage scaling must be changed before increasing the system frequency. - When decreasing performance, the system frequency must first be decreased before changing the voltage scaling. - VOS: packed union { - raw: u2, - value: VOS, - }, + /// voltage scaling selection according to performance These bits control the V_CORE voltage level and allow to obtain the best trade-off between power consumption and performance: - In bypass mode, these bits must also be set according to the external provided core voltage level and related performance. - When increasing the performance, the voltage scaling must be changed before increasing the system frequency. - When decreasing performance, the system frequency must first be decreased before changing the voltage scaling. + VOS: VOS, padding: u26, }), - /// PWR voltage scaling status register. + /// PWR voltage scaling status register. VOSSR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Ready bit for V_CORE voltage scaling output selection. + /// Ready bit for V_CORE voltage scaling output selection. VOSRDY: u1, reserved13: u9, - /// Voltage level ready for currently used VOS. + /// Voltage level ready for currently used VOS. ACTVOSRDY: u1, - /// voltage output scaling currently applied to V_CORE This field provides the last VOS value. - ACTVOS: packed union { - raw: u2, - value: VOS, - }, + /// voltage output scaling currently applied to V_CORE This field provides the last VOS value. + ACTVOS: VOS, padding: u16, }), reserved32: [8]u8, - /// PWR Backup domain control register. + /// PWR Backup domain control register. BDCR: mmio.Mmio(packed struct(u32) { - /// Backup RAM retention in Standby and V_BAT modes When this bit set, the backup regulator (used to maintain the backup RAM content in Standby and V_BAT modes) is enabled. If BREN is cleared, the backup regulator is switched off. The backup RAM can still be used in. Run and Stop modes. However its content is lost in Standby and V_BAT modes. If BREN is set, the application must wait till the backup regulator ready flag (BRRDY) is set to indicate that the data written into the SRAM is maintained in Standby and V_BAT modes. - BREN: packed union { - raw: u1, - value: Retention, - }, - /// Backup domain voltage and temperature monitoring enable. + /// Backup RAM retention in Standby and V_BAT modes When this bit set, the backup regulator (used to maintain the backup RAM content in Standby and V_BAT modes) is enabled. If BREN is cleared, the backup regulator is switched off. The backup RAM can still be used in. Run and Stop modes. However its content is lost in Standby and V_BAT modes. If BREN is set, the application must wait till the backup regulator ready flag (BRRDY) is set to indicate that the data written into the SRAM is maintained in Standby and V_BAT modes. + BREN: Retention, + /// Backup domain voltage and temperature monitoring enable. MONEN: u1, reserved8: u6, - /// V_BAT charging enable Note: Reset only by POR,. + /// V_BAT charging enable Note: Reset only by POR,. VBE: u1, - /// V_BAT charging resistor selection. - VBRS: packed union { - raw: u1, - value: VBRS, - }, + /// V_BAT charging resistor selection. + VBRS: VBRS, padding: u22, }), - /// PWR Backup domain control register. + /// PWR Backup domain control register. DBPCR: mmio.Mmio(packed struct(u32) { - /// Disable Backup domain write protection In reset state, all registers and SRAM in Backup domain are protected against parasitic write. access. This bit must be set to enable write access to these registers. + /// Disable Backup domain write protection In reset state, all registers and SRAM in Backup domain are protected against parasitic write. access. This bit must be set to enable write access to these registers. DBP: u1, padding: u31, }), - /// PWR Backup domain status register. + /// PWR Backup domain status register. BDSR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// backup regulator ready This bit is set by hardware to indicate that the backup regulator is ready. + /// backup regulator ready This bit is set by hardware to indicate that the backup regulator is ready. BRRDY: u1, reserved20: u3, - /// V_BAT level monitoring versus low threshold. + /// V_BAT level monitoring versus low threshold. VBATL: u1, - /// V_BAT level monitoring versus high threshold. + /// V_BAT level monitoring versus high threshold. VBATH: u1, - /// temperature level monitoring versus low threshold. + /// temperature level monitoring versus low threshold. TEMPL: u1, - /// temperature level monitoring versus high threshold. + /// temperature level monitoring versus high threshold. TEMPH: u1, padding: u8, }), reserved48: [4]u8, - /// PWR supply configuration control register. + /// PWR supply configuration control register. SCCR: mmio.Mmio(packed struct(u32) { - /// power management unit bypass. + /// power management unit bypass. BYPASS: u1, reserved8: u7, - /// LDO enable The value is set by hardware when the package uses the LDO regulator. + /// LDO enable The value is set by hardware when the package uses the LDO regulator. LDOEN: u1, padding: u23, }), - /// PWR voltage monitor control register. + /// PWR voltage monitor control register. VMCR: mmio.Mmio(packed struct(u32) { - /// PVD enable. + /// PVD enable. PVDE: u1, - /// programmable voltage detector (PVD) level selection These bits select the voltage threshold detected by the PVD. - PLS: packed union { - raw: u3, - value: PLS, - }, + /// programmable voltage detector (PVD) level selection These bits select the voltage threshold detected by the PVD. + PLS: PLS, reserved8: u4, - /// peripheral voltage monitor on V_DDA enable. + /// peripheral voltage monitor on V_DDA enable. AVDEN: u1, - /// analog voltage detector (AVD) level selection These bits select the voltage threshold detected by the AVD. - ALS: packed union { - raw: u2, - value: ALS, - }, + /// analog voltage detector (AVD) level selection These bits select the voltage threshold detected by the AVD. + ALS: ALS, padding: u21, }), reserved60: [4]u8, - /// PWR voltage monitor status register. + /// PWR voltage monitor status register. VMSR: mmio.Mmio(packed struct(u32) { reserved19: u19, - /// analog voltage detector output on V_DDA This bit is set and cleared by hardware. It is valid only if AVD on VDDA is enabled by the AVDEN bit. Note: Since the AVD is disabled in Standby mode, this bit is equal to 0 after standby or reset until the AVDEN bit is set. + /// analog voltage detector output on V_DDA This bit is set and cleared by hardware. It is valid only if AVD on VDDA is enabled by the AVDEN bit. Note: Since the AVD is disabled in Standby mode, this bit is equal to 0 after standby or reset until the AVDEN bit is set. AVDO: u1, - /// voltage detector output on V_DDIO2 This bit is set and cleared by hardware. + /// voltage detector output on V_DDIO2 This bit is set and cleared by hardware. VDDIO2RDY: u1, reserved22: u1, - /// programmable voltage detect output This bit is set and cleared by hardware. It is valid only if the PVD has been enabled by the PVDE bit. Note: Since the PVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the PVDE bit is set. + /// programmable voltage detect output This bit is set and cleared by hardware. It is valid only if the PVD has been enabled by the PVDE bit. Note: Since the PVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the PVDE bit is set. PVDO: u1, padding: u9, }), - /// PWR wakeup status clear register. + /// PWR wakeup status clear register. WUSCR: mmio.Mmio(packed struct(u32) { - /// clear wakeup pin flag for WUFx These bits are always read as 0. + /// clear wakeup pin flag for WUFx These bits are always read as 0. CWUF: u1, padding: u31, }), - /// PWR wakeup status register. + /// PWR wakeup status register. WUSR: mmio.Mmio(packed struct(u32) { - /// wakeup pin WUFx flag This bit is set by hardware and cleared only by a RESET pin or by setting the CWUFx bit in PWR_WUSCR register. + /// wakeup pin WUFx flag This bit is set by hardware and cleared only by a RESET pin or by setting the CWUFx bit in PWR_WUSCR register. WUF: u1, padding: u31, }), - /// PWR wakeup configuration register. + /// PWR wakeup configuration register. WUCR: mmio.Mmio(packed struct(u32) { - /// enable wakeup pin WUPx These bits are set and cleared by software. Note: an additional wakeup event is detected if WUPx pin is enabled (by setting the WUPENx bit) when WUPx pin level is already high when WUPPx selects rising edge, or low when WUPPx selects falling edge. + /// enable wakeup pin WUPx These bits are set and cleared by software. Note: an additional wakeup event is detected if WUPx pin is enabled (by setting the WUPENx bit) when WUPx pin level is already high when WUPPx selects rising edge, or low when WUPPx selects falling edge. WUPEN: u1, reserved8: u7, - /// wakeup pin polarity bit for WUPx These bits define the polarity used for event detection on WUPx external wakeup pin. - WUPP: packed union { - raw: u1, - value: WUPP, - }, + /// wakeup pin polarity bit for WUPx These bits define the polarity used for event detection on WUPx external wakeup pin. + WUPP: WUPP, reserved16: u7, - /// wakeup pin pull configuration for WKUPx These bits define the I/O pad pull configuration used when WUPENx = 1. The associated GPIO port pull configuration must be set to the same value or to 00. The wakeup pin pull configuration is kept in Standby mode. - WUPPUPD: packed union { - raw: u2, - value: WUPPUPD, - }, + /// wakeup pin pull configuration for WKUPx These bits define the I/O pad pull configuration used when WUPENx = 1. The associated GPIO port pull configuration must be set to the same value or to 00. The wakeup pin pull configuration is kept in Standby mode. + WUPPUPD: WUPPUPD, padding: u14, }), reserved80: [4]u8, - /// PWR I/O retention register. + /// PWR I/O retention register. IORETR: mmio.Mmio(packed struct(u32) { - /// IO retention enable: When entering into standby mode, the output is sampled, and apply to the output IO during the standby power mode. Note: the IO state is not retained if the DBG_STANDBY bit is set in DBGMCU_CR register. + /// IO retention enable: When entering into standby mode, the output is sampled, and apply to the output IO during the standby power mode. Note: the IO state is not retained if the DBG_STANDBY bit is set in DBGMCU_CR register. IORETEN: u1, reserved16: u15, - /// IO retention enable for JTAG IOs when entering into standby mode, the output is sampled, and apply to the output IO during the standby power mode. + /// IO retention enable for JTAG IOs when entering into standby mode, the output is sampled, and apply to the output IO during the standby power mode. JTAGIORETEN: u1, padding: u15, }), reserved260: [176]u8, - /// PWR privilege configuration register. + /// PWR privilege configuration register. PRIVCFGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// PWR non-secure functions privilege configuration Set and reset by software. This bit can be written only by privileged access, secure or non-secure. + /// PWR non-secure functions privilege configuration Set and reset by software. This bit can be written only by privileged access, secure or non-secure. NSPRIV: u1, padding: u30, }), @@ -359779,169 +355642,160 @@ pub const types = struct { }; pub const WKUPPUPD = enum(u2) { - /// No pull-up. + /// No pull-up. NoPull = 0x0, - /// Pull-up. + /// Pull-up. PullUp = 0x1, - /// Pull-down. + /// Pull-down. PullDown = 0x2, _, }; - /// PWR + /// PWR pub const PWR = extern struct { - /// PWR control register 1 + /// PWR control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Low-power Deepsleep with SVOS3 (SVOS4 and SVOS5 always use low-power, regardless of the setting of this bit) + /// Low-power Deepsleep with SVOS3 (SVOS4 and SVOS5 always use low-power, regardless of the setting of this bit) LPDS: u1, reserved4: u3, - /// Programmable voltage detector enable + /// Programmable voltage detector enable PVDE: u1, - /// Programmable voltage detector level selection These bits select the voltage threshold detected by the PVD. Note: Refer to Section Electrical characteristics of the product datasheet for more details. + /// Programmable voltage detector level selection These bits select the voltage threshold detected by the PVD. Note: Refer to Section Electrical characteristics of the product datasheet for more details. PLS: u3, - /// Disable backup domain write protection In reset state, the RCC_BDCR register, the RTC registers (including the backup registers), BREN and MOEN bits in PWR_CR2 register, are protected against parasitic write access. This bit must be set to enable write access to these registers. + /// Disable backup domain write protection In reset state, the RCC_BDCR register, the RTC registers (including the backup registers), BREN and MOEN bits in PWR_CR2 register, are protected against parasitic write access. This bit must be set to enable write access to these registers. DBP: u1, - /// Flash low-power mode in DStop mode This bit allows to obtain the best trade-off between low-power consumption and restart time when exiting from DStop mode. When it is set, the Flash memory enters low-power mode when D1 domain is in DStop mode. + /// Flash low-power mode in DStop mode This bit allows to obtain the best trade-off between low-power consumption and restart time when exiting from DStop mode. When it is set, the Flash memory enters low-power mode when D1 domain is in DStop mode. FLPS: u1, reserved14: u4, - /// System Stop mode voltage scaling selection These bits control the VCORE voltage level in system Stop mode, to obtain the best trade-off between power consumption and performance. + /// System Stop mode voltage scaling selection These bits control the VCORE voltage level in system Stop mode, to obtain the best trade-off between power consumption and performance. SVOS: u2, - /// Peripheral voltage monitor on VDDA enable + /// Peripheral voltage monitor on VDDA enable AVDEN: u1, - /// Analog voltage detector level selection These bits select the voltage threshold detected by the AVD. + /// Analog voltage detector level selection These bits select the voltage threshold detected by the AVD. ALS: u2, padding: u13, }), - /// PWR control status register 1 + /// PWR control status register 1 CSR1: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Programmable voltage detect output This bit is set and cleared by hardware. It is valid only if the PVD has been enabled by the PVDE bit. Note: since the PVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the PVDE bit is set. + /// Programmable voltage detect output This bit is set and cleared by hardware. It is valid only if the PVD has been enabled by the PVDE bit. Note: since the PVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the PVDE bit is set. PVDO: u1, reserved13: u8, - /// Voltage levels ready bit for currently used VOS and SDLEVEL This bit is set to 1 by hardware when the voltage regulator and the SD converter are both disabled and Bypass mode is selected in PWR control register 3 (PWR_CR3). + /// Voltage levels ready bit for currently used VOS and SDLEVEL This bit is set to 1 by hardware when the voltage regulator and the SD converter are both disabled and Bypass mode is selected in PWR control register 3 (PWR_CR3). ACTVOSRDY: u1, - /// VOS currently applied for VCORE voltage scaling selection. These bits reflect the last VOS value applied to the PMU. + /// VOS currently applied for VCORE voltage scaling selection. These bits reflect the last VOS value applied to the PMU. ACTVOS: u2, - /// Analog voltage detector output on VDDA This bit is set and cleared by hardware. It is valid only if AVD on VDDA is enabled by the AVDEN bit. Note: Since the AVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the AVDEN bit is set. + /// Analog voltage detector output on VDDA This bit is set and cleared by hardware. It is valid only if AVD on VDDA is enabled by the AVDEN bit. Note: Since the AVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the AVDEN bit is set. AVDO: u1, padding: u15, }), - /// This register is not reset by wakeup from Standby mode, RESET signal and VDD POR. It is only reset by VSW POR and VSWRST reset. This register shall not be accessed when VSWRST bit in RCC_BDCR register resets the VSW domain.After reset, PWR_CR2 register is write-protected. Prior to modifying its content, the DBP bit in PWR_CR1 register must be set to disable the write protection. + /// This register is not reset by wakeup from Standby mode, RESET signal and VDD POR. It is only reset by VSW POR and VSWRST reset. This register shall not be accessed when VSWRST bit in RCC_BDCR register resets the VSW domain.After reset, PWR_CR2 register is write-protected. Prior to modifying its content, the DBP bit in PWR_CR1 register must be set to disable the write protection. CR2: mmio.Mmio(packed struct(u32) { - /// Backup regulator enable When set, the Backup regulator (used to maintain the backup RAM content in Standby and VBAT modes) is enabled. If BREN is reset, the backup regulator is switched off. The backup RAM can still be used in Run and Stop modes. However, its content will be lost in Standby and VBAT modes. If BREN is set, the application must wait till the Backup Regulator Ready flag (BRRDY) is set to indicate that the data written into the SRAM will be maintained in Standby and VBAT modes. + /// Backup regulator enable When set, the Backup regulator (used to maintain the backup RAM content in Standby and VBAT modes) is enabled. If BREN is reset, the backup regulator is switched off. The backup RAM can still be used in Run and Stop modes. However, its content will be lost in Standby and VBAT modes. If BREN is set, the application must wait till the Backup Regulator Ready flag (BRRDY) is set to indicate that the data written into the SRAM will be maintained in Standby and VBAT modes. BREN: u1, reserved4: u3, - /// VBAT and temperature monitoring enable When set, the VBAT supply and temperature monitoring is enabled. + /// VBAT and temperature monitoring enable When set, the VBAT supply and temperature monitoring is enabled. MONEN: u1, reserved16: u11, - /// Backup regulator ready This bit is set by hardware to indicate that the Backup regulator is ready. + /// Backup regulator ready This bit is set by hardware to indicate that the Backup regulator is ready. BRRDY: u1, reserved20: u3, - /// VBAT level monitoring versus low threshold + /// VBAT level monitoring versus low threshold VBATL: u1, - /// VBAT level monitoring versus high threshold + /// VBAT level monitoring versus high threshold VBATH: u1, - /// Temperature level monitoring versus low threshold + /// Temperature level monitoring versus low threshold TEMPL: u1, - /// Temperature level monitoring versus high threshold + /// Temperature level monitoring versus high threshold TEMPH: u1, padding: u8, }), - /// Reset only by POR only, not reset by wakeup from Standby mode and RESET pad. The lower byte of this register is written once after POR and shall be written before changing VOS level or ck_sys clock frequency. No limitation applies to the upper bytes.Programming data corresponding to an invalid combination of SDLEVEL, SDEXTHP, SDEN, LDOEN and BYPASS bits (see Table9) will be ignored: data will not be written, the written-once mechanism will lock the register and any further write access will be ignored. The default supply configuration will be kept and the ACTVOSRDY bit in PWR control status register 1 (PWR_CSR1) will go on indicating invalid voltage levels. The system shall be power cycled before writing a new value. + /// Reset only by POR only, not reset by wakeup from Standby mode and RESET pad. The lower byte of this register is written once after POR and shall be written before changing VOS level or ck_sys clock frequency. No limitation applies to the upper bytes.Programming data corresponding to an invalid combination of SDLEVEL, SDEXTHP, SDEN, LDOEN and BYPASS bits (see Table9) will be ignored: data will not be written, the written-once mechanism will lock the register and any further write access will be ignored. The default supply configuration will be kept and the ACTVOSRDY bit in PWR control status register 1 (PWR_CSR1) will go on indicating invalid voltage levels. The system shall be power cycled before writing a new value. CR3: mmio.Mmio(packed struct(u32) { - /// Power management unit bypass + /// Power management unit bypass BYPASS: u1, - /// Low drop-out regulator enable + /// Low drop-out regulator enable LDOEN: u1, - /// SD converter Enable + /// SD converter Enable SDEN: u1, - /// Step-down converter forced ON and in High Power MR mode + /// Step-down converter forced ON and in High Power MR mode SDEXTHP: u1, - /// Step-down converter voltage output level selection - SDLEVEL: packed union { - raw: u2, - value: SDLEVEL, - }, + /// Step-down converter voltage output level selection + SDLEVEL: SDLEVEL, reserved8: u2, - /// VBAT charging enable + /// VBAT charging enable VBE: u1, - /// VBAT charging resistor selection + /// VBAT charging resistor selection VBRS: u1, reserved16: u6, - /// SMPS step-down converter external supply ready + /// SMPS step-down converter external supply ready SDEXTRDY: u1, reserved24: u7, - /// VDD33USB voltage level detector enable. + /// VDD33USB voltage level detector enable. USB33DEN: u1, - /// USB regulator enable. + /// USB regulator enable. USBREGEN: u1, - /// USB supply ready. + /// USB supply ready. USB33RDY: u1, padding: u5, }), - /// This register allows controlling CPU1 power. + /// This register allows controlling CPU1 power. CPUCR: mmio.Mmio(packed struct(u32) { - /// D1 domain Power Down Deepsleep selection. This bit allows CPU1 to define the Deepsleep mode for D1 domain. + /// D1 domain Power Down Deepsleep selection. This bit allows CPU1 to define the Deepsleep mode for D1 domain. PDDS_D1: u1, - /// D2 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for D2 domain. + /// D2 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for D2 domain. PDDS_D2: u1, - /// System D3 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for System D3 domain. + /// System D3 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for System D3 domain. PDDS_D3: u1, reserved5: u2, - /// STOP flag This bit is set by hardware and cleared only by any reset or by setting the CPU1 CSSF bit. + /// STOP flag This bit is set by hardware and cleared only by any reset or by setting the CPU1 CSSF bit. STOPF: u1, - /// System Standby flag This bit is set by hardware and cleared only by a POR (Power-on Reset) or by setting the CPU1 CSSF bit + /// System Standby flag This bit is set by hardware and cleared only by a POR (Power-on Reset) or by setting the CPU1 CSSF bit SBF: u1, - /// D1 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D1 domain is no longer in DStandby mode. + /// D1 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D1 domain is no longer in DStandby mode. SBF_D1: u1, - /// D2 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D2 domain is no longer in DStandby mode. + /// D2 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D2 domain is no longer in DStandby mode. SBF_D2: u1, - /// Clear D1 domain CPU1 Standby, Stop and HOLD flags (always read as 0) This bit is cleared to 0 by hardware. + /// Clear D1 domain CPU1 Standby, Stop and HOLD flags (always read as 0) This bit is cleared to 0 by hardware. CSSF: u1, reserved11: u1, - /// Keep system D3 domain in Run mode regardless of the CPU sub-systems modes + /// Keep system D3 domain in Run mode regardless of the CPU sub-systems modes RUN_D3: u1, padding: u20, }), reserved24: [4]u8, - /// This register allows controlling D3 domain power.Following reset VOSRDY will be read 1 by software + /// This register allows controlling D3 domain power.Following reset VOSRDY will be read 1 by software D3CR: mmio.Mmio(packed struct(u32) { reserved13: u13, - /// VOS Ready bit for VCORE voltage scaling output selection. This bit is set to 1 by hardware when Bypass mode is selected in PWR control register 3 (PWR_CR3). + /// VOS Ready bit for VCORE voltage scaling output selection. This bit is set to 1 by hardware when Bypass mode is selected in PWR control register 3 (PWR_CR3). VOSRDY: u1, - /// Voltage scaling selection according to performance These bits control the VCORE voltage level and allow to obtains the best trade-off between power consumption and performance: When increasing the performance, the voltage scaling shall be changed before increasing the system frequency. When decreasing performance, the system frequency shall first be decreased before changing the voltage scaling. - VOS: packed union { - raw: u2, - value: VOS, - }, + /// Voltage scaling selection according to performance These bits control the VCORE voltage level and allow to obtains the best trade-off between power consumption and performance: When increasing the performance, the voltage scaling shall be changed before increasing the system frequency. When decreasing performance, the system frequency shall first be decreased before changing the voltage scaling. + VOS: VOS, padding: u16, }), reserved32: [4]u8, - /// reset only by system reset, not reset by wakeup from Standby mode5 wait states are required when writing this register (when clearing a WKUPF bit in PWR_WKUPFR, the AHB write access will complete after the WKUPF has been cleared). + /// reset only by system reset, not reset by wakeup from Standby mode5 wait states are required when writing this register (when clearing a WKUPF bit in PWR_WKUPFR, the AHB write access will complete after the WKUPF has been cleared). WKUPCR: mmio.Mmio(packed struct(u32) { - /// Clear Wakeup pin flag for WKUP. These bits are always read as 0. + /// Clear Wakeup pin flag for WKUP. These bits are always read as 0. WKUPC: u6, padding: u26, }), - /// reset only by system reset, not reset by wakeup from Standby mode + /// reset only by system reset, not reset by wakeup from Standby mode WKUPFR: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUPF flag. This bit is set by hardware and cleared only by a Reset pin or by setting the WKUPCn+1 bit in the PWR wakeup clear register (PWR_WKUPCR). + /// Wakeup pin WKUPF flag. This bit is set by hardware and cleared only by a Reset pin or by setting the WKUPCn+1 bit in the PWR wakeup clear register (PWR_WKUPCR). WKUPF: u1, padding: u31, }), - /// Reset only by system reset, not reset by wakeup from Standby mode + /// Reset only by system reset, not reset by wakeup from Standby mode WKUPEPR: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup Pin WKUPn+1 Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn+1 bit) when WKUPn+1 pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn+1 selects falling edge. + /// Enable Wakeup Pin WKUPn+1 Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn+1 bit) when WKUPn+1 pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn+1 selects falling edge. WKUPEN: u1, reserved8: u7, - /// Wakeup pin polarity bit for WKUPn-7 These bits define the polarity used for event detection on WKUPn-7 external wakeup pin. + /// Wakeup pin polarity bit for WKUPn-7 These bits define the polarity used for event detection on WKUPn-7 external wakeup pin. WKUPP: u1, reserved16: u7, - /// Wakeup pin pull configuration - WKUPPUPD: packed union { - raw: u2, - value: WKUPPUPD, - }, + /// Wakeup pin pull configuration + WKUPPUPD: WKUPPUPD, padding: u14, }), }; @@ -359956,159 +355810,153 @@ pub const types = struct { }; pub const WKUPPUPD = enum(u2) { - /// No pull-up. + /// No pull-up. NoPull = 0x0, - /// Pull-up. + /// Pull-up. PullUp = 0x1, - /// Pull-down. + /// Pull-down. PullDown = 0x2, _, }; - /// PWR + /// PWR pub const PWR = extern struct { - /// PWR control register 1 + /// PWR control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Low-power Deepsleep with SVOS3 (SVOS4 and SVOS5 always use low-power, regardless of the setting of this bit) + /// Low-power Deepsleep with SVOS3 (SVOS4 and SVOS5 always use low-power, regardless of the setting of this bit) LPDS: u1, reserved4: u3, - /// Programmable voltage detector enable + /// Programmable voltage detector enable PVDE: u1, - /// Programmable voltage detector level selection These bits select the voltage threshold detected by the PVD. Note: Refer to Section Electrical characteristics of the product datasheet for more details. + /// Programmable voltage detector level selection These bits select the voltage threshold detected by the PVD. Note: Refer to Section Electrical characteristics of the product datasheet for more details. PLS: u3, - /// Disable backup domain write protection In reset state, the RCC_BDCR register, the RTC registers (including the backup registers), BREN and MOEN bits in PWR_CR2 register, are protected against parasitic write access. This bit must be set to enable write access to these registers. + /// Disable backup domain write protection In reset state, the RCC_BDCR register, the RTC registers (including the backup registers), BREN and MOEN bits in PWR_CR2 register, are protected against parasitic write access. This bit must be set to enable write access to these registers. DBP: u1, - /// Flash low-power mode in DStop mode This bit allows to obtain the best trade-off between low-power consumption and restart time when exiting from DStop mode. When it is set, the Flash memory enters low-power mode when D1 domain is in DStop mode. + /// Flash low-power mode in DStop mode This bit allows to obtain the best trade-off between low-power consumption and restart time when exiting from DStop mode. When it is set, the Flash memory enters low-power mode when D1 domain is in DStop mode. FLPS: u1, reserved14: u4, - /// System Stop mode voltage scaling selection These bits control the VCORE voltage level in system Stop mode, to obtain the best trade-off between power consumption and performance. + /// System Stop mode voltage scaling selection These bits control the VCORE voltage level in system Stop mode, to obtain the best trade-off between power consumption and performance. SVOS: u2, - /// Peripheral voltage monitor on VDDA enable + /// Peripheral voltage monitor on VDDA enable AVDEN: u1, - /// Analog voltage detector level selection These bits select the voltage threshold detected by the AVD. + /// Analog voltage detector level selection These bits select the voltage threshold detected by the AVD. ALS: u2, padding: u13, }), - /// PWR control status register 1 + /// PWR control status register 1 CSR1: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Programmable voltage detect output This bit is set and cleared by hardware. It is valid only if the PVD has been enabled by the PVDE bit. Note: since the PVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the PVDE bit is set. + /// Programmable voltage detect output This bit is set and cleared by hardware. It is valid only if the PVD has been enabled by the PVDE bit. Note: since the PVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the PVDE bit is set. PVDO: u1, reserved13: u8, - /// Voltage levels ready bit for currently used VOS and SDLEVEL This bit is set to 1 by hardware when the voltage regulator and the SD converter are both disabled and Bypass mode is selected in PWR control register 3 (PWR_CR3). + /// Voltage levels ready bit for currently used VOS and SDLEVEL This bit is set to 1 by hardware when the voltage regulator and the SD converter are both disabled and Bypass mode is selected in PWR control register 3 (PWR_CR3). ACTVOSRDY: u1, - /// VOS currently applied for VCORE voltage scaling selection. These bits reflect the last VOS value applied to the PMU. + /// VOS currently applied for VCORE voltage scaling selection. These bits reflect the last VOS value applied to the PMU. ACTVOS: u2, - /// Analog voltage detector output on VDDA This bit is set and cleared by hardware. It is valid only if AVD on VDDA is enabled by the AVDEN bit. Note: Since the AVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the AVDEN bit is set. + /// Analog voltage detector output on VDDA This bit is set and cleared by hardware. It is valid only if AVD on VDDA is enabled by the AVDEN bit. Note: Since the AVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the AVDEN bit is set. AVDO: u1, padding: u15, }), - /// This register is not reset by wakeup from Standby mode, RESET signal and VDD POR. It is only reset by VSW POR and VSWRST reset. This register shall not be accessed when VSWRST bit in RCC_BDCR register resets the VSW domain.After reset, PWR_CR2 register is write-protected. Prior to modifying its content, the DBP bit in PWR_CR1 register must be set to disable the write protection. + /// This register is not reset by wakeup from Standby mode, RESET signal and VDD POR. It is only reset by VSW POR and VSWRST reset. This register shall not be accessed when VSWRST bit in RCC_BDCR register resets the VSW domain.After reset, PWR_CR2 register is write-protected. Prior to modifying its content, the DBP bit in PWR_CR1 register must be set to disable the write protection. CR2: mmio.Mmio(packed struct(u32) { - /// Backup regulator enable When set, the Backup regulator (used to maintain the backup RAM content in Standby and VBAT modes) is enabled. If BREN is reset, the backup regulator is switched off. The backup RAM can still be used in Run and Stop modes. However, its content will be lost in Standby and VBAT modes. If BREN is set, the application must wait till the Backup Regulator Ready flag (BRRDY) is set to indicate that the data written into the SRAM will be maintained in Standby and VBAT modes. + /// Backup regulator enable When set, the Backup regulator (used to maintain the backup RAM content in Standby and VBAT modes) is enabled. If BREN is reset, the backup regulator is switched off. The backup RAM can still be used in Run and Stop modes. However, its content will be lost in Standby and VBAT modes. If BREN is set, the application must wait till the Backup Regulator Ready flag (BRRDY) is set to indicate that the data written into the SRAM will be maintained in Standby and VBAT modes. BREN: u1, reserved4: u3, - /// VBAT and temperature monitoring enable When set, the VBAT supply and temperature monitoring is enabled. + /// VBAT and temperature monitoring enable When set, the VBAT supply and temperature monitoring is enabled. MONEN: u1, reserved16: u11, - /// Backup regulator ready This bit is set by hardware to indicate that the Backup regulator is ready. + /// Backup regulator ready This bit is set by hardware to indicate that the Backup regulator is ready. BRRDY: u1, reserved20: u3, - /// VBAT level monitoring versus low threshold + /// VBAT level monitoring versus low threshold VBATL: u1, - /// VBAT level monitoring versus high threshold + /// VBAT level monitoring versus high threshold VBATH: u1, - /// Temperature level monitoring versus low threshold + /// Temperature level monitoring versus low threshold TEMPL: u1, - /// Temperature level monitoring versus high threshold + /// Temperature level monitoring versus high threshold TEMPH: u1, padding: u8, }), - /// Reset only by POR only, not reset by wakeup from Standby mode and RESET pad. The lower byte of this register is written once after POR and shall be written before changing VOS level or ck_sys clock frequency. No limitation applies to the upper bytes.Programming data corresponding to an invalid combination of SDLEVEL, SDEXTHP, SDEN, LDOEN and BYPASS bits (see Table9) will be ignored: data will not be written, the written-once mechanism will lock the register and any further write access will be ignored. The default supply configuration will be kept and the ACTVOSRDY bit in PWR control status register 1 (PWR_CSR1) will go on indicating invalid voltage levels. The system shall be power cycled before writing a new value. + /// Reset only by POR only, not reset by wakeup from Standby mode and RESET pad. The lower byte of this register is written once after POR and shall be written before changing VOS level or ck_sys clock frequency. No limitation applies to the upper bytes.Programming data corresponding to an invalid combination of SDLEVEL, SDEXTHP, SDEN, LDOEN and BYPASS bits (see Table9) will be ignored: data will not be written, the written-once mechanism will lock the register and any further write access will be ignored. The default supply configuration will be kept and the ACTVOSRDY bit in PWR control status register 1 (PWR_CSR1) will go on indicating invalid voltage levels. The system shall be power cycled before writing a new value. CR3: mmio.Mmio(packed struct(u32) { - /// Power management unit bypass + /// Power management unit bypass BYPASS: u1, - /// Low drop-out regulator enable + /// Low drop-out regulator enable LDOEN: u1, - /// Supply configuration update enable + /// Supply configuration update enable SCUEN: u1, reserved8: u5, - /// VBAT charging enable + /// VBAT charging enable VBE: u1, - /// VBAT charging resistor selection + /// VBAT charging resistor selection VBRS: u1, reserved24: u14, - /// VDD33USB voltage level detector enable. + /// VDD33USB voltage level detector enable. USB33DEN: u1, - /// USB regulator enable. + /// USB regulator enable. USBREGEN: u1, - /// USB supply ready. + /// USB supply ready. USB33RDY: u1, padding: u5, }), - /// This register allows controlling CPU1 power. + /// This register allows controlling CPU1 power. CPUCR: mmio.Mmio(packed struct(u32) { - /// D1 domain Power Down Deepsleep selection. This bit allows CPU1 to define the Deepsleep mode for D1 domain. + /// D1 domain Power Down Deepsleep selection. This bit allows CPU1 to define the Deepsleep mode for D1 domain. PDDS_D1: u1, - /// D2 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for D2 domain. + /// D2 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for D2 domain. PDDS_D2: u1, - /// System D3 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for System D3 domain. + /// System D3 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for System D3 domain. PDDS_D3: u1, reserved5: u2, - /// STOP flag This bit is set by hardware and cleared only by any reset or by setting the CPU1 CSSF bit. + /// STOP flag This bit is set by hardware and cleared only by any reset or by setting the CPU1 CSSF bit. STOPF: u1, - /// System Standby flag This bit is set by hardware and cleared only by a POR (Power-on Reset) or by setting the CPU1 CSSF bit + /// System Standby flag This bit is set by hardware and cleared only by a POR (Power-on Reset) or by setting the CPU1 CSSF bit SBF: u1, - /// D1 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D1 domain is no longer in DStandby mode. + /// D1 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D1 domain is no longer in DStandby mode. SBF_D1: u1, - /// D2 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D2 domain is no longer in DStandby mode. + /// D2 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D2 domain is no longer in DStandby mode. SBF_D2: u1, - /// Clear D1 domain CPU1 Standby, Stop and HOLD flags (always read as 0) This bit is cleared to 0 by hardware. + /// Clear D1 domain CPU1 Standby, Stop and HOLD flags (always read as 0) This bit is cleared to 0 by hardware. CSSF: u1, reserved11: u1, - /// Keep system D3 domain in Run mode regardless of the CPU sub-systems modes + /// Keep system D3 domain in Run mode regardless of the CPU sub-systems modes RUN_D3: u1, padding: u20, }), reserved24: [4]u8, - /// This register allows controlling D3 domain power.Following reset VOSRDY will be read 1 by software + /// This register allows controlling D3 domain power.Following reset VOSRDY will be read 1 by software D3CR: mmio.Mmio(packed struct(u32) { reserved13: u13, - /// VOS Ready bit for VCORE voltage scaling output selection. This bit is set to 1 by hardware when Bypass mode is selected in PWR control register 3 (PWR_CR3). + /// VOS Ready bit for VCORE voltage scaling output selection. This bit is set to 1 by hardware when Bypass mode is selected in PWR control register 3 (PWR_CR3). VOSRDY: u1, - /// Voltage scaling selection according to performance These bits control the VCORE voltage level and allow to obtains the best trade-off between power consumption and performance: When increasing the performance, the voltage scaling shall be changed before increasing the system frequency. When decreasing performance, the system frequency shall first be decreased before changing the voltage scaling. - VOS: packed union { - raw: u2, - value: VOS, - }, + /// Voltage scaling selection according to performance These bits control the VCORE voltage level and allow to obtains the best trade-off between power consumption and performance: When increasing the performance, the voltage scaling shall be changed before increasing the system frequency. When decreasing performance, the system frequency shall first be decreased before changing the voltage scaling. + VOS: VOS, padding: u16, }), reserved32: [4]u8, - /// reset only by system reset, not reset by wakeup from Standby mode5 wait states are required when writing this register (when clearing a WKUPF bit in PWR_WKUPFR, the AHB write access will complete after the WKUPF has been cleared). + /// reset only by system reset, not reset by wakeup from Standby mode5 wait states are required when writing this register (when clearing a WKUPF bit in PWR_WKUPFR, the AHB write access will complete after the WKUPF has been cleared). WKUPCR: mmio.Mmio(packed struct(u32) { - /// Clear Wakeup pin flag for WKUP. These bits are always read as 0. + /// Clear Wakeup pin flag for WKUP. These bits are always read as 0. WKUPC: u6, padding: u26, }), - /// reset only by system reset, not reset by wakeup from Standby mode + /// reset only by system reset, not reset by wakeup from Standby mode WKUPFR: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUPF flag. This bit is set by hardware and cleared only by a Reset pin or by setting the WKUPCn+1 bit in the PWR wakeup clear register (PWR_WKUPCR). + /// Wakeup pin WKUPF flag. This bit is set by hardware and cleared only by a Reset pin or by setting the WKUPCn+1 bit in the PWR wakeup clear register (PWR_WKUPCR). WKUPF: u1, padding: u31, }), - /// Reset only by system reset, not reset by wakeup from Standby mode + /// Reset only by system reset, not reset by wakeup from Standby mode WKUPEPR: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup Pin WKUPn+1 Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn+1 bit) when WKUPn+1 pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn+1 selects falling edge. + /// Enable Wakeup Pin WKUPn+1 Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn+1 bit) when WKUPn+1 pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn+1 selects falling edge. WKUPEN: u1, reserved8: u7, - /// Wakeup pin polarity bit for WKUPn-7 These bits define the polarity used for event detection on WKUPn-7 external wakeup pin. + /// Wakeup pin polarity bit for WKUPn-7 These bits define the polarity used for event detection on WKUPn-7 external wakeup pin. WKUPP: u1, reserved16: u7, - /// Wakeup pin pull configuration - WKUPPUPD: packed union { - raw: u2, - value: WKUPPUPD, - }, + /// Wakeup pin pull configuration + WKUPPUPD: WKUPPUPD, padding: u14, }), }; @@ -360130,169 +355978,160 @@ pub const types = struct { }; pub const WKUPPUPD = enum(u2) { - /// No pull-up. + /// No pull-up. NoPull = 0x0, - /// Pull-up. + /// Pull-up. PullUp = 0x1, - /// Pull-down. + /// Pull-down. PullDown = 0x2, _, }; - /// PWR + /// PWR pub const PWR = extern struct { - /// PWR control register 1 + /// PWR control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Low-power Deepsleep with SVOS3 (SVOS4 and SVOS5 always use low-power, regardless of the setting of this bit) + /// Low-power Deepsleep with SVOS3 (SVOS4 and SVOS5 always use low-power, regardless of the setting of this bit) LPDS: u1, reserved4: u3, - /// Programmable voltage detector enable + /// Programmable voltage detector enable PVDE: u1, - /// Programmable voltage detector level selection These bits select the voltage threshold detected by the PVD. Note: Refer to Section Electrical characteristics of the product datasheet for more details. + /// Programmable voltage detector level selection These bits select the voltage threshold detected by the PVD. Note: Refer to Section Electrical characteristics of the product datasheet for more details. PLS: u3, - /// Disable backup domain write protection In reset state, the RCC_BDCR register, the RTC registers (including the backup registers), BREN and MOEN bits in PWR_CR2 register, are protected against parasitic write access. This bit must be set to enable write access to these registers. + /// Disable backup domain write protection In reset state, the RCC_BDCR register, the RTC registers (including the backup registers), BREN and MOEN bits in PWR_CR2 register, are protected against parasitic write access. This bit must be set to enable write access to these registers. DBP: u1, - /// Flash low-power mode in DStop mode This bit allows to obtain the best trade-off between low-power consumption and restart time when exiting from DStop mode. When it is set, the Flash memory enters low-power mode when D1 domain is in DStop mode. + /// Flash low-power mode in DStop mode This bit allows to obtain the best trade-off between low-power consumption and restart time when exiting from DStop mode. When it is set, the Flash memory enters low-power mode when D1 domain is in DStop mode. FLPS: u1, reserved14: u4, - /// System Stop mode voltage scaling selection These bits control the VCORE voltage level in system Stop mode, to obtain the best trade-off between power consumption and performance. + /// System Stop mode voltage scaling selection These bits control the VCORE voltage level in system Stop mode, to obtain the best trade-off between power consumption and performance. SVOS: u2, - /// Peripheral voltage monitor on VDDA enable + /// Peripheral voltage monitor on VDDA enable AVDEN: u1, - /// Analog voltage detector level selection These bits select the voltage threshold detected by the AVD. + /// Analog voltage detector level selection These bits select the voltage threshold detected by the AVD. ALS: u2, padding: u13, }), - /// PWR control status register 1 + /// PWR control status register 1 CSR1: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Programmable voltage detect output This bit is set and cleared by hardware. It is valid only if the PVD has been enabled by the PVDE bit. Note: since the PVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the PVDE bit is set. + /// Programmable voltage detect output This bit is set and cleared by hardware. It is valid only if the PVD has been enabled by the PVDE bit. Note: since the PVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the PVDE bit is set. PVDO: u1, reserved13: u8, - /// Voltage levels ready bit for currently used VOS and SDLEVEL This bit is set to 1 by hardware when the voltage regulator and the SD converter are both disabled and Bypass mode is selected in PWR control register 3 (PWR_CR3). + /// Voltage levels ready bit for currently used VOS and SDLEVEL This bit is set to 1 by hardware when the voltage regulator and the SD converter are both disabled and Bypass mode is selected in PWR control register 3 (PWR_CR3). ACTVOSRDY: u1, - /// VOS currently applied for VCORE voltage scaling selection. These bits reflect the last VOS value applied to the PMU. + /// VOS currently applied for VCORE voltage scaling selection. These bits reflect the last VOS value applied to the PMU. ACTVOS: u2, - /// Analog voltage detector output on VDDA This bit is set and cleared by hardware. It is valid only if AVD on VDDA is enabled by the AVDEN bit. Note: Since the AVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the AVDEN bit is set. + /// Analog voltage detector output on VDDA This bit is set and cleared by hardware. It is valid only if AVD on VDDA is enabled by the AVDEN bit. Note: Since the AVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the AVDEN bit is set. AVDO: u1, padding: u15, }), - /// This register is not reset by wakeup from Standby mode, RESET signal and VDD POR. It is only reset by VSW POR and VSWRST reset. This register shall not be accessed when VSWRST bit in RCC_BDCR register resets the VSW domain.After reset, PWR_CR2 register is write-protected. Prior to modifying its content, the DBP bit in PWR_CR1 register must be set to disable the write protection. + /// This register is not reset by wakeup from Standby mode, RESET signal and VDD POR. It is only reset by VSW POR and VSWRST reset. This register shall not be accessed when VSWRST bit in RCC_BDCR register resets the VSW domain.After reset, PWR_CR2 register is write-protected. Prior to modifying its content, the DBP bit in PWR_CR1 register must be set to disable the write protection. CR2: mmio.Mmio(packed struct(u32) { - /// Backup regulator enable When set, the Backup regulator (used to maintain the backup RAM content in Standby and VBAT modes) is enabled. If BREN is reset, the backup regulator is switched off. The backup RAM can still be used in Run and Stop modes. However, its content will be lost in Standby and VBAT modes. If BREN is set, the application must wait till the Backup Regulator Ready flag (BRRDY) is set to indicate that the data written into the SRAM will be maintained in Standby and VBAT modes. + /// Backup regulator enable When set, the Backup regulator (used to maintain the backup RAM content in Standby and VBAT modes) is enabled. If BREN is reset, the backup regulator is switched off. The backup RAM can still be used in Run and Stop modes. However, its content will be lost in Standby and VBAT modes. If BREN is set, the application must wait till the Backup Regulator Ready flag (BRRDY) is set to indicate that the data written into the SRAM will be maintained in Standby and VBAT modes. BREN: u1, reserved4: u3, - /// VBAT and temperature monitoring enable When set, the VBAT supply and temperature monitoring is enabled. + /// VBAT and temperature monitoring enable When set, the VBAT supply and temperature monitoring is enabled. MONEN: u1, reserved16: u11, - /// Backup regulator ready This bit is set by hardware to indicate that the Backup regulator is ready. + /// Backup regulator ready This bit is set by hardware to indicate that the Backup regulator is ready. BRRDY: u1, reserved20: u3, - /// VBAT level monitoring versus low threshold + /// VBAT level monitoring versus low threshold VBATL: u1, - /// VBAT level monitoring versus high threshold + /// VBAT level monitoring versus high threshold VBATH: u1, - /// Temperature level monitoring versus low threshold + /// Temperature level monitoring versus low threshold TEMPL: u1, - /// Temperature level monitoring versus high threshold + /// Temperature level monitoring versus high threshold TEMPH: u1, padding: u8, }), - /// Reset only by POR only, not reset by wakeup from Standby mode and RESET pad. The lower byte of this register is written once after POR and shall be written before changing VOS level or ck_sys clock frequency. No limitation applies to the upper bytes.Programming data corresponding to an invalid combination of SDLEVEL, SDEXTHP, SDEN, LDOEN and BYPASS bits (see Table9) will be ignored: data will not be written, the written-once mechanism will lock the register and any further write access will be ignored. The default supply configuration will be kept and the ACTVOSRDY bit in PWR control status register 1 (PWR_CSR1) will go on indicating invalid voltage levels. The system shall be power cycled before writing a new value. + /// Reset only by POR only, not reset by wakeup from Standby mode and RESET pad. The lower byte of this register is written once after POR and shall be written before changing VOS level or ck_sys clock frequency. No limitation applies to the upper bytes.Programming data corresponding to an invalid combination of SDLEVEL, SDEXTHP, SDEN, LDOEN and BYPASS bits (see Table9) will be ignored: data will not be written, the written-once mechanism will lock the register and any further write access will be ignored. The default supply configuration will be kept and the ACTVOSRDY bit in PWR control status register 1 (PWR_CSR1) will go on indicating invalid voltage levels. The system shall be power cycled before writing a new value. CR3: mmio.Mmio(packed struct(u32) { - /// Power management unit bypass + /// Power management unit bypass BYPASS: u1, - /// Low drop-out regulator enable + /// Low drop-out regulator enable LDOEN: u1, - /// SD converter Enable + /// SD converter Enable SDEN: u1, - /// Step-down converter forced ON and in High Power MR mode + /// Step-down converter forced ON and in High Power MR mode SDEXTHP: u1, - /// Step-down converter voltage output level selection - SDLEVEL: packed union { - raw: u2, - value: SDLEVEL, - }, + /// Step-down converter voltage output level selection + SDLEVEL: SDLEVEL, reserved8: u2, - /// VBAT charging enable + /// VBAT charging enable VBE: u1, - /// VBAT charging resistor selection + /// VBAT charging resistor selection VBRS: u1, reserved16: u6, - /// SMPS step-down converter external supply ready + /// SMPS step-down converter external supply ready SDEXTRDY: u1, reserved24: u7, - /// VDD33USB voltage level detector enable. + /// VDD33USB voltage level detector enable. USB33DEN: u1, - /// USB regulator enable. + /// USB regulator enable. USBREGEN: u1, - /// USB supply ready. + /// USB supply ready. USB33RDY: u1, padding: u5, }), - /// This register allows controlling CPU1 power. + /// This register allows controlling CPU1 power. CPUCR: mmio.Mmio(packed struct(u32) { - /// D1 domain Power Down Deepsleep selection. This bit allows CPU1 to define the Deepsleep mode for D1 domain. + /// D1 domain Power Down Deepsleep selection. This bit allows CPU1 to define the Deepsleep mode for D1 domain. PDDS_D1: u1, - /// D2 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for D2 domain. + /// D2 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for D2 domain. PDDS_D2: u1, - /// System D3 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for System D3 domain. + /// System D3 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for System D3 domain. PDDS_D3: u1, reserved5: u2, - /// STOP flag This bit is set by hardware and cleared only by any reset or by setting the CPU1 CSSF bit. + /// STOP flag This bit is set by hardware and cleared only by any reset or by setting the CPU1 CSSF bit. STOPF: u1, - /// System Standby flag This bit is set by hardware and cleared only by a POR (Power-on Reset) or by setting the CPU1 CSSF bit + /// System Standby flag This bit is set by hardware and cleared only by a POR (Power-on Reset) or by setting the CPU1 CSSF bit SBF: u1, - /// D1 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D1 domain is no longer in DStandby mode. + /// D1 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D1 domain is no longer in DStandby mode. SBF_D1: u1, - /// D2 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D2 domain is no longer in DStandby mode. + /// D2 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D2 domain is no longer in DStandby mode. SBF_D2: u1, - /// Clear D1 domain CPU1 Standby, Stop and HOLD flags (always read as 0) This bit is cleared to 0 by hardware. + /// Clear D1 domain CPU1 Standby, Stop and HOLD flags (always read as 0) This bit is cleared to 0 by hardware. CSSF: u1, reserved11: u1, - /// Keep system D3 domain in Run mode regardless of the CPU sub-systems modes + /// Keep system D3 domain in Run mode regardless of the CPU sub-systems modes RUN_D3: u1, padding: u20, }), reserved24: [4]u8, - /// This register allows controlling D3 domain power.Following reset VOSRDY will be read 1 by software + /// This register allows controlling D3 domain power.Following reset VOSRDY will be read 1 by software D3CR: mmio.Mmio(packed struct(u32) { reserved13: u13, - /// VOS Ready bit for VCORE voltage scaling output selection. This bit is set to 1 by hardware when Bypass mode is selected in PWR control register 3 (PWR_CR3). + /// VOS Ready bit for VCORE voltage scaling output selection. This bit is set to 1 by hardware when Bypass mode is selected in PWR control register 3 (PWR_CR3). VOSRDY: u1, - /// Voltage scaling selection according to performance These bits control the VCORE voltage level and allow to obtains the best trade-off between power consumption and performance: When increasing the performance, the voltage scaling shall be changed before increasing the system frequency. When decreasing performance, the system frequency shall first be decreased before changing the voltage scaling. - VOS: packed union { - raw: u2, - value: VOS, - }, + /// Voltage scaling selection according to performance These bits control the VCORE voltage level and allow to obtains the best trade-off between power consumption and performance: When increasing the performance, the voltage scaling shall be changed before increasing the system frequency. When decreasing performance, the system frequency shall first be decreased before changing the voltage scaling. + VOS: VOS, padding: u16, }), reserved32: [4]u8, - /// reset only by system reset, not reset by wakeup from Standby mode5 wait states are required when writing this register (when clearing a WKUPF bit in PWR_WKUPFR, the AHB write access will complete after the WKUPF has been cleared). + /// reset only by system reset, not reset by wakeup from Standby mode5 wait states are required when writing this register (when clearing a WKUPF bit in PWR_WKUPFR, the AHB write access will complete after the WKUPF has been cleared). WKUPCR: mmio.Mmio(packed struct(u32) { - /// Clear Wakeup pin flag for WKUP. These bits are always read as 0. + /// Clear Wakeup pin flag for WKUP. These bits are always read as 0. WKUPC: u6, padding: u26, }), - /// reset only by system reset, not reset by wakeup from Standby mode + /// reset only by system reset, not reset by wakeup from Standby mode WKUPFR: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUPF flag. This bit is set by hardware and cleared only by a Reset pin or by setting the WKUPCn+1 bit in the PWR wakeup clear register (PWR_WKUPCR). + /// Wakeup pin WKUPF flag. This bit is set by hardware and cleared only by a Reset pin or by setting the WKUPCn+1 bit in the PWR wakeup clear register (PWR_WKUPCR). WKUPF: u1, padding: u31, }), - /// Reset only by system reset, not reset by wakeup from Standby mode + /// Reset only by system reset, not reset by wakeup from Standby mode WKUPEPR: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup Pin WKUPn+1 Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn+1 bit) when WKUPn+1 pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn+1 selects falling edge. + /// Enable Wakeup Pin WKUPn+1 Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn+1 bit) when WKUPn+1 pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn+1 selects falling edge. WKUPEN: u1, reserved8: u7, - /// Wakeup pin polarity bit for WKUPn-7 These bits define the polarity used for event detection on WKUPn-7 external wakeup pin. + /// Wakeup pin polarity bit for WKUPn-7 These bits define the polarity used for event detection on WKUPn-7 external wakeup pin. WKUPP: u1, reserved16: u7, - /// Wakeup pin pull configuration - WKUPPUPD: packed union { - raw: u2, - value: WKUPPUPD, - }, + /// Wakeup pin pull configuration + WKUPPUPD: WKUPPUPD, padding: u14, }), }; @@ -360314,169 +356153,160 @@ pub const types = struct { }; pub const WKUPPUPD = enum(u2) { - /// No pull-up. + /// No pull-up. NoPull = 0x0, - /// Pull-up. + /// Pull-up. PullUp = 0x1, - /// Pull-down. + /// Pull-down. PullDown = 0x2, _, }; - /// PWR + /// PWR pub const PWR = extern struct { - /// PWR control register 1 + /// PWR control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Low-power Deepsleep with SVOS3 (SVOS4 and SVOS5 always use low-power, regardless of the setting of this bit) + /// Low-power Deepsleep with SVOS3 (SVOS4 and SVOS5 always use low-power, regardless of the setting of this bit) LPDS: u1, reserved4: u3, - /// Programmable voltage detector enable + /// Programmable voltage detector enable PVDE: u1, - /// Programmable voltage detector level selection These bits select the voltage threshold detected by the PVD. Note: Refer to Section Electrical characteristics of the product datasheet for more details. + /// Programmable voltage detector level selection These bits select the voltage threshold detected by the PVD. Note: Refer to Section Electrical characteristics of the product datasheet for more details. PLS: u3, - /// Disable backup domain write protection In reset state, the RCC_BDCR register, the RTC registers (including the backup registers), BREN and MOEN bits in PWR_CR2 register, are protected against parasitic write access. This bit must be set to enable write access to these registers. + /// Disable backup domain write protection In reset state, the RCC_BDCR register, the RTC registers (including the backup registers), BREN and MOEN bits in PWR_CR2 register, are protected against parasitic write access. This bit must be set to enable write access to these registers. DBP: u1, - /// Flash low-power mode in DStop mode This bit allows to obtain the best trade-off between low-power consumption and restart time when exiting from DStop mode. When it is set, the Flash memory enters low-power mode when D1 domain is in DStop mode. + /// Flash low-power mode in DStop mode This bit allows to obtain the best trade-off between low-power consumption and restart time when exiting from DStop mode. When it is set, the Flash memory enters low-power mode when D1 domain is in DStop mode. FLPS: u1, reserved14: u4, - /// System Stop mode voltage scaling selection These bits control the VCORE voltage level in system Stop mode, to obtain the best trade-off between power consumption and performance. + /// System Stop mode voltage scaling selection These bits control the VCORE voltage level in system Stop mode, to obtain the best trade-off between power consumption and performance. SVOS: u2, - /// Peripheral voltage monitor on VDDA enable + /// Peripheral voltage monitor on VDDA enable AVDEN: u1, - /// Analog voltage detector level selection These bits select the voltage threshold detected by the AVD. + /// Analog voltage detector level selection These bits select the voltage threshold detected by the AVD. ALS: u2, padding: u13, }), - /// PWR control status register 1 + /// PWR control status register 1 CSR1: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Programmable voltage detect output This bit is set and cleared by hardware. It is valid only if the PVD has been enabled by the PVDE bit. Note: since the PVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the PVDE bit is set. + /// Programmable voltage detect output This bit is set and cleared by hardware. It is valid only if the PVD has been enabled by the PVDE bit. Note: since the PVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the PVDE bit is set. PVDO: u1, reserved13: u8, - /// Voltage levels ready bit for currently used VOS and SDLEVEL This bit is set to 1 by hardware when the voltage regulator and the SD converter are both disabled and Bypass mode is selected in PWR control register 3 (PWR_CR3). + /// Voltage levels ready bit for currently used VOS and SDLEVEL This bit is set to 1 by hardware when the voltage regulator and the SD converter are both disabled and Bypass mode is selected in PWR control register 3 (PWR_CR3). ACTVOSRDY: u1, - /// VOS currently applied for VCORE voltage scaling selection. These bits reflect the last VOS value applied to the PMU. + /// VOS currently applied for VCORE voltage scaling selection. These bits reflect the last VOS value applied to the PMU. ACTVOS: u2, - /// Analog voltage detector output on VDDA This bit is set and cleared by hardware. It is valid only if AVD on VDDA is enabled by the AVDEN bit. Note: Since the AVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the AVDEN bit is set. + /// Analog voltage detector output on VDDA This bit is set and cleared by hardware. It is valid only if AVD on VDDA is enabled by the AVDEN bit. Note: Since the AVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the AVDEN bit is set. AVDO: u1, padding: u15, }), - /// This register is not reset by wakeup from Standby mode, RESET signal and VDD POR. It is only reset by VSW POR and VSWRST reset. This register shall not be accessed when VSWRST bit in RCC_BDCR register resets the VSW domain.After reset, PWR_CR2 register is write-protected. Prior to modifying its content, the DBP bit in PWR_CR1 register must be set to disable the write protection. + /// This register is not reset by wakeup from Standby mode, RESET signal and VDD POR. It is only reset by VSW POR and VSWRST reset. This register shall not be accessed when VSWRST bit in RCC_BDCR register resets the VSW domain.After reset, PWR_CR2 register is write-protected. Prior to modifying its content, the DBP bit in PWR_CR1 register must be set to disable the write protection. CR2: mmio.Mmio(packed struct(u32) { - /// Backup regulator enable When set, the Backup regulator (used to maintain the backup RAM content in Standby and VBAT modes) is enabled. If BREN is reset, the backup regulator is switched off. The backup RAM can still be used in Run and Stop modes. However, its content will be lost in Standby and VBAT modes. If BREN is set, the application must wait till the Backup Regulator Ready flag (BRRDY) is set to indicate that the data written into the SRAM will be maintained in Standby and VBAT modes. + /// Backup regulator enable When set, the Backup regulator (used to maintain the backup RAM content in Standby and VBAT modes) is enabled. If BREN is reset, the backup regulator is switched off. The backup RAM can still be used in Run and Stop modes. However, its content will be lost in Standby and VBAT modes. If BREN is set, the application must wait till the Backup Regulator Ready flag (BRRDY) is set to indicate that the data written into the SRAM will be maintained in Standby and VBAT modes. BREN: u1, reserved4: u3, - /// VBAT and temperature monitoring enable When set, the VBAT supply and temperature monitoring is enabled. + /// VBAT and temperature monitoring enable When set, the VBAT supply and temperature monitoring is enabled. MONEN: u1, reserved16: u11, - /// Backup regulator ready This bit is set by hardware to indicate that the Backup regulator is ready. + /// Backup regulator ready This bit is set by hardware to indicate that the Backup regulator is ready. BRRDY: u1, reserved20: u3, - /// VBAT level monitoring versus low threshold + /// VBAT level monitoring versus low threshold VBATL: u1, - /// VBAT level monitoring versus high threshold + /// VBAT level monitoring versus high threshold VBATH: u1, - /// Temperature level monitoring versus low threshold + /// Temperature level monitoring versus low threshold TEMPL: u1, - /// Temperature level monitoring versus high threshold + /// Temperature level monitoring versus high threshold TEMPH: u1, padding: u8, }), - /// Reset only by POR only, not reset by wakeup from Standby mode and RESET pad. The lower byte of this register is written once after POR and shall be written before changing VOS level or ck_sys clock frequency. No limitation applies to the upper bytes.Programming data corresponding to an invalid combination of SDLEVEL, SDEXTHP, SDEN, LDOEN and BYPASS bits (see Table9) will be ignored: data will not be written, the written-once mechanism will lock the register and any further write access will be ignored. The default supply configuration will be kept and the ACTVOSRDY bit in PWR control status register 1 (PWR_CSR1) will go on indicating invalid voltage levels. The system shall be power cycled before writing a new value. + /// Reset only by POR only, not reset by wakeup from Standby mode and RESET pad. The lower byte of this register is written once after POR and shall be written before changing VOS level or ck_sys clock frequency. No limitation applies to the upper bytes.Programming data corresponding to an invalid combination of SDLEVEL, SDEXTHP, SDEN, LDOEN and BYPASS bits (see Table9) will be ignored: data will not be written, the written-once mechanism will lock the register and any further write access will be ignored. The default supply configuration will be kept and the ACTVOSRDY bit in PWR control status register 1 (PWR_CSR1) will go on indicating invalid voltage levels. The system shall be power cycled before writing a new value. CR3: mmio.Mmio(packed struct(u32) { - /// Power management unit bypass + /// Power management unit bypass BYPASS: u1, - /// Low drop-out regulator enable + /// Low drop-out regulator enable LDOEN: u1, - /// SD converter Enable + /// SD converter Enable SDEN: u1, - /// Step-down converter forced ON and in High Power MR mode + /// Step-down converter forced ON and in High Power MR mode SDEXTHP: u1, - /// Step-down converter voltage output level selection - SDLEVEL: packed union { - raw: u2, - value: SDLEVEL, - }, + /// Step-down converter voltage output level selection + SDLEVEL: SDLEVEL, reserved8: u2, - /// VBAT charging enable + /// VBAT charging enable VBE: u1, - /// VBAT charging resistor selection + /// VBAT charging resistor selection VBRS: u1, reserved16: u6, - /// SMPS step-down converter external supply ready + /// SMPS step-down converter external supply ready SDEXTRDY: u1, reserved24: u7, - /// VDD33USB voltage level detector enable. + /// VDD33USB voltage level detector enable. USB33DEN: u1, - /// USB regulator enable. + /// USB regulator enable. USBREGEN: u1, - /// USB supply ready. + /// USB supply ready. USB33RDY: u1, padding: u5, }), - /// This register allows controlling CPU1 power. + /// This register allows controlling CPU1 power. CPUCR: mmio.Mmio(packed struct(u32) { - /// D1 domain Power Down Deepsleep selection. This bit allows CPU1 to define the Deepsleep mode for D1 domain. + /// D1 domain Power Down Deepsleep selection. This bit allows CPU1 to define the Deepsleep mode for D1 domain. PDDS_D1: u1, - /// D2 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for D2 domain. + /// D2 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for D2 domain. PDDS_D2: u1, - /// System D3 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for System D3 domain. + /// System D3 domain Power Down Deepsleep. This bit allows CPU1 to define the Deepsleep mode for System D3 domain. PDDS_D3: u1, reserved5: u2, - /// STOP flag This bit is set by hardware and cleared only by any reset or by setting the CPU1 CSSF bit. + /// STOP flag This bit is set by hardware and cleared only by any reset or by setting the CPU1 CSSF bit. STOPF: u1, - /// System Standby flag This bit is set by hardware and cleared only by a POR (Power-on Reset) or by setting the CPU1 CSSF bit + /// System Standby flag This bit is set by hardware and cleared only by a POR (Power-on Reset) or by setting the CPU1 CSSF bit SBF: u1, - /// D1 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D1 domain is no longer in DStandby mode. + /// D1 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D1 domain is no longer in DStandby mode. SBF_D1: u1, - /// D2 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D2 domain is no longer in DStandby mode. + /// D2 domain DStandby flag This bit is set by hardware and cleared by any system reset or by setting the CPU1 CSSF bit. Once set, this bit can be cleared only when the D2 domain is no longer in DStandby mode. SBF_D2: u1, - /// Clear D1 domain CPU1 Standby, Stop and HOLD flags (always read as 0) This bit is cleared to 0 by hardware. + /// Clear D1 domain CPU1 Standby, Stop and HOLD flags (always read as 0) This bit is cleared to 0 by hardware. CSSF: u1, reserved11: u1, - /// Keep system D3 domain in Run mode regardless of the CPU sub-systems modes + /// Keep system D3 domain in Run mode regardless of the CPU sub-systems modes RUN_D3: u1, padding: u20, }), reserved24: [4]u8, - /// This register allows controlling D3 domain power.Following reset VOSRDY will be read 1 by software + /// This register allows controlling D3 domain power.Following reset VOSRDY will be read 1 by software D3CR: mmio.Mmio(packed struct(u32) { reserved13: u13, - /// VOS Ready bit for VCORE voltage scaling output selection. This bit is set to 1 by hardware when Bypass mode is selected in PWR control register 3 (PWR_CR3). + /// VOS Ready bit for VCORE voltage scaling output selection. This bit is set to 1 by hardware when Bypass mode is selected in PWR control register 3 (PWR_CR3). VOSRDY: u1, - /// Voltage scaling selection according to performance These bits control the VCORE voltage level and allow to obtains the best trade-off between power consumption and performance: When increasing the performance, the voltage scaling shall be changed before increasing the system frequency. When decreasing performance, the system frequency shall first be decreased before changing the voltage scaling. - VOS: packed union { - raw: u2, - value: VOS, - }, + /// Voltage scaling selection according to performance These bits control the VCORE voltage level and allow to obtains the best trade-off between power consumption and performance: When increasing the performance, the voltage scaling shall be changed before increasing the system frequency. When decreasing performance, the system frequency shall first be decreased before changing the voltage scaling. + VOS: VOS, padding: u16, }), reserved32: [4]u8, - /// reset only by system reset, not reset by wakeup from Standby mode5 wait states are required when writing this register (when clearing a WKUPF bit in PWR_WKUPFR, the AHB write access will complete after the WKUPF has been cleared). + /// reset only by system reset, not reset by wakeup from Standby mode5 wait states are required when writing this register (when clearing a WKUPF bit in PWR_WKUPFR, the AHB write access will complete after the WKUPF has been cleared). WKUPCR: mmio.Mmio(packed struct(u32) { - /// Clear Wakeup pin flag for WKUP. These bits are always read as 0. + /// Clear Wakeup pin flag for WKUP. These bits are always read as 0. WKUPC: u6, padding: u26, }), - /// reset only by system reset, not reset by wakeup from Standby mode + /// reset only by system reset, not reset by wakeup from Standby mode WKUPFR: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUPF flag. This bit is set by hardware and cleared only by a Reset pin or by setting the WKUPCn+1 bit in the PWR wakeup clear register (PWR_WKUPCR). + /// Wakeup pin WKUPF flag. This bit is set by hardware and cleared only by a Reset pin or by setting the WKUPCn+1 bit in the PWR wakeup clear register (PWR_WKUPCR). WKUPF: u1, padding: u31, }), - /// Reset only by system reset, not reset by wakeup from Standby mode + /// Reset only by system reset, not reset by wakeup from Standby mode WKUPEPR: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup Pin WKUPn+1 Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn+1 bit) when WKUPn+1 pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn+1 selects falling edge. + /// Enable Wakeup Pin WKUPn+1 Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn+1 bit) when WKUPn+1 pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn+1 selects falling edge. WKUPEN: u1, reserved8: u7, - /// Wakeup pin polarity bit for WKUPn-7 These bits define the polarity used for event detection on WKUPn-7 external wakeup pin. + /// Wakeup pin polarity bit for WKUPn-7 These bits define the polarity used for event detection on WKUPn-7 external wakeup pin. WKUPP: u1, reserved16: u7, - /// Wakeup pin pull configuration - WKUPPUPD: packed union { - raw: u2, - value: WKUPPUPD, - }, + /// Wakeup pin pull configuration + WKUPPUPD: WKUPPUPD, padding: u14, }), }; @@ -360484,60 +356314,60 @@ pub const types = struct { pub const pwr_h7rs = struct { pub const ALS = enum(u2) { - /// AVD level 1. + /// AVD level 1. Level1 = 0x0, - /// AVD level 2. + /// AVD level 2. Level2 = 0x1, - /// AVD level 3. + /// AVD level 3. Level3 = 0x2, - /// AVD level 4. + /// AVD level 4. Level4 = 0x3, }; pub const AVDO = enum(u1) { - /// VDDA is equal or higher than the AVD threshold selected with the ALS[1:0] bits. + /// VDDA is equal or higher than the AVD threshold selected with the ALS[1:0] bits. AboveOrEqual = 0x0, - /// VDDA is lower than the AVD threshold selected with the ALS[1:0] bits. + /// VDDA is lower than the AVD threshold selected with the ALS[1:0] bits. Below = 0x1, }; pub const PDDS = enum(u1) { - /// Stop mode when device enters Deepsleep. + /// Stop mode when device enters Deepsleep. Stop = 0x0, - /// Standby mode when device enters Deepsleep. + /// Standby mode when device enters Deepsleep. Standby = 0x1, }; pub const PLS = enum(u3) { - /// PVD level 1. + /// PVD level 1. Level1 = 0x0, - /// PVD level 2. + /// PVD level 2. Level2 = 0x1, - /// PVD level 3. + /// PVD level 3. Level3 = 0x2, - /// PVD level 4. + /// PVD level 4. Level4 = 0x3, - /// PVD level 5. + /// PVD level 5. Level5 = 0x4, - /// PVD level 6. + /// PVD level 6. Level6 = 0x5, - /// PVD level 7. + /// PVD level 7. Level7 = 0x6, - /// External voltage level on PVD_IN pin, compared to internal VREFINT level. + /// External voltage level on PVD_IN pin, compared to internal VREFINT level. External = 0x7, }; pub const PVDO = enum(u1) { - /// VDD or PVD_IN voltage is equal or higher than the PVD threshold selected through the. + /// VDD or PVD_IN voltage is equal or higher than the PVD threshold selected through the. AboveOrEqual = 0x0, - /// VDD or PVD_IN voltage is lower than the PVD threshold selected through the PLS[2:0]. + /// VDD or PVD_IN voltage is lower than the PVD threshold selected through the PLS[2:0]. Below = 0x1, }; pub const RLPSN = enum(u1) { - /// RAM enters to low power mode when system enters to STOP. + /// RAM enters to low power mode when system enters to STOP. LowPower = 0x0, - /// RAM remains in normal mode when system enters to STOP. + /// RAM remains in normal mode when system enters to STOP. Normal = 0x1, }; @@ -360547,372 +356377,324 @@ pub const types = struct { }; pub const SVOS = enum(u1) { - /// SVOS Low. + /// SVOS Low. Low = 0x0, - /// SVOS High (default). + /// SVOS High (default). High = 0x1, }; pub const SYNC_ADC = enum(u1) { - /// SD_Converter clock free running. + /// SD_Converter clock free running. FreeRunning = 0x0, - /// SD_Converter clock synchronised to ADC. + /// SD_Converter clock synchronised to ADC. Synchronized = 0x1, }; pub const UNLOCKED = enum(u1) { - /// accessed locked: key was not written and after each register write access. + /// accessed locked: key was not written and after each register write access. Locked = 0x0, - /// after key 0xCAFECAFE was written in this register. + /// after key 0xCAFECAFE was written in this register. Unlocked = 0x1, }; pub const VBRS = enum(u1) { - /// Charge VBAT through a 5 k resistor. + /// Charge VBAT through a 5 k resistor. Ohm5k = 0x0, - /// Charge VBAT through a 1.5 k resistor. + /// Charge VBAT through a 1.5 k resistor. Ohm1_5k = 0x1, }; pub const VOS = enum(u1) { - /// VOS Low level (default). + /// VOS Low level (default). Low = 0x0, - /// VOS High level. + /// VOS High level. High = 0x1, }; pub const WKUPP = enum(u1) { - /// Detection on high level (rising edge). + /// Detection on high level (rising edge). High = 0x0, - /// Detection on low level (falling edge). + /// Detection on low level (falling edge). Low = 0x1, }; pub const WKUPPUPD = enum(u2) { - /// No pull-up. + /// No pull-up. NoPull = 0x0, - /// Pull-up. + /// Pull-up. PullUp = 0x1, - /// Pull-down. + /// Pull-down. PullDown = 0x2, _, }; pub const XSPICAP = enum(u2) { - /// XSPI Capacitor OFF (default) note: to confirm with analog design. + /// XSPI Capacitor OFF (default) note: to confirm with analog design. Disabled = 0x0, - /// XSPI Capacitor set to 1/3. + /// XSPI Capacitor set to 1/3. OneThird = 0x1, - /// XSPI Capacitor set to 2/3. + /// XSPI Capacitor set to 2/3. TwoThirds = 0x2, - /// XSPI Capacitor set to full capacitance. + /// XSPI Capacitor set to full capacitance. Full = 0x3, }; - /// Power control. + /// Power control. pub const PWR = extern struct { - /// PWR control register 1. + /// PWR control register 1. CR1: mmio.Mmio(packed struct(u32) { - /// System Stop mode voltage scaling selection. - SVOS: packed union { - raw: u1, - value: SVOS, - }, + /// System Stop mode voltage scaling selection. + SVOS: SVOS, reserved4: u3, - /// Programmable voltage detector enable. + /// Programmable voltage detector enable. PVDE: u1, - /// Programmable voltage detector level selection These bits select the voltage threshold detected by the PVD. Note: Refer to Section Electrical characteristics of the product datasheet for more details. - PLS: packed union { - raw: u3, - value: PLS, - }, - /// Disable backup domain write protection In reset state, the RCC_BDCR register, the RTC registers (including the backup registers), BREN and MOEN bits in the PWR_CSR1 register, are protected against parasitic write access. This bit must be set to enable write access to these registers. + /// Programmable voltage detector level selection These bits select the voltage threshold detected by the PVD. Note: Refer to Section Electrical characteristics of the product datasheet for more details. + PLS: PLS, + /// Disable backup domain write protection In reset state, the RCC_BDCR register, the RTC registers (including the backup registers), BREN and MOEN bits in the PWR_CSR1 register, are protected against parasitic write access. This bit must be set to enable write access to these registers. DBP: u1, - /// Flash low-power mode in Stop mode This bit allows to obtain the best trade-off between low-power consumption and restart time when exiting from Stop mode. When it is set, the Flash memory enters low-power mode when device is in Stop mode. consumption). + /// Flash low-power mode in Stop mode This bit allows to obtain the best trade-off between low-power consumption and restart time when exiting from Stop mode. When it is set, the Flash memory enters low-power mode when device is in Stop mode. consumption). FLPS: u1, - /// RAM low power mode disable in STOP. When set the RAMs will not enter to low power mode when the system enters to STOP. - RLPSN: packed union { - raw: u1, - value: RLPSN, - }, - /// analog switch VBoost control This bit enables the booster to guarantee the analog switch AC performance when the VDD supply voltage is below 2.7 V (reduction of the total harmonic distortion to have the same switch performance over the full supply voltage range) The VDD supply voltage can be monitored through the PVD and the PLS bits. + /// RAM low power mode disable in STOP. When set the RAMs will not enter to low power mode when the system enters to STOP. + RLPSN: RLPSN, + /// analog switch VBoost control This bit enables the booster to guarantee the analog switch AC performance when the VDD supply voltage is below 2.7 V (reduction of the total harmonic distortion to have the same switch performance over the full supply voltage range) The VDD supply voltage can be monitored through the PVD and the PLS bits. BOOSTE: u1, - /// analog voltage ready This bit is only used when the analog switch boost needs to be enabled (see BOOSTE bit). It must be set by software when the expected VDDA analog supply level is available. The correct analog supply level is indicated by the AVDO bit (PWR_CSR1 register) after setting the AVDEN bit and selecting the supply level to be monitored (ALS bits). + /// analog voltage ready This bit is only used when the analog switch boost needs to be enabled (see BOOSTE bit). It must be set by software when the expected VDDA analog supply level is available. The correct analog supply level is indicated by the AVDO bit (PWR_CSR1 register) after setting the AVDEN bit and selecting the supply level to be monitored (ALS bits). AVDREADY: u1, - /// Peripheral voltage monitor on VDDA enable. + /// Peripheral voltage monitor on VDDA enable. AVDEN: u1, - /// Analog voltage detector level selection These bits select the voltage threshold detected by the AVD. Note: Refer to Section Electrical characteristics of the product datasheet for more details. - ALS: packed union { - raw: u2, - value: ALS, - }, + /// Analog voltage detector level selection These bits select the voltage threshold detected by the AVD. Note: Refer to Section Electrical characteristics of the product datasheet for more details. + ALS: ALS, padding: u16, }), - /// PWR control status register 1. + /// PWR control status register 1. SR1: mmio.Mmio(packed struct(u32) { - /// VOS currently applied for VCORE voltage scaling selection. These bit reflect the last VOS value applied to the PMU. + /// VOS currently applied for VCORE voltage scaling selection. These bit reflect the last VOS value applied to the PMU. ACTVOS: u1, - /// Voltage levels ready bit for currently used ACTVOS and SDHILEVEL This bit is set to 1 by hardware when the voltage regulator and the SMPS step-down converter are both disabled and Bypass mode is selected in PWR control register 2 (PWR_CSR2). + /// Voltage levels ready bit for currently used ACTVOS and SDHILEVEL This bit is set to 1 by hardware when the voltage regulator and the SMPS step-down converter are both disabled and Bypass mode is selected in PWR control register 2 (PWR_CSR2). ACTVOSRDY: u1, reserved4: u2, - /// Programmable voltage detect output This bit is set and cleared by hardware. It is valid only if the PVD has been enabled by the PVDE bit. PLS[2:0] bits. bits. Note: Since the PVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the PVDE bit is set. - PVDO: packed union { - raw: u1, - value: PVDO, - }, + /// Programmable voltage detect output This bit is set and cleared by hardware. It is valid only if the PVD has been enabled by the PVDE bit. PLS[2:0] bits. bits. Note: Since the PVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the PVDE bit is set. + PVDO: PVDO, reserved13: u8, - /// Analog voltage detector output on VDDA This bit is set and cleared by hardware. It is valid only if AVD on VDDA is enabled by the AVDEN bit. Note: Since the AVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the AVDEN bit is set. - AVDO: packed union { - raw: u1, - value: AVDO, - }, + /// Analog voltage detector output on VDDA This bit is set and cleared by hardware. It is valid only if AVD on VDDA is enabled by the AVDEN bit. Note: Since the AVD is disabled in Standby mode, this bit is equal to 0 after Standby or reset until the AVDEN bit is set. + AVDO: AVDO, padding: u18, }), - /// PWR control status register 1. + /// PWR control status register 1. CSR1: mmio.Mmio(packed struct(u32) { - /// Backup regulator enable When set, the backup regulator (used to maintain the backup RAM content in Standby and VBAT modes) is enabled. If BREN is reset, the backup regulator is switched off. The backup RAM can still be used in Run and Stop modes. However, its content will be lost in Standby and VBAT modes. If BREN is set, the application must wait till the backup regulator ready flag (BRRDY) is set to indicate that the data written into the SRAM will be maintained in Standby and VBAT modes. + /// Backup regulator enable When set, the backup regulator (used to maintain the backup RAM content in Standby and VBAT modes) is enabled. If BREN is reset, the backup regulator is switched off. The backup RAM can still be used in Run and Stop modes. However, its content will be lost in Standby and VBAT modes. If BREN is set, the application must wait till the backup regulator ready flag (BRRDY) is set to indicate that the data written into the SRAM will be maintained in Standby and VBAT modes. BREN: u1, reserved4: u3, - /// VBAT and temperature monitoring enable When set, the VBAT supply and temperature monitoring is enabled. Note: VBAT and temperature monitoring are only available when the backup regulator is enabled (BREN bit set to 1). + /// VBAT and temperature monitoring enable When set, the VBAT supply and temperature monitoring is enabled. Note: VBAT and temperature monitoring are only available when the backup regulator is enabled (BREN bit set to 1). MONEN: u1, reserved16: u11, - /// Backup regulator ready This bit is set by hardware to indicate that the backup regulator is ready. + /// Backup regulator ready This bit is set by hardware to indicate that the backup regulator is ready. BRRDY: u1, reserved20: u3, - /// VBAT level monitoring versus low threshold. + /// VBAT level monitoring versus low threshold. VBATL: u1, - /// VBAT level monitoring versus high threshold. + /// VBAT level monitoring versus high threshold. VBATH: u1, - /// Temperature level monitoring versus low threshold. + /// Temperature level monitoring versus low threshold. TEMPL: u1, - /// Temperature level monitoring versus high threshold. + /// Temperature level monitoring versus high threshold. TEMPH: u1, padding: u8, }), - /// PWR control register 2. + /// PWR control register 2. CSR2: mmio.Mmio(packed struct(u32) { - /// Power management unit bypass Note: Illegal combinations of SDHILEVEL, SMPSEXTHP, SDEN, LDOEN and BYPASS are described in Table 41. + /// Power management unit bypass Note: Illegal combinations of SDHILEVEL, SMPSEXTHP, SDEN, LDOEN and BYPASS are described in Table 41. BYPASS: u1, - /// Low drop-out regulator enable Note: Illegal combinations of SDHILEVEL, SMPSEXTHP, SDEN, LDOEN and BYPASS are described in Table 41. + /// Low drop-out regulator enable Note: Illegal combinations of SDHILEVEL, SMPSEXTHP, SDEN, LDOEN and BYPASS are described in Table 41. LDOEN: u1, - /// SMPS step-down converter enable Note: Illegal combinations of SDHILEVEL, SMPSEXTHP, SDEN, LDOEN and BYPASS are described in Table 41. + /// SMPS step-down converter enable Note: Illegal combinations of SDHILEVEL, SMPSEXTHP, SDEN, LDOEN and BYPASS are described in Table 41. SDEN: u1, - /// SMPS external power delivery selection Note: Illegal combinations of SDHILEVEL, SMPSEXTHP, SDEN, LDOEN and BYPASS are described in Table 41. + /// SMPS external power delivery selection Note: Illegal combinations of SDHILEVEL, SMPSEXTHP, SDEN, LDOEN and BYPASS are described in Table 41. SDEXTHP: u1, - /// SMPS step-down converter voltage output for LDO or external supply This bit is used when both the LDO and SMPS step-down converter are enabled with SDEN and LDOEN enabled or when SMPSEXTHP is enabled. In this case SDHILEVEL has to be set to 1 to confirm the regulator settings. - SDLEVEL: packed union { - raw: u1, - value: SDLEVEL, - }, + /// SMPS step-down converter voltage output for LDO or external supply This bit is used when both the LDO and SMPS step-down converter are enabled with SDEN and LDOEN enabled or when SMPSEXTHP is enabled. In this case SDHILEVEL has to be set to 1 to confirm the regulator settings. + SDLEVEL: SDLEVEL, reserved8: u3, - /// VBAT charging enable. + /// VBAT charging enable. VBE: u1, - /// VBAT charging resistor selection. - VBRS: packed union { - raw: u1, - value: VBRS, - }, - /// XSPI port 1 capacitor control bits see the product datasheet for more details. - XSPICAP1: packed union { - raw: u2, - value: XSPICAP, - }, - /// XSPI port 2 capacitor control bits see the product datasheet for more details. - XSPICAP2: packed union { - raw: u2, - value: XSPICAP, - }, - /// EN_XSPIM1: this bit allow the SW to enable the XSPI interface. The XSPIM_P1 supply must be stable prior to setting this bit. + /// VBAT charging resistor selection. + VBRS: VBRS, + /// XSPI port 1 capacitor control bits see the product datasheet for more details. + XSPICAP1: XSPICAP, + /// XSPI port 2 capacitor control bits see the product datasheet for more details. + XSPICAP2: XSPICAP, + /// EN_XSPIM1: this bit allow the SW to enable the XSPI interface. The XSPIM_P1 supply must be stable prior to setting this bit. EN_XSPIM1: u1, - /// EN_XSPIM2: this bit allows the SW to enable the XSPI interface, when available. The XSPIM_P2 supply must be stable prior to setting this bit. It should also be set when FMC is used. + /// EN_XSPIM2: this bit allows the SW to enable the XSPI interface, when available. The XSPIM_P2 supply must be stable prior to setting this bit. It should also be set when FMC is used. EN_XSPIM2: u1, - /// SMPS step-down converter external supply ready This bit is set by hardware to indicate that the external supply from the SMPS step-down converter is ready. + /// SMPS step-down converter external supply ready This bit is set by hardware to indicate that the external supply from the SMPS step-down converter is ready. SDEXTRDY: u1, reserved24: u7, - /// VDD33_USB voltage level detector enable. + /// VDD33_USB voltage level detector enable. USB33DEN: u1, - /// USB regulator enable. + /// USB regulator enable. USBREGEN: u1, - /// USB supply ready. + /// USB supply ready. USB33RDY: u1, - /// USB HS regulator enable. + /// USB HS regulator enable. USBHSREGEN: u1, padding: u4, }), - /// PWR CPU control register 3. + /// PWR CPU control register 3. CSR3: mmio.Mmio(packed struct(u32) { - /// Power Down Deepsleep. This bit allows CPU to define the Deepsleep mode. - PDDS: packed union { - raw: u1, - value: PDDS, - }, - /// Clear Standby and Stop flags (always read as 0) This bit is cleared to 0 by hardware. + /// Power Down Deepsleep. This bit allows CPU to define the Deepsleep mode. + PDDS: PDDS, + /// Clear Standby and Stop flags (always read as 0) This bit is cleared to 0 by hardware. CSSF: u1, reserved8: u6, - /// STOP flag This bit is set by hardware and cleared only by any reset or by setting the CPU CSSF bit. + /// STOP flag This bit is set by hardware and cleared only by any reset or by setting the CPU CSSF bit. STOPF: u1, - /// System Standby flag This bit is set by hardware and cleared only by a POR (Power-on Reset) or by setting the CPU CSSF bit. + /// System Standby flag This bit is set by hardware and cleared only by a POR (Power-on Reset) or by setting the CPU CSSF bit. SBF: u1, padding: u22, }), - /// PWR control status register 4. + /// PWR control status register 4. CSR4: mmio.Mmio(packed struct(u32) { - /// Voltage scaling selection according to performance These bits control the VCORE voltage level and allow to obtains the best trade-off between power consumption and performance: When increasing the performance, the voltage scaling must be changed before increasing the system frequency. When decreasing performance, the system frequency must first be decreased before changing the voltage scaling. Note: Refer to Section Electrical characteristics of the product datasheet for more details. - VOS: packed union { - raw: u1, - value: VOS, - }, - /// VOS Ready bit. + /// Voltage scaling selection according to performance These bits control the VCORE voltage level and allow to obtains the best trade-off between power consumption and performance: When increasing the performance, the voltage scaling must be changed before increasing the system frequency. When decreasing performance, the system frequency must first be decreased before changing the voltage scaling. Note: Refer to Section Electrical characteristics of the product datasheet for more details. + VOS: VOS, + /// VOS Ready bit. VOSRDY: u1, padding: u30, }), reserved32: [8]u8, - /// PWR wakeup clear register. + /// PWR wakeup clear register. WKUPCR: mmio.Mmio(packed struct(u32) { - /// Clear Wakeup pin flag for WKUP1 These bits are always read as 0. + /// Clear Wakeup pin flag for WKUP1 These bits are always read as 0. WKUPC: u1, padding: u31, }), - /// PWR wakeup flag register. + /// PWR wakeup flag register. WKUPFR: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUP flag. This bit is set by hardware and cleared only by a Reset pin or by setting the WKUPC1 bit in the PWR wakeup clear register (PWR_WKUPCR). + /// Wakeup pin WKUP flag. This bit is set by hardware and cleared only by a Reset pin or by setting the WKUPC1 bit in the PWR wakeup clear register (PWR_WKUPCR). WKUPF: u1, padding: u31, }), - /// PWR wakeup enable and polarity register. + /// PWR wakeup enable and polarity register. WKUPEPR: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup Pin WKUPn, (n = 4, 3, 2, 1) Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn bit) when WKUPn pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn selects falling edge. + /// Enable Wakeup Pin WKUPn, (n = 4, 3, 2, 1) Each bit is set and cleared by software. Note: An additional wakeup event is detected if WKUPn+1 pin is enabled (by setting the WKUPENn bit) when WKUPn pin level is already high when WKUPPn+1 selects rising edge, or low when WKUPPn selects falling edge. WKUPEN: u1, reserved8: u7, - /// Wakeup pin polarity bit for WKUPn, (n = 4, 3, 2, 1) These bits define the polarity used for event detection on WKUPn external wakeup pin. - WKUPP: packed union { - raw: u1, - value: WKUPP, - }, + /// Wakeup pin polarity bit for WKUPn, (n = 4, 3, 2, 1) These bits define the polarity used for event detection on WKUPn external wakeup pin. + WKUPP: WKUPP, reserved16: u7, - /// Wakeup pin pull configuration - WKUPPUPD: packed union { - raw: u2, - value: WKUPPUPD, - }, + /// Wakeup pin pull configuration + WKUPPUPD: WKUPPUPD, padding: u14, }), - /// PWR USB Type-C and Power Delivery register. + /// PWR USB Type-C and Power Delivery register. UCPDR: mmio.Mmio(packed struct(u32) { - /// UCPD dead battery disable. + /// UCPD dead battery disable. UCPD_DBDIS: u1, - /// UCPD Standby mode When set, this bit is used to memorize the UCPD configuration in Standby mode. This bit must be written to 1 just before entering Standby mode when using UCPD. It must be written to 0 after exiting the Standby mode and before writing any UCPD registers. + /// UCPD Standby mode When set, this bit is used to memorize the UCPD configuration in Standby mode. This bit must be written to 1 just before entering Standby mode when using UCPD. It must be written to 0 after exiting the Standby mode and before writing any UCPD registers. UCPD_STBY: u1, padding: u30, }), - /// PWR apply pull configuration register. + /// PWR apply pull configuration register. APCR: mmio.Mmio(packed struct(u32) { - /// Apply pull-up and pull-down configuration When this bit is set, the I/O pull-up and pull-down configurations defined in PO5_PUPD, PN7_PUPD bits and PUCRx, PDCRx registers are applied in Standby mode even after wakeup until APC bit is reset to 0. When this bit is cleared, the I/O pull-up or pull-down configurations defined in PO5_PUPD, PN7_PUPD bits and PUCRx and PDCRx registers are not applied in Standby mode and IO becomes Hi-Z. + /// Apply pull-up and pull-down configuration When this bit is set, the I/O pull-up and pull-down configurations defined in PO5_PUPD, PN7_PUPD bits and PUCRx, PDCRx registers are applied in Standby mode even after wakeup until APC bit is reset to 0. When this bit is cleared, the I/O pull-up or pull-down configurations defined in PO5_PUPD, PN7_PUPD bits and PUCRx and PDCRx registers are not applied in Standby mode and IO becomes Hi-Z. APC: u1, reserved16: u15, - /// Port N bit 7 pull-up/down configuration When this bit is set, a weak pull-up or pull-down resistor is applied on PN7 following inverse logic applied on PN6. If the PUN6 bit in PWR_PUCRN register is set and APC bit is set the week pull-down is applied on PN7. If the PDN6 bit in PWR_PDCRN register is set and APC bit is set the week pull-up is applied on PN7. + /// Port N bit 7 pull-up/down configuration When this bit is set, a weak pull-up or pull-down resistor is applied on PN7 following inverse logic applied on PN6. If the PUN6 bit in PWR_PUCRN register is set and APC bit is set the week pull-down is applied on PN7. If the PDN6 bit in PWR_PDCRN register is set and APC bit is set the week pull-up is applied on PN7. PN7_PUPD: u1, - /// Port O bit 5 pull-up/down configuration When this bit is set, a weak pull-up or pull down resistor is applied on PO5 following inverse logic applied on PO4. If the PUO4 bit in PWR_PUCRO register is set and APC bit is set the week pull-down is applied on PO5. If the PDO4 bit in PWR_PDCRO register is set and APC bit is set the week pull-up is applied on PO5.. + /// Port O bit 5 pull-up/down configuration When this bit is set, a weak pull-up or pull down resistor is applied on PO5 following inverse logic applied on PO4. If the PUO4 bit in PWR_PUCRO register is set and APC bit is set the week pull-down is applied on PO5. If the PDO4 bit in PWR_PDCRO register is set and APC bit is set the week pull-up is applied on PO5.. PO5_PUPD: u1, reserved28: u10, - /// Port PB6 I3C pull-up bit When I3C is used on PB6, when set, this bit activates the pull-up on I3C1_SCL (PB6) in standby mode. + /// Port PB6 I3C pull-up bit When I3C is used on PB6, when set, this bit activates the pull-up on I3C1_SCL (PB6) in standby mode. I3CPB6_PU: u1, - /// Port PB7 I3C pull-up bit When I3C is used on PB7, when set, this bit activates the pull-up on I3C1_SDA (PB7) in standby mode. + /// Port PB7 I3C pull-up bit When I3C is used on PB7, when set, this bit activates the pull-up on I3C1_SDA (PB7) in standby mode. I3CPB7_PU: u1, - /// Port PB8 I3C pull-up bit When I3C is used on PB8, when set, this bit activates the pull-up on I3C1_SCL (PB8) in standby mode. + /// Port PB8 I3C pull-up bit When I3C is used on PB8, when set, this bit activates the pull-up on I3C1_SCL (PB8) in standby mode. I3CPB8_PU: u1, - /// Port PB9 I3C pull-up bit When I3C is used on PB9, when set, this bit activates the pull-up on I3C1_SDA (PB9) in standby mode. + /// Port PB9 I3C pull-up bit When I3C is used on PB9, when set, this bit activates the pull-up on I3C1_SDA (PB9) in standby mode. I3CPB9_PU: u1, }), - /// PWR port N pull-up control register. + /// PWR port N pull-up control register. PUCRN: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Port N pull-up bit 1 When set, each bit activates the pull-up on PN1 when the APC bit is set in PWR_APCR. The pull-up is not activated if the corresponding PD1 bit is also set. + /// Port N pull-up bit 1 When set, each bit activates the pull-up on PN1 when the APC bit is set in PWR_APCR. The pull-up is not activated if the corresponding PD1 bit is also set. PUN1: u1, reserved6: u4, - /// Port N pull-up bit 6 When set activates the pull-up on PN6 when the APC bit is set in PWR_APCR. The pull-up is not activated if the corresponding PDN6 bit is also set. + /// Port N pull-up bit 6 When set activates the pull-up on PN6 when the APC bit is set in PWR_APCR. The pull-up is not activated if the corresponding PDN6 bit is also set. PUN6: u1, reserved12: u5, - /// Port N pull-up bit 12 When set, each bit activates the pull-up on PN12 when the APC bit is set in PWR_APCR. The pull-up is not activated if the corresponding PD12 bit is also set. + /// Port N pull-up bit 12 When set, each bit activates the pull-up on PN12 when the APC bit is set in PWR_APCR. The pull-up is not activated if the corresponding PD12 bit is also set. PUN12: u1, padding: u19, }), - /// PWR port N pull-down control register. + /// PWR port N pull-down control register. PDCRN: mmio.Mmio(packed struct(u32) { - /// Port N pull-down bit 0 When set activates the pull-down on PN0 when the APC bit is set in PWR_APCR. + /// Port N pull-down bit 0 When set activates the pull-down on PN0 when the APC bit is set in PWR_APCR. PDN0: u1, - /// Port N pull-down bit 1 When set activates the pull-down on PN1 when the APC bit is set in PWR_APCR. + /// Port N pull-down bit 1 When set activates the pull-down on PN1 when the APC bit is set in PWR_APCR. PDN1: u1, - /// Port N PN2 to PN5 pull-down activation When set, four pull-down resistors are activated on PN2 to PN5 when the APC bit is set in PWR_APCR. + /// Port N PN2 to PN5 pull-down activation When set, four pull-down resistors are activated on PN2 to PN5 when the APC bit is set in PWR_APCR. PDN2N5: u1, reserved6: u3, - /// Port N pull-down bit 6 When set activates the pull-down on PN6 when the APC bit is set in PWR_APCR. + /// Port N pull-down bit 6 When set activates the pull-down on PN6 when the APC bit is set in PWR_APCR. PDN6: u1, reserved8: u1, - /// Port N - PN8 to PN11 pull-down activation When set, four pull-down resistors are activated on PN8 to PN11 when the APC bit is set in PWR_APCR. + /// Port N - PN8 to PN11 pull-down activation When set, four pull-down resistors are activated on PN8 to PN11 when the APC bit is set in PWR_APCR. PDN8N11: u1, reserved12: u3, - /// Port N pull-down bit 12 When set activates the pull-down on PN12 when the APC bit is set in PWR_APCR. + /// Port N pull-down bit 12 When set activates the pull-down on PN12 when the APC bit is set in PWR_APCR. PDN12: u1, padding: u19, }), - /// PWR port O pull-up control register. + /// PWR port O pull-up control register. PUCRO: mmio.Mmio(packed struct(u32) { - /// (n = 1 to 0) Port O pull-up bits When set, each bit activates the pull-up on POy when the APC bit is set in PWR_APCR. The pull-up is not activated if the corresponding bits in PWR_PDCRO is also set. + /// (n = 1 to 0) Port O pull-up bits When set, each bit activates the pull-up on POy when the APC bit is set in PWR_APCR. The pull-up is not activated if the corresponding bits in PWR_PDCRO is also set. PUO0: u1, - /// (n = 1 to 0) Port O pull-up bits When set, each bit activates the pull-up on POy when the APC bit is set in PWR_APCR. The pull-up is not activated if the corresponding bits in PWR_PDCRO is also set. + /// (n = 1 to 0) Port O pull-up bits When set, each bit activates the pull-up on POy when the APC bit is set in PWR_APCR. The pull-up is not activated if the corresponding bits in PWR_PDCRO is also set. PUO1: u1, reserved4: u2, - /// Port O pull-up bit 4 When set activates the pull-up on PO4 when the APC bit is set in PWR_APCR. The pull-up is not activated if the corresponding bits PDO4 in PWR_PDCRO is also set. + /// Port O pull-up bit 4 When set activates the pull-up on PO4 when the APC bit is set in PWR_APCR. The pull-up is not activated if the corresponding bits PDO4 in PWR_PDCRO is also set. PUO4: u1, padding: u27, }), - /// PWR port O pull-down control register. + /// PWR port O pull-down control register. PDCRO: mmio.Mmio(packed struct(u32) { - /// Port O pull-down bit y When set, each bit activates the pull-down on POy when the APC bit is set in PWR_APCR. + /// Port O pull-down bit y When set, each bit activates the pull-down on POy when the APC bit is set in PWR_APCR. PDO0: u1, - /// Port O pull-down bit y When set, each bit activates the pull-down on POy when the APC bit is set in PWR_APCR. + /// Port O pull-down bit y When set, each bit activates the pull-down on POy when the APC bit is set in PWR_APCR. PDO1: u1, - /// Port O pull-down bit y When set, each bit activates the pull-down on POy when the APC bit is set in PWR_APCR. + /// Port O pull-down bit y When set, each bit activates the pull-down on POy when the APC bit is set in PWR_APCR. PDO2: u1, - /// Port O pull-down bit y When set, each bit activates the pull-down on POy when the APC bit is set in PWR_APCR. + /// Port O pull-down bit y When set, each bit activates the pull-down on POy when the APC bit is set in PWR_APCR. PDO3: u1, - /// Port O pull-down bit y When set, each bit activates the pull-down on POy when the APC bit is set in PWR_APCR. + /// Port O pull-down bit y When set, each bit activates the pull-down on POy when the APC bit is set in PWR_APCR. PDO4: u1, padding: u27, }), - /// PWR port P pull-down control register. + /// PWR port P pull-down control register. PDCRP: mmio.Mmio(packed struct(u32) { - /// Port P0-P3 pull-down activation When set, four pull-down resistors are activated on P0 to P3 when the APC bit is set in PWR_APCR. + /// Port P0-P3 pull-down activation When set, four pull-down resistors are activated on P0 to P3 when the APC bit is set in PWR_APCR. PDP0P3: u1, reserved4: u3, - /// Port P4-P7 pull-down activation When set, four pull-down resitors are activated on P4 to P7 when the APC bit is set in PWR_APCR. + /// Port P4-P7 pull-down activation When set, four pull-down resitors are activated on P4 to P7 when the APC bit is set in PWR_APCR. PDP4P7: u1, reserved8: u3, - /// Port P8-P11 pull-down activation When set, four pull-down resistors are activated on P8 to P11 when the APC bit is set in PWR_APCR. + /// Port P8-P11 pull-down activation When set, four pull-down resistors are activated on P8 to P11 when the APC bit is set in PWR_APCR. PDP8P11: u1, reserved12: u3, - /// Port P12-P15 pull-down activation When set, four pull-down resistors are activated on P8 to P11 when the APC bit is set in PWR_APCR. + /// Port P12-P15 pull-down activation When set, four pull-down resistors are activated on P8 to P11 when the APC bit is set in PWR_APCR. PDP12P15: u1, padding: u19, }), reserved80: [8]u8, - /// PWR debug register 1. + /// PWR debug register 1. PDR1: mmio.Mmio(packed struct(u32) { - /// Debug Register Unlocked. - UNLOCKED: packed union { - raw: u1, - value: UNLOCKED, - }, + /// Debug Register Unlocked. + UNLOCKED: UNLOCKED, reserved3: u2, - /// Step down converter force PWM mode. + /// Step down converter force PWM mode. SDFPWMEN: u1, reserved16: u12, - /// (Non-User bit). - SYNC_ADC: packed union { - raw: u1, - value: SYNC_ADC, - }, + /// (Non-User bit). + SYNC_ADC: SYNC_ADC, padding: u15, }), }; @@ -360920,129 +356702,108 @@ pub const types = struct { pub const pwr_l0 = struct { pub const DS_EE_KOFF = enum(u1) { - /// NVM woken up when exiting from Deepsleep mode even if the bit RUN_PD is set + /// NVM woken up when exiting from Deepsleep mode even if the bit RUN_PD is set NVMWakeUp = 0x0, - /// NVM not woken up when exiting from low-power mode (if the bit RUN_PD is set) + /// NVM not woken up when exiting from low-power mode (if the bit RUN_PD is set) NVMSleep = 0x1, }; pub const MODE = enum(u1) { - /// Voltage regulator in Main mode + /// Voltage regulator in Main mode MAIN_MODE = 0x0, - /// Voltage regulator switches to low-power mode + /// Voltage regulator switches to low-power mode LOW_POWER_MODE = 0x1, }; pub const PDDS = enum(u1) { - /// Enter Stop mode when the CPU enters deepsleep + /// Enter Stop mode when the CPU enters deepsleep STOP_MODE = 0x0, - /// Enter Standby mode when the CPU enters deepsleep + /// Enter Standby mode when the CPU enters deepsleep STANDBY_MODE = 0x1, }; pub const PLS = enum(u3) { - /// 1.9 V + /// 1.9 V V1_9 = 0x0, - /// 2.1 V + /// 2.1 V V2_1 = 0x1, - /// 2.3 V + /// 2.3 V V2_3 = 0x2, - /// 2.5 V + /// 2.5 V V2_5 = 0x3, - /// 2.7 V + /// 2.7 V V2_7 = 0x4, - /// 2.9 V + /// 2.9 V V2_9 = 0x5, - /// 3.1 V + /// 3.1 V V3_1 = 0x6, - /// External input analog voltage (Compare internally to VREFINT) + /// External input analog voltage (Compare internally to VREFINT) External = 0x7, }; pub const VOS = enum(u2) { - /// 1.8 V (range 1) + /// 1.8 V (range 1) Range1 = 0x1, - /// 1.5 V (range 2) + /// 1.5 V (range 2) Range2 = 0x2, - /// 1.2 V (range 3) + /// 1.2 V (range 3) Range3 = 0x3, _, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// power control register + /// power control register CR: mmio.Mmio(packed struct(u32) { - /// Low-power deepsleep/Sleep/Low-power run - LPSDSR: packed union { - raw: u1, - value: MODE, - }, - /// Power down deepsleep - PDDS: packed union { - raw: u1, - value: PDDS, - }, - /// Clear wakeup flag + /// Low-power deepsleep/Sleep/Low-power run + LPSDSR: MODE, + /// Power down deepsleep + PDDS: PDDS, + /// Clear wakeup flag CWUF: u1, - /// Clear standby flag + /// Clear standby flag CSBF: u1, - /// Power voltage detector enable + /// Power voltage detector enable PVDE: u1, - /// PVD level selection - PLS: packed union { - raw: u3, - value: PLS, - }, - /// Disable backup domain write protection + /// PVD level selection + PLS: PLS, + /// Disable backup domain write protection DBP: u1, - /// Ultra-low-power mode + /// Ultra-low-power mode ULP: u1, - /// Fast wakeup + /// Fast wakeup FWU: u1, - /// Voltage scaling range selection - VOS: packed union { - raw: u2, - value: VOS, - }, - /// Deep sleep mode with Flash memory kept off - DS_EE_KOFF: packed union { - raw: u1, - value: DS_EE_KOFF, - }, - /// Low power run mode - LPRUN: packed union { - raw: u1, - value: MODE, - }, + /// Voltage scaling range selection + VOS: VOS, + /// Deep sleep mode with Flash memory kept off + DS_EE_KOFF: DS_EE_KOFF, + /// Low power run mode + LPRUN: MODE, reserved16: u1, - /// Regulator in Low-power deepsleep mode - LPDS: packed union { - raw: u1, - value: MODE, - }, + /// Regulator in Low-power deepsleep mode + LPDS: MODE, padding: u15, }), - /// power control/status register + /// power control/status register CSR: mmio.Mmio(packed struct(u32) { - /// Wakeup flag + /// Wakeup flag WUF: u1, - /// Standby flag + /// Standby flag SBF: u1, - /// PVD output + /// PVD output PVDO: u1, - /// Internal voltage reference ready flag + /// Internal voltage reference ready flag VREFINTRDYF: u1, - /// Voltage Scaling select flag + /// Voltage Scaling select flag VOSF: u1, - /// Regulator LP flag + /// Regulator LP flag REGLPF: u1, reserved8: u2, - /// Enable WKUP pin 1 + /// Enable WKUP pin 1 EWUP1: u1, - /// Enable WKUP pin 2 + /// Enable WKUP pin 2 EWUP2: u1, - /// Enable WKUP pin 3 + /// Enable WKUP pin 3 EWUP3: u1, padding: u21, }), @@ -361051,73 +356812,67 @@ pub const types = struct { pub const pwr_l1 = struct { pub const PDDS = enum(u1) { - /// Enter Stop mode when the CPU enters deepsleep + /// Enter Stop mode when the CPU enters deepsleep STOP_MODE = 0x0, - /// Enter Standby mode when the CPU enters deepsleep + /// Enter Standby mode when the CPU enters deepsleep STANDBY_MODE = 0x1, }; pub const VOS = enum(u2) { - /// Range 1 + /// Range 1 Range1 = 0x1, - /// Range 2 + /// Range 2 Range2 = 0x2, - /// Range 3 + /// Range 3 Range3 = 0x3, _, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// power control register + /// power control register CR: mmio.Mmio(packed struct(u32) { - /// Low-power deep sleep + /// Low-power deep sleep LPSDSR: u1, - /// Power down deepsleep - PDDS: packed union { - raw: u1, - value: PDDS, - }, - /// Clear wakeup flag + /// Power down deepsleep + PDDS: PDDS, + /// Clear wakeup flag CWUF: u1, - /// Clear standby flag + /// Clear standby flag CSBF: u1, - /// Power voltage detector enable + /// Power voltage detector enable PVDE: u1, - /// PVD level selection + /// PVD level selection PLS: u3, - /// Disable backup domain write protection + /// Disable backup domain write protection DBP: u1, - /// Ultralow power mode + /// Ultralow power mode ULP: u1, - /// Fast wakeup + /// Fast wakeup FWU: u1, - /// Voltage scaling range selection - VOS: packed union { - raw: u2, - value: VOS, - }, + /// Voltage scaling range selection + VOS: VOS, reserved14: u1, - /// Low power run mode + /// Low power run mode LPRUN: u1, padding: u17, }), - /// power control/status register + /// power control/status register CSR: mmio.Mmio(packed struct(u32) { - /// Wakeup flag + /// Wakeup flag WUF: u1, - /// Standby flag + /// Standby flag SBF: u1, - /// PVD output + /// PVD output PVDO: u1, - /// Internal voltage reference (VREFINT) ready flag + /// Internal voltage reference (VREFINT) ready flag VREFINTRDYF: u1, - /// Voltage Scaling select flag + /// Voltage Scaling select flag VOSF: u1, - /// Regulator LP flag + /// Regulator LP flag REGLPF: u1, reserved8: u2, - /// Enable WKUP pin 1 + /// Enable WKUP pin 1 EWUP: u1, padding: u23, }), @@ -361126,206 +356881,191 @@ pub const types = struct { pub const pwr_l4 = struct { pub const LPMS = enum(u3) { - /// Stop 0 mode + /// Stop 0 mode Stop0 = 0x0, - /// Stop 1 mode + /// Stop 1 mode Stop1 = 0x1, - /// Stop 2 mode + /// Stop 2 mode Stop2 = 0x2, - /// Standby mode + /// Standby mode Standby = 0x3, - /// Shutdown mode + /// Shutdown mode Shutdown = 0x4, _, }; pub const LPR = enum(u1) { - /// Voltage regulator in Main mode + /// Voltage regulator in Main mode MainMode = 0x0, - /// Voltage regulator in low-power mode + /// Voltage regulator in low-power mode LowPowerMode = 0x1, }; pub const PLS = enum(u3) { - /// 2.0V + /// 2.0V V2_0 = 0x0, - /// 2.2V + /// 2.2V V2_2 = 0x1, - /// 2.4V + /// 2.4V V2_4 = 0x2, - /// 2.5V + /// 2.5V V2_5 = 0x3, - /// 2.6V + /// 2.6V V2_6 = 0x4, - /// 2.8V + /// 2.8V V2_8 = 0x5, - /// 2.9V + /// 2.9V V2_9 = 0x6, - /// External input analog voltage PVD_IN (compared internally to VREFINT) + /// External input analog voltage PVD_IN (compared internally to VREFINT) External = 0x7, }; pub const RRS = enum(u1) { - /// SRAM2 powered off in Standby mode (SRAM2 content lost) + /// SRAM2 powered off in Standby mode (SRAM2 content lost) PowerOff = 0x0, - /// SRAM2 powered by the low-power regulator in Standby mode (SRAM2 content kept) + /// SRAM2 powered by the low-power regulator in Standby mode (SRAM2 content kept) OnLPR = 0x1, }; pub const VOS = enum(u2) { - /// Range 1 + /// Range 1 Range1 = 0x1, - /// Range 2 + /// Range 2 Range2 = 0x2, _, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// Power control register 1 + /// Power control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Low-power mode selection - LPMS: packed union { - raw: u3, - value: LPMS, - }, + /// Low-power mode selection + LPMS: LPMS, reserved8: u5, - /// Disable backup domain write protection + /// Disable backup domain write protection DBP: u1, - /// Voltage scaling range selection - VOS: packed union { - raw: u2, - value: VOS, - }, + /// Voltage scaling range selection + VOS: VOS, reserved14: u3, - /// Low-power run - LPR: packed union { - raw: u1, - value: LPR, - }, + /// Low-power run + LPR: LPR, padding: u17, }), - /// Power control register 2 + /// Power control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Power voltage detector enable + /// Power voltage detector enable PVDE: u1, - /// Power voltage detector level selection - PLS: packed union { - raw: u3, - value: PLS, - }, - /// Peripheral voltage monitoring 1 enable: VDDUSB vs. 1.2V + /// Power voltage detector level selection + PLS: PLS, + /// Peripheral voltage monitoring 1 enable: VDDUSB vs. 1.2V PVME1: u1, - /// Peripheral voltage monitoring 2 enable: VDDIO2 vs. 0.9V + /// Peripheral voltage monitoring 2 enable: VDDIO2 vs. 0.9V PVME2: u1, - /// Peripheral voltage monitoring 3 enable: VDDA vs. 1.62V + /// Peripheral voltage monitoring 3 enable: VDDA vs. 1.62V PVME3: u1, - /// Peripheral voltage monitoring 4 enable: VDDA vs. 2.2V + /// Peripheral voltage monitoring 4 enable: VDDA vs. 2.2V PVME4: u1, reserved9: u1, - /// VDDIO2 Independent I/Os supply valid + /// VDDIO2 Independent I/Os supply valid IOSV: u1, - /// VDDUSB USB supply valid + /// VDDUSB USB supply valid USV: u1, padding: u21, }), - /// Power control register 3 + /// Power control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup pin WKUP + /// Enable Wakeup pin WKUP EWUP: u1, reserved8: u7, - /// SRAM2 retention in Standby mode - RRS: packed union { - raw: u1, - value: RRS, - }, + /// SRAM2 retention in Standby mode + RRS: RRS, reserved10: u1, - /// Apply pull-up and pull-down configuration + /// Apply pull-up and pull-down configuration APC: u1, reserved15: u4, - /// Enable internal wakeup line + /// Enable internal wakeup line EWF: u1, padding: u16, }), - /// Power control register 4 + /// Power control register 4 CR4: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUP1 polarity + /// Wakeup pin WKUP1 polarity WP1: u1, - /// Wakeup pin WKUP2 polarity + /// Wakeup pin WKUP2 polarity WP2: u1, - /// Wakeup pin WKUP3 polarity + /// Wakeup pin WKUP3 polarity WP3: u1, - /// Wakeup pin WKUP4 polarity + /// Wakeup pin WKUP4 polarity WP4: u1, - /// Wakeup pin WKUP5 polarity + /// Wakeup pin WKUP5 polarity WP5: u1, reserved8: u3, - /// VBAT battery charging enable + /// VBAT battery charging enable VBE: u1, - /// VBAT battery charging resistor selection + /// VBAT battery charging resistor selection VBRS: u1, padding: u22, }), - /// Power status register 1 + /// Power status register 1 SR1: mmio.Mmio(packed struct(u32) { - /// Wakeup flag 1 + /// Wakeup flag 1 CWUF1: u1, - /// Wakeup flag 2 + /// Wakeup flag 2 CWUF2: u1, - /// Wakeup flag 3 + /// Wakeup flag 3 CWUF3: u1, - /// Wakeup flag 4 + /// Wakeup flag 4 CWUF4: u1, - /// Wakeup flag 5 + /// Wakeup flag 5 CWUF5: u1, reserved8: u3, - /// Standby flag + /// Standby flag CSBF: u1, reserved15: u6, - /// Wakeup flag internal + /// Wakeup flag internal WUFI: u1, padding: u16, }), - /// Power status register 2 + /// Power status register 2 SR2: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Low-power regulator started + /// Low-power regulator started REGLPS: u1, - /// Low-power regulator flag + /// Low-power regulator flag REGLPF: u1, - /// Voltage scaling flag + /// Voltage scaling flag VOSF: u1, - /// Power voltage detector output + /// Power voltage detector output PVDO: u1, - /// Peripheral voltage monitoring output: VDDUSB vs. 1.2 V + /// Peripheral voltage monitoring output: VDDUSB vs. 1.2 V PVMO1: u1, - /// Peripheral voltage monitoring output: VDDIO2 vs. 0.9 V + /// Peripheral voltage monitoring output: VDDIO2 vs. 0.9 V PVMO2: u1, - /// Peripheral voltage monitoring output: VDDA vs. 1.62 V + /// Peripheral voltage monitoring output: VDDA vs. 1.62 V PVMO3: u1, - /// Peripheral voltage monitoring output: VDDA vs. 2.2 V + /// Peripheral voltage monitoring output: VDDA vs. 2.2 V PVMO4: u1, padding: u16, }), - /// Power status clear register + /// Power status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear wakeup flag + /// Clear wakeup flag CWUF: u1, reserved8: u7, - /// Clear standby flag + /// Clear standby flag SBF: u1, padding: u23, }), reserved32: [4]u8, - /// Power Port A pull-up control register + /// Power Port A pull-up control register PUCR: mmio.Mmio(packed struct(u32) { - /// Port pull bit y (y=0..15) + /// Port pull bit y (y=0..15) P: u1, padding: u31, }), - /// Power Port A pull-down control register + /// Power Port A pull-down control register PDCR: mmio.Mmio(packed struct(u32) { - /// Port pull bit y (y=0..15) + /// Port pull bit y (y=0..15) P: u1, padding: u31, }), @@ -361334,254 +357074,239 @@ pub const types = struct { pub const pwr_l5 = struct { pub const LPMS = enum(u3) { - /// Stop 0 mode + /// Stop 0 mode Stop0 = 0x0, - /// Stop 1 mode + /// Stop 1 mode Stop1 = 0x1, - /// Stop 2 mode + /// Stop 2 mode Stop2 = 0x2, - /// Standby mode + /// Standby mode Standby = 0x3, - /// Shutdown mode + /// Shutdown mode Shutdown = 0x4, _, }; pub const LPR = enum(u1) { - /// Voltage regulator in Main mode + /// Voltage regulator in Main mode MainMode = 0x0, - /// Voltage regulator in low-power mode + /// Voltage regulator in low-power mode LowPowerMode = 0x1, }; pub const PLS = enum(u3) { - /// 2.0V + /// 2.0V V2_0 = 0x0, - /// 2.2V + /// 2.2V V2_2 = 0x1, - /// 2.4V + /// 2.4V V2_4 = 0x2, - /// 2.5V + /// 2.5V V2_5 = 0x3, - /// 2.6V + /// 2.6V V2_6 = 0x4, - /// 2.8V + /// 2.8V V2_8 = 0x5, - /// 2.9V + /// 2.9V V2_9 = 0x6, - /// External input analog voltage PVD_IN (compared internally to VREFINT) + /// External input analog voltage PVD_IN (compared internally to VREFINT) External = 0x7, }; pub const RRS = enum(u2) { - /// SRAM2 powered off in Standby mode (SRAM2 content lost) + /// SRAM2 powered off in Standby mode (SRAM2 content lost) PowerOff = 0x0, - /// SRAM2 powered by the low-power regulator in Standby mode (SRAM2 content kept) + /// SRAM2 powered by the low-power regulator in Standby mode (SRAM2 content kept) OnLPR = 0x1, - /// Only the upper 4 Kbytes of SRAM2 are powered by the low-power regulator in Standby mode (upper 4 Kbytes of SRAM2 content 0x2003 F000 - 0x2003 FFFF is kept). + /// Only the upper 4 Kbytes of SRAM2 are powered by the low-power regulator in Standby mode (upper 4 Kbytes of SRAM2 content 0x2003 F000 - 0x2003 FFFF is kept). OnLPRTop4kb = 0x2, _, }; pub const VOS = enum(u2) { - /// Range 0 + /// Range 0 Range0 = 0x0, - /// Range 1 + /// Range 1 Range1 = 0x1, - /// Range 2 + /// Range 2 Range2 = 0x2, _, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// Power control register 1 + /// Power control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Low-power mode selection - LPMS: packed union { - raw: u3, - value: LPMS, - }, + /// Low-power mode selection + LPMS: LPMS, reserved8: u5, - /// Disable backup domain write protection + /// Disable backup domain write protection DBP: u1, - /// Voltage scaling range selection - VOS: packed union { - raw: u2, - value: VOS, - }, + /// Voltage scaling range selection + VOS: VOS, reserved14: u3, - /// Low-power run - LPR: packed union { - raw: u1, - value: LPR, - }, + /// Low-power run + LPR: LPR, padding: u17, }), - /// Power control register 2 + /// Power control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Power voltage detector enable + /// Power voltage detector enable PVDE: u1, - /// Power voltage detector level selection - PLS: packed union { - raw: u3, - value: PLS, - }, - /// Peripheral voltage monitoring 1 enable: VDDUSB vs. 1.2V + /// Power voltage detector level selection + PLS: PLS, + /// Peripheral voltage monitoring 1 enable: VDDUSB vs. 1.2V PVME1: u1, - /// Peripheral voltage monitoring 2 enable: VDDIO2 vs. 0.9V + /// Peripheral voltage monitoring 2 enable: VDDIO2 vs. 0.9V PVME2: u1, - /// Peripheral voltage monitoring 3 enable: VDDA vs. 1.62V + /// Peripheral voltage monitoring 3 enable: VDDA vs. 1.62V PVME3: u1, - /// Peripheral voltage monitoring 4 enable: VDDA vs. 2.2V + /// Peripheral voltage monitoring 4 enable: VDDA vs. 2.2V PVME4: u1, reserved9: u1, - /// VDDIO2 Independent I/Os supply valid + /// VDDIO2 Independent I/Os supply valid IOSV: u1, - /// VDDUSB USB supply valid + /// VDDUSB USB supply valid USV: u1, padding: u21, }), - /// Power control register 3 + /// Power control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup pin WKUP + /// Enable Wakeup pin WKUP EWUP: u1, reserved8: u7, - /// SRAM2 retention in Standby mode - RRS: packed union { - raw: u2, - value: RRS, - }, - /// Apply pull-up and pull-down configuration + /// SRAM2 retention in Standby mode + RRS: RRS, + /// Apply pull-up and pull-down configuration APC: u1, - /// ULPMEN + /// ULPMEN ULPMEN: u1, reserved13: u1, - /// UCPD_STDBY + /// UCPD_STDBY UCPD_STDBY: u1, - /// UCPD_DBDIS + /// UCPD_DBDIS UCPD_DBDIS: u1, padding: u17, }), - /// Power control register 4 + /// Power control register 4 CR4: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUP1 polarity + /// Wakeup pin WKUP1 polarity WP1: u1, - /// Wakeup pin WKUP2 polarity + /// Wakeup pin WKUP2 polarity WP2: u1, - /// Wakeup pin WKUP3 polarity + /// Wakeup pin WKUP3 polarity WP3: u1, - /// Wakeup pin WKUP4 polarity + /// Wakeup pin WKUP4 polarity WP4: u1, - /// Wakeup pin WKUP5 polarity + /// Wakeup pin WKUP5 polarity WP5: u1, reserved8: u3, - /// VBAT battery charging enable + /// VBAT battery charging enable VBE: u1, - /// VBAT battery charging resistor selection + /// VBAT battery charging resistor selection VBRS: u1, reserved12: u2, - /// SMPSBYP + /// SMPSBYP SMPSBYP: u1, - /// EXTSMPSEN + /// EXTSMPSEN EXTSMPSEN: u1, - /// SMPSFSTEN + /// SMPSFSTEN SMPSFSTEN: u1, - /// SMPSLPEN + /// SMPSLPEN SMPSLPEN: u1, padding: u16, }), - /// Power status register 1 + /// Power status register 1 SR1: mmio.Mmio(packed struct(u32) { - /// Wakeup flag 1 + /// Wakeup flag 1 CWUF1: u1, - /// Wakeup flag 2 + /// Wakeup flag 2 CWUF2: u1, - /// Wakeup flag 3 + /// Wakeup flag 3 CWUF3: u1, - /// Wakeup flag 4 + /// Wakeup flag 4 CWUF4: u1, - /// Wakeup flag 5 + /// Wakeup flag 5 CWUF5: u1, reserved8: u3, - /// Standby flag + /// Standby flag CSBF: u1, reserved15: u6, - /// Wakeup flag internal + /// Wakeup flag internal WUFI: u1, padding: u16, }), - /// Power status register 2 + /// Power status register 2 SR2: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Low-power regulator started + /// Low-power regulator started REGLPS: u1, - /// Low-power regulator flag + /// Low-power regulator flag REGLPF: u1, - /// Voltage scaling flag + /// Voltage scaling flag VOSF: u1, - /// Power voltage detector output + /// Power voltage detector output PVDO: u1, - /// Peripheral voltage monitoring output: VDDUSB vs. 1.2 V + /// Peripheral voltage monitoring output: VDDUSB vs. 1.2 V PVMO1: u1, - /// Peripheral voltage monitoring output: VDDIO2 vs. 0.9 V + /// Peripheral voltage monitoring output: VDDIO2 vs. 0.9 V PVMO2: u1, - /// Peripheral voltage monitoring output: VDDA vs. 1.62 V + /// Peripheral voltage monitoring output: VDDA vs. 1.62 V PVMO3: u1, - /// Peripheral voltage monitoring output: VDDA vs. 2.2 V + /// Peripheral voltage monitoring output: VDDA vs. 2.2 V PVMO4: u1, padding: u16, }), - /// Power status clear register + /// Power status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear wakeup flag + /// Clear wakeup flag CWUF: u1, reserved8: u7, - /// Clear standby flag + /// Clear standby flag SBF: u1, padding: u23, }), reserved32: [4]u8, - /// Power Port A pull-up control register + /// Power Port A pull-up control register PUCR: mmio.Mmio(packed struct(u32) { - /// Port pull bit y (y=0..15) + /// Port pull bit y (y=0..15) P: u1, padding: u31, }), - /// Power Port A pull-down control register + /// Power Port A pull-down control register PDCR: mmio.Mmio(packed struct(u32) { - /// Port pull bit y (y=0..15) + /// Port pull bit y (y=0..15) P: u1, padding: u31, }), reserved120: [80]u8, - /// Power secure configuration register + /// Power secure configuration register SECCFGR: mmio.Mmio(packed struct(u32) { - /// WKUP1 pin security + /// WKUP1 pin security WUP1SEC: u1, - /// WKUP2 pin security + /// WKUP2 pin security WUP2SEC: u1, - /// WKUP3 pin security + /// WKUP3 pin security WUP3SEC: u1, - /// WKUP4 pin security + /// WKUP4 pin security WUP4SEC: u1, - /// WKUP5 pin security + /// WKUP5 pin security WUP5SEC: u1, reserved8: u3, - /// LPMSEC + /// LPMSEC LPMSEC: u1, - /// VDMSEC + /// VDMSEC VDMSEC: u1, - /// VBSEC + /// VBSEC VBSEC: u1, - /// APCSEC + /// APCSEC APCSEC: u1, padding: u20, }), reserved128: [4]u8, - /// Power privilege configuration register + /// Power privilege configuration register PRIVCFGR: mmio.Mmio(packed struct(u32) { - /// PRIV + /// PRIV PRIV: u1, padding: u31, }), @@ -361590,551 +357315,539 @@ pub const types = struct { pub const pwr_u0 = struct { pub const LPMS = enum(u3) { - /// Stop 0 mode + /// Stop 0 mode Stop0 = 0x0, - /// Stop 1 mode + /// Stop 1 mode Stop1 = 0x1, - /// Stop 2 mode + /// Stop 2 mode Stop2 = 0x2, - /// Standby mode + /// Standby mode Standby = 0x3, _, }; pub const PLS = enum(u3) { - /// VPVD0 around 2.01V + /// VPVD0 around 2.01V B_0x0 = 0x0, - /// VPVD1 around 2.21V + /// VPVD1 around 2.21V B_0x1 = 0x1, - /// VPVD2 around 2.41V + /// VPVD2 around 2.41V B_0x2 = 0x2, - /// VPVD3 around 2.51V + /// VPVD3 around 2.51V B_0x3 = 0x3, - /// VPVD4 around 2.61V + /// VPVD4 around 2.61V B_0x4 = 0x4, - /// VPVD5 around 2.81V + /// VPVD5 around 2.81V B_0x5 = 0x5, - /// VPVD6 around 2.91V + /// VPVD6 around 2.91V B_0x6 = 0x6, - /// External input analog voltage PVD_IN (compared internally to VREFINT) + /// External input analog voltage PVD_IN (compared internally to VREFINT) B_0x7 = 0x7, }; pub const STOPF = enum(u3) { - /// The device did not enter any Stop mode. + /// The device did not enter any Stop mode. None = 0x0, - /// The device entered in Stop 0 mode. + /// The device entered in Stop 0 mode. Stop0 = 0x4, - /// The device entered in Stop 1 mode. + /// The device entered in Stop 1 mode. Stop1 = 0x5, - /// The device entered in Stop 2 mode. + /// The device entered in Stop 2 mode. Stop2 = 0x6, _, }; pub const VOS = enum(u2) { - /// Range 1 + /// Range 1 Range1 = 0x1, - /// Range 2 + /// Range 2 Range2 = 0x2, _, }; - /// PWR register block + /// PWR register block pub const PWR = extern struct { - /// Power control register 1 + /// Power control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Low-power mode selection These bits select the low-power mode entered when CPU enters the deepsleep mode. 1xx: Shutdown mode Note: If LPR bit is set, Stop 2 mode cannot be selected and Stop 1 mode shall be entered instead of Stop 2. Note: In Standby mode, SRAM2 can be preserved or not, depending on RRS bit configuration in PWR_CR3. - LPMS: packed union { - raw: u3, - value: LPMS, - }, - /// Flash memory powered down during Stop mode. This bit determines whether the flash memory is put in power-down mode or remains in idle mode when the device enters Stop mode. + /// Low-power mode selection These bits select the low-power mode entered when CPU enters the deepsleep mode. 1xx: Shutdown mode Note: If LPR bit is set, Stop 2 mode cannot be selected and Stop 1 mode shall be entered instead of Stop 2. Note: In Standby mode, SRAM2 can be preserved or not, depending on RRS bit configuration in PWR_CR3. + LPMS: LPMS, + /// Flash memory powered down during Stop mode. This bit determines whether the flash memory is put in power-down mode or remains in idle mode when the device enters Stop mode. FPD_STOP: u1, - /// Flash memory powered down during Low-power run mode. This bit determines whether the flash memory is put in power-down mode or remains in idle mode when the device enters Low-power sleep mode. + /// Flash memory powered down during Low-power run mode. This bit determines whether the flash memory is put in power-down mode or remains in idle mode when the device enters Low-power sleep mode. FPD_LPRUN: u1, - /// Flash memory powered down during Low-power sleep mode. This bit determines whether the flash memory is put in power-down mode or remains in idle mode when the device enters Low-power sleep mode. + /// Flash memory powered down during Low-power sleep mode. This bit determines whether the flash memory is put in power-down mode or remains in idle mode when the device enters Low-power sleep mode. FPD_LPSLP: u1, reserved8: u2, - /// Disable backup domain write protection In reset state, the RTC and backup registers are protected against parasitic write access. This bit must be set to enable write access to these registers. + /// Disable backup domain write protection In reset state, the RTC and backup registers are protected against parasitic write access. This bit must be set to enable write access to these registers. DBP: u1, - /// Voltage scaling range selection - VOS: packed union { - raw: u2, - value: VOS, - }, + /// Voltage scaling range selection + VOS: VOS, reserved14: u3, - /// Low-power run When this bit is set, the regulator is switched from main mode (MR) to low-power mode (LPR). Note: Stop 2 mode cannot be entered when LPR bit is set. Stop 1 is entered instead. + /// Low-power run When this bit is set, the regulator is switched from main mode (MR) to low-power mode (LPR). Note: Stop 2 mode cannot be entered when LPR bit is set. Stop 1 is entered instead. LPR: u1, padding: u17, }), - /// Power control register 2 + /// Power control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Programmable voltage detector enable Note: This bit is write-protected when the bit PVDL (PVD Lock) is set in the SYSCFG_CBR register. Note: This bit is reset only by a system reset. + /// Programmable voltage detector enable Note: This bit is write-protected when the bit PVDL (PVD Lock) is set in the SYSCFG_CBR register. Note: This bit is reset only by a system reset. PVDE: u1, - /// Programmable voltage detector level selection. These bits select the voltage threshold detected by the programmable voltage detector: Note: These bits are write-protected when the bit PVDL (PVD Lock) is set in the SYSCFG_CBR register. Note: These bits are reset only by a system reset. - PLS: packed union { - raw: u3, - value: PLS, - }, - /// Peripheral voltage monitoring 1 enable: VDDUSB vs. 1.21V + /// Programmable voltage detector level selection. These bits select the voltage threshold detected by the programmable voltage detector: Note: These bits are write-protected when the bit PVDL (PVD Lock) is set in the SYSCFG_CBR register. Note: These bits are reset only by a system reset. + PLS: PLS, + /// Peripheral voltage monitoring 1 enable: VDDUSB vs. 1.21V PVME1: u1, - /// Peripheral voltage monitoring 3 enable: VDDA vs. 1.621V + /// Peripheral voltage monitoring 3 enable: VDDA vs. 1.621V PVME3: u1, - /// Peripheral voltage monitoring 4 enable: VDDA vs. 1.861V + /// Peripheral voltage monitoring 4 enable: VDDA vs. 1.861V PVME4: u1, reserved10: u3, - /// VDDUSB USB supply valid This bit is used to validate the VDDUSB supply for electrical and logical isolation purpose. Setting this bit is mandatory to use the USB FS peripheral. If VDDUSB is not always present in the application, the PVM can be used to determine whether this supply is ready or not. + /// VDDUSB USB supply valid This bit is used to validate the VDDUSB supply for electrical and logical isolation purpose. Setting this bit is mandatory to use the USB FS peripheral. If VDDUSB is not always present in the application, the PVM can be used to determine whether this supply is ready or not. USV: u1, padding: u21, }), - /// Power control register 3 + /// Power control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Enable Wake-up pin WKUP1 When this bit is set, the external wake-up pin WKUP1 is enabled and triggers a wake-up from Standby or Shutdown event when a rising or a falling edge occurs. The active edge is configured via the WP1 bit in the PWR_CR4 register. + /// Enable Wake-up pin WKUP1 When this bit is set, the external wake-up pin WKUP1 is enabled and triggers a wake-up from Standby or Shutdown event when a rising or a falling edge occurs. The active edge is configured via the WP1 bit in the PWR_CR4 register. EWUP1: u1, - /// Enable Wake-up pin WKUP2 When this bit is set, the external wake-up pin WKUP2 is enabled and triggers a wake-up from Standby or Shutdown event when a rising or a falling edge occurs. The active edge is configured via the WP2 bit in the PWR_CR4 register. + /// Enable Wake-up pin WKUP2 When this bit is set, the external wake-up pin WKUP2 is enabled and triggers a wake-up from Standby or Shutdown event when a rising or a falling edge occurs. The active edge is configured via the WP2 bit in the PWR_CR4 register. EWUP2: u1, - /// Enable Wake-up pin WKUP3 When this bit is set, the external wake-up pin WKUP3 is enabled and triggers a wake-up from Standby or Shutdown event when a rising or a falling edge occurs. The active edge is configured via the WP3 bit in the PWR_CR4 register. + /// Enable Wake-up pin WKUP3 When this bit is set, the external wake-up pin WKUP3 is enabled and triggers a wake-up from Standby or Shutdown event when a rising or a falling edge occurs. The active edge is configured via the WP3 bit in the PWR_CR4 register. EWUP3: u1, - /// Enable Wake-up pin WKUP4 When this bit is set, the external wake-up pin WKUP4 is enabled and triggers a wake-up from Standby or Shutdown event when a rising or a falling edge occurs. The active edge is configured via the WP4 bit in the PWR_CR4 register. + /// Enable Wake-up pin WKUP4 When this bit is set, the external wake-up pin WKUP4 is enabled and triggers a wake-up from Standby or Shutdown event when a rising or a falling edge occurs. The active edge is configured via the WP4 bit in the PWR_CR4 register. EWUP4: u1, - /// Enable Wake-up pin WKUP5 When this bit is set, the external wake-up pin WKUP5 is enabled and triggers a wake-up from Standby or Shutdown event when a rising or a falling edge occurs.The active edge is configured via the WP5 bit in the PWR_CR4 register. + /// Enable Wake-up pin WKUP5 When this bit is set, the external wake-up pin WKUP5 is enabled and triggers a wake-up from Standby or Shutdown event when a rising or a falling edge occurs.The active edge is configured via the WP5 bit in the PWR_CR4 register. EWUP5: u1, reserved6: u1, - /// Enable Wake-up pin WKUP7. When this bit is set, the external wake-up pin WKUP7 is enabled and triggers a wake-up from Standby or Shutdown event when a rising or a falling edge occurs.The active edge is configured via the WP7 bit in the PWR_CR4 register. + /// Enable Wake-up pin WKUP7. When this bit is set, the external wake-up pin WKUP7 is enabled and triggers a wake-up from Standby or Shutdown event when a rising or a falling edge occurs.The active edge is configured via the WP7 bit in the PWR_CR4 register. EWUP7: u1, reserved8: u1, - /// SRAM2 retention in Standby mode + /// SRAM2 retention in Standby mode RRS: u1, - /// Enable ULP sampling When this bit is set, the BORL, BORH and PVD are periodically sampled instead continuous monitoring to reduce power consumption. Fast supply drop between two sample/compare phases is not detected in this mode. This bit has impact only on STOP2, Standby and shutdown low power modes. + /// Enable ULP sampling When this bit is set, the BORL, BORH and PVD are periodically sampled instead continuous monitoring to reduce power consumption. Fast supply drop between two sample/compare phases is not detected in this mode. This bit has impact only on STOP2, Standby and shutdown low power modes. ENULP: u1, - /// Apply pull-up and pull-down configuration When this bit is set, the I/O pull-up and pull-down configurations defined in the PWR_PUCRx and PWR_PDCRx registers are applied. When this bit is cleared, the PWR_PUCRx and PWR_PDCRx registers are not applied to the I/Os, instead the I/Os are in floating mode during Standby or configured according GPIO controller GPIOx_PUPDR register during RUN mode. + /// Apply pull-up and pull-down configuration When this bit is set, the I/O pull-up and pull-down configurations defined in the PWR_PUCRx and PWR_PDCRx registers are applied. When this bit is cleared, the PWR_PUCRx and PWR_PDCRx registers are not applied to the I/Os, instead the I/Os are in floating mode during Standby or configured according GPIO controller GPIOx_PUPDR register during RUN mode. APC: u1, reserved15: u4, - /// Enable internal wake-up line + /// Enable internal wake-up line EIWUL: u1, padding: u16, }), - /// Power control register 4 + /// Power control register 4 CR4: mmio.Mmio(packed struct(u32) { - /// Wake-up pin WKUP1 polarity This bit defines the polarity used for an event detection on external wake-up pin, WKUP1 + /// Wake-up pin WKUP1 polarity This bit defines the polarity used for an event detection on external wake-up pin, WKUP1 WP1: u1, - /// Wake-up pin WKUP2 polarity This bit defines the polarity used for an event detection on external wake-up pin, WKUP2 + /// Wake-up pin WKUP2 polarity This bit defines the polarity used for an event detection on external wake-up pin, WKUP2 WP2: u1, - /// Wake-up pin WKUP3 polarity This bit defines the polarity used for an event detection on external wake-up pin, WKUP3 + /// Wake-up pin WKUP3 polarity This bit defines the polarity used for an event detection on external wake-up pin, WKUP3 WP3: u1, - /// Wake-up pin WKUP4 polarity This bit defines the polarity used for an event detection on external wake-up pin, WKUP4 + /// Wake-up pin WKUP4 polarity This bit defines the polarity used for an event detection on external wake-up pin, WKUP4 WP4: u1, - /// Wake-up pin WKUP5 polarity This bit defines the polarity used for an event detection on external wake-up pin, WKUP5 + /// Wake-up pin WKUP5 polarity This bit defines the polarity used for an event detection on external wake-up pin, WKUP5 WP5: u1, reserved6: u1, - /// Wake-up pin WKUP7 polarity This bit defines the polarity used for an event detection on external wake-up pin, WKUP7 + /// Wake-up pin WKUP7 polarity This bit defines the polarity used for an event detection on external wake-up pin, WKUP7 WP7: u1, reserved8: u1, - /// VBAT battery charging enable + /// VBAT battery charging enable VBE: u1, - /// VBAT battery charging resistor selection + /// VBAT battery charging resistor selection VBRS: u1, padding: u22, }), - /// Power status register 1 + /// Power status register 1 SR1: mmio.Mmio(packed struct(u32) { - /// Wake-up flag 1 This bit is set when a wake-up event is detected on wake-up pin, WKUP1. It is cleared by writing 1 in the CWUF1 bit of the PWR_SCR register. + /// Wake-up flag 1 This bit is set when a wake-up event is detected on wake-up pin, WKUP1. It is cleared by writing 1 in the CWUF1 bit of the PWR_SCR register. WUF1: u1, - /// Wake-up flag 2 This bit is set when a wake-up event is detected on wake-up pin, WKUP2. It is cleared by writing 1 in the CWUF2 bit of the PWR_SCR register. + /// Wake-up flag 2 This bit is set when a wake-up event is detected on wake-up pin, WKUP2. It is cleared by writing 1 in the CWUF2 bit of the PWR_SCR register. WUF2: u1, - /// Wake-up flag 3 This bit is set when a wake-up event is detected on wake-up pin, WKUP3. It is cleared by writing 1 in the CWUF3 bit of the PWR_SCR register. + /// Wake-up flag 3 This bit is set when a wake-up event is detected on wake-up pin, WKUP3. It is cleared by writing 1 in the CWUF3 bit of the PWR_SCR register. WUF3: u1, - /// Wake-up flag 4 This bit is set when a wake-up event is detected on wake-up pin,WKUP4. It is cleared by writing 1 in the CWUF4 bit of the PWR_SCR register. + /// Wake-up flag 4 This bit is set when a wake-up event is detected on wake-up pin,WKUP4. It is cleared by writing 1 in the CWUF4 bit of the PWR_SCR register. WUF4: u1, - /// Wake-up flag 5 This bit is set when a wake-up event is detected on wake-up pin, WKUP5. It is cleared by writing 1 in the CWUF5 bit of the PWR_SCR register. + /// Wake-up flag 5 This bit is set when a wake-up event is detected on wake-up pin, WKUP5. It is cleared by writing 1 in the CWUF5 bit of the PWR_SCR register. WUF5: u1, reserved6: u1, - /// Wake-up flag 7 This bit is set when a wake-up event is detected on wake-up pin, WKUP7. It is cleared by writing 1 in the CWUF7 bit of the PWR_SCR register. + /// Wake-up flag 7 This bit is set when a wake-up event is detected on wake-up pin, WKUP7. It is cleared by writing 1 in the CWUF7 bit of the PWR_SCR register. WUF7: u1, reserved8: u1, - /// Standby flag This bit is set by hardware when the device enters the Standby mode and is cleared by setting the CSBF bit in the PWR_SCR register, or by a power-on reset. It is not cleared by the system reset. + /// Standby flag This bit is set by hardware when the device enters the Standby mode and is cleared by setting the CSBF bit in the PWR_SCR register, or by a power-on reset. It is not cleared by the system reset. SBF: u1, - /// Stop Flags These bits are set by hardware when the device enters any stop mode and are cleared by setting the CSBF bit in the PWR_SCR register, or by a power-on reset. It is not cleared by the system reset. - STOPF: packed union { - raw: u3, - value: STOPF, - }, + /// Stop Flags These bits are set by hardware when the device enters any stop mode and are cleared by setting the CSBF bit in the PWR_SCR register, or by a power-on reset. It is not cleared by the system reset. + STOPF: STOPF, reserved15: u3, - /// Wake-up flag internal This bit is set when a wake-up is detected on the internal wake-up line. It is cleared when all internal wake-up sources are cleared. + /// Wake-up flag internal This bit is set when a wake-up is detected on the internal wake-up line. It is cleared when all internal wake-up sources are cleared. WUFI: u1, padding: u16, }), - /// Power status register 2 + /// Power status register 2 SR2: mmio.Mmio(packed struct(u32) { reserved7: u7, - /// Flash ready flag This bit is set by hardware to indicate when the flash memory is readey to be accessed after wake-up from power-down. To place the flash memory in power-down, set either FPD_LPRUN, FPD_LPSLP or FPD_STP bits. Note : If the system boots from SRAM, the user application must wait until the FLASH_RDY bit is set, prior to jumping to flash memory. + /// Flash ready flag This bit is set by hardware to indicate when the flash memory is readey to be accessed after wake-up from power-down. To place the flash memory in power-down, set either FPD_LPRUN, FPD_LPSLP or FPD_STP bits. Note : If the system boots from SRAM, the user application must wait until the FLASH_RDY bit is set, prior to jumping to flash memory. FLASH_RDY: u1, - /// Low-power regulator started This bit provides the information whether the low-power regulator is ready after a power-on reset or a Standby/Shutdown. If the Standby mode is entered while REGLPS bit is still cleared, the wake-up from Standby mode time may be increased. + /// Low-power regulator started This bit provides the information whether the low-power regulator is ready after a power-on reset or a Standby/Shutdown. If the Standby mode is entered while REGLPS bit is still cleared, the wake-up from Standby mode time may be increased. REGLPS: u1, - /// Low-power regulator flag This bit is set by hardware when the MCU is in Low-power run mode. When the MCU exits from the Low-power run mode, this bit remains at 1 until the regulator is ready in main mode. A polling on this bit must be done before increasing the product frequency. This bit is cleared by hardware when the regulator is ready. + /// Low-power regulator flag This bit is set by hardware when the MCU is in Low-power run mode. When the MCU exits from the Low-power run mode, this bit remains at 1 until the regulator is ready in main mode. A polling on this bit must be done before increasing the product frequency. This bit is cleared by hardware when the regulator is ready. REGLPF: u1, - /// Voltage scaling flag A delay is required for the internal regulator to be ready after the voltage scaling has been changed. VOSF indicates that the regulator reached the voltage level defined with VOS bits of the PWR_CR1 register. + /// Voltage scaling flag A delay is required for the internal regulator to be ready after the voltage scaling has been changed. VOSF indicates that the regulator reached the voltage level defined with VOS bits of the PWR_CR1 register. VOSF: u1, - /// Programmable voltage detector output + /// Programmable voltage detector output PVDO: u1, - /// Peripheral voltage monitoring output: VDDUSB vs. 1.2 V Note: PVMO1 is cleared when PVM1 is disabled (PVME1 = 0). After enabling PVM1, the PVM1 output is valid after the PVM1 wake-up time. + /// Peripheral voltage monitoring output: VDDUSB vs. 1.2 V Note: PVMO1 is cleared when PVM1 is disabled (PVME1 = 0). After enabling PVM1, the PVM1 output is valid after the PVM1 wake-up time. PVMO1: u1, reserved14: u1, - /// Peripheral voltage monitoring output: VDDA vs. 1.621V Note: PVMO3 is cleared when PVM3 is disabled (PVME3 = 0). After enabling PVM3, the PVM3 output is valid after the PVM3 wake-up time. + /// Peripheral voltage monitoring output: VDDA vs. 1.621V Note: PVMO3 is cleared when PVM3 is disabled (PVME3 = 0). After enabling PVM3, the PVM3 output is valid after the PVM3 wake-up time. PVMO3: u1, - /// Peripheral voltage monitoring output: VDDA vs. 2.21V Note: PVMO4 is cleared when PVM4 is disabled (PVME4 = 0). After enabling PVM4, the PVM4 output is valid after the PVM4 wake-up time. + /// Peripheral voltage monitoring output: VDDA vs. 2.21V Note: PVMO4 is cleared when PVM4 is disabled (PVME4 = 0). After enabling PVM4, the PVM4 output is valid after the PVM4 wake-up time. PVMO4: u1, padding: u16, }), - /// Power status clear register + /// Power status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear wake-up flag 1 Setting this bit clears the WUF1 flag in the PWR_SR1 register. + /// Clear wake-up flag 1 Setting this bit clears the WUF1 flag in the PWR_SR1 register. CWUF1: u1, - /// Clear wake-up flag 2 Setting this bit clears the WUF2 flag in the PWR_SR1 register. + /// Clear wake-up flag 2 Setting this bit clears the WUF2 flag in the PWR_SR1 register. CWUF2: u1, - /// Clear wake-up flag 3 Setting this bit clears the WUF3 flag in the PWR_SR1 register. + /// Clear wake-up flag 3 Setting this bit clears the WUF3 flag in the PWR_SR1 register. CWUF3: u1, - /// Clear wake-up flag 4 Setting this bit clears the WUF4 flag in the PWR_SR1 register. + /// Clear wake-up flag 4 Setting this bit clears the WUF4 flag in the PWR_SR1 register. CWUF4: u1, - /// Clear wake-up flag 5 Setting this bit clears the WUF5 flag in the PWR_SR1 register. + /// Clear wake-up flag 5 Setting this bit clears the WUF5 flag in the PWR_SR1 register. CWUF5: u1, reserved6: u1, - /// Clear wake-up flag 7 Setting this bit clears the WUF7 flag in the PWR_SR1 register. + /// Clear wake-up flag 7 Setting this bit clears the WUF7 flag in the PWR_SR1 register. CWUF7: u1, reserved8: u1, - /// Clear standby flag Setting this bit clears the SBF flag in the PWR_SR1 register. + /// Clear standby flag Setting this bit clears the SBF flag in the PWR_SR1 register. CSBF: u1, padding: u23, }), reserved32: [4]u8, - /// Power Port A pull-up control register + /// Power Port A pull-up control register PUCRA: mmio.Mmio(packed struct(u32) { - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU0: u1, - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU1: u1, - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU2: u1, - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU3: u1, - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU4: u1, - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU5: u1, - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU6: u1, - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU7: u1, - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU8: u1, - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU9: u1, - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU10: u1, - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU11: u1, - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU12: u1, - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU13: u1, - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU14: u1, - /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port A pull-up bit y (y1=115 to 0) When set, this bit activates the pull-up on PA[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU15: u1, padding: u16, }), - /// Power Port A pull-down control register + /// Power Port A pull-down control register PDCRA: mmio.Mmio(packed struct(u32) { - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD0: u1, - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD1: u1, - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD2: u1, - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD3: u1, - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD4: u1, - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD5: u1, - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD6: u1, - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD7: u1, - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD8: u1, - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD9: u1, - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD10: u1, - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD11: u1, - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD12: u1, - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD13: u1, - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD14: u1, - /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. + /// Port A pull-down bit y When set, this bit activates the pull-down on PA[y] when APC bit is set in PWR_CR3 register. PD15: u1, padding: u16, }), - /// Power Port B pull-up control register + /// Power Port B pull-up control register PUCRB: mmio.Mmio(packed struct(u32) { - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU0: u1, - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU1: u1, - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU2: u1, - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU3: u1, - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU4: u1, - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU5: u1, - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU6: u1, - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU7: u1, - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU8: u1, - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU9: u1, - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU10: u1, - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU11: u1, - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU12: u1, - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU13: u1, - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU14: u1, - /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-up bit y When set, this bit activates the pull-up on PB[y] when APC bit is set in PWR_CR3 register. PU15: u1, padding: u16, }), - /// Power Port B pull-down control register + /// Power Port B pull-down control register PDCRB: mmio.Mmio(packed struct(u32) { - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD0: u1, - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD1: u1, - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD2: u1, - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD3: u1, - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD4: u1, - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD5: u1, - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD6: u1, - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD7: u1, - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD8: u1, - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD9: u1, - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD10: u1, - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD11: u1, - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD12: u1, - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD13: u1, - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD14: u1, - /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. + /// Port B pull-down bit y When set, this bit activates the pull-down on PB[y] when APC bit is set in PWR_CR3 register. PD15: u1, padding: u16, }), - /// Power Port C pull-up control register + /// Power Port C pull-up control register PUCRC: mmio.Mmio(packed struct(u32) { - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU0: u1, - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU1: u1, - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU2: u1, - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU3: u1, - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU4: u1, - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU5: u1, - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU6: u1, - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU7: u1, - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU8: u1, - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU9: u1, - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU10: u1, - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU11: u1, - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU12: u1, - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU13: u1, - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU14: u1, - /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port C pull-up bit y When set, this bit activates the pull-up on PC[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU15: u1, padding: u16, }), - /// Power Port C pull-down control register + /// Power Port C pull-down control register PDCRC: mmio.Mmio(packed struct(u32) { - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD0: u1, - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD1: u1, - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD2: u1, - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD3: u1, - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD4: u1, - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD5: u1, - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD6: u1, - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD7: u1, - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD8: u1, - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD9: u1, - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD10: u1, - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD11: u1, - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD12: u1, - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD13: u1, - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD14: u1, - /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. + /// Port C pull-down bit y When set, this bit activates the pull-down on PC[y] when APC bit is set in PWR_CR3 register. PD15: u1, padding: u16, }), - /// Power Port D pull-up control register + /// Power Port D pull-up control register PUCRD: mmio.Mmio(packed struct(u32) { - /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU0: u1, - /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU1: u1, - /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU2: u1, - /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU3: u1, - /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU4: u1, - /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU5: u1, - /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU6: u1, reserved8: u1, - /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU8: u1, - /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU9: u1, - /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU10: u1, - /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU11: u1, - /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU12: u1, - /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port D pull-up bit y When set, this bit activates the pull-up on PD[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU13: u1, padding: u18, }), - /// Power Port D pull-down control register + /// Power Port D pull-down control register PDCRD: mmio.Mmio(packed struct(u32) { - /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. + /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. PD0: u1, - /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. + /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. PD1: u1, - /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. + /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. PD2: u1, - /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. + /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. PD3: u1, - /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. + /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. PD4: u1, - /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. + /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. PD5: u1, - /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. + /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. PD6: u1, reserved8: u1, - /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. + /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. PD8: u1, - /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. + /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. PD9: u1, - /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. + /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. PD10: u1, - /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. + /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. PD11: u1, - /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. + /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. PD12: u1, - /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. + /// Port D pull-down bit y When set, this bit activates the pull-down on PD[y] when APC bit is set in PWR_CR3 register. PD13: u1, padding: u18, }), - /// Power Port E pull-up control register + /// Power Port E pull-up control register PUCRE: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Port E pull-up bit 3 When set, this bit activates the pull-up on PE[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port E pull-up bit 3 When set, this bit activates the pull-up on PE[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU3: u1, reserved7: u3, - /// Port E pull-up bit y When set, this bit activates the pull-up on PE[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port E pull-up bit y When set, this bit activates the pull-up on PE[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU7: u1, - /// Port E pull-up bit y When set, this bit activates the pull-up on PE[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port E pull-up bit y When set, this bit activates the pull-up on PE[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU8: u1, - /// Port E pull-up bit y When set, this bit activates the pull-up on PE[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port E pull-up bit y When set, this bit activates the pull-up on PE[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU9: u1, padding: u22, }), - /// Power Port E pull-down control register + /// Power Port E pull-down control register PDCRE: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Port E pull-down bit 3 When set, this bit activates the pull-down on PE[y] when APC bit is set in PWR_CR3 register. + /// Port E pull-down bit 3 When set, this bit activates the pull-down on PE[y] when APC bit is set in PWR_CR3 register. PD3: u1, reserved7: u3, - /// Port E pull-down bit y When set, this bit activates the pull-down on PE[y] when APC bit is set in PWR_CR3 register. + /// Port E pull-down bit y When set, this bit activates the pull-down on PE[y] when APC bit is set in PWR_CR3 register. PD7: u1, - /// Port E pull-down bit y When set, this bit activates the pull-down on PE[y] when APC bit is set in PWR_CR3 register. + /// Port E pull-down bit y When set, this bit activates the pull-down on PE[y] when APC bit is set in PWR_CR3 register. PD8: u1, - /// Port E pull-down bit y When set, this bit activates the pull-down on PE[y] when APC bit is set in PWR_CR3 register. + /// Port E pull-down bit y When set, this bit activates the pull-down on PE[y] when APC bit is set in PWR_CR3 register. PD9: u1, padding: u22, }), - /// Power Port F pull-up control register + /// Power Port F pull-up control register PUCRF: mmio.Mmio(packed struct(u32) { - /// Port F pull-up bit y When set, this bit activates the pull-up on PH[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port F pull-up bit y When set, this bit activates the pull-up on PH[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU0: u1, - /// Port F pull-up bit y When set, this bit activates the pull-up on PH[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port F pull-up bit y When set, this bit activates the pull-up on PH[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU1: u1, - /// Port F pull-up bit y When set, this bit activates the pull-up on PH[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port F pull-up bit y When set, this bit activates the pull-up on PH[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU2: u1, - /// Port F pull-up bit y When set, this bit activates the pull-up on PH[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. + /// Port F pull-up bit y When set, this bit activates the pull-up on PH[y] when APC bit is set in PWR_CR3 register. If the corresponding PDy bit is also set, the pull-up is not activated and the pull-down is activated instead with highest priority. PU3: u1, padding: u28, }), - /// Power Port F pull-down control register + /// Power Port F pull-down control register PDCRF: mmio.Mmio(packed struct(u32) { - /// Port F pull-down bit y When set, this bit activates the pull-down on PH[y] when APC bit is set in PWR_CR3 register. + /// Port F pull-down bit y When set, this bit activates the pull-down on PH[y] when APC bit is set in PWR_CR3 register. PD0: u1, - /// Port F pull-down bit y When set, this bit activates the pull-down on PH[y] when APC bit is set in PWR_CR3 register. + /// Port F pull-down bit y When set, this bit activates the pull-down on PH[y] when APC bit is set in PWR_CR3 register. PD1: u1, - /// Port F pull-down bit y When set, this bit activates the pull-down on PH[y] when APC bit is set in PWR_CR3 register. + /// Port F pull-down bit y When set, this bit activates the pull-down on PH[y] when APC bit is set in PWR_CR3 register. PD2: u1, - /// Port F pull-down bit y When set, this bit activates the pull-down on PH[y] when APC bit is set in PWR_CR3 register. + /// Port F pull-down bit y When set, this bit activates the pull-down on PH[y] when APC bit is set in PWR_CR3 register. PD3: u1, padding: u28, }), @@ -362143,596 +357856,458 @@ pub const types = struct { pub const pwr_u5 = struct { pub const ACTVOS = enum(u2) { - /// Range 4 (lowest power) + /// Range 4 (lowest power) Range4 = 0x0, - /// Range 3 + /// Range 3 Range3 = 0x1, - /// Range 2 + /// Range 2 Range2 = 0x2, - /// Range 1 (highest frequency) + /// Range 1 (highest frequency) Range1 = 0x3, }; pub const FLASHFWU = enum(u1) { - /// Flash memory enters low-power mode in Stop 0 and Stop 1 modes (lower-power consumption). + /// Flash memory enters low-power mode in Stop 0 and Stop 1 modes (lower-power consumption). LowPower = 0x0, - /// Flash memory remains in normal mode in Stop 0 and Stop 1 modes (faster wakeup time). + /// Flash memory remains in normal mode in Stop 0 and Stop 1 modes (faster wakeup time). Normal = 0x1, }; pub const LPMS = enum(u3) { - /// Stop 0 mode + /// Stop 0 mode Stop0 = 0x0, - /// Stop 1 mode + /// Stop 1 mode Stop1 = 0x1, - /// Stop 2 mode + /// Stop 2 mode Stop2 = 0x2, - /// Stop 3 mode + /// Stop 3 mode Stop3 = 0x3, _, }; pub const PDS = enum(u1) { - /// Content retained in Stop modes + /// Content retained in Stop modes Retained = 0x0, - /// Content lost in Stop modes + /// Content lost in Stop modes Lost = 0x1, }; pub const PVDLS = enum(u3) { - /// VPVD0 around 2.0 V + /// VPVD0 around 2.0 V v20 = 0x0, - /// VPVD1 around 2.2 V + /// VPVD1 around 2.2 V v22 = 0x1, - /// VPVD2 around 2.4 V + /// VPVD2 around 2.4 V v24 = 0x2, - /// VPVD3 around 2.5 V + /// VPVD3 around 2.5 V v25 = 0x3, - /// VPVD4 around 2.6 V + /// VPVD4 around 2.6 V v26 = 0x4, - /// VPVD5 around 2.8 V + /// VPVD5 around 2.8 V v28 = 0x5, - /// VPVD6 around 2.9 V + /// VPVD6 around 2.9 V v29 = 0x6, - /// External input analog voltage PVD_IN (compared internally to VREFINT) + /// External input analog voltage PVD_IN (compared internally to VREFINT) pvd_in = 0x7, }; pub const PVDO = enum(u1) { - /// VDD is equal or above the PVD threshold selected by PVDLS[2:0]. + /// VDD is equal or above the PVD threshold selected by PVDLS[2:0]. AboveOrEqual = 0x0, - /// VDD is below the PVD threshold selected by PVDLS[2:0]. + /// VDD is below the PVD threshold selected by PVDLS[2:0]. Below = 0x1, }; pub const REGSEL = enum(u1) { - /// LDO selected + /// LDO selected LDO = 0x0, - /// SMPS selected + /// SMPS selected SMPS = 0x1, }; pub const SRAMFWU = enum(u1) { - /// SRAM4 enters low-power mode in Stop 0, 1 and 2 modes (source biasing for lower-power consumption). + /// SRAM4 enters low-power mode in Stop 0, 1 and 2 modes (source biasing for lower-power consumption). B_0x0 = 0x0, - /// SRAM4 remains in normal mode in Stop 0, 1 and 2 modes (higher consumption but no SRAM4 wakeup time). + /// SRAM4 remains in normal mode in Stop 0, 1 and 2 modes (higher consumption but no SRAM4 wakeup time). B_0x1 = 0x1, }; pub const SRAMPD = enum(u1) { - /// SRAM1 powered on + /// SRAM1 powered on PoweredOn = 0x0, - /// SRAM1 powered off + /// SRAM1 powered off PoweredOff = 0x1, }; pub const TEMPH = enum(u1) { - /// Temperature < high threshold + /// Temperature < high threshold B_0x0 = 0x0, - /// Temperature ≥ high threshold + /// Temperature ≥ high threshold B_0x1 = 0x1, }; pub const TEMPL = enum(u1) { - /// Temperature > low threshold + /// Temperature > low threshold B_0x0 = 0x0, - /// Temperature ≤ low threshold + /// Temperature ≤ low threshold B_0x1 = 0x1, }; pub const VBATH = enum(u1) { - /// Backup domain voltage level < high threshold + /// Backup domain voltage level < high threshold B_0x0 = 0x0, - /// Backup domain voltage level ≥ high threshold + /// Backup domain voltage level ≥ high threshold B_0x1 = 0x1, }; pub const VBE = enum(u1) { - /// VBAT battery charging disabled + /// VBAT battery charging disabled B_0x0 = 0x0, - /// VBAT battery charging enabled + /// VBAT battery charging enabled B_0x1 = 0x1, }; pub const VBRS = enum(u1) { - /// Charge VBAT through a 5 kΩ resistor + /// Charge VBAT through a 5 kΩ resistor B_0x0 = 0x0, - /// Charge VBAT through a 1.5 kΩ resistor + /// Charge VBAT through a 1.5 kΩ resistor B_0x1 = 0x1, }; pub const VOS = enum(u2) { - /// Range 4 (lowest power) + /// Range 4 (lowest power) Range4 = 0x0, - /// Range 3 + /// Range 3 Range3 = 0x1, - /// Range 2 + /// Range 2 Range2 = 0x2, - /// Range 1 (highest frequency). This value cannot be written when VCOREMEN = 1 in TAMP_OR register. + /// Range 1 (highest frequency). This value cannot be written when VCOREMEN = 1 in TAMP_OR register. Range1 = 0x3, }; pub const WUPP = enum(u1) { - /// Detection on high level (rising edge) + /// Detection on high level (rising edge) High = 0x0, - /// Detection on low level (falling edge) + /// Detection on low level (falling edge) Low = 0x1, }; pub const WUSEL = enum(u2) { - /// WKUP7_0 + /// WKUP7_0 B_0x0 = 0x0, - /// WKUP7_1 + /// WKUP7_1 B_0x1 = 0x1, - /// WKUP7_2 + /// WKUP7_2 B_0x2 = 0x2, - /// WKUP7_3 + /// WKUP7_3 B_0x3 = 0x3, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Low-power mode selection These bits select the low-power mode entered when the CPU enters the Deepsleep mode. 10x: Standby mode (Standby mode also entered if LPMS=11X in CR1 with BREN=1 in BDCR1) 11x: Shutdown mode if BREN = 0 in BDCR1 - LPMS: packed union { - raw: u3, - value: LPMS, - }, + /// Low-power mode selection These bits select the low-power mode entered when the CPU enters the Deepsleep mode. 10x: Standby mode (Standby mode also entered if LPMS=11X in CR1 with BREN=1 in BDCR1) 11x: Shutdown mode if BREN = 0 in BDCR1 + LPMS: LPMS, reserved5: u2, - /// SRAM2 page 1 retention in Stop 3 and Standby modes This bit is used to keep the SRAM2 page 1 content in Stop 3 and Standby modes. The SRAM2 page 1 corresponds to the first 8 Kbytes of the SRAM2 (from SRAM2 base address to SRAM2 base address + 0x1FFF). Note: This bit has no effect in Shutdown mode. + /// SRAM2 page 1 retention in Stop 3 and Standby modes This bit is used to keep the SRAM2 page 1 content in Stop 3 and Standby modes. The SRAM2 page 1 corresponds to the first 8 Kbytes of the SRAM2 (from SRAM2 base address to SRAM2 base address + 0x1FFF). Note: This bit has no effect in Shutdown mode. RRSB1: u1, - /// SRAM2 page 2 retention in Stop 3 and Standby modes This bit is used to keep the SRAM2 page 2 content in Stop 3 and Standby modes. The SRAM2 page 2 corresponds to the last 56 Kbytes of the SRAM2 (from SRAM2 base address + 0x2000 to SRAM2 base address + 0xFFFF). Note: This bit has no effect in Shutdown mode. + /// SRAM2 page 2 retention in Stop 3 and Standby modes This bit is used to keep the SRAM2 page 2 content in Stop 3 and Standby modes. The SRAM2 page 2 corresponds to the last 56 Kbytes of the SRAM2 (from SRAM2 base address + 0x2000 to SRAM2 base address + 0xFFFF). Note: This bit has no effect in Shutdown mode. RRSB2: u1, - /// BOR ultra-low power mode This bit is used to reduce the consumption by configuring the BOR in discontinuous mode. This bit must be set to reach the lowest power consumption in the low-power modes. + /// BOR ultra-low power mode This bit is used to reduce the consumption by configuring the BOR in discontinuous mode. This bit must be set to reach the lowest power consumption in the low-power modes. ULPMEN: u1, - /// SRAM1 power down This bit is used to reduce the consumption by powering off the SRAM1. - SRAM1PD: packed union { - raw: u1, - value: SRAMPD, - }, - /// SRAM2 power down This bit is used to reduce the consumption by powering off the SRAM2. - SRAM2PD: packed union { - raw: u1, - value: SRAMPD, - }, - /// SRAM3 power down This bit is used to reduce the consumption by powering off the SRAM3. - SRAM3PD: packed union { - raw: u1, - value: SRAMPD, - }, - /// SRAM4 power down This bit is used to reduce the consumption by powering off the SRAM4. - SRAM4PD: packed union { - raw: u1, - value: SRAMPD, - }, + /// SRAM1 power down This bit is used to reduce the consumption by powering off the SRAM1. + SRAM1PD: SRAMPD, + /// SRAM2 power down This bit is used to reduce the consumption by powering off the SRAM2. + SRAM2PD: SRAMPD, + /// SRAM3 power down This bit is used to reduce the consumption by powering off the SRAM3. + SRAM3PD: SRAMPD, + /// SRAM4 power down This bit is used to reduce the consumption by powering off the SRAM4. + SRAM4PD: SRAMPD, padding: u20, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// SRAM1 page 1 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) - SRAM1PDS1: packed union { - raw: u1, - value: PDS, - }, - /// SRAM1 page 2 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) - SRAM1PDS2: packed union { - raw: u1, - value: PDS, - }, - /// SRAM1 page 3 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) - SRAM1PDS3: packed union { - raw: u1, - value: PDS, - }, + /// SRAM1 page 1 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) + SRAM1PDS1: PDS, + /// SRAM1 page 2 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) + SRAM1PDS2: PDS, + /// SRAM1 page 3 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) + SRAM1PDS3: PDS, reserved4: u1, - /// SRAM2 page 1 (8 Kbytes) power-down in Stop modes (Stop 0, 1, 2) Note: The SRAM2 page 1 retention in Stop 3 is controlled by RRSB1 bit in CR1. - SRAM2PDS1: packed union { - raw: u1, - value: PDS, - }, - /// SRAM2 page 2 (56 Kbytes) power-down in Stop modes (Stop 0, 1, 2) Note: The SRAM2 page 2 retention in Stop 3 is controlled by RRSB2 bit in CR1. - SRAM2PDS2: packed union { - raw: u1, - value: PDS, - }, - /// SRAM4 power-down in Stop modes (Stop 0, 1, 2, 3) - SRAM4PDS: packed union { - raw: u1, - value: PDS, - }, + /// SRAM2 page 1 (8 Kbytes) power-down in Stop modes (Stop 0, 1, 2) Note: The SRAM2 page 1 retention in Stop 3 is controlled by RRSB1 bit in CR1. + SRAM2PDS1: PDS, + /// SRAM2 page 2 (56 Kbytes) power-down in Stop modes (Stop 0, 1, 2) Note: The SRAM2 page 2 retention in Stop 3 is controlled by RRSB2 bit in CR1. + SRAM2PDS2: PDS, + /// SRAM4 power-down in Stop modes (Stop 0, 1, 2, 3) + SRAM4PDS: PDS, reserved8: u1, - /// ICACHE SRAM power-down in Stop modes (Stop 0, 1, 2, 3) - ICRAMPDS: packed union { - raw: u1, - value: PDS, - }, - /// DCACHE1 SRAM power-down in Stop modes (Stop 0, 1, 2, 3) - DC1RAMPDS: packed union { - raw: u1, - value: PDS, - }, - /// DMA2D SRAM power-down in Stop modes (Stop 0, 1, 2, 3) - DMA2DRAMPDS: packed union { - raw: u1, - value: PDS, - }, - /// FMAC, FDCAN and USB peripherals SRAM power-down in Stop modes (Stop0,1,2,3) - PRAMPDS: packed union { - raw: u1, - value: PDS, - }, - /// PKA SRAM power-down - PKARAMPDS: packed union { - raw: u1, - value: PDS, - }, - /// SRAM4 fast wakeup from Stop 0, Stop 1 and Stop 2 modes This bit is used to obtain the best trade-off between low-power consumption and wakeup time. SRAM4 wakeup time increases the wakeup time when exiting Stop 0, 1 and 2 modes, and also increases the LPDMA access time to SRAM4 during Stop modes. - SRAM4FWU: packed union { - raw: u1, - value: SRAMFWU, - }, - /// Flash memory fast wakeup from Stop 0 and Stop 1 modes This bit is used to obtain the best trade-off between low-power consumption and wakeup time when exiting the Stop 0 or Stop 1 modes. When this bit is set, the Flash memory remains in normal mode in Stop 0 and Stop 1 modes, which offers a faster startup time with higher consumption. - FLASHFWU: packed union { - raw: u1, - value: FLASHFWU, - }, + /// ICACHE SRAM power-down in Stop modes (Stop 0, 1, 2, 3) + ICRAMPDS: PDS, + /// DCACHE1 SRAM power-down in Stop modes (Stop 0, 1, 2, 3) + DC1RAMPDS: PDS, + /// DMA2D SRAM power-down in Stop modes (Stop 0, 1, 2, 3) + DMA2DRAMPDS: PDS, + /// FMAC, FDCAN and USB peripherals SRAM power-down in Stop modes (Stop0,1,2,3) + PRAMPDS: PDS, + /// PKA SRAM power-down + PKARAMPDS: PDS, + /// SRAM4 fast wakeup from Stop 0, Stop 1 and Stop 2 modes This bit is used to obtain the best trade-off between low-power consumption and wakeup time. SRAM4 wakeup time increases the wakeup time when exiting Stop 0, 1 and 2 modes, and also increases the LPDMA access time to SRAM4 during Stop modes. + SRAM4FWU: SRAMFWU, + /// Flash memory fast wakeup from Stop 0 and Stop 1 modes This bit is used to obtain the best trade-off between low-power consumption and wakeup time when exiting the Stop 0 or Stop 1 modes. When this bit is set, the Flash memory remains in normal mode in Stop 0 and Stop 1 modes, which offers a faster startup time with higher consumption. + FLASHFWU: FLASHFWU, reserved16: u1, - /// SRAM3 page 1 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) - SRAM3PDS1: packed union { - raw: u1, - value: PDS, - }, - /// SRAM3 page 2 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) - SRAM3PDS2: packed union { - raw: u1, - value: PDS, - }, - /// SRAM3 page 3 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) - SRAM3PDS3: packed union { - raw: u1, - value: PDS, - }, - /// SRAM3 page 4 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) - SRAM3PDS4: packed union { - raw: u1, - value: PDS, - }, - /// SRAM3 page 5 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) - SRAM3PDS5: packed union { - raw: u1, - value: PDS, - }, - /// SRAM3 page 6 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) - SRAM3PDS6: packed union { - raw: u1, - value: PDS, - }, - /// SRAM3 page 7 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) - SRAM3PDS7: packed union { - raw: u1, - value: PDS, - }, - /// SRAM3 page 8 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) - SRAM3PDS8: packed union { - raw: u1, - value: PDS, - }, + /// SRAM3 page 1 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) + SRAM3PDS1: PDS, + /// SRAM3 page 2 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) + SRAM3PDS2: PDS, + /// SRAM3 page 3 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) + SRAM3PDS3: PDS, + /// SRAM3 page 4 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) + SRAM3PDS4: PDS, + /// SRAM3 page 5 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) + SRAM3PDS5: PDS, + /// SRAM3 page 6 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) + SRAM3PDS6: PDS, + /// SRAM3 page 7 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) + SRAM3PDS7: PDS, + /// SRAM3 page 8 (64 Kbytes) power-down in Stop modes (Stop 0, 1, 2, 3) + SRAM3PDS8: PDS, reserved31: u7, - /// SmartRun domain in Run mode + /// SmartRun domain in Run mode SRDRUN: u1, }), - /// control register 3 + /// control register 3 CR3: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Regulator selection Note: REGSEL is reserved and must be kept at reset value in packages without SMPS. - REGSEL: packed union { - raw: u1, - value: REGSEL, - }, - /// Fast soft start + /// Regulator selection Note: REGSEL is reserved and must be kept at reset value in packages without SMPS. + REGSEL: REGSEL, + /// Fast soft start FSTEN: u1, padding: u29, }), - /// voltage scaling register + /// voltage scaling register VOSR: mmio.Mmio(packed struct(u32) { reserved14: u14, - /// EPOD booster ready This bit is set to 1 by hardware when the power booster startup time is reached. The system clock frequency can be switched higher than 50 MHz only after this bit is set. + /// EPOD booster ready This bit is set to 1 by hardware when the power booster startup time is reached. The system clock frequency can be switched higher than 50 MHz only after this bit is set. BOOSTRDY: u1, - /// Ready bit for VCORE voltage scaling output selection + /// Ready bit for VCORE voltage scaling output selection VOSRDY: u1, - /// Voltage scaling range selection This field is protected against non-secure access when SYSCLKSEC=1 in RCC_SECCFGR. It is protected against unprivileged access when SYSCLKSEC=1 in RCC_SECCFGR and SPRIV=1 in PRIVCFGR, or when SYSCLKSEC=0 and NSPRIV=1. - VOS: packed union { - raw: u2, - value: VOS, - }, - /// EPOD booster enable + /// Voltage scaling range selection This field is protected against non-secure access when SYSCLKSEC=1 in RCC_SECCFGR. It is protected against unprivileged access when SYSCLKSEC=1 in RCC_SECCFGR and SPRIV=1 in PRIVCFGR, or when SYSCLKSEC=0 and NSPRIV=1. + VOS: VOS, + /// EPOD booster enable BOOSTEN: u1, padding: u13, }), - /// supply voltage monitoring control register + /// supply voltage monitoring control register SVMCR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Power voltage detector enable + /// Power voltage detector enable PVDE: u1, - /// Power voltage detector level selection These bits select the voltage threshold detected by the power voltage detector: - PVDLS: packed union { - raw: u3, - value: PVDLS, - }, + /// Power voltage detector level selection These bits select the voltage threshold detected by the power voltage detector: + PVDLS: PVDLS, reserved24: u16, - /// VDDUSB independent USB voltage monitor enable + /// VDDUSB independent USB voltage monitor enable UVMEN: u1, - /// VDDIO2 independent I/Os voltage monitor enable + /// VDDIO2 independent I/Os voltage monitor enable IO2VMEN: u1, - /// VDDA independent analog supply voltage monitor 1 enable (1.6V threshold) + /// VDDA independent analog supply voltage monitor 1 enable (1.6V threshold) AVM1EN: u1, - /// VDDA independent analog supply voltage monitor 2 enable (1.8V threshold) + /// VDDA independent analog supply voltage monitor 2 enable (1.8V threshold) AVM2EN: u1, - /// VDDUSB independent USB supply valid + /// VDDUSB independent USB supply valid USV: u1, - /// VDDIO2 independent I/Os supply valid This bit is used to validate the VDDIO2 supply for electrical and logical isolation purpose. Setting this bit is mandatory to use PG[15:2]. If VDDIO2 is not always present in the application, the VDDIO2 voltage monitor can be used to determine whether this supply is ready or not. + /// VDDIO2 independent I/Os supply valid This bit is used to validate the VDDIO2 supply for electrical and logical isolation purpose. Setting this bit is mandatory to use PG[15:2]. If VDDIO2 is not always present in the application, the VDDIO2 voltage monitor can be used to determine whether this supply is ready or not. IO2SV: u1, - /// VDDA independent analog supply valid + /// VDDA independent analog supply valid ASV: u1, padding: u1, }), - /// wakeup control register 1 + /// wakeup control register 1 WUCR1: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUP1 enable + /// Wakeup pin WKUP1 enable WUPEN: u1, padding: u31, }), - /// wakeup control register 2 + /// wakeup control register 2 WUCR2: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUP1 polarity. This bit must be configured when WUPEN1 = 0. - WUPP: packed union { - raw: u1, - value: WUPP, - }, + /// Wakeup pin WKUP1 polarity. This bit must be configured when WUPEN1 = 0. + WUPP: WUPP, padding: u31, }), - /// wakeup control register 3 + /// wakeup control register 3 WUCR3: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUP1 selection This field must be configured when WUPEN1 = 0. - WUSEL1: packed union { - raw: u2, - value: WUSEL, - }, - /// Wakeup pin WKUP2 selection This field must be configured when WUPEN2 = 0. - WUSEL2: packed union { - raw: u2, - value: WUSEL, - }, - /// Wakeup pin WKUP3 selection This field must be configured when WUPEN3 = 0. - WUSEL3: packed union { - raw: u2, - value: WUSEL, - }, - /// Wakeup pin WKUP4 selection This field must be configured when WUPEN4 = 0. - WUSEL4: packed union { - raw: u2, - value: WUSEL, - }, - /// Wakeup pin WKUP5 selection This field must be configured when WUPEN5 = 0. - WUSEL5: packed union { - raw: u2, - value: WUSEL, - }, - /// Wakeup pin WKUP6 selection This field must be configured when WUPEN6 = 0. - WUSEL6: packed union { - raw: u2, - value: WUSEL, - }, - /// Wakeup pin WKUP7 selection This field must be configured when WUPEN7 = 0. - WUSEL7: packed union { - raw: u2, - value: WUSEL, - }, - /// Wakeup pin WKUP8 selection This field must be configured when WUPEN8 = 0. - WUSEL8: packed union { - raw: u2, - value: WUSEL, - }, + /// Wakeup pin WKUP1 selection This field must be configured when WUPEN1 = 0. + WUSEL1: WUSEL, + /// Wakeup pin WKUP2 selection This field must be configured when WUPEN2 = 0. + WUSEL2: WUSEL, + /// Wakeup pin WKUP3 selection This field must be configured when WUPEN3 = 0. + WUSEL3: WUSEL, + /// Wakeup pin WKUP4 selection This field must be configured when WUPEN4 = 0. + WUSEL4: WUSEL, + /// Wakeup pin WKUP5 selection This field must be configured when WUPEN5 = 0. + WUSEL5: WUSEL, + /// Wakeup pin WKUP6 selection This field must be configured when WUPEN6 = 0. + WUSEL6: WUSEL, + /// Wakeup pin WKUP7 selection This field must be configured when WUPEN7 = 0. + WUSEL7: WUSEL, + /// Wakeup pin WKUP8 selection This field must be configured when WUPEN8 = 0. + WUSEL8: WUSEL, padding: u16, }), - /// Backup domain control register 1 + /// Backup domain control register 1 BDCR1: mmio.Mmio(packed struct(u32) { - /// Backup RAM retention in Standby and VBAT modes When this bit is set, the backup RAM content is kept in Standby and VBAT modes. If BREN is reset, the backup RAM can still be used in Run, Sleep and Stop modes. However, its content is lost in Standby, Shutdown and VBAT modes. This bit can be written only when the regulator is LDO, which must be configured before switching to SMPS. Note: Backup RAM cannot be preserved in Shutdown mode. + /// Backup RAM retention in Standby and VBAT modes When this bit is set, the backup RAM content is kept in Standby and VBAT modes. If BREN is reset, the backup RAM can still be used in Run, Sleep and Stop modes. However, its content is lost in Standby, Shutdown and VBAT modes. This bit can be written only when the regulator is LDO, which must be configured before switching to SMPS. Note: Backup RAM cannot be preserved in Shutdown mode. BREN: u1, reserved4: u3, - /// Backup domain voltage and temperature monitoring enable + /// Backup domain voltage and temperature monitoring enable MONEN: u1, padding: u27, }), - /// Backup domain control register 2 + /// Backup domain control register 2 BDCR2: mmio.Mmio(packed struct(u32) { - /// VBAT charging enable - VBE: packed union { - raw: u1, - value: VBE, - }, - /// VBAT charging resistor selection - VBRS: packed union { - raw: u1, - value: VBRS, - }, + /// VBAT charging enable + VBE: VBE, + /// VBAT charging resistor selection + VBRS: VBRS, padding: u30, }), - /// disable Backup domain register + /// disable Backup domain register DBPCR: mmio.Mmio(packed struct(u32) { - /// Disable Backup domain write protection In reset state, all registers and SRAM in Backup domain are protected against parasitic write access. This bit must be set to enable the write access to these registers. + /// Disable Backup domain write protection In reset state, all registers and SRAM in Backup domain are protected against parasitic write access. This bit must be set to enable the write access to these registers. DBP: u1, padding: u31, }), - /// USB Type-C™ and Power Delivery register + /// USB Type-C™ and Power Delivery register UCPDR: mmio.Mmio(packed struct(u32) { - /// UCPD dead battery disable After exiting reset, the USB Type-C “dead battery” behavior is enabled, which may have a pull-down effect on CC1 and CC2 pins. It is recommended to disable it in all cases, either to stop this pull-down or to handover control to the UCPD (the UCPD must be initialized before doing the disable). + /// UCPD dead battery disable After exiting reset, the USB Type-C “dead battery” behavior is enabled, which may have a pull-down effect on CC1 and CC2 pins. It is recommended to disable it in all cases, either to stop this pull-down or to handover control to the UCPD (the UCPD must be initialized before doing the disable). UCPD_DBDIS: u1, - /// UCPD Standby mode When set, this bit is used to memorize the UCPD configuration in Standby mode. This bit must be written to 1 just before entering Standby mode when using UCPD. It must be written to 0 after exiting the Standby mode and before writing any UCPD registers. + /// UCPD Standby mode When set, this bit is used to memorize the UCPD configuration in Standby mode. This bit must be written to 1 just before entering Standby mode when using UCPD. It must be written to 0 after exiting the Standby mode and before writing any UCPD registers. UCPD_STBY: u1, padding: u30, }), - /// security configuration register + /// security configuration register SECCFGR: mmio.Mmio(packed struct(u32) { - /// WUP1 secure protection + /// WUP1 secure protection WUP1SEC: u1, reserved12: u11, - /// Low-power modes secure protection + /// Low-power modes secure protection LPMSEC: u1, - /// Voltage detection and monitoring secure protection + /// Voltage detection and monitoring secure protection VDMSEC: u1, - /// Backup domain secure protection + /// Backup domain secure protection VBSEC: u1, - /// Pull-up/pull-down secure protection + /// Pull-up/pull-down secure protection APCSEC: u1, padding: u16, }), - /// privilege control register + /// privilege control register PRIVCFGR: mmio.Mmio(packed struct(u32) { - /// secure functions privilege configuration This bit is set and reset by software. It can be written only by a secure privileged access. + /// secure functions privilege configuration This bit is set and reset by software. It can be written only by a secure privileged access. SPRIV: u1, - /// non-secure functions privilege configuration This bit is set and reset by software. It can be written only by privileged access, secure or non-secure. + /// non-secure functions privilege configuration This bit is set and reset by software. It can be written only by privileged access, secure or non-secure. NSPRIV: u1, padding: u30, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Clear Stop and Standby flags This bit is protected against non-secure access when LPMSEC=1 in SECCFGR. This bit is protected against unprivileged access when LPMSEC=1 and SPRIV=1 in PRIVCFGR, or when LPMSEC=0 and NSPRIV=1. Writing 1 to this bit clears the STOPF and SBF flags. + /// Clear Stop and Standby flags This bit is protected against non-secure access when LPMSEC=1 in SECCFGR. This bit is protected against unprivileged access when LPMSEC=1 and SPRIV=1 in PRIVCFGR, or when LPMSEC=0 and NSPRIV=1. Writing 1 to this bit clears the STOPF and SBF flags. CSSF: u1, - /// Stop flag This bit is set by hardware when the device enters a Stop mode, and is cleared by software by writing 1 to the CSSF bit. + /// Stop flag This bit is set by hardware when the device enters a Stop mode, and is cleared by software by writing 1 to the CSSF bit. STOPF: u1, - /// Standby flag This bit is set by hardware when the device enters the Standby mode, and is cleared by writing 1 to the CSSF bit, or by a power-on reset. It is not cleared by the system reset. + /// Standby flag This bit is set by hardware when the device enters the Standby mode, and is cleared by writing 1 to the CSSF bit, or by a power-on reset. It is not cleared by the system reset. SBF: u1, padding: u29, }), SVMSR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Regulator selection - REGS: packed union { - raw: u1, - value: REGSEL, - }, + /// Regulator selection + REGS: REGSEL, reserved4: u2, - /// VDD voltage detector output - PVDO: packed union { - raw: u1, - value: PVDO, - }, + /// VDD voltage detector output + PVDO: PVDO, reserved15: u10, - /// Voltage level ready for currently used VOS + /// Voltage level ready for currently used VOS ACTVOSRDY: u1, - /// VOS currently applied to VCORE This field provides the last VOS value. - ACTVOS: packed union { - raw: u2, - value: ACTVOS, - }, + /// VOS currently applied to VCORE This field provides the last VOS value. + ACTVOS: ACTVOS, reserved24: u6, - /// VDDUSB ready + /// VDDUSB ready VDDUSBRDY: u1, - /// VDDIO2 ready + /// VDDIO2 ready VDDIO2RDY: u1, - /// VDDA ready versus 1.6V voltage monitor + /// VDDA ready versus 1.6V voltage monitor VDDA1RDY: u1, - /// VDDA ready versus 1.8V voltage monitor + /// VDDA ready versus 1.8V voltage monitor VDDA2RDY: u1, padding: u4, }), - /// Backup domain status register + /// Backup domain status register BDSR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Backup domain voltage level monitoring versus high threshold - VBATH: packed union { - raw: u1, - value: VBATH, - }, - /// Temperature level monitoring versus low threshold - TEMPL: packed union { - raw: u1, - value: TEMPL, - }, - /// Temperature level monitoring versus high threshold - TEMPH: packed union { - raw: u1, - value: TEMPH, - }, + /// Backup domain voltage level monitoring versus high threshold + VBATH: VBATH, + /// Temperature level monitoring versus low threshold + TEMPL: TEMPL, + /// Temperature level monitoring versus high threshold + TEMPH: TEMPH, padding: u28, }), - /// wakeup status register + /// wakeup status register WUSR: mmio.Mmio(packed struct(u32) { - /// Wakeup flag 1 This bit is set when a wakeup event is detected on WKUP1 pin. This bit is cleared by writing 1 in the CWUF1 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN1=0. + /// Wakeup flag 1 This bit is set when a wakeup event is detected on WKUP1 pin. This bit is cleared by writing 1 in the CWUF1 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN1=0. WUF1: u1, - /// Wakeup flag 2 This bit is set when a wakeup event is detected on WKUP2 pin. This bit is cleared by writing 1 in the CWUF2 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN2=0. + /// Wakeup flag 2 This bit is set when a wakeup event is detected on WKUP2 pin. This bit is cleared by writing 1 in the CWUF2 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN2=0. WUF2: u1, - /// Wakeup flag 3 This bit is set when a wakeup event is detected on WKUP3 pin. This bit is cleared by writing 1 in the CWUF3 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN3=0. + /// Wakeup flag 3 This bit is set when a wakeup event is detected on WKUP3 pin. This bit is cleared by writing 1 in the CWUF3 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN3=0. WUF3: u1, - /// Wakeup flag 4 This bit is set when a wakeup event is detected on WKUP4 pin. This bit is cleared by writing 1 in the CWUF4 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN4=0. + /// Wakeup flag 4 This bit is set when a wakeup event is detected on WKUP4 pin. This bit is cleared by writing 1 in the CWUF4 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN4=0. WUF4: u1, - /// Wakeup flag 5 This bit is set when a wakeup event is detected on WKUP5 pin. This bit is cleared by writing 1 in the CWUF5 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN5=0. + /// Wakeup flag 5 This bit is set when a wakeup event is detected on WKUP5 pin. This bit is cleared by writing 1 in the CWUF5 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN5=0. WUF5: u1, - /// Wakeup flag 6 This bit is set when a wakeup event is detected on WKUP6 pin. This bit is cleared by writing 1 in the CWUF6 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN6=0. If WUSEL=11, this bit is cleared by hardware when all internal wakeup source are cleared. + /// Wakeup flag 6 This bit is set when a wakeup event is detected on WKUP6 pin. This bit is cleared by writing 1 in the CWUF6 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN6=0. If WUSEL=11, this bit is cleared by hardware when all internal wakeup source are cleared. WUF6: u1, - /// Wakeup flag 7 This bit is set when a wakeup event is detected on WKUP7 pin. This bit is cleared by writing 1 in the CWUF7 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN7=0. If WUSEL=11, this bit is cleared by hardware when all internal wakeup source are cleared. + /// Wakeup flag 7 This bit is set when a wakeup event is detected on WKUP7 pin. This bit is cleared by writing 1 in the CWUF7 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN7=0. If WUSEL=11, this bit is cleared by hardware when all internal wakeup source are cleared. WUF7: u1, - /// Wakeup flag 8 This bit is set when a wakeup event is detected on WKUP8 pin. This bit is cleared by writing 1 in the CWUF8 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN8=0. If WUSEL=11, this bit is cleared by hardware when all internal wakeup source are cleared. + /// Wakeup flag 8 This bit is set when a wakeup event is detected on WKUP8 pin. This bit is cleared by writing 1 in the CWUF8 bit of WUSCR when WUSEL ≠ 11, or by hardware when WUPEN8=0. If WUSEL=11, this bit is cleared by hardware when all internal wakeup source are cleared. WUF8: u1, padding: u24, }), - /// wakeup status clear register + /// wakeup status clear register WUSCR: mmio.Mmio(packed struct(u32) { - /// Wakeup flag 1 Writing 1 to this bit clears the WUF1 flag in WUSR. + /// Wakeup flag 1 Writing 1 to this bit clears the WUF1 flag in WUSR. CWUF1: u1, - /// Wakeup flag 2 Writing 1 to this bit clears the WUF2 flag in WUSR. + /// Wakeup flag 2 Writing 1 to this bit clears the WUF2 flag in WUSR. CWUF2: u1, - /// Wakeup flag 3 Writing 1 to this bit clears the WUF3 flag in WUSR. + /// Wakeup flag 3 Writing 1 to this bit clears the WUF3 flag in WUSR. CWUF3: u1, - /// Wakeup flag 4 Writing 1 to this bit clears the WUF4 flag in WUSR. + /// Wakeup flag 4 Writing 1 to this bit clears the WUF4 flag in WUSR. CWUF4: u1, - /// Wakeup flag 5 Writing 1 to this bit clears the WUF5 flag in WUSR. + /// Wakeup flag 5 Writing 1 to this bit clears the WUF5 flag in WUSR. CWUF5: u1, - /// Wakeup flag 6 Writing 1 to this bit clears the WUF6 flag in WUSR. + /// Wakeup flag 6 Writing 1 to this bit clears the WUF6 flag in WUSR. CWUF6: u1, - /// Wakeup flag 7 Writing 1 to this bit clears the WUF7 flag in WUSR. + /// Wakeup flag 7 Writing 1 to this bit clears the WUF7 flag in WUSR. CWUF7: u1, - /// Wakeup flag 8 Writing 1 to this bit clears the WUF8 flag in WUSR. + /// Wakeup flag 8 Writing 1 to this bit clears the WUF8 flag in WUSR. CWUF8: u1, padding: u24, }), - /// apply pull configuration register + /// apply pull configuration register APCR: mmio.Mmio(packed struct(u32) { - /// Apply pull-up and pull-down configuration When this bit is set, the I/O pull-up and pull-down configurations defined in PUCRx and PDCRx are applied. When this bit is cleared, PUCRx and PDCRx are not applied to the I/Os. + /// Apply pull-up and pull-down configuration When this bit is set, the I/O pull-up and pull-down configurations defined in PUCRx and PDCRx are applied. When this bit is cleared, PUCRx and PDCRx are not applied to the I/Os. APC: u1, padding: u31, }), - /// Power Port pull-up control register + /// Power Port pull-up control register PUCR: mmio.Mmio(packed struct(u32) { - /// Port pull bit y (y=0..15) + /// Port pull bit y (y=0..15) P: u1, padding: u31, }), - /// Power Port pull-down control register + /// Power Port pull-down control register PDCR: mmio.Mmio(packed struct(u32) { - /// Port pull bit y (y=0..15) + /// Port pull bit y (y=0..15) P: u1, padding: u31, }), @@ -362740,288 +358315,288 @@ pub const types = struct { }; pub const pwr_wb = struct { - /// Power control + /// Power control pub const PWR = extern struct { - /// Power control register 1 + /// Power control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Low-power mode selection for CPU1 + /// Low-power mode selection for CPU1 LPMS: u3, reserved4: u1, - /// Flash power down mode during LPRun for CPU1 + /// Flash power down mode during LPRun for CPU1 FPDR: u1, - /// Flash power down mode during LPsSleep for CPU1 + /// Flash power down mode during LPsSleep for CPU1 FPDS: u1, reserved8: u2, - /// Disable backup domain write protection + /// Disable backup domain write protection DBP: u1, reserved14: u5, - /// Low-power run + /// Low-power run LPR: u1, padding: u17, }), - /// Power control register 2 + /// Power control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Power voltage detector enable + /// Power voltage detector enable PVDE: u1, - /// Power voltage detector level selection + /// Power voltage detector level selection PLS: u3, padding: u28, }), - /// Power control register 3 + /// Power control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup pin + /// Enable Wakeup pin EWUP: u1, reserved8: u7, - /// Enable BORH and Step Down counverter forced in Bypass interrups for CPU1 + /// Enable BORH and Step Down counverter forced in Bypass interrups for CPU1 EBORHSDFB: u1, - /// SRAM2a retention in Standby mode + /// SRAM2a retention in Standby mode RRS: u1, - /// Apply pull-up and pull-down configuration + /// Apply pull-up and pull-down configuration APC: u1, - /// Enable BLE end of activity interrupt for CPU1 + /// Enable BLE end of activity interrupt for CPU1 EBLEA: u1, - /// Enable critical radio phase end of activity interrupt for CPU1 + /// Enable critical radio phase end of activity interrupt for CPU1 ECRPE: u1, - /// Enable end of activity interrupt for CPU1 + /// Enable end of activity interrupt for CPU1 E802A: u1, - /// Enable CPU2 Hold interrupt for CPU1 + /// Enable CPU2 Hold interrupt for CPU1 EC2H: u1, - /// Enable internal wakeup line for CPU1 + /// Enable internal wakeup line for CPU1 EIWUL: u1, padding: u16, }), - /// Power control register 4 + /// Power control register 4 CR4: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUP1 polarity + /// Wakeup pin WKUP1 polarity WP1: u1, reserved8: u7, - /// VBAT battery charging enable + /// VBAT battery charging enable VBE: u1, - /// VBAT battery charging resistor selection + /// VBAT battery charging resistor selection VBRS: u1, reserved15: u5, - /// BOOT CPU2 after reset or wakeup from Stop or Standby modes + /// BOOT CPU2 after reset or wakeup from Stop or Standby modes C2BOOT: u1, padding: u16, }), - /// Power status register 1 + /// Power status register 1 SR1: mmio.Mmio(packed struct(u32) { - /// Wakeup flag 1 + /// Wakeup flag 1 CWUF: u1, reserved7: u6, - /// Step Down converter forced in Bypass interrupt flag + /// Step Down converter forced in Bypass interrupt flag SDFBF: u1, - /// BORH interrupt flag + /// BORH interrupt flag BORHF: u1, - /// BLE wakeup interrupt flag + /// BLE wakeup interrupt flag BLEWUF: u1, - /// 802.15.4 wakeup interrupt flag + /// 802.15.4 wakeup interrupt flag _802WUF: u1, - /// Enable critical radio phase end of activity interrupt flag + /// Enable critical radio phase end of activity interrupt flag CRPEF: u1, - /// BLE end of activity interrupt flag + /// BLE end of activity interrupt flag BLEAF: u1, - /// 802.15.4 end of activity interrupt flag + /// 802.15.4 end of activity interrupt flag AF802: u1, - /// CPU2 Hold interrupt flag + /// CPU2 Hold interrupt flag C2HF: u1, - /// Internal Wakeup interrupt flag + /// Internal Wakeup interrupt flag WUFI: u1, padding: u16, }), - /// Power status register 2 + /// Power status register 2 SR2: mmio.Mmio(packed struct(u32) { - /// Step Down converter Bypass mode flag + /// Step Down converter Bypass mode flag SDBF: u1, - /// Step Down converter SMPS mode flag + /// Step Down converter SMPS mode flag SDSMPSF: u1, reserved8: u6, - /// Low-power regulator started + /// Low-power regulator started REGLPS: u1, - /// Low-power regulator flag + /// Low-power regulator flag REGLPF: u1, - /// Voltage scaling flag + /// Voltage scaling flag VOSF: u1, - /// Power voltage detector output + /// Power voltage detector output PVDO: u1, - /// Peripheral voltage monitoring output: VDDUSB vs. 1.2 V + /// Peripheral voltage monitoring output: VDDUSB vs. 1.2 V PVMO1: u1, reserved14: u1, - /// Peripheral voltage monitoring output: VDDA vs. 1.62 V + /// Peripheral voltage monitoring output: VDDA vs. 1.62 V PVMO3: u1, padding: u17, }), - /// Power status clear register + /// Power status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear wakeup flag 1 + /// Clear wakeup flag 1 CWUF: u1, reserved7: u6, - /// Clear SMPS Step Down converter forced in Bypass interrupt flag + /// Clear SMPS Step Down converter forced in Bypass interrupt flag CSMPSFBF: u1, - /// Clear BORH interrupt flag + /// Clear BORH interrupt flag CBORHF: u1, - /// Clear BLE wakeup interrupt flag + /// Clear BLE wakeup interrupt flag CBLEWUF: u1, - /// Clear 802.15.4 wakeup interrupt flag + /// Clear 802.15.4 wakeup interrupt flag C802WUF: u1, - /// Clear critical radio phase end of activity interrupt flag + /// Clear critical radio phase end of activity interrupt flag CCRPEF: u1, - /// Clear BLE end of activity interrupt flag + /// Clear BLE end of activity interrupt flag CBLEAF: u1, - /// Clear 802.15.4 end of activity interrupt flag + /// Clear 802.15.4 end of activity interrupt flag C802AF: u1, - /// Clear CPU2 Hold interrupt flag + /// Clear CPU2 Hold interrupt flag CC2HF: u1, padding: u17, }), - /// Power control register 5 + /// Power control register 5 CR5: mmio.Mmio(packed struct(u32) { - /// Step Down converter voltage output scaling + /// Step Down converter voltage output scaling SDVOS: u4, - /// Step Down converter supplt startup current selection + /// Step Down converter supplt startup current selection SDSC: u3, reserved8: u1, - /// BORH configuration selection + /// BORH configuration selection BORHC: u1, - /// VOS configuration selection (non user) + /// VOS configuration selection (non user) SMPSCFG: u1, reserved14: u4, - /// Enable Step Down converter Bypass mode enabled + /// Enable Step Down converter Bypass mode enabled SDBEN: u1, - /// Enable Step Down converter SMPS mode enabled + /// Enable Step Down converter SMPS mode enabled SDEB: u1, padding: u16, }), - /// Power Port A pull-up control register + /// Power Port A pull-up control register PUCRA: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port A pull-down control register + /// Power Port A pull-down control register PDCRA: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port B pull-up control register + /// Power Port B pull-up control register PUCRB: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port B pull-down control register + /// Power Port B pull-down control register PDCRB: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port C pull-up control register + /// Power Port C pull-up control register PUCRC: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port C pull-down control register + /// Power Port C pull-down control register PDCRC: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port D pull-up control register + /// Power Port D pull-up control register PUCRD: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port D pull-down control register + /// Power Port D pull-down control register PDCRD: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port E pull-up control register + /// Power Port E pull-up control register PUCRE: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port E pull-down control register + /// Power Port E pull-down control register PDCRE: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), reserved88: [16]u8, - /// Power Port H pull-up control register + /// Power Port H pull-up control register PUCRH: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port H pull-down control register + /// Power Port H pull-down control register PDCRH: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), reserved128: [32]u8, - /// CPU2 Power control register 1 + /// CPU2 Power control register 1 C2CR1: mmio.Mmio(packed struct(u32) { - /// Low-power mode selection for CPU2 + /// Low-power mode selection for CPU2 LPMS: u3, reserved4: u1, - /// Flash power down mode during LPRun for CPU2 + /// Flash power down mode during LPRun for CPU2 FPDR: u1, - /// Flash power down mode during LPSleep for CPU2 + /// Flash power down mode during LPSleep for CPU2 FPDS: u1, reserved14: u8, - /// BLE external wakeup signal + /// BLE external wakeup signal BLEEWKUP: u1, - /// 802.15.4 external wakeup signal + /// 802.15.4 external wakeup signal _802EWKUP: u1, padding: u16, }), - /// CPU2 Power control register 3 + /// CPU2 Power control register 3 C2CR3: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup pin + /// Enable Wakeup pin EWUP: u1, reserved9: u8, - /// Enable BLE host wakeup interrupt for CPU2 + /// Enable BLE host wakeup interrupt for CPU2 EBLEWUP: u1, - /// Enable 802.15.4 host wakeup interrupt for CPU2 + /// Enable 802.15.4 host wakeup interrupt for CPU2 E802WUP: u1, reserved12: u1, - /// Apply pull-up and pull-down configuration for CPU2 + /// Apply pull-up and pull-down configuration for CPU2 APC: u1, reserved15: u2, - /// Enable internal wakeup line for CPU2 + /// Enable internal wakeup line for CPU2 EIWUL: u1, padding: u16, }), - /// Power status clear register + /// Power status clear register EXTSCR: mmio.Mmio(packed struct(u32) { - /// Clear CPU1 Stop Standby flags + /// Clear CPU1 Stop Standby flags C1CSSF: u1, - /// Clear CPU2 Stop Standby flags + /// Clear CPU2 Stop Standby flags C2CSSF: u1, - /// Clear Critical Radio system phase + /// Clear Critical Radio system phase CCRPF: u1, reserved8: u5, - /// System Standby flag for CPU1 + /// System Standby flag for CPU1 C1SBF: u1, - /// System Stop flag for CPU1 + /// System Stop flag for CPU1 C1STOPF: u1, - /// System Standby flag for CPU2 + /// System Standby flag for CPU2 C2SBF: u1, - /// System Stop flag for CPU2 + /// System Stop flag for CPU2 C2STOPF: u1, reserved13: u1, - /// Critical Radio system phase + /// Critical Radio system phase CRPF: u1, - /// CPU1 deepsleep mode + /// CPU1 deepsleep mode C1DS: u1, - /// CPU2 deepsleep mode + /// CPU2 deepsleep mode C2DS: u1, padding: u16, }), @@ -363030,308 +358605,305 @@ pub const types = struct { pub const pwr_wb55 = struct { pub const VOS = enum(u2) { - /// Range 1 + /// Range 1 Range1 = 0x1, - /// Range 2 + /// Range 2 Range2 = 0x2, _, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// Power control register 1 + /// Power control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Low-power mode selection for CPU1 + /// Low-power mode selection for CPU1 LPMS: u3, reserved4: u1, - /// Flash power down mode during LPRun for CPU1 + /// Flash power down mode during LPRun for CPU1 FPDR: u1, - /// Flash power down mode during LPsSleep for CPU1 + /// Flash power down mode during LPsSleep for CPU1 FPDS: u1, reserved8: u2, - /// Disable backup domain write protection + /// Disable backup domain write protection DBP: u1, - /// Voltage scaling range selection - VOS: packed union { - raw: u2, - value: VOS, - }, + /// Voltage scaling range selection + VOS: VOS, reserved14: u3, - /// Low-power run + /// Low-power run LPR: u1, padding: u17, }), - /// Power control register 2 + /// Power control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Power voltage detector enable + /// Power voltage detector enable PVDE: u1, - /// Power voltage detector level selection + /// Power voltage detector level selection PLS: u3, - /// Peripheral voltage monitoring 1 enable: VDDUSB vs. 1.2V + /// Peripheral voltage monitoring 1 enable: VDDUSB vs. 1.2V PVME1: u1, reserved6: u1, - /// Peripheral voltage monitoring 3 enable: VDDA vs. 1.62V + /// Peripheral voltage monitoring 3 enable: VDDA vs. 1.62V PVME3: u1, reserved10: u3, - /// VDDUSB USB supply valid + /// VDDUSB USB supply valid USV: u1, padding: u21, }), - /// Power control register 3 + /// Power control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup pin + /// Enable Wakeup pin EWUP: u1, reserved8: u7, - /// Enable BORH and Step Down counverter forced in Bypass interrups for CPU1 + /// Enable BORH and Step Down counverter forced in Bypass interrups for CPU1 EBORHSDFB: u1, - /// SRAM2a retention in Standby mode + /// SRAM2a retention in Standby mode RRS: u1, - /// Apply pull-up and pull-down configuration + /// Apply pull-up and pull-down configuration APC: u1, - /// Enable BLE end of activity interrupt for CPU1 + /// Enable BLE end of activity interrupt for CPU1 EBLEA: u1, - /// Enable critical radio phase end of activity interrupt for CPU1 + /// Enable critical radio phase end of activity interrupt for CPU1 ECRPE: u1, - /// Enable end of activity interrupt for CPU1 + /// Enable end of activity interrupt for CPU1 E802A: u1, - /// Enable CPU2 Hold interrupt for CPU1 + /// Enable CPU2 Hold interrupt for CPU1 EC2H: u1, - /// Enable internal wakeup line for CPU1 + /// Enable internal wakeup line for CPU1 EIWUL: u1, padding: u16, }), - /// Power control register 4 + /// Power control register 4 CR4: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUP1 polarity + /// Wakeup pin WKUP1 polarity WP1: u1, reserved8: u7, - /// VBAT battery charging enable + /// VBAT battery charging enable VBE: u1, - /// VBAT battery charging resistor selection + /// VBAT battery charging resistor selection VBRS: u1, reserved15: u5, - /// BOOT CPU2 after reset or wakeup from Stop or Standby modes + /// BOOT CPU2 after reset or wakeup from Stop or Standby modes C2BOOT: u1, padding: u16, }), - /// Power status register 1 + /// Power status register 1 SR1: mmio.Mmio(packed struct(u32) { - /// Wakeup flag 1 + /// Wakeup flag 1 CWUF: u1, reserved7: u6, - /// Step Down converter forced in Bypass interrupt flag + /// Step Down converter forced in Bypass interrupt flag SDFBF: u1, - /// BORH interrupt flag + /// BORH interrupt flag BORHF: u1, - /// BLE wakeup interrupt flag + /// BLE wakeup interrupt flag BLEWUF: u1, - /// 802.15.4 wakeup interrupt flag + /// 802.15.4 wakeup interrupt flag _802WUF: u1, - /// Enable critical radio phase end of activity interrupt flag + /// Enable critical radio phase end of activity interrupt flag CRPEF: u1, - /// BLE end of activity interrupt flag + /// BLE end of activity interrupt flag BLEAF: u1, - /// 802.15.4 end of activity interrupt flag + /// 802.15.4 end of activity interrupt flag AF802: u1, - /// CPU2 Hold interrupt flag + /// CPU2 Hold interrupt flag C2HF: u1, - /// Internal Wakeup interrupt flag + /// Internal Wakeup interrupt flag WUFI: u1, padding: u16, }), - /// Power status register 2 + /// Power status register 2 SR2: mmio.Mmio(packed struct(u32) { - /// Step Down converter Bypass mode flag + /// Step Down converter Bypass mode flag SDBF: u1, - /// Step Down converter SMPS mode flag + /// Step Down converter SMPS mode flag SDSMPSF: u1, reserved8: u6, - /// Low-power regulator started + /// Low-power regulator started REGLPS: u1, - /// Low-power regulator flag + /// Low-power regulator flag REGLPF: u1, - /// Voltage scaling flag + /// Voltage scaling flag VOSF: u1, - /// Power voltage detector output + /// Power voltage detector output PVDO: u1, - /// Peripheral voltage monitoring output: VDDUSB vs. 1.2 V + /// Peripheral voltage monitoring output: VDDUSB vs. 1.2 V PVMO1: u1, reserved14: u1, - /// Peripheral voltage monitoring output: VDDA vs. 1.62 V + /// Peripheral voltage monitoring output: VDDA vs. 1.62 V PVMO3: u1, padding: u17, }), - /// Power status clear register + /// Power status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear wakeup flag 1 + /// Clear wakeup flag 1 CWUF: u1, reserved7: u6, - /// Clear SMPS Step Down converter forced in Bypass interrupt flag + /// Clear SMPS Step Down converter forced in Bypass interrupt flag CSMPSFBF: u1, - /// Clear BORH interrupt flag + /// Clear BORH interrupt flag CBORHF: u1, - /// Clear BLE wakeup interrupt flag + /// Clear BLE wakeup interrupt flag CBLEWUF: u1, - /// Clear 802.15.4 wakeup interrupt flag + /// Clear 802.15.4 wakeup interrupt flag C802WUF: u1, - /// Clear critical radio phase end of activity interrupt flag + /// Clear critical radio phase end of activity interrupt flag CCRPEF: u1, - /// Clear BLE end of activity interrupt flag + /// Clear BLE end of activity interrupt flag CBLEAF: u1, - /// Clear 802.15.4 end of activity interrupt flag + /// Clear 802.15.4 end of activity interrupt flag C802AF: u1, - /// Clear CPU2 Hold interrupt flag + /// Clear CPU2 Hold interrupt flag CC2HF: u1, padding: u17, }), - /// Power control register 5 + /// Power control register 5 CR5: mmio.Mmio(packed struct(u32) { - /// Step Down converter voltage output scaling + /// Step Down converter voltage output scaling SDVOS: u4, - /// Step Down converter supplt startup current selection + /// Step Down converter supplt startup current selection SDSC: u3, reserved8: u1, - /// BORH configuration selection + /// BORH configuration selection BORHC: u1, - /// VOS configuration selection (non user) + /// VOS configuration selection (non user) SMPSCFG: u1, reserved14: u4, - /// Enable Step Down converter Bypass mode enabled + /// Enable Step Down converter Bypass mode enabled SDBEN: u1, - /// Enable Step Down converter SMPS mode enabled + /// Enable Step Down converter SMPS mode enabled SDEB: u1, padding: u16, }), - /// Power Port A pull-up control register + /// Power Port A pull-up control register PUCRA: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port A pull-down control register + /// Power Port A pull-down control register PDCRA: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port B pull-up control register + /// Power Port B pull-up control register PUCRB: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port B pull-down control register + /// Power Port B pull-down control register PDCRB: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port C pull-up control register + /// Power Port C pull-up control register PUCRC: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port C pull-down control register + /// Power Port C pull-down control register PDCRC: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port D pull-up control register + /// Power Port D pull-up control register PUCRD: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port D pull-down control register + /// Power Port D pull-down control register PDCRD: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port E pull-up control register + /// Power Port E pull-up control register PUCRE: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port E pull-down control register + /// Power Port E pull-down control register PDCRE: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), reserved88: [16]u8, - /// Power Port H pull-up control register + /// Power Port H pull-up control register PUCRH: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), - /// Power Port H pull-down control register + /// Power Port H pull-down control register PDCRH: mmio.Mmio(packed struct(u32) { - /// Port A pull-up/down bit y (y=0..15) + /// Port A pull-up/down bit y (y=0..15) PD: u1, padding: u31, }), reserved128: [32]u8, - /// CPU2 Power control register 1 + /// CPU2 Power control register 1 C2CR1: mmio.Mmio(packed struct(u32) { - /// Low-power mode selection for CPU2 + /// Low-power mode selection for CPU2 LPMS: u3, reserved4: u1, - /// Flash power down mode during LPRun for CPU2 + /// Flash power down mode during LPRun for CPU2 FPDR: u1, - /// Flash power down mode during LPSleep for CPU2 + /// Flash power down mode during LPSleep for CPU2 FPDS: u1, reserved14: u8, - /// BLE external wakeup signal + /// BLE external wakeup signal BLEEWKUP: u1, - /// 802.15.4 external wakeup signal + /// 802.15.4 external wakeup signal _802EWKUP: u1, padding: u16, }), - /// CPU2 Power control register 3 + /// CPU2 Power control register 3 C2CR3: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup pin + /// Enable Wakeup pin EWUP: u1, reserved9: u8, - /// Enable BLE host wakeup interrupt for CPU2 + /// Enable BLE host wakeup interrupt for CPU2 EBLEWUP: u1, - /// Enable 802.15.4 host wakeup interrupt for CPU2 + /// Enable 802.15.4 host wakeup interrupt for CPU2 E802WUP: u1, reserved12: u1, - /// Apply pull-up and pull-down configuration for CPU2 + /// Apply pull-up and pull-down configuration for CPU2 APC: u1, reserved15: u2, - /// Enable internal wakeup line for CPU2 + /// Enable internal wakeup line for CPU2 EIWUL: u1, padding: u16, }), - /// Power status clear register + /// Power status clear register EXTSCR: mmio.Mmio(packed struct(u32) { - /// Clear CPU1 Stop Standby flags + /// Clear CPU1 Stop Standby flags C1CSSF: u1, - /// Clear CPU2 Stop Standby flags + /// Clear CPU2 Stop Standby flags C2CSSF: u1, - /// Clear Critical Radio system phase + /// Clear Critical Radio system phase CCRPF: u1, reserved8: u5, - /// System Standby flag for CPU1 + /// System Standby flag for CPU1 C1SBF: u1, - /// System Stop flag for CPU1 + /// System Stop flag for CPU1 C1STOPF: u1, - /// System Standby flag for CPU2 + /// System Standby flag for CPU2 C2SBF: u1, - /// System Stop flag for CPU2 + /// System Stop flag for CPU2 C2STOPF: u1, reserved13: u1, - /// Critical Radio system phase + /// Critical Radio system phase CRPF: u1, - /// CPU1 deepsleep mode + /// CPU1 deepsleep mode C1DS: u1, - /// CPU2 deepsleep mode + /// CPU2 deepsleep mode C2DS: u1, padding: u16, }), @@ -363340,340 +358912,283 @@ pub const types = struct { pub const pwr_wba = struct { pub const ACTVOS = enum(u1) { - /// Range 2 (lowest power) + /// Range 2 (lowest power) Range2 = 0x0, - /// Range 1 (highest frequency) + /// Range 1 (highest frequency) Range1 = 0x1, }; pub const FLASHFWU = enum(u1) { - /// Flash memory enters low-power mode in Stop 0 and Stop 1 modes (lower-power consumption). + /// Flash memory enters low-power mode in Stop 0 and Stop 1 modes (lower-power consumption). LowPower = 0x0, - /// Flash memory remains in normal mode in Stop 0 and Stop 1 modes (faster wakeup time). + /// Flash memory remains in normal mode in Stop 0 and Stop 1 modes (faster wakeup time). Normal = 0x1, }; pub const ICRAMPDS = enum(u1) { - /// ICACHE SRAM content retained in Stop modes + /// ICACHE SRAM content retained in Stop modes Retained = 0x0, - /// ICACHE SRAM content lost in Stop modes + /// ICACHE SRAM content lost in Stop modes NotRetained = 0x1, }; pub const LPMS = enum(u3) { - /// Stop 0 mode + /// Stop 0 mode Stop0 = 0x0, - /// Stop 1 mode + /// Stop 1 mode Stop1 = 0x1, _, }; pub const MODE = enum(u2) { - /// 2.4 GHz RADIO deep sleep mode + /// 2.4 GHz RADIO deep sleep mode DeepSleep = 0x0, - /// 2.4 GHz RADIO sleep mode + /// 2.4 GHz RADIO sleep mode Sleep = 0x1, _, }; pub const PVDLS = enum(u3) { - /// VPVD0 around 2.0 V + /// VPVD0 around 2.0 V v20 = 0x0, - /// VPVD1 around 2.2 V + /// VPVD1 around 2.2 V v22 = 0x1, - /// VPVD2 around 2.4 V + /// VPVD2 around 2.4 V v24 = 0x2, - /// VPVD3 around 2.5 V + /// VPVD3 around 2.5 V v25 = 0x3, - /// VPVD4 around 2.6 V + /// VPVD4 around 2.6 V v26 = 0x4, - /// VPVD5 around 2.8 V + /// VPVD5 around 2.8 V v28 = 0x5, - /// VPVD6 around 2.9 V + /// VPVD6 around 2.9 V v29 = 0x6, - /// External input analog voltage PVD_IN (compared internally to VREFINT) + /// External input analog voltage PVD_IN (compared internally to VREFINT) pvd_in = 0x7, }; pub const PVDO = enum(u1) { - /// VDD is equal or above the PVD threshold selected by PVDLS[2:0]. + /// VDD is equal or above the PVD threshold selected by PVDLS[2:0]. AboveOrEqual = 0x0, - /// VDD is below the PVD threshold selected by PVDLS[2:0]. + /// VDD is below the PVD threshold selected by PVDLS[2:0]. Below = 0x1, }; pub const SRAMPDS = enum(u1) { - /// SRAM1 content retained in Stop modes + /// SRAM1 content retained in Stop modes PoweredOn = 0x0, - /// SRAM1 content lost in Stop modes + /// SRAM1 content lost in Stop modes PoweredOff = 0x1, }; pub const VOS = enum(u1) { - /// Range 2 (lowest power) + /// Range 2 (lowest power) Range2 = 0x0, - /// Range 1 (highest frequency). + /// Range 1 (highest frequency). Range1 = 0x1, }; pub const WUPP = enum(u1) { - /// Detection on high level (rising edge) + /// Detection on high level (rising edge) High = 0x0, - /// Detection on low level (falling edge) + /// Detection on low level (falling edge) Low = 0x1, }; pub const WUSEL = enum(u2) { - /// reserved + /// reserved B_0x0 = 0x0, - /// WKUP3_1 + /// WKUP3_1 B_0x1 = 0x1, - /// WKUP3_2 + /// WKUP3_2 B_0x2 = 0x2, - /// reserved + /// reserved B_0x3 = 0x3, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Low-power mode selection These bits select the low-power mode entered when the CPU enters the SleepDeep mode. 10x: Standby mode others reserved - LPMS: packed union { - raw: u3, - value: LPMS, - }, + /// Low-power mode selection These bits select the low-power mode entered when the CPU enters the SleepDeep mode. 10x: Standby mode others reserved + LPMS: LPMS, reserved5: u2, - /// SRAM2 retention in Standby mode This bit is used to keep the SRAM2 content in Standby retention mode. + /// SRAM2 retention in Standby mode This bit is used to keep the SRAM2 content in Standby retention mode. R2RSB1: u1, reserved7: u1, - /// BOR0 ultra-low-power mode. This bit is used to reduce the consumption by configuring the BOR0 in discontinuous mode for Stop 1 and Standby modes. Discontinuous mode is only available when BOR levels 1 to 4 and PVD are disabled. Note: This bit must be set to reach the lowest power consumption in the low-power modes. Note: This bit must not be set together with autonomous peripherals using HSI as kernel clock. Note: When BOR level 1 to 4 or PVD is enabled continuous mode applies independent from ULPMEN. + /// BOR0 ultra-low-power mode. This bit is used to reduce the consumption by configuring the BOR0 in discontinuous mode for Stop 1 and Standby modes. Discontinuous mode is only available when BOR levels 1 to 4 and PVD are disabled. Note: This bit must be set to reach the lowest power consumption in the low-power modes. Note: This bit must not be set together with autonomous peripherals using HSI as kernel clock. Note: When BOR level 1 to 4 or PVD is enabled continuous mode applies independent from ULPMEN. ULPMEN: u1, reserved9: u1, - /// 2.4 GHz RADIO SRAMs (RXTXRAM and Sequence RAM) and Sleep clock retention in Standby mode. This bit is used to keep the 2.4 GHz RADIO SRAMs content in Standby retention mode and the 2.4 GHz RADIO sleep timer counter operational. + /// 2.4 GHz RADIO SRAMs (RXTXRAM and Sequence RAM) and Sleep clock retention in Standby mode. This bit is used to keep the 2.4 GHz RADIO SRAMs content in Standby retention mode and the 2.4 GHz RADIO sleep timer counter operational. RADIORSB: u1, reserved12: u2, - /// SRAM1 retention in Standby mode This bit is used to keep the SRAM1 content in Standby retention mode. + /// SRAM1 retention in Standby mode This bit is used to keep the SRAM1 content in Standby retention mode. R1RSB1: u1, padding: u19, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// SRAM1 power-down in Stop modes (Stop 0, 1) Note: The SRAM1 retention in Standby mode is controlled by R1RSB1 bit in CR1. - SRAM1PDS1: packed union { - raw: u1, - value: SRAMPDS, - }, + /// SRAM1 power-down in Stop modes (Stop 0, 1) Note: The SRAM1 retention in Standby mode is controlled by R1RSB1 bit in CR1. + SRAM1PDS1: SRAMPDS, reserved4: u3, - /// SRAM2 power-down in Stop modes (Stop 0, 1) Note: The SRAM2 retention in Standby mode is controlled by R2RSB1 bit in CR1. - SRAM2PDS1: packed union { - raw: u1, - value: SRAMPDS, - }, + /// SRAM2 power-down in Stop modes (Stop 0, 1) Note: The SRAM2 retention in Standby mode is controlled by R2RSB1 bit in CR1. + SRAM2PDS1: SRAMPDS, reserved8: u3, - /// ICACHE SRAM power-down in Stop modes (Stop 0, 1) - ICRAMPDS: packed union { - raw: u1, - value: ICRAMPDS, - }, + /// ICACHE SRAM power-down in Stop modes (Stop 0, 1) + ICRAMPDS: ICRAMPDS, reserved14: u5, - /// Flash memory fast wakeup from Stop modes (Stop 0, 1) This bit is used to obtain the best trade-off between low-power consumption and wakeup time when exiting the Stop 0 or Stop 1 modes. When this bit is set, the Flash memory remains in normal mode in Stop 0 and Stop 1 modes, which offers a faster startup time with higher consumption. - FLASHFWU: packed union { - raw: u1, - value: FLASHFWU, - }, + /// Flash memory fast wakeup from Stop modes (Stop 0, 1) This bit is used to obtain the best trade-off between low-power consumption and wakeup time when exiting the Stop 0 or Stop 1 modes. When this bit is set, the Flash memory remains in normal mode in Stop 0 and Stop 1 modes, which offers a faster startup time with higher consumption. + FLASHFWU: FLASHFWU, padding: u17, }), - /// control register 3 + /// control register 3 CR3: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Fast soft start + /// Fast soft start FSTEN: u1, padding: u29, }), - /// voltage scaling register + /// voltage scaling register VOSR: mmio.Mmio(packed struct(u32) { reserved15: u15, - /// Ready bit for VCORE voltage scaling output selection Set and cleared by hardware. When decreasing the voltage scaling range, VOSRDY must be one before increasing the SYSCLK frequency. + /// Ready bit for VCORE voltage scaling output selection Set and cleared by hardware. When decreasing the voltage scaling range, VOSRDY must be one before increasing the SYSCLK frequency. VOSRDY: u1, - /// Voltage scaling range selection Set a and cleared by software. Cleared by hardware when entering Stop 1 mode. Access can be secured by RCC SYSCLKSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. - VOS: packed union { - raw: u1, - value: VOS, - }, + /// Voltage scaling range selection Set a and cleared by software. Cleared by hardware when entering Stop 1 mode. Access can be secured by RCC SYSCLKSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. + VOS: VOS, padding: u15, }), - /// supply voltage monitoring control register + /// supply voltage monitoring control register SVMCR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Programmable voltage detector enable + /// Programmable voltage detector enable PVDE: u1, - /// Programmable voltage detector level selection These bits select the voltage threshold detected by the programmable voltage detector: - PVDLS: packed union { - raw: u3, - value: PVDLS, - }, + /// Programmable voltage detector level selection These bits select the voltage threshold detected by the programmable voltage detector: + PVDLS: PVDLS, padding: u24, }), - /// wakeup control register 1 + /// wakeup control register 1 WUCR1: mmio.Mmio(packed struct(u32) { - /// Wakeup and interrupt pin WKUP1 enable Access can be secured by WUP1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. + /// Wakeup and interrupt pin WKUP1 enable Access can be secured by WUP1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. WUPEN: u1, padding: u31, }), - /// wakeup control register 2 + /// wakeup control register 2 WUCR2: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUP1 polarity. This bit must be configured when WUPEN1 = 0. Access can be secured by WUP1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. - WUPP: packed union { - raw: u1, - value: WUPP, - }, + /// Wakeup pin WKUP1 polarity. This bit must be configured when WUPEN1 = 0. Access can be secured by WUP1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. + WUPP: WUPP, padding: u31, }), - /// wakeup control register 3 + /// wakeup control register 3 WUCR3: mmio.Mmio(packed struct(u32) { - /// Wakeup and interrupt pin WKUP1 selection This field must be configured when WUPEN1 = 0. Access can be secured by WUP1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. - WUSEL1: packed union { - raw: u2, - value: WUSEL, - }, - /// Wakeup and interrupt pin WKUP2 selection This field must be configured when WUPEN2 = 0. Access can be secured by WUP2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. - WUSEL2: packed union { - raw: u2, - value: WUSEL, - }, - /// Wakeup and interrupt pin WKUP3 selection This field must be configured when WUPEN3 = 0. Access can be secured by WUP3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. - WUSEL3: packed union { - raw: u2, - value: WUSEL, - }, - /// Wakeup and interrupt pin WKUP4 selection This field must be configured when WUPEN4 = 0. Access can be secured by WUP4SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. - WUSEL4: packed union { - raw: u2, - value: WUSEL, - }, - /// Wakeup and interrupt pin WKUP5 selection This field must be configured when WUPEN5 = 0. Access can be secured by WUP5SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. - WUSEL5: packed union { - raw: u2, - value: WUSEL, - }, - /// Wakeup and interrupt pin WKUP6 selection This field must be configured when WUPEN6 = 0. Access can be secured by WUP6SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. - WUSEL6: packed union { - raw: u2, - value: WUSEL, - }, - /// Wakeup and interrupt pin WKUP7 selection This field must be configured when WUPEN7 = 0. Access can be secured by WUP7SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. - WUSEL7: packed union { - raw: u2, - value: WUSEL, - }, - /// Wakeup and interrupt pin WKUP8 selection This field must be configured when WUPEN8 = 0. Access can be secured by WUP8SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. - WUSEL8: packed union { - raw: u2, - value: WUSEL, - }, + /// Wakeup and interrupt pin WKUP1 selection This field must be configured when WUPEN1 = 0. Access can be secured by WUP1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. + WUSEL1: WUSEL, + /// Wakeup and interrupt pin WKUP2 selection This field must be configured when WUPEN2 = 0. Access can be secured by WUP2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. + WUSEL2: WUSEL, + /// Wakeup and interrupt pin WKUP3 selection This field must be configured when WUPEN3 = 0. Access can be secured by WUP3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. + WUSEL3: WUSEL, + /// Wakeup and interrupt pin WKUP4 selection This field must be configured when WUPEN4 = 0. Access can be secured by WUP4SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. + WUSEL4: WUSEL, + /// Wakeup and interrupt pin WKUP5 selection This field must be configured when WUPEN5 = 0. Access can be secured by WUP5SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. + WUSEL5: WUSEL, + /// Wakeup and interrupt pin WKUP6 selection This field must be configured when WUPEN6 = 0. Access can be secured by WUP6SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. + WUSEL6: WUSEL, + /// Wakeup and interrupt pin WKUP7 selection This field must be configured when WUPEN7 = 0. Access can be secured by WUP7SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. + WUSEL7: WUSEL, + /// Wakeup and interrupt pin WKUP8 selection This field must be configured when WUPEN8 = 0. Access can be secured by WUP8SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. + WUSEL8: WUSEL, padding: u16, }), reserved40: [8]u8, - /// disable Backup domain register + /// disable Backup domain register DBPCR: mmio.Mmio(packed struct(u32) { - /// Disable Backup domain write protection In reset state, all registers and SRAM in Backup domain are protected against parasitic write access. This bit must be set to enable the write access to these registers. + /// Disable Backup domain write protection In reset state, all registers and SRAM in Backup domain are protected against parasitic write access. This bit must be set to enable the write access to these registers. DBP: u1, padding: u31, }), reserved48: [4]u8, - /// security configuration register + /// security configuration register SECCFGR: mmio.Mmio(packed struct(u32) { - /// WUP1 secure protection + /// WUP1 secure protection WUP1SEC: u1, reserved12: u11, - /// Low-power modes secure protection + /// Low-power modes secure protection LPMSEC: u1, - /// Voltage detection secure protection + /// Voltage detection secure protection VDMSEC: u1, - /// Backup domain secure protection + /// Backup domain secure protection VBSEC: u1, padding: u17, }), - /// privilege control register + /// privilege control register PRIVCFGR: mmio.Mmio(packed struct(u32) { - /// secure functions privilege configuration This bit is set and reset by software. It can be written only by a secure privileged access. + /// secure functions privilege configuration This bit is set and reset by software. It can be written only by a secure privileged access. SPRIV: u1, - /// non-secure functions privilege configuration This bit is set and reset by software. It can be written only by privileged access, secure or non-secure. + /// non-secure functions privilege configuration This bit is set and reset by software. It can be written only by privileged access, secure or non-secure. NSPRIV: u1, padding: u30, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Clear Stop and Standby flags Access can be secured by LPMSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. Writing 1 to this bit clears the STOPF and SBF flags. + /// Clear Stop and Standby flags Access can be secured by LPMSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. Writing 1 to this bit clears the STOPF and SBF flags. CSSF: u1, - /// Stop flag This bit is set by hardware when the device enters a Stop or Standby mode at the same time as the sysclk has been set by hardware to select HSI. It’s cleared by software by writing 1 to the CSSF bit and by hardware when SBF is set. + /// Stop flag This bit is set by hardware when the device enters a Stop or Standby mode at the same time as the sysclk has been set by hardware to select HSI. It’s cleared by software by writing 1 to the CSSF bit and by hardware when SBF is set. STOPF: u1, - /// Standby flag This bit is set by hardware when the device enters the Standby mode and the CPU restart from its reset vector. It’s cleared by writing 1 to the CSSF bit, or by a power-on reset. It is not cleared by the system reset. + /// Standby flag This bit is set by hardware when the device enters the Standby mode and the CPU restart from its reset vector. It’s cleared by writing 1 to the CSSF bit, or by a power-on reset. It is not cleared by the system reset. SBF: u1, padding: u29, }), - /// supply voltage monitoring status register + /// supply voltage monitoring status register SVMSR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Programmable voltage detector output - PVDO: packed union { - raw: u1, - value: PVDO, - }, + /// Programmable voltage detector output + PVDO: PVDO, reserved15: u10, - /// Voltage level ready for currently used VOS + /// Voltage level ready for currently used VOS ACTVOSRDY: u1, - /// VOS currently applied to VCORE This field provides the last VOS value. - ACTVOS: packed union { - raw: u1, - value: ACTVOS, - }, + /// VOS currently applied to VCORE This field provides the last VOS value. + ACTVOS: ACTVOS, padding: u15, }), reserved68: [4]u8, - /// wakeup status register + /// wakeup status register WUSR: mmio.Mmio(packed struct(u32) { - /// Wakeup and interrupt pending flag 1 This bit is set when a wakeup event is detected on WKUP1 pin. This bit is cleared by writing 1 in the CWUF1 bit of WUSCR or by hardware when WUPEN1 = 0. + /// Wakeup and interrupt pending flag 1 This bit is set when a wakeup event is detected on WKUP1 pin. This bit is cleared by writing 1 in the CWUF1 bit of WUSCR or by hardware when WUPEN1 = 0. WUF: u1, padding: u31, }), - /// wakeup status clear register + /// wakeup status clear register WUSCR: mmio.Mmio(packed struct(u32) { - /// Clear wakeup flag 1 Access can be secured by WUP1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. Writing 1 to this bit clears the WUF1 flag in WUSR. + /// Clear wakeup flag 1 Access can be secured by WUP1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. Writing 1 to this bit clears the WUF1 flag in WUSR. CWUF: u1, padding: u31, }), reserved80: [4]u8, - /// port Standby IO retention enable register + /// port Standby IO retention enable register IORETENR: mmio.Mmio(packed struct(u32) { - /// Port A Standby GPIO retention enable Access can be protected by GPIOA SECy, privilege protection is controlled by SPRIV or NSPRIV. When set, each bit enables the Standby GPIO retention feature for PAy + /// Port A Standby GPIO retention enable Access can be protected by GPIOA SECy, privilege protection is controlled by SPRIV or NSPRIV. When set, each bit enables the Standby GPIO retention feature for PAy EN: u1, padding: u31, }), - /// port Standby IO retention status register + /// port Standby IO retention status register IORETRA: mmio.Mmio(packed struct(u32) { - /// Port A Standby GPIO retention active Access can be protected by GPIOA SECy, privilege protection is controlled by SPRIV or NSPRIV. + /// Port A Standby GPIO retention active Access can be protected by GPIOA SECy, privilege protection is controlled by SPRIV or NSPRIV. RET: u1, padding: u31, }), reserved256: [168]u8, - /// 2.4 GHz RADIO status and control register + /// 2.4 GHz RADIO status and control register RADIOSCR: mmio.Mmio(packed struct(u32) { - /// 2.4 GHz RADIO operating mode. 1x: 2.4 GHz RADIO active mode - MODE: packed union { - raw: u2, - value: MODE, - }, - /// 2.4 GHz RADIO PHY operating mode + /// 2.4 GHz RADIO operating mode. 1x: 2.4 GHz RADIO active mode + MODE: MODE, + /// 2.4 GHz RADIO PHY operating mode PHYMODE: u1, - /// 2.4 GHz RADIO encryption function operating mode + /// 2.4 GHz RADIO encryption function operating mode ENCMODE: u1, reserved8: u4, - /// 2.4 GHz RADIO VDDHPA control word. Bits [3:0] see Table 81: PA output power table format for definition. Bit [4] rf_event. + /// 2.4 GHz RADIO VDDHPA control word. Bits [3:0] see Table 81: PA output power table format for definition. Bit [4] rf_event. RFVDDHPA: u5, reserved15: u2, - /// Ready bit for VDDHPA voltage level when selecting VDDRFPA input. Note: REGPARDYVDDRFPA does not allow to detect correct VDDHPA voltage level when request to lower the level. + /// Ready bit for VDDHPA voltage level when selecting VDDRFPA input. Note: REGPARDYVDDRFPA does not allow to detect correct VDDHPA voltage level when request to lower the level. REGPARDYVDDRFPA: u1, padding: u16, }), @@ -363682,358 +359197,328 @@ pub const types = struct { pub const pwr_wl5 = struct { pub const CDS = enum(u1) { - /// CPU is running or in sleep + /// CPU is running or in sleep RunningOrSleep = 0x0, - /// CPU is in Deep-Sleep + /// CPU is in Deep-Sleep DeepSleep = 0x1, }; pub const FPDR = enum(u1) { - /// Flash memory in Idle mode when system is in LPRun mode + /// Flash memory in Idle mode when system is in LPRun mode Idle = 0x0, - /// Flash memory in Power-down mode when system is in LPRun mode + /// Flash memory in Power-down mode when system is in LPRun mode PowerDown = 0x1, }; pub const FPDS = enum(u1) { - /// Flash memory in Idle mode when system is in LPSleep mode + /// Flash memory in Idle mode when system is in LPSleep mode Idle = 0x0, - /// Flash memory in Power-down mode when system is in LPSleep mode + /// Flash memory in Power-down mode when system is in LPSleep mode PowerDown = 0x1, }; pub const LPMS = enum(u3) { - /// Stop 0 mode + /// Stop 0 mode Stop0 = 0x0, - /// Stop 1 mode + /// Stop 1 mode Stop1 = 0x1, - /// Stop 2 mode + /// Stop 2 mode Stop2 = 0x2, - /// Standby mode + /// Standby mode Standby = 0x3, - /// Shutdown mode + /// Shutdown mode Shutdown = 0x4, _, }; pub const LPR = enum(u1) { - /// Voltage regulator in Main mode in Low-power run mode + /// Voltage regulator in Main mode in Low-power run mode MainMode = 0x0, - /// Voltage regulator in low-power mode in Low-power run mode + /// Voltage regulator in low-power mode in Low-power run mode LowPowerMode = 0x1, }; pub const PLS = enum(u3) { - /// 2.0V + /// 2.0V V2_0 = 0x0, - /// 2.2V + /// 2.2V V2_2 = 0x1, - /// 2.4V + /// 2.4V V2_4 = 0x2, - /// 2.5V + /// 2.5V V2_5 = 0x3, - /// 2.6V + /// 2.6V V2_6 = 0x4, - /// 2.8V + /// 2.8V V2_8 = 0x5, - /// 2.9V + /// 2.9V V2_9 = 0x6, - /// External input analog voltage PVD_IN (compared internally to VREFINT) + /// External input analog voltage PVD_IN (compared internally to VREFINT) External = 0x7, }; pub const SUBGHZSPINSSSEL = enum(u1) { - /// sub-GHz SPI NSS signal driven from PWR_SUBGHZSPICR.NSS (RFBUSYMS functionality enabled) + /// sub-GHz SPI NSS signal driven from PWR_SUBGHZSPICR.NSS (RFBUSYMS functionality enabled) SUBGHZSPICR = 0x0, - /// sub-GHz SPI NSS signal driven from LPTIM3_OUT (RFBUSYMS functionality disabled) + /// sub-GHz SPI NSS signal driven from LPTIM3_OUT (RFBUSYMS functionality disabled) LPTIM3 = 0x1, }; pub const VBRS = enum(u1) { - /// VBAT charging through a 5 kΩ resistor + /// VBAT charging through a 5 kΩ resistor R5k = 0x0, - /// VBAT charging through a 1.5 kΩ resistor + /// VBAT charging through a 1.5 kΩ resistor R1_5k = 0x1, }; pub const VOS = enum(u2) { - /// 1.2 V (range 1) + /// 1.2 V (range 1) Range1 = 0x1, - /// 1.0 V (range 2) + /// 1.0 V (range 2) Range2 = 0x2, _, }; pub const WP = enum(u1) { - /// Detection on high level (rising edge) + /// Detection on high level (rising edge) RisingEdge = 0x0, - /// Detection on low level (falling edge) + /// Detection on low level (falling edge) FallingEdge = 0x1, }; - /// Power control + /// Power control pub const PWR = extern struct { - /// Power control register 1 + /// Power control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Low-power mode selection for CPU1 - LPMS: packed union { - raw: u3, - value: LPMS, - }, - /// sub-GHz SPI NSS source select - SUBGHZSPINSSSEL: packed union { - raw: u1, - value: SUBGHZSPINSSSEL, - }, - /// Flash memory power down mode during LPRun for CPU1 - FPDR: packed union { - raw: u1, - value: FPDR, - }, - /// Flash memory power down mode during LPSleep for CPU1 - FPDS: packed union { - raw: u1, - value: FPDS, - }, + /// Low-power mode selection for CPU1 + LPMS: LPMS, + /// sub-GHz SPI NSS source select + SUBGHZSPINSSSEL: SUBGHZSPINSSSEL, + /// Flash memory power down mode during LPRun for CPU1 + FPDR: FPDR, + /// Flash memory power down mode during LPSleep for CPU1 + FPDS: FPDS, reserved8: u2, - /// Disable backup domain write protection + /// Disable backup domain write protection DBP: u1, - /// Voltage scaling range selection - VOS: packed union { - raw: u2, - value: VOS, - }, + /// Voltage scaling range selection + VOS: VOS, reserved14: u3, - /// Low-power run - LPR: packed union { - raw: u1, - value: LPR, - }, + /// Low-power run + LPR: LPR, padding: u17, }), - /// Power control register 2 + /// Power control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Power voltage detector enable + /// Power voltage detector enable PVDE: u1, - /// Power voltage detector level selection. - PLS: packed union { - raw: u3, - value: PLS, - }, + /// Power voltage detector level selection. + PLS: PLS, reserved6: u2, - /// Peripheral voltage monitoring 3 enable: VDDA vs. 1.62V + /// Peripheral voltage monitoring 3 enable: VDDA vs. 1.62V PVME: u1, padding: u25, }), - /// Power control register 3 + /// Power control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup pin WKUP1 for CPU1 + /// Enable Wakeup pin WKUP1 for CPU1 EWUP: u1, reserved7: u6, - /// Ultra-low-power enable + /// Ultra-low-power enable EULPEN: u1, - /// Enable wakeup PVD for CPU1 + /// Enable wakeup PVD for CPU1 EWPVD: u1, - /// SRAM2 retention in Standby mode + /// SRAM2 retention in Standby mode RRS: u1, - /// Apply pull-up and pull-down configuration from CPU1 + /// Apply pull-up and pull-down configuration from CPU1 APC: u1, - /// Enable Radio BUSY Wakeup from Standby for CPU1 + /// Enable Radio BUSY Wakeup from Standby for CPU1 EWRFBUSY: u1, reserved13: u1, - /// Wakeup for CPU1 + /// Wakeup for CPU1 EWRFIRQ: u1, - /// nable CPU2 Hold interrupt for CPU1 + /// nable CPU2 Hold interrupt for CPU1 EC2H: u1, - /// Enable internal wakeup line for CPU1 + /// Enable internal wakeup line for CPU1 EIWUL: u1, padding: u16, }), - /// Power control register 4 + /// Power control register 4 CR4: mmio.Mmio(packed struct(u32) { - /// Wakeup pin WKUP1 polarity - WP: packed union { - raw: u1, - value: WP, - }, + /// Wakeup pin WKUP1 polarity + WP: WP, reserved8: u7, - /// VBAT battery charging enable + /// VBAT battery charging enable VBE: u1, - /// VBAT battery charging resistor selection - VBRS: packed union { - raw: u1, - value: VBRS, - }, + /// VBAT battery charging resistor selection + VBRS: VBRS, reserved11: u1, - /// Wakeup Radio BUSY polarity + /// Wakeup Radio BUSY polarity WRFBUSYP: u1, reserved15: u3, - /// oot CPU2 after reset or wakeup from Stop or Standby modes. + /// oot CPU2 after reset or wakeup from Stop or Standby modes. C2BOOT: u1, padding: u16, }), - /// Power status register 1 + /// Power status register 1 SR1: mmio.Mmio(packed struct(u32) { - /// Wakeup flag 1 + /// Wakeup flag 1 WUF: u1, reserved8: u7, - /// Wakeup PVD flag + /// Wakeup PVD flag WPVDF: u1, reserved11: u2, - /// Radio BUSY wakeup flag + /// Radio BUSY wakeup flag WRFBUSYF: u1, reserved14: u2, - /// PU2 Hold interrupt flag + /// PU2 Hold interrupt flag C2HF: u1, - /// Internal wakeup interrupt flag + /// Internal wakeup interrupt flag WUFI: u1, padding: u16, }), - /// Power status register 2 + /// Power status register 2 SR2: mmio.Mmio(packed struct(u32) { - /// PU2 boot/wakeup request source information + /// PU2 boot/wakeup request source information C2BOOTS: u1, - /// Radio BUSY signal status + /// Radio BUSY signal status RFBUSYS: u1, - /// Radio BUSY masked signal status + /// Radio BUSY masked signal status RFBUSYMS: u1, - /// SMPS ready flag + /// SMPS ready flag SMPSRDY: u1, - /// LDO ready flag + /// LDO ready flag LDORDY: u1, - /// Radio end of life flag + /// Radio end of life flag RFEOLF: u1, - /// regulator2 low power flag + /// regulator2 low power flag REGMRS: u1, - /// Flash ready + /// Flash ready FLASHRDY: u1, - /// regulator1 started + /// regulator1 started REGLPS: u1, - /// regulator1 low power flag + /// regulator1 low power flag REGLPF: u1, - /// Voltage scaling flag + /// Voltage scaling flag VOSF: u1, - /// Power voltage detector output + /// Power voltage detector output PVDO: u1, reserved14: u2, - /// Peripheral voltage monitoring output: VDDA vs. 1.62 V + /// Peripheral voltage monitoring output: VDDA vs. 1.62 V PVMO: u1, padding: u17, }), - /// Power status clear register + /// Power status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear wakeup flag 1 + /// Clear wakeup flag 1 CWUF: u1, reserved8: u7, - /// Clear wakeup PVD interrupt flag + /// Clear wakeup PVD interrupt flag CWPVDF: u1, reserved11: u2, - /// Clear wakeup Radio BUSY flag + /// Clear wakeup Radio BUSY flag CWRFBUSYF: u1, reserved14: u2, - /// lear CPU2 Hold interrupt flag + /// lear CPU2 Hold interrupt flag CC2HF: u1, padding: u17, }), - /// Power control register 5 + /// Power control register 5 CR5: mmio.Mmio(packed struct(u32) { reserved14: u14, - /// Enable Radio End Of Life detector enabled + /// Enable Radio End Of Life detector enabled RFEOLEN: u1, - /// Enable SMPS Step Down converter SMPS mode enabled. + /// Enable SMPS Step Down converter SMPS mode enabled. SMPSEN: u1, padding: u16, }), - /// Power Port pull-up control register + /// Power Port pull-up control register PUCR: mmio.Mmio(packed struct(u32) { - /// Port pull bit y (y=0..15) + /// Port pull bit y (y=0..15) P: u1, padding: u31, }), - /// Power Port pull-down control register + /// Power Port pull-down control register PDCR: mmio.Mmio(packed struct(u32) { - /// Port pull bit y (y=0..15) + /// Port pull bit y (y=0..15) P: u1, padding: u31, }), reserved128: [88]u8, - /// Power CPU2 control register 1 [dual core device only] + /// Power CPU2 control register 1 [dual core device only] C2CR1: mmio.Mmio(packed struct(u32) { - /// Low-power mode selection for CPU2 + /// Low-power mode selection for CPU2 LPMS: u3, reserved4: u1, - /// Flash memory power down mode during LPRun for CPU2 + /// Flash memory power down mode during LPRun for CPU2 FPDR: u1, - /// Flash memory power down mode during LPSleep for CPU2 + /// Flash memory power down mode during LPSleep for CPU2 FPDS: u1, padding: u26, }), - /// Power CPU2 control register 3 [dual core device only] + /// Power CPU2 control register 3 [dual core device only] C2CR3: mmio.Mmio(packed struct(u32) { - /// Enable Wakeup pin WKUP1 for CPU2 + /// Enable Wakeup pin WKUP1 for CPU2 EWUP: u1, reserved8: u7, - /// Enable wakeup PVD for CPU2 + /// Enable wakeup PVD for CPU2 EWPVD: u1, reserved10: u1, - /// Apply pull-up and pull-down configuration for CPU2 + /// Apply pull-up and pull-down configuration for CPU2 APC: u1, - /// EWRFBUSY + /// EWRFBUSY EWRFBUSY: u1, reserved13: u1, - /// akeup for CPU2 + /// akeup for CPU2 EWRFIRQ: u1, reserved15: u1, - /// Enable internal wakeup line for CPU2 + /// Enable internal wakeup line for CPU2 EIWUL: u1, padding: u16, }), - /// Power extended status and status clear register + /// Power extended status and status clear register EXTSCR: mmio.Mmio(packed struct(u32) { - /// Clear CPU1 Stop Standby flags + /// Clear CPU1 Stop Standby flags C1CSSF: u1, - /// lear CPU2 Stop Standby flags + /// lear CPU2 Stop Standby flags C2CSSF: u1, reserved8: u6, - /// System Standby flag for CPU1. (no core states retained) + /// System Standby flag for CPU1. (no core states retained) C1SBF: u1, - /// System Stop2 flag for CPU1. (partial core states retained) + /// System Stop2 flag for CPU1. (partial core states retained) C1STOP2F: u1, - /// System Stop0, 1 flag for CPU1. (All core states retained) + /// System Stop0, 1 flag for CPU1. (All core states retained) C1STOPF: u1, - /// ystem Standby flag for CPU2. (no core states retained) + /// ystem Standby flag for CPU2. (no core states retained) C2SBF: u1, - /// ystem Stop2 flag for CPU2. (partial core states retained) + /// ystem Stop2 flag for CPU2. (partial core states retained) C2STOP2F: u1, - /// ystem Stop0, 1 flag for CPU2. (All core states retained) + /// ystem Stop0, 1 flag for CPU2. (All core states retained) C2STOPF: u1, - /// CPU1 deepsleep mode - C1DS: packed union { - raw: u1, - value: CDS, - }, - /// PU2 deepsleep mode + /// CPU1 deepsleep mode + C1DS: CDS, + /// PU2 deepsleep mode C2DS: u1, padding: u16, }), - /// Power security configuration register [dual core device only] + /// Power security configuration register [dual core device only] SECCFGR: mmio.Mmio(packed struct(u32) { reserved15: u15, - /// wakeup on CPU2 illegal access interrupt enable + /// wakeup on CPU2 illegal access interrupt enable C2EWILA: u1, padding: u16, }), - /// Power SPI3 control register + /// Power SPI3 control register SUBGHZSPICR: mmio.Mmio(packed struct(u32) { reserved15: u15, - /// sub-GHz SPI NSS control + /// sub-GHz SPI NSS control NSS: u1, padding: u16, }), reserved152: [4]u8, - /// RSS Command register [dual core device only] + /// RSS Command register [dual core device only] RSSCMDR: mmio.Mmio(packed struct(u32) { - /// RSS command + /// RSS command RSSCMD: u8, padding: u24, }), @@ -364041,159 +359526,159 @@ pub const types = struct { }; pub const quadspi_v1 = struct { - /// QuadSPI interface + /// QuadSPI interface pub const QUADSPI = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// Enable + /// Enable EN: u1, - /// Abort request + /// Abort request ABORT: u1, - /// DMA enable (not available on all chips!) + /// DMA enable (not available on all chips!) DMAEN: u1, - /// Timeout counter enable + /// Timeout counter enable TCEN: u1, - /// Sample shift + /// Sample shift SSHIFT: u1, reserved6: u1, - /// Dual-flash mode + /// Dual-flash mode DFM: u1, - /// FLASH memory selection + /// FLASH memory selection FSEL: u1, - /// IFO threshold level + /// IFO threshold level FTHRES: u4, reserved16: u4, - /// Transfer error interrupt enable + /// Transfer error interrupt enable TEIE: u1, - /// Transfer complete interrupt enable + /// Transfer complete interrupt enable TCIE: u1, - /// FIFO threshold interrupt enable + /// FIFO threshold interrupt enable FTIE: u1, - /// Status match interrupt enable + /// Status match interrupt enable SMIE: u1, - /// TimeOut interrupt enable + /// TimeOut interrupt enable TOIE: u1, reserved22: u1, - /// Automatic poll mode stop + /// Automatic poll mode stop APMS: u1, - /// Polling match mode + /// Polling match mode PMM: u1, - /// Clock prescaler + /// Clock prescaler PRESCALER: u8, }), - /// device configuration register + /// device configuration register DCR: mmio.Mmio(packed struct(u32) { - /// Mode 0 / mode 3 + /// Mode 0 / mode 3 CKMODE: u1, reserved8: u7, - /// Chip select high time + /// Chip select high time CSHT: u3, reserved16: u5, - /// FLASH memory size + /// FLASH memory size FSIZE: u5, padding: u11, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Transfer error flag + /// Transfer error flag TEF: u1, - /// Transfer complete flag + /// Transfer complete flag TCF: u1, - /// FIFO threshold flag + /// FIFO threshold flag FTF: u1, - /// Status match flag + /// Status match flag SMF: u1, - /// Timeout flag + /// Timeout flag TOF: u1, - /// Busy + /// Busy BUSY: u1, reserved8: u2, - /// FIFO level + /// FIFO level FLEVEL: u7, padding: u17, }), - /// flag clear register + /// flag clear register FCR: mmio.Mmio(packed struct(u32) { - /// Clear transfer error flag + /// Clear transfer error flag CTEF: u1, - /// Clear transfer complete flag + /// Clear transfer complete flag CTCF: u1, reserved3: u1, - /// Clear status match flag + /// Clear status match flag CSMF: u1, - /// Clear timeout flag + /// Clear timeout flag CTOF: u1, padding: u27, }), - /// data length register + /// data length register DLR: mmio.Mmio(packed struct(u32) { - /// Data length + /// Data length DL: u32, }), - /// communication configuration register + /// communication configuration register CCR: mmio.Mmio(packed struct(u32) { - /// Instruction + /// Instruction INSTRUCTION: u8, - /// Instruction mode + /// Instruction mode IMODE: u2, - /// Address mode + /// Address mode ADMODE: u2, - /// Address size + /// Address size ADSIZE: u2, - /// Alternate bytes mode + /// Alternate bytes mode ABMODE: u2, - /// Alternate bytes size + /// Alternate bytes size ABSIZE: u2, - /// Number of dummy cycles + /// Number of dummy cycles DCYC: u5, reserved24: u1, - /// Data mode + /// Data mode DMODE: u2, - /// Functional mode + /// Functional mode FMODE: u2, - /// Send instruction only once mode + /// Send instruction only once mode SIOO: u1, - /// Free-running clock mode (not available on all chips!) + /// Free-running clock mode (not available on all chips!) FRCM: u1, - /// DDR hold half cycle + /// DDR hold half cycle DHHC: u1, - /// Double data rate mode + /// Double data rate mode DDRM: u1, }), - /// address register + /// address register AR: mmio.Mmio(packed struct(u32) { - /// Address + /// Address ADDRESS: u32, }), - /// ABR + /// ABR ABR: mmio.Mmio(packed struct(u32) { - /// ALTERNATE + /// ALTERNATE ALTERNATE: u32, }), - /// data register + /// data register DR: mmio.Mmio(packed struct(u32) { - /// Data + /// Data DATA: u32, }), - /// polling status mask register + /// polling status mask register PSMKR: mmio.Mmio(packed struct(u32) { - /// Status mask + /// Status mask MASK: u32, }), - /// polling status match register + /// polling status match register PSMAR: mmio.Mmio(packed struct(u32) { - /// Status match + /// Status match MATCH: u32, }), - /// polling interval register + /// polling interval register PIR: mmio.Mmio(packed struct(u32) { - /// Polling interval + /// Polling interval INTERVAL: u16, padding: u16, }), - /// low-power timeout register + /// low-power timeout register LPTR: mmio.Mmio(packed struct(u32) { - /// Timeout period + /// Timeout period TIMEOUT: u16, padding: u16, }), @@ -364202,636 +359687,585 @@ pub const types = struct { pub const rcc_c0 = struct { pub const ADCSEL = enum(u2) { - /// System clock + /// System clock SYS = 0x0, - /// HSIKER + /// HSIKER HSIKER = 0x2, _, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK is divided by 2 + /// SYSCLK is divided by 2 Div2 = 0x8, - /// SYSCLK is divided by 4 + /// SYSCLK is divided by 4 Div4 = 0x9, - /// SYSCLK is divided by 8 + /// SYSCLK is divided by 8 Div8 = 0xa, - /// SYSCLK is divided by 16 + /// SYSCLK is divided by 16 Div16 = 0xb, - /// SYSCLK is divided by 64 + /// SYSCLK is divided by 64 Div64 = 0xc, - /// SYSCLK is divided by 128 + /// SYSCLK is divided by 128 Div128 = 0xd, - /// SYSCLK is divided by 256 + /// SYSCLK is divided by 256 Div256 = 0xe, - /// SYSCLK is divided by 512 + /// SYSCLK is divided by 512 Div512 = 0xf, _, }; pub const HSIDIV = enum(u3) { - /// HSI clock is not divided + /// HSI clock is not divided Div1 = 0x0, - /// HSI clock is divided by 2 + /// HSI clock is divided by 2 Div2 = 0x1, - /// HSI clock is divided by 4 + /// HSI clock is divided by 4 Div4 = 0x2, - /// HSI clock is divided by 8 + /// HSI clock is divided by 8 Div8 = 0x3, - /// HSI clock is divided by 16 + /// HSI clock is divided by 16 Div16 = 0x4, - /// HSI clock is divided by 32 + /// HSI clock is divided by 32 Div32 = 0x5, - /// HSI clock is divided by 64 + /// HSI clock is divided by 64 Div64 = 0x6, - /// HSI clock is divided by 128 + /// HSI clock is divided by 128 Div128 = 0x7, }; pub const HSIKERDIV = enum(u3) { - /// 1 + /// 1 Div1 = 0x0, - /// 2 + /// 2 Div2 = 0x1, - /// 3 (reset value) + /// 3 (reset value) Div3 = 0x2, - /// 4 + /// 4 Div4 = 0x3, - /// 5 + /// 5 Div5 = 0x4, - /// 6 + /// 6 Div6 = 0x5, - /// 7 + /// 7 Div7 = 0x6, - /// 8 + /// 8 Div8 = 0x7, }; pub const I2C1SEL = enum(u2) { - /// PCLK + /// PCLK PCLK1 = 0x0, - /// SYSCLK + /// SYSCLK SYS = 0x1, - /// HSIKER + /// HSIKER HSIKER = 0x2, _, }; pub const I2S1SEL = enum(u2) { - /// SYSCLK + /// SYSCLK SYS = 0x0, - /// HSIKER + /// HSIKER HSIKER = 0x2, - /// I2S_CKIN + /// I2S_CKIN I2S_CKIN = 0x3, _, }; pub const LSCOSEL = enum(u1) { - /// LSI + /// LSI LSI = 0x0, - /// LSE + /// LSE LSE = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u4) { - /// MCO2 not divided + /// MCO2 not divided Div1 = 0x0, - /// MCO clock is divided by 2 + /// MCO clock is divided by 2 Div2 = 0x1, - /// MCO clock is divided by 4 + /// MCO clock is divided by 4 Div4 = 0x2, - /// MCO clock is divided by 8 + /// MCO clock is divided by 8 Div8 = 0x3, - /// MCO clock is divided divided by 16 + /// MCO clock is divided divided by 16 Div16 = 0x4, - /// MCO clock is divided divided by 32 + /// MCO clock is divided divided by 32 Div32 = 0x5, - /// MCO clock is divided divided by 64 + /// MCO clock is divided divided by 64 Div64 = 0x6, - /// MCO clock is divided divided by 128 + /// MCO clock is divided divided by 128 Div128 = 0x7, _, }; pub const MCOSEL = enum(u4) { - /// No clock, MCO output disabled + /// No clock, MCO output disabled DISABLE = 0x0, - /// SYSCLK selected as MCO source + /// SYSCLK selected as MCO source SYS = 0x1, - /// HSI selected as MCO source + /// HSI selected as MCO source HSI = 0x3, - /// HSE selected as MCO source + /// HSE selected as MCO source HSE = 0x4, - /// LSI selected as MCO source + /// LSI selected as MCO source LSI = 0x6, - /// LSE selected as MCO source + /// LSE selected as MCO source LSE = 0x7, _, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK is divided by 2 + /// HCLK is divided by 2 Div2 = 0x4, - /// HCLK is divided by 4 + /// HCLK is divided by 4 Div4 = 0x5, - /// HCLK is divided by 8 + /// HCLK is divided by 8 Div8 = 0x6, - /// HCLK is divided by 16 + /// HCLK is divided by 16 Div16 = 0x7, _, }; pub const RTCSEL = enum(u2) { - /// No clock used as RTC clock + /// No clock used as RTC clock DISABLE = 0x0, - /// LSE used as RTC clock + /// LSE used as RTC clock LSE = 0x1, - /// LSI used as RTC clock + /// LSI used as RTC clock LSI = 0x2, - /// HSE divided by 32 used as RTC clock + /// HSE divided by 32 used as RTC clock HSE_Div32 = 0x3, }; pub const SW = enum(u3) { - /// HSISYS (HSI divided by HSIDIV) selected as system clock + /// HSISYS (HSI divided by HSIDIV) selected as system clock HSISYS = 0x0, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x1, - /// LSI selected as system clock + /// LSI selected as system clock LSI = 0x3, - /// LSE selected as system clock + /// LSE selected as system clock LSE = 0x4, _, }; pub const USART1SEL = enum(u2) { - /// PCLK + /// PCLK PCLK1 = 0x0, - /// SYSCLK + /// SYSCLK SYS = 0x1, - /// HSIKER + /// HSIKER HSIKER = 0x2, - /// LSE + /// LSE LSE = 0x3, }; - /// RCC address block description + /// RCC address block description pub const RCC = extern struct { - /// RCC clock control register + /// RCC clock control register CR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// HSI kernel clock division factor This bitfield controlled by software sets the division factor of the kernel clock divider to produce HSIKER clock: - HSIKERDIV: packed union { - raw: u3, - value: HSIKERDIV, - }, - /// HSI clock enable Set and cleared by software and hardware, with hardware taking priority. Kept low by hardware as long as the device is in a low-power mode. Kept high by hardware as long as the system is clocked with a clock derived from HSI. This includes the exit from low-power modes and the system clock fall-back to HSI upon failing HSE oscillator clock selected as system clock source. + /// HSI kernel clock division factor This bitfield controlled by software sets the division factor of the kernel clock divider to produce HSIKER clock: + HSIKERDIV: HSIKERDIV, + /// HSI clock enable Set and cleared by software and hardware, with hardware taking priority. Kept low by hardware as long as the device is in a low-power mode. Kept high by hardware as long as the system is clocked with a clock derived from HSI. This includes the exit from low-power modes and the system clock fall-back to HSI upon failing HSE oscillator clock selected as system clock source. HSION: u1, - /// HSI always-enable for peripheral kernels. Set and cleared by software. Setting the bit activates the HSI oscillator in Run and Stop modes, regardless of the HSION bit state. The HSI clock can only feed USART1, USART2, and I2C1 peripherals configured with HSI as kernel clock. Note: Keeping the HSI active in Stop mode allows speeding up the serial interface communication as the HSI clock is ready immediately upon exiting Stop mode. + /// HSI always-enable for peripheral kernels. Set and cleared by software. Setting the bit activates the HSI oscillator in Run and Stop modes, regardless of the HSION bit state. The HSI clock can only feed USART1, USART2, and I2C1 peripherals configured with HSI as kernel clock. Note: Keeping the HSI active in Stop mode allows speeding up the serial interface communication as the HSI clock is ready immediately upon exiting Stop mode. HSIKERON: u1, - /// HSI clock ready flag Set by hardware when the HSI oscillator is enabled through HSION and ready to use (stable). Note: Upon clearing HSION, HSIRDY goes low after six HSI clock cycles. + /// HSI clock ready flag Set by hardware when the HSI oscillator is enabled through HSION and ready to use (stable). Note: Upon clearing HSION, HSIRDY goes low after six HSI clock cycles. HSIRDY: u1, - /// HSI clock division factor This bitfield controlled by software sets the division factor of the HSI clock divider to produce HSISYS clock: - HSIDIV: packed union { - raw: u3, - value: HSIDIV, - }, + /// HSI clock division factor This bitfield controlled by software sets the division factor of the HSI clock divider to produce HSISYS clock: + HSIDIV: HSIDIV, reserved16: u2, - /// HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE oscillator when entering Stop, or Standby, or Shutdown mode. This bit cannot be cleared if the HSE oscillator is used directly or indirectly as the system clock. + /// HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE oscillator when entering Stop, or Standby, or Shutdown mode. This bit cannot be cleared if the HSE oscillator is used directly or indirectly as the system clock. HSEON: u1, - /// HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable and ready for use. Note: Upon clearing HSEON, HSERDY goes low after six HSE clock cycles. + /// HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable and ready for use. Note: Upon clearing HSEON, HSERDY goes low after six HSE clock cycles. HSERDY: u1, - /// HSE crystal oscillator bypass Set and cleared by software. When the bit is set, the internal HSE oscillator is bypassed for use of an external clock. The external clock must then be enabled with the HSEON bit set. Write access to the bit is only effective when the HSE oscillator is disabled. + /// HSE crystal oscillator bypass Set and cleared by software. When the bit is set, the internal HSE oscillator is bypassed for use of an external clock. The external clock must then be enabled with the HSEON bit set. Write access to the bit is only effective when the HSE oscillator is disabled. HSEBYP: u1, - /// Clock security system enable Set by software to enable the clock security system. When the bit is set, the clock detector is enabled by hardware when the HSE oscillator is ready, and disabled by hardware if a HSE clock failure is detected. The bit is cleared by hardware upon reset. + /// Clock security system enable Set by software to enable the clock security system. When the bit is set, the clock detector is enabled by hardware when the HSE oscillator is ready, and disabled by hardware if a HSE clock failure is detected. The bit is cleared by hardware upon reset. CSSON: u1, padding: u12, }), - /// RCC internal clock source calibration register + /// RCC internal clock source calibration register ICSCR: mmio.Mmio(packed struct(u32) { - /// HSI clock calibration This bitfield directly acts on the HSI clock frequency. Its value is a sum of an internal factory-programmed number and the value of the HSITRIM[6:0] bitfield. In the factory, the internal number is set to calibrate the HSI clock frequency to 48 MHz (with HSITRIM[6:0] left at its reset value). Refer to the device datasheet for HSI calibration accuracy and for the frequency trimming granularity. Note: The trimming effect presents discontinuities at HSICAL[7:0] multiples of 64. + /// HSI clock calibration This bitfield directly acts on the HSI clock frequency. Its value is a sum of an internal factory-programmed number and the value of the HSITRIM[6:0] bitfield. In the factory, the internal number is set to calibrate the HSI clock frequency to 48 MHz (with HSITRIM[6:0] left at its reset value). Refer to the device datasheet for HSI calibration accuracy and for the frequency trimming granularity. Note: The trimming effect presents discontinuities at HSICAL[7:0] multiples of 64. HSICAL: u8, - /// HSI clock trimming The value of this bitfield contributes to the HSICAL[7:0] bitfield value. It allows HSI clock frequency user trimming. The HSI frequency accuracy as stated in the device datasheet applies when this bitfield is left at its reset value. + /// HSI clock trimming The value of this bitfield contributes to the HSICAL[7:0] bitfield value. It allows HSI clock frequency user trimming. The HSI frequency accuracy as stated in the device datasheet applies when this bitfield is left at its reset value. HSITRIM: u7, padding: u17, }), - /// RCC clock configuration register + /// RCC clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch This bitfield is controlled by software and hardware. The bitfield selects the clock for SYSCLK as follows: Others: Reserved The setting is forced by hardware to 000 (HSISYS selected) when the MCU exits Stop, or Standby, or Shutdown mode, or when the setting is 001 (HSE selected) and HSE oscillator failure is detected. - SW: packed union { - raw: u3, - value: SW, - }, - /// System clock switch status This bitfield is controlled by hardware to indicate the clock source used as system clock: Others: Reserved - SWS: packed union { - raw: u3, - value: SW, - }, + /// System clock switch This bitfield is controlled by software and hardware. The bitfield selects the clock for SYSCLK as follows: Others: Reserved The setting is forced by hardware to 000 (HSISYS selected) when the MCU exits Stop, or Standby, or Shutdown mode, or when the setting is 001 (HSE selected) and HSE oscillator failure is detected. + SW: SW, + /// System clock switch status This bitfield is controlled by hardware to indicate the clock source used as system clock: Others: Reserved + SWS: SW, reserved8: u2, - /// AHB prescaler This bitfield is controlled by software. To produce HCLK clock, it sets the division factor of SYSCLK clock as follows: 0xxx: 1 - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB prescaler This bitfield is controlled by software. To produce PCLK clock, it sets the division factor of HCLK clock as follows: 0xx: 1 - PPRE: packed union { - raw: u3, - value: PPRE, - }, + /// AHB prescaler This bitfield is controlled by software. To produce HCLK clock, it sets the division factor of SYSCLK clock as follows: 0xxx: 1 + HPRE: HPRE, + /// APB prescaler This bitfield is controlled by software. To produce PCLK clock, it sets the division factor of HCLK clock as follows: 0xx: 1 + PPRE: PPRE, reserved16: u1, - /// Microcontroller clock output 2 clock selector This bitfield is controlled by software. It sets the clock selector for MCO2 output as follows: This bitfield is controlled by software. It sets the clock selector for MCO output as follows: Note: This clock output may have some truncated cycles at startup or during MCO2 clock source switching. - MCO2SEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller clock output 2 prescaler This bitfield is controlled by software. It sets the division factor of the clock sent to the MCO2 output as follows: ... It is highly recommended to set this field before the MCO2 output is enabled. - MCO2PRE: packed union { - raw: u4, - value: MCOPRE, - }, - /// Microcontroller clock output clock selector This bitfield is controlled by software. It sets the clock selector for MCO output as follows: Note: This clock output may have some truncated cycles at startup or during MCO clock source switching. Any other value means no clock on MCO. - MCO1SEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller clock output prescaler This bitfield is controlled by software. It sets the division factor of the clock sent to the MCO output as follows: ... It is highly recommended to set this field before the MCO output is enabled. - MCO1PRE: packed union { - raw: u4, - value: MCOPRE, - }, + /// Microcontroller clock output 2 clock selector This bitfield is controlled by software. It sets the clock selector for MCO2 output as follows: This bitfield is controlled by software. It sets the clock selector for MCO output as follows: Note: This clock output may have some truncated cycles at startup or during MCO2 clock source switching. + MCO2SEL: MCOSEL, + /// Microcontroller clock output 2 prescaler This bitfield is controlled by software. It sets the division factor of the clock sent to the MCO2 output as follows: ... It is highly recommended to set this field before the MCO2 output is enabled. + MCO2PRE: MCOPRE, + /// Microcontroller clock output clock selector This bitfield is controlled by software. It sets the clock selector for MCO output as follows: Note: This clock output may have some truncated cycles at startup or during MCO clock source switching. Any other value means no clock on MCO. + MCO1SEL: MCOSEL, + /// Microcontroller clock output prescaler This bitfield is controlled by software. It sets the division factor of the clock sent to the MCO output as follows: ... It is highly recommended to set this field before the MCO output is enabled. + MCO1PRE: MCOPRE, }), reserved24: [12]u8, - /// RCC clock interrupt enable register + /// RCC clock interrupt enable register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSI oscillator stabilization: + /// LSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSI oscillator stabilization: LSIRDYIE: u1, - /// LSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSE oscillator stabilization: + /// LSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSE oscillator stabilization: LSERDYIE: u1, reserved3: u1, - /// HSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSI oscillator stabilization: + /// HSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSI oscillator stabilization: HSIRDYIE: u1, - /// HSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSE oscillator stabilization: + /// HSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSE oscillator stabilization: HSERDYIE: u1, padding: u27, }), - /// RCC clock interrupt flag register + /// RCC clock interrupt flag register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag This flag indicates a pending interrupt upon LSE clock getting ready. Set by hardware when the LSI clock becomes stable and LSIRDYDIE is set. Cleared by software setting the LSIRDYC bit. + /// LSI ready interrupt flag This flag indicates a pending interrupt upon LSE clock getting ready. Set by hardware when the LSI clock becomes stable and LSIRDYDIE is set. Cleared by software setting the LSIRDYC bit. LSIRDYF: u1, - /// LSE ready interrupt flag This flag indicates a pending interrupt upon LSE clock getting ready. Set by hardware when the LSE clock becomes stable and LSERDYDIE is set. Cleared by software setting the LSERDYC bit. + /// LSE ready interrupt flag This flag indicates a pending interrupt upon LSE clock getting ready. Set by hardware when the LSE clock becomes stable and LSERDYDIE is set. Cleared by software setting the LSERDYC bit. LSERDYF: u1, reserved3: u1, - /// HSI ready interrupt flag This flag indicates a pending interrupt upon HSI clock getting ready. Set by hardware when the HSI clock becomes stable and HSIRDYIE is set in response to setting the HSION (refer to ). When HSION is not set but the HSI oscillator is enabled by the peripheral through a clock request, this bit is not set and no interrupt is generated. Cleared by software setting the HSIRDYC bit. + /// HSI ready interrupt flag This flag indicates a pending interrupt upon HSI clock getting ready. Set by hardware when the HSI clock becomes stable and HSIRDYIE is set in response to setting the HSION (refer to ). When HSION is not set but the HSI oscillator is enabled by the peripheral through a clock request, this bit is not set and no interrupt is generated. Cleared by software setting the HSIRDYC bit. HSIRDYF: u1, - /// HSE ready interrupt flag This flag indicates a pending interrupt upon HSE clock getting ready. Set by hardware when the HSE clock becomes stable and HSERDYIE is set. Cleared by software setting the HSERDYC bit. + /// HSE ready interrupt flag This flag indicates a pending interrupt upon HSE clock getting ready. Set by hardware when the HSE clock becomes stable and HSERDYIE is set. Cleared by software setting the HSERDYC bit. HSERDYF: u1, reserved8: u3, - /// HSE clock security system interrupt flag This flag indicates a pending interrupt upon HSE clock failure. Set by hardware when a failure is detected in the HSE oscillator. Cleared by software setting the CSSC bit. + /// HSE clock security system interrupt flag This flag indicates a pending interrupt upon HSE clock failure. Set by hardware when a failure is detected in the HSE oscillator. Cleared by software setting the CSSC bit. CSSF: u1, - /// LSE clock security system interrupt flag This flag indicates a pending interrupt upon LSE clock failure. Set by hardware when a failure is detected in the LSE oscillator. Cleared by software by setting the LSECSSC bit. + /// LSE clock security system interrupt flag This flag indicates a pending interrupt upon LSE clock failure. Set by hardware when a failure is detected in the LSE oscillator. Cleared by software by setting the LSECSSC bit. LSECSSF: u1, padding: u22, }), - /// RCC clock interrupt clear register + /// RCC clock interrupt clear register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt clear This bit is set by software to clear the LSIRDYF flag. + /// LSI ready interrupt clear This bit is set by software to clear the LSIRDYF flag. LSIRDYC: u1, - /// LSE ready interrupt clear This bit is set by software to clear the LSERDYF flag. + /// LSE ready interrupt clear This bit is set by software to clear the LSERDYF flag. LSERDYC: u1, reserved3: u1, - /// HSI ready interrupt clear This bit is set software to clear the HSIRDYF flag. + /// HSI ready interrupt clear This bit is set software to clear the HSIRDYF flag. HSIRDYC: u1, - /// HSE ready interrupt clear This bit is set by software to clear the HSERDYF flag. + /// HSE ready interrupt clear This bit is set by software to clear the HSERDYF flag. HSERDYC: u1, reserved8: u3, - /// Clock security system interrupt clear This bit is set by software to clear the HSECSSF flag. + /// Clock security system interrupt clear This bit is set by software to clear the HSECSSF flag. CSSC: u1, - /// LSE Clock security system interrupt clear This bit is set by software to clear the LSECSSF flag. + /// LSE Clock security system interrupt clear This bit is set by software to clear the LSECSSF flag. LSECSSC: u1, padding: u22, }), - /// RCC I/O port reset register + /// RCC I/O port reset register GPIORSTR: mmio.Mmio(packed struct(u32) { - /// I/O port A reset This bit is set and cleared by software. + /// I/O port A reset This bit is set and cleared by software. GPIOARST: u1, - /// I/O port B reset This bit is set and cleared by software. + /// I/O port B reset This bit is set and cleared by software. GPIOBRST: u1, - /// I/O port C reset This bit is set and cleared by software. + /// I/O port C reset This bit is set and cleared by software. GPIOCRST: u1, - /// I/O port D reset This bit is set and cleared by software. + /// I/O port D reset This bit is set and cleared by software. GPIODRST: u1, reserved5: u1, - /// I/O port F reset This bit is set and cleared by software. + /// I/O port F reset This bit is set and cleared by software. GPIOFRST: u1, padding: u26, }), - /// RCC AHB peripheral reset register + /// RCC AHB peripheral reset register AHBRSTR: mmio.Mmio(packed struct(u32) { - /// DMA1 and DMAMUX reset Set and cleared by software. + /// DMA1 and DMAMUX reset Set and cleared by software. DMA1RST: u1, reserved8: u7, - /// Flash memory interface reset Set and cleared by software. This bit can only be set when the Flash memory is in power down mode. + /// Flash memory interface reset Set and cleared by software. This bit can only be set when the Flash memory is in power down mode. FLASHRST: u1, reserved12: u3, - /// CRC reset Set and cleared by software. + /// CRC reset Set and cleared by software. CRCRST: u1, padding: u19, }), - /// RCC APB peripheral reset register 1 + /// RCC APB peripheral reset register 1 APBRSTR1: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// TIM3 timer reset Set and cleared by software. + /// TIM3 timer reset Set and cleared by software. TIM3RST: u1, reserved17: u15, - /// USART2 reset Set and cleared by software. + /// USART2 reset Set and cleared by software. USART2RST: u1, reserved21: u3, - /// I2C1 reset Set and cleared by software. + /// I2C1 reset Set and cleared by software. I2C1RST: u1, reserved27: u5, - /// Debug support reset Set and cleared by software. + /// Debug support reset Set and cleared by software. DBGRST: u1, - /// Power interface reset Set and cleared by software. + /// Power interface reset Set and cleared by software. PWRRST: u1, padding: u3, }), - /// RCC APB peripheral reset register 2 + /// RCC APB peripheral reset register 2 APBRSTR2: mmio.Mmio(packed struct(u32) { - /// SYSCFG reset Set and cleared by software. + /// SYSCFG reset Set and cleared by software. SYSCFGRST: u1, reserved11: u10, - /// TIM1 timer reset Set and cleared by software. + /// TIM1 timer reset Set and cleared by software. TIM1RST: u1, - /// SPI1 reset Set and cleared by software. + /// SPI1 reset Set and cleared by software. SPI1RST: u1, reserved14: u1, - /// USART1 reset Set and cleared by software. + /// USART1 reset Set and cleared by software. USART1RST: u1, - /// TIM14 timer reset Set and cleared by software. + /// TIM14 timer reset Set and cleared by software. TIM14RST: u1, reserved17: u1, - /// TIM16 timer reset Set and cleared by software. + /// TIM16 timer reset Set and cleared by software. TIM16RST: u1, - /// TIM16 timer reset Set and cleared by software. + /// TIM16 timer reset Set and cleared by software. TIM17RST: u1, reserved20: u1, - /// ADC reset Set and cleared by software. + /// ADC reset Set and cleared by software. ADCRST: u1, padding: u11, }), - /// RCC I/O port clock enable register + /// RCC I/O port clock enable register GPIOENR: mmio.Mmio(packed struct(u32) { - /// I/O port A clock enable This bit is set and cleared by software. + /// I/O port A clock enable This bit is set and cleared by software. GPIOAEN: u1, - /// I/O port B clock enable This bit is set and cleared by software. + /// I/O port B clock enable This bit is set and cleared by software. GPIOBEN: u1, - /// I/O port C clock enable This bit is set and cleared by software. + /// I/O port C clock enable This bit is set and cleared by software. GPIOCEN: u1, - /// I/O port D clock enable This bit is set and cleared by software. + /// I/O port D clock enable This bit is set and cleared by software. GPIODEN: u1, reserved5: u1, - /// I/O port F clock enable This bit is set and cleared by software. + /// I/O port F clock enable This bit is set and cleared by software. GPIOFEN: u1, padding: u26, }), - /// RCC AHB peripheral clock enable register + /// RCC AHB peripheral clock enable register AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA1 and DMAMUX clock enable Set and cleared by software. DMAMUX is enabled as long as at least one DMA peripheral is enabled. + /// DMA1 and DMAMUX clock enable Set and cleared by software. DMAMUX is enabled as long as at least one DMA peripheral is enabled. DMA1EN: u1, reserved8: u7, - /// Flash memory interface clock enable Set and cleared by software. This bit can only be cleared when the Flash memory is in power down mode. + /// Flash memory interface clock enable Set and cleared by software. This bit can only be cleared when the Flash memory is in power down mode. FLASHEN: u1, reserved12: u3, - /// CRC clock enable Set and cleared by software. + /// CRC clock enable Set and cleared by software. CRCEN: u1, padding: u19, }), - /// RCC APB peripheral clock enable register 1 + /// RCC APB peripheral clock enable register 1 APBENR1: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// TIM3 timer clock enable Set and cleared by software. + /// TIM3 timer clock enable Set and cleared by software. TIM3EN: u1, reserved10: u8, - /// RTC APB clock enable Set and cleared by software. + /// RTC APB clock enable Set and cleared by software. RTCAPBEN: u1, - /// WWDG clock enable Set by software to enable the window watchdog clock. Cleared by hardware system reset This bit can also be set by hardware if the WWDG_SW option bit is 0. + /// WWDG clock enable Set by software to enable the window watchdog clock. Cleared by hardware system reset This bit can also be set by hardware if the WWDG_SW option bit is 0. WWDGEN: u1, reserved17: u5, - /// USART2 clock enable Set and cleared by software. + /// USART2 clock enable Set and cleared by software. USART2EN: u1, reserved21: u3, - /// I2C1 clock enable Set and cleared by software. + /// I2C1 clock enable Set and cleared by software. I2C1EN: u1, reserved27: u5, - /// Debug support clock enable Set and cleared by software. + /// Debug support clock enable Set and cleared by software. DBGEN: u1, - /// Power interface clock enable Set and cleared by software. + /// Power interface clock enable Set and cleared by software. PWREN: u1, padding: u3, }), - /// RCC APB peripheral clock enable register 2 + /// RCC APB peripheral clock enable register 2 APBENR2: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock enable Set and cleared by software. + /// SYSCFG clock enable Set and cleared by software. SYSCFGEN: u1, reserved11: u10, - /// TIM1 timer clock enable Set and cleared by software. + /// TIM1 timer clock enable Set and cleared by software. TIM1EN: u1, - /// SPI1 clock enable Set and cleared by software. + /// SPI1 clock enable Set and cleared by software. SPI1EN: u1, reserved14: u1, - /// USART1 clock enable Set and cleared by software. + /// USART1 clock enable Set and cleared by software. USART1EN: u1, - /// TIM14 timer clock enable Set and cleared by software. + /// TIM14 timer clock enable Set and cleared by software. TIM14EN: u1, reserved17: u1, - /// TIM16 timer clock enable Set and cleared by software. + /// TIM16 timer clock enable Set and cleared by software. TIM16EN: u1, - /// TIM16 timer clock enable Set and cleared by software. + /// TIM16 timer clock enable Set and cleared by software. TIM17EN: u1, reserved20: u1, - /// ADC clock enable Set and cleared by software. + /// ADC clock enable Set and cleared by software. ADCEN: u1, padding: u11, }), - /// RCC I/O port in Sleep mode clock enable register + /// RCC I/O port in Sleep mode clock enable register GPIOSMENR: mmio.Mmio(packed struct(u32) { - /// I/O port A clock enable during Sleep mode Set and cleared by software. + /// I/O port A clock enable during Sleep mode Set and cleared by software. GPIOASMEN: u1, - /// I/O port B clock enable during Sleep mode Set and cleared by software. + /// I/O port B clock enable during Sleep mode Set and cleared by software. GPIOBSMEN: u1, - /// I/O port C clock enable during Sleep mode Set and cleared by software. + /// I/O port C clock enable during Sleep mode Set and cleared by software. GPIOCSMEN: u1, - /// I/O port D clock enable during Sleep mode Set and cleared by software. + /// I/O port D clock enable during Sleep mode Set and cleared by software. GPIODSMEN: u1, reserved5: u1, - /// I/O port F clock enable during Sleep mode Set and cleared by software. + /// I/O port F clock enable during Sleep mode Set and cleared by software. GPIOFSMEN: u1, padding: u26, }), - /// RCC AHB peripheral clock enable in Sleep/Stop mode register + /// RCC AHB peripheral clock enable in Sleep/Stop mode register AHBSMENR: mmio.Mmio(packed struct(u32) { - /// DMA1 and DMAMUX clock enable during Sleep mode Set and cleared by software. Clock to DMAMUX during Sleep mode is enabled as long as the clock in Sleep mode is enabled to at least one DMA peripheral. + /// DMA1 and DMAMUX clock enable during Sleep mode Set and cleared by software. Clock to DMAMUX during Sleep mode is enabled as long as the clock in Sleep mode is enabled to at least one DMA peripheral. DMA1SMEN: u1, reserved8: u7, - /// Flash memory interface clock enable during Sleep mode Set and cleared by software. This bit can be activated only when the Flash memory is in power down mode. + /// Flash memory interface clock enable during Sleep mode Set and cleared by software. This bit can be activated only when the Flash memory is in power down mode. FLASHSMEN: u1, - /// SRAM clock enable during Sleep mode Set and cleared by software. + /// SRAM clock enable during Sleep mode Set and cleared by software. SRAMSMEN: u1, reserved12: u2, - /// CRC clock enable during Sleep mode Set and cleared by software. + /// CRC clock enable during Sleep mode Set and cleared by software. CRCSMEN: u1, padding: u19, }), - /// RCC APB peripheral clock enable in Sleep/Stop mode register 1 + /// RCC APB peripheral clock enable in Sleep/Stop mode register 1 APBSMENR1: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// TIM3 timer clock enable during Sleep mode Set and cleared by software. + /// TIM3 timer clock enable during Sleep mode Set and cleared by software. TIM3SMEN: u1, reserved10: u8, - /// RTC APB clock enable during Sleep mode Set and cleared by software. + /// RTC APB clock enable during Sleep mode Set and cleared by software. RTCAPBSMEN: u1, - /// WWDG clock enable during Sleep and Stop modes Set and cleared by software. + /// WWDG clock enable during Sleep and Stop modes Set and cleared by software. WWDGSMEN: u1, reserved17: u5, - /// USART2 clock enable during Sleep and Stop modes Set and cleared by software. + /// USART2 clock enable during Sleep and Stop modes Set and cleared by software. USART2SMEN: u1, reserved21: u3, - /// I2C1 clock enable during Sleep and Stop modes Set and cleared by software. + /// I2C1 clock enable during Sleep and Stop modes Set and cleared by software. I2C1SMEN: u1, reserved27: u5, - /// Debug support clock enable during Sleep mode Set and cleared by software. + /// Debug support clock enable during Sleep mode Set and cleared by software. DBGSMEN: u1, - /// Power interface clock enable during Sleep mode Set and cleared by software. + /// Power interface clock enable during Sleep mode Set and cleared by software. PWRSMEN: u1, padding: u3, }), - /// RCC APB peripheral clock enable in Sleep/Stop mode register 2 + /// RCC APB peripheral clock enable in Sleep/Stop mode register 2 APBSMENR2: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock enable during Sleep and Stop modes Set and cleared by software. + /// SYSCFG clock enable during Sleep and Stop modes Set and cleared by software. SYSCFGSMEN: u1, reserved11: u10, - /// TIM1 timer clock enable during Sleep mode Set and cleared by software. + /// TIM1 timer clock enable during Sleep mode Set and cleared by software. TIM1SMEN: u1, - /// SPI1 clock enable during Sleep mode Set and cleared by software. + /// SPI1 clock enable during Sleep mode Set and cleared by software. SPI1SMEN: u1, reserved14: u1, - /// USART1 clock enable during Sleep and Stop modes Set and cleared by software. + /// USART1 clock enable during Sleep and Stop modes Set and cleared by software. USART1SMEN: u1, - /// TIM14 timer clock enable during Sleep mode Set and cleared by software. + /// TIM14 timer clock enable during Sleep mode Set and cleared by software. TIM14SMEN: u1, reserved17: u1, - /// TIM16 timer clock enable during Sleep mode Set and cleared by software. + /// TIM16 timer clock enable during Sleep mode Set and cleared by software. TIM16SMEN: u1, - /// TIM16 timer clock enable during Sleep mode Set and cleared by software. + /// TIM16 timer clock enable during Sleep mode Set and cleared by software. TIM17SMEN: u1, reserved20: u1, - /// ADC clock enable during Sleep mode Set and cleared by software. + /// ADC clock enable during Sleep mode Set and cleared by software. ADCSMEN: u1, padding: u11, }), - /// RCC peripherals independent clock configuration register + /// RCC peripherals independent clock configuration register CCIPR: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection This bitfield is controlled by software to select USART1 clock source as follows: - USART1SEL: packed union { - raw: u2, - value: USART1SEL, - }, + /// USART1 clock source selection This bitfield is controlled by software to select USART1 clock source as follows: + USART1SEL: USART1SEL, reserved12: u10, - /// I2C1 clock source selection This bitfield is controlled by software to select I2C1 clock source as follows: - I2C1SEL: packed union { - raw: u2, - value: I2C1SEL, - }, - /// I2S1 clock source selection This bitfield is controlled by software to select I2S1 clock source as follows: - I2S1SEL: packed union { - raw: u2, - value: I2S1SEL, - }, + /// I2C1 clock source selection This bitfield is controlled by software to select I2C1 clock source as follows: + I2C1SEL: I2C1SEL, + /// I2S1 clock source selection This bitfield is controlled by software to select I2S1 clock source as follows: + I2S1SEL: I2S1SEL, reserved30: u14, - /// ADCs clock source selection This bitfield is controlled by software to select the clock source for ADC: - ADCSEL: packed union { - raw: u2, - value: ADCSEL, - }, + /// ADCs clock source selection This bitfield is controlled by software to select the clock source for ADC: + ADCSEL: ADCSEL, }), reserved92: [4]u8, - /// RCC control/status register 1 + /// RCC control/status register 1 CSR1: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enable Set and cleared by software to enable LSE oscillator: + /// LSE oscillator enable Set and cleared by software to enable LSE oscillator: LSEON: u1, - /// LSE oscillator ready Set and cleared by hardware to indicate when the external 32 kHz oscillator is ready (stable): After the LSEON bit is cleared, LSERDY goes low after 6 external low-speed oscillator clock cycles. + /// LSE oscillator ready Set and cleared by hardware to indicate when the external 32 kHz oscillator is ready (stable): After the LSEON bit is cleared, LSERDY goes low after 6 external low-speed oscillator clock cycles. LSERDY: u1, - /// LSE oscillator bypass Set and cleared by software to bypass the LSE oscillator (in debug mode). This bit can be written only when the external 32 kHz oscillator is disabled (LSEON=0 and LSERDY=0). + /// LSE oscillator bypass Set and cleared by software to bypass the LSE oscillator (in debug mode). This bit can be written only when the external 32 kHz oscillator is disabled (LSEON=0 and LSERDY=0). LSEBYP: u1, - /// LSE oscillator drive capability Set by software to select the LSE oscillator drive capability as follows: Applicable when the LSE oscillator is in Xtal mode, as opposed to bypass mode. - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// CSS on LSE enable Set by software to enable the clock security system on LSE (32 kHz) oscillator as follows: LSECSSON must be enabled after the LSE oscillator is enabled (LSEON bit enabled) and ready (LSERDY flag set by hardware), and after the RTCSEL bit is selected. Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD =1). In that case the software must disable the LSECSSON bit. + /// LSE oscillator drive capability Set by software to select the LSE oscillator drive capability as follows: Applicable when the LSE oscillator is in Xtal mode, as opposed to bypass mode. + LSEDRV: LSEDRV, + /// CSS on LSE enable Set by software to enable the clock security system on LSE (32 kHz) oscillator as follows: LSECSSON must be enabled after the LSE oscillator is enabled (LSEON bit enabled) and ready (LSERDY flag set by hardware), and after the RTCSEL bit is selected. Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD =1). In that case the software must disable the LSECSSON bit. LSECSSON: u1, - /// CSS on LSE failure Detection Set by hardware to indicate when a failure is detected by the clock security system on the external 32 kHz oscillator (LSE): + /// CSS on LSE failure Detection Set by hardware to indicate when a failure is detected by the clock security system on the external 32 kHz oscillator (LSE): LSECSSD: u1, reserved8: u1, - /// RTC clock source selection Set by software to select the clock source for the RTC as follows: Once the RTC clock source is selected, it cannot be changed anymore unless the RTC domain is reset, or unless a failure is detected on LSE (LSECSSD is set). The RTCRST bit can be used to reset this bitfield to 00. - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection Set by software to select the clock source for the RTC as follows: Once the RTC clock source is selected, it cannot be changed anymore unless the RTC domain is reset, or unless a failure is detected on LSE (LSECSSD is set). The RTCRST bit can be used to reset this bitfield to 00. + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable Set and cleared by software. The bit enables clock to RTC and TAMP. + /// RTC clock enable Set and cleared by software. The bit enables clock to RTC and TAMP. RTCEN: u1, - /// RTC domain software reset Set and cleared by software to reset the RTC domain: + /// RTC domain software reset Set and cleared by software to reset the RTC domain: RTCRST: u1, reserved24: u7, - /// Low-speed clock output (LSCO) enable Set and cleared by software. + /// Low-speed clock output (LSCO) enable Set and cleared by software. LSCOEN: u1, - /// Low-speed clock output selection Set and cleared by software to select the low-speed output clock: - LSCOSEL: packed union { - raw: u1, - value: LSCOSEL, - }, + /// Low-speed clock output selection Set and cleared by software to select the low-speed output clock: + LSCOSEL: LSCOSEL, padding: u6, }), - /// RCC control/status register 2 + /// RCC control/status register 2 CSR2: mmio.Mmio(packed struct(u32) { - /// LSI oscillator enable Set and cleared by software to enable/disable the LSI oscillator: + /// LSI oscillator enable Set and cleared by software to enable/disable the LSI oscillator: LSION: u1, - /// LSI oscillator ready Set and cleared by hardware to indicate when the LSI oscillator is ready (stable): After the LSION bit is cleared, LSIRDY goes low after 3 LSI oscillator clock cycles. This bit can be set even if LSION = 0 if the LSI is requested by the Clock Security System on LSE, by the Independent Watchdog or by the RTC. + /// LSI oscillator ready Set and cleared by hardware to indicate when the LSI oscillator is ready (stable): After the LSION bit is cleared, LSIRDY goes low after 3 LSI oscillator clock cycles. This bit can be set even if LSION = 0 if the LSI is requested by the Clock Security System on LSE, by the Independent Watchdog or by the RTC. LSIRDY: u1, reserved23: u21, - /// Remove reset flags Set by software to clear the reset flags. + /// Remove reset flags Set by software to clear the reset flags. RMVF: u1, reserved25: u1, - /// Option byte loader reset flag Set by hardware when a reset from the Option byte loading occurs. Cleared by setting the RMVF bit. + /// Option byte loader reset flag Set by hardware when a reset from the Option byte loading occurs. Cleared by setting the RMVF bit. OBLRSTF: u1, - /// Pin reset flag Set by hardware when a reset from the NRST pin occurs. Cleared by setting the RMVF bit. + /// Pin reset flag Set by hardware when a reset from the NRST pin occurs. Cleared by setting the RMVF bit. PINRSTF: u1, - /// BOR or POR/PDR flag Set by hardware when a BOR or POR/PDR occurs. Cleared by setting the RMVF bit. + /// BOR or POR/PDR flag Set by hardware when a BOR or POR/PDR occurs. Cleared by setting the RMVF bit. PWRRSTF: u1, - /// Software reset flag Set by hardware when a software reset occurs. Cleared by setting the RMVF bit. + /// Software reset flag Set by hardware when a software reset occurs. Cleared by setting the RMVF bit. SFTRSTF: u1, - /// Independent window watchdog reset flag Set by hardware when an independent watchdog reset domain occurs. Cleared by setting the RMVF bit. + /// Independent window watchdog reset flag Set by hardware when an independent watchdog reset domain occurs. Cleared by setting the RMVF bit. IWDGRSTF: u1, - /// Window watchdog reset flag Set by hardware when a window watchdog reset occurs. Cleared by setting the RMVF bit. + /// Window watchdog reset flag Set by hardware when a window watchdog reset occurs. Cleared by setting the RMVF bit. WWDGRSTF: u1, - /// Low-power reset flag Set by hardware when a reset occurs due to illegal Stop, or Standby, or Shutdown mode entry. Cleared by setting the RMVF bit. This operates only if nRST_STOP, or nRST_STDBY or nRST_SHDW option bits are cleared. + /// Low-power reset flag Set by hardware when a reset occurs due to illegal Stop, or Standby, or Shutdown mode entry. Cleared by setting the RMVF bit. This operates only if nRST_STOP, or nRST_STDBY or nRST_SHDW option bits are cleared. LPWRRSTF: u1, }), }; @@ -364839,671 +360273,620 @@ pub const types = struct { pub const rcc_f0v1 = struct { pub const CECSW = enum(u1) { - /// HSI clock divided by 244 selected as CEC clock source + /// HSI clock divided by 244 selected as CEC clock source HSI_DIV_244 = 0x0, - /// LSE clock selected as CEC clock source + /// LSE clock selected as CEC clock source LSE = 0x1, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const ICSW = enum(u1) { - /// HSI clock selected as I2C clock source + /// HSI clock selected as I2C clock source HSI = 0x0, - /// SYSCLK clock selected as I2C clock source + /// SYSCLK clock selected as I2C clock source SYS = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x1, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOSEL = enum(u4) { - /// MCO output disabled, no clock on MCO + /// MCO output disabled, no clock on MCO DISABLE = 0x0, - /// Internal RC 14 MHz (HSI14) oscillator clock selected + /// Internal RC 14 MHz (HSI14) oscillator clock selected HSI14 = 0x1, - /// Internal low speed (LSI) oscillator clock selected + /// Internal low speed (LSI) oscillator clock selected LSI = 0x2, - /// External low speed (LSE) oscillator clock selected + /// External low speed (LSE) oscillator clock selected LSE = 0x3, - /// System clock selected + /// System clock selected SYS = 0x4, - /// Internal RC 8 MHz (HSI) oscillator clock selected + /// Internal RC 8 MHz (HSI) oscillator clock selected HSI = 0x5, - /// External 4-32 MHz (HSE) oscillator clock selected + /// External 4-32 MHz (HSE) oscillator clock selected HSE = 0x6, - /// PLL clock selected divided by 2 + /// PLL clock selected divided by 2 PLL = 0x7, _, }; pub const PLLMUL = enum(u4) { - /// PLL input clock x2 + /// PLL input clock x2 Mul2 = 0x0, - /// PLL input clock x3 + /// PLL input clock x3 Mul3 = 0x1, - /// PLL input clock x4 + /// PLL input clock x4 Mul4 = 0x2, - /// PLL input clock x5 + /// PLL input clock x5 Mul5 = 0x3, - /// PLL input clock x6 + /// PLL input clock x6 Mul6 = 0x4, - /// PLL input clock x7 + /// PLL input clock x7 Mul7 = 0x5, - /// PLL input clock x8 + /// PLL input clock x8 Mul8 = 0x6, - /// PLL input clock x9 + /// PLL input clock x9 Mul9 = 0x7, - /// PLL input clock x10 + /// PLL input clock x10 Mul10 = 0x8, - /// PLL input clock x11 + /// PLL input clock x11 Mul11 = 0x9, - /// PLL input clock x12 + /// PLL input clock x12 Mul12 = 0xa, - /// PLL input clock x13 + /// PLL input clock x13 Mul13 = 0xb, - /// PLL input clock x14 + /// PLL input clock x14 Mul14 = 0xc, - /// PLL input clock x15 + /// PLL input clock x15 Mul15 = 0xd, - /// PLL input clock x16 + /// PLL input clock x16 Mul16 = 0xe, _, }; pub const PLLSRC = enum(u1) { - /// HSI divided by 2 selected as PLL input clock + /// HSI divided by 2 selected as PLL input clock HSI_Div2 = 0x0, - /// HSE divided by PREDIV selected as PLL input clock + /// HSE divided by PREDIV selected as PLL input clock HSE_Div_PREDIV = 0x1, }; pub const PLLXTPRE = enum(u1) { - /// HSE clock not divided + /// HSE clock not divided Div1 = 0x0, - /// HSE clock divided by 2 + /// HSE clock divided by 2 Div2 = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const PREDIV = enum(u4) { - /// PREDIV input clock not divided + /// PREDIV input clock not divided Div1 = 0x0, - /// PREDIV input clock divided by 2 + /// PREDIV input clock divided by 2 Div2 = 0x1, - /// PREDIV input clock divided by 3 + /// PREDIV input clock divided by 3 Div3 = 0x2, - /// PREDIV input clock divided by 4 + /// PREDIV input clock divided by 4 Div4 = 0x3, - /// PREDIV input clock divided by 5 + /// PREDIV input clock divided by 5 Div5 = 0x4, - /// PREDIV input clock divided by 6 + /// PREDIV input clock divided by 6 Div6 = 0x5, - /// PREDIV input clock divided by 7 + /// PREDIV input clock divided by 7 Div7 = 0x6, - /// PREDIV input clock divided by 8 + /// PREDIV input clock divided by 8 Div8 = 0x7, - /// PREDIV input clock divided by 9 + /// PREDIV input clock divided by 9 Div9 = 0x8, - /// PREDIV input clock divided by 10 + /// PREDIV input clock divided by 10 Div10 = 0x9, - /// PREDIV input clock divided by 11 + /// PREDIV input clock divided by 11 Div11 = 0xa, - /// PREDIV input clock divided by 12 + /// PREDIV input clock divided by 12 Div12 = 0xb, - /// PREDIV input clock divided by 13 + /// PREDIV input clock divided by 13 Div13 = 0xc, - /// PREDIV input clock divided by 14 + /// PREDIV input clock divided by 14 Div14 = 0xd, - /// PREDIV input clock divided by 15 + /// PREDIV input clock divided by 15 Div15 = 0xe, - /// PREDIV input clock divided by 16 + /// PREDIV input clock divided by 16 Div16 = 0xf, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SW = enum(u2) { - /// HSI oscillator used as system clock + /// HSI oscillator used as system clock HSI = 0x0, - /// HSE oscillator used as system clock + /// HSE oscillator used as system clock HSE = 0x1, - /// PLL used as system clock + /// PLL used as system clock PLL1_P = 0x2, _, }; pub const USART1SW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK2 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USARTSW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK1 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USBSW = enum(u1) { - /// PLL clock selected as USB clock source + /// PLL clock selected as USB clock source PLL1_P = 0x1, _, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal High Speed clock enable + /// Internal High Speed clock enable HSION: u1, - /// Internal High Speed clock ready flag + /// Internal High Speed clock ready flag HSIRDY: u1, reserved3: u1, - /// Internal High Speed clock trimming + /// Internal High Speed clock trimming HSITRIM: u5, - /// Internal High Speed clock Calibration + /// Internal High Speed clock Calibration HSICAL: u8, - /// External High Speed clock enable + /// External High Speed clock enable HSEON: u1, - /// External High Speed clock ready flag + /// External High Speed clock ready flag HSERDY: u1, - /// External High Speed clock Bypass + /// External High Speed clock Bypass HSEBYP: u1, - /// Clock Security System enable + /// Clock Security System enable CSSON: u1, reserved24: u4, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Clock configuration register (RCC_CFGR) + /// Clock configuration register (RCC_CFGR) CFGR: mmio.Mmio(packed struct(u32) { - /// System clock Switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System Clock Switch Status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB Low speed prescaler (APB1) - PPRE: packed union { - raw: u3, - value: PPRE, - }, + /// System clock Switch + SW: SW, + /// System Clock Switch Status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB Low speed prescaler (APB1) + PPRE: PPRE, reserved14: u3, - /// APCPRE is deprecated. See ADC field in CFGR2 register. + /// APCPRE is deprecated. See ADC field in CFGR2 register. ADCPRE: u1, reserved16: u1, - /// PLL input clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, - /// HSE divider for PLL entry. Same bit as PREDIV[0] from CFGR2 register. Refer to it for its meaning - PLLXTPRE: packed union { - raw: u1, - value: PLLXTPRE, - }, - /// PLL Multiplication Factor - PLLMUL: packed union { - raw: u4, - value: PLLMUL, - }, + /// PLL input clock source + PLLSRC: PLLSRC, + /// HSE divider for PLL entry. Same bit as PREDIV[0] from CFGR2 register. Refer to it for its meaning + PLLXTPRE: PLLXTPRE, + /// PLL Multiplication Factor + PLLMUL: PLLMUL, reserved24: u2, - /// Microcontroller clock output - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, + /// Microcontroller clock output + MCOSEL: MCOSEL, padding: u4, }), - /// Clock interrupt register (RCC_CIR) + /// Clock interrupt register (RCC_CIR) CIR: mmio.Mmio(packed struct(u32) { - /// LSI Ready Interrupt flag + /// LSI Ready Interrupt flag LSIRDYF: u1, - /// LSE Ready Interrupt flag + /// LSE Ready Interrupt flag LSERDYF: u1, - /// HSI Ready Interrupt flag + /// HSI Ready Interrupt flag HSIRDYF: u1, - /// HSE Ready Interrupt flag + /// HSE Ready Interrupt flag HSERDYF: u1, - /// PLL Ready Interrupt flag + /// PLL Ready Interrupt flag PLLRDYF: u1, - /// HSI14 ready interrupt flag + /// HSI14 ready interrupt flag HSI14RDYF: u1, reserved7: u1, - /// Clock Security System Interrupt flag + /// Clock Security System Interrupt flag CSSF: u1, - /// LSI Ready Interrupt Enable + /// LSI Ready Interrupt Enable LSIRDYIE: u1, - /// LSE Ready Interrupt Enable + /// LSE Ready Interrupt Enable LSERDYIE: u1, - /// HSI Ready Interrupt Enable + /// HSI Ready Interrupt Enable HSIRDYIE: u1, - /// HSE Ready Interrupt Enable + /// HSE Ready Interrupt Enable HSERDYIE: u1, - /// PLL Ready Interrupt Enable + /// PLL Ready Interrupt Enable PLLRDYIE: u1, - /// HSI14 ready interrupt enable + /// HSI14 ready interrupt enable HSI14RDYIE: u1, reserved16: u2, - /// LSI Ready Interrupt Clear + /// LSI Ready Interrupt Clear LSIRDYC: u1, - /// LSE Ready Interrupt Clear + /// LSE Ready Interrupt Clear LSERDYC: u1, - /// HSI Ready Interrupt Clear + /// HSI Ready Interrupt Clear HSIRDYC: u1, - /// HSE Ready Interrupt Clear + /// HSE Ready Interrupt Clear HSERDYC: u1, - /// PLL Ready Interrupt Clear + /// PLL Ready Interrupt Clear PLLRDYC: u1, - /// HSI 14 MHz Ready Interrupt Clear + /// HSI 14 MHz Ready Interrupt Clear HSI14RDYC: u1, reserved23: u1, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// APB2 peripheral reset register (RCC_APB2RSTR) + /// APB2 peripheral reset register (RCC_APB2RSTR) APB2RSTR: mmio.Mmio(packed struct(u32) { - /// SYSCFG and COMP reset + /// SYSCFG and COMP reset SYSCFGRST: u1, reserved5: u4, - /// USART6 reset + /// USART6 reset USART6RST: u1, - /// USART7 reset + /// USART7 reset USART7RST: u1, - /// USART8 reset + /// USART8 reset USART8RST: u1, reserved9: u1, - /// ADC interface reset + /// ADC interface reset ADCRST: u1, reserved11: u1, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, reserved14: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, reserved16: u1, - /// TIM15 timer reset + /// TIM15 timer reset TIM15RST: u1, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, reserved22: u3, - /// Debug MCU reset + /// Debug MCU reset DBGMCURST: u1, padding: u9, }), - /// APB1 peripheral reset register (RCC_APB1RSTR) + /// APB1 peripheral reset register (RCC_APB1RSTR) APB1RSTR: mmio.Mmio(packed struct(u32) { - /// Timer 2 reset + /// Timer 2 reset TIM2RST: u1, - /// Timer 3 reset + /// Timer 3 reset TIM3RST: u1, reserved4: u2, - /// Timer 6 reset + /// Timer 6 reset TIM6RST: u1, - /// TIM7 timer reset + /// TIM7 timer reset TIM7RST: u1, reserved8: u2, - /// Timer 14 reset + /// Timer 14 reset TIM14RST: u1, reserved11: u2, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, reserved17: u2, - /// USART 2 reset + /// USART 2 reset USART2RST: u1, - /// USART3 reset + /// USART3 reset USART3RST: u1, - /// USART4 reset + /// USART4 reset USART4RST: u1, - /// USART5 reset + /// USART5 reset USART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// USB interface reset + /// USB interface reset USBRST: u1, reserved25: u1, - /// CAN interface reset + /// CAN interface reset CANRST: u1, reserved27: u1, - /// Clock Recovery System interface reset + /// Clock Recovery System interface reset CRSRST: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC interface reset + /// DAC interface reset DACRST: u1, - /// HDMI CEC reset + /// HDMI CEC reset CECRST: u1, padding: u1, }), - /// AHB Peripheral Clock enable register (RCC_AHBENR) + /// AHB Peripheral Clock enable register (RCC_AHBENR) AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA clock enable + /// DMA clock enable DMAEN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// SRAM interface clock enable + /// SRAM interface clock enable SRAMEN: u1, reserved4: u1, - /// FLASH clock enable + /// FLASH clock enable FLASHEN: u1, reserved6: u1, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved17: u10, - /// I/O port A clock enable + /// I/O port A clock enable GPIOAEN: u1, - /// I/O port B clock enable + /// I/O port B clock enable GPIOBEN: u1, - /// I/O port C clock enable + /// I/O port C clock enable GPIOCEN: u1, - /// I/O port D clock enable + /// I/O port D clock enable GPIODEN: u1, - /// I/O port E clock enable + /// I/O port E clock enable GPIOEEN: u1, - /// I/O port F clock enable + /// I/O port F clock enable GPIOFEN: u1, reserved24: u1, - /// Touch sensing controller clock enable + /// Touch sensing controller clock enable TSCEN: u1, padding: u7, }), - /// APB2 peripheral clock enable register (RCC_APB2ENR) + /// APB2 peripheral clock enable register (RCC_APB2ENR) APB2ENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock enable + /// SYSCFG clock enable SYSCFGEN: u1, reserved5: u4, - /// USART6 clock enable + /// USART6 clock enable USART6EN: u1, - /// USART7 clock enable + /// USART7 clock enable USART7EN: u1, - /// USART8 clock enable + /// USART8 clock enable USART8EN: u1, reserved9: u1, - /// ADC 1 interface clock enable + /// ADC 1 interface clock enable ADCEN: u1, reserved11: u1, - /// TIM1 Timer clock enable + /// TIM1 Timer clock enable TIM1EN: u1, - /// SPI 1 clock enable + /// SPI 1 clock enable SPI1EN: u1, reserved14: u1, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, reserved16: u1, - /// TIM15 timer clock enable + /// TIM15 timer clock enable TIM15EN: u1, - /// TIM16 timer clock enable + /// TIM16 timer clock enable TIM16EN: u1, - /// TIM17 timer clock enable + /// TIM17 timer clock enable TIM17EN: u1, reserved22: u3, - /// MCU debug module clock enable + /// MCU debug module clock enable DBGMCUEN: u1, padding: u9, }), - /// APB1 peripheral clock enable register (RCC_APB1ENR) + /// APB1 peripheral clock enable register (RCC_APB1ENR) APB1ENR: mmio.Mmio(packed struct(u32) { - /// Timer 2 clock enable + /// Timer 2 clock enable TIM2EN: u1, - /// Timer 3 clock enable + /// Timer 3 clock enable TIM3EN: u1, reserved4: u2, - /// Timer 6 clock enable + /// Timer 6 clock enable TIM6EN: u1, - /// TIM7 timer clock enable + /// TIM7 timer clock enable TIM7EN: u1, reserved8: u2, - /// Timer 14 clock enable + /// Timer 14 clock enable TIM14EN: u1, reserved11: u2, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI 2 clock enable + /// SPI 2 clock enable SPI2EN: u1, reserved17: u2, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, - /// USART3 clock enable + /// USART3 clock enable USART3EN: u1, - /// USART4 clock enable + /// USART4 clock enable USART4EN: u1, - /// USART5 clock enable + /// USART5 clock enable USART5EN: u1, - /// I2C 1 clock enable + /// I2C 1 clock enable I2C1EN: u1, - /// I2C 2 clock enable + /// I2C 2 clock enable I2C2EN: u1, - /// USB interface clock enable + /// USB interface clock enable USBEN: u1, reserved25: u1, - /// CAN interface clock enable + /// CAN interface clock enable CANEN: u1, reserved27: u1, - /// Clock Recovery System interface clock enable + /// Clock Recovery System interface clock enable CRSEN: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, - /// HDMI CEC interface clock enable + /// HDMI CEC interface clock enable CECEN: u1, padding: u1, }), - /// Backup domain control register (RCC_BDCR) + /// Backup domain control register (RCC_BDCR) BDCR: mmio.Mmio(packed struct(u32) { - /// External Low Speed oscillator enable + /// External Low Speed oscillator enable LSEON: u1, - /// External Low Speed oscillator ready + /// External Low Speed oscillator ready LSERDY: u1, - /// External Low Speed oscillator bypass + /// External Low Speed oscillator bypass LSEBYP: u1, - /// LSE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, + /// LSE oscillator drive capability + LSEDRV: LSEDRV, reserved8: u3, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, padding: u15, }), - /// Control/status register (RCC_CSR) + /// Control/status register (RCC_CSR) CSR: mmio.Mmio(packed struct(u32) { - /// Internal low speed oscillator enable + /// Internal low speed oscillator enable LSION: u1, - /// Internal low speed oscillator ready + /// Internal low speed oscillator ready LSIRDY: u1, reserved23: u21, - /// 1.8 V domain reset flag + /// 1.8 V domain reset flag V18PWRRSTF: u1, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// PIN reset flag + /// PIN reset flag PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), - /// AHB peripheral reset register + /// AHB peripheral reset register AHBRSTR: mmio.Mmio(packed struct(u32) { reserved17: u17, - /// I/O port A reset + /// I/O port A reset GPIOARST: u1, - /// I/O port B reset + /// I/O port B reset GPIOBRST: u1, - /// I/O port C reset + /// I/O port C reset GPIOCRST: u1, - /// I/O port D reset + /// I/O port D reset GPIODRST: u1, - /// I/O port E reset + /// I/O port E reset GPIOERST: u1, - /// I/O port F reset + /// I/O port F reset GPIOFRST: u1, reserved24: u1, - /// Touch sensing controller reset + /// Touch sensing controller reset TSCRST: u1, padding: u7, }), - /// Clock configuration register 2 + /// Clock configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// PREDIV division factor - PREDIV: packed union { - raw: u4, - value: PREDIV, - }, + /// PREDIV division factor + PREDIV: PREDIV, padding: u28, }), - /// Clock configuration register 3 + /// Clock configuration register 3 CFGR3: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection - USART1SW: packed union { - raw: u2, - value: USART1SW, - }, + /// USART1 clock source selection + USART1SW: USART1SW, reserved4: u2, - /// I2C1 clock source selection - I2C1SW: packed union { - raw: u1, - value: ICSW, - }, + /// I2C1 clock source selection + I2C1SW: ICSW, reserved6: u1, - /// HDMI CEC clock source selection - CECSW: packed union { - raw: u1, - value: CECSW, - }, - /// USB clock source selection - USBSW: packed union { - raw: u1, - value: USBSW, - }, - /// ADCSW is deprecated. See ADC field in CFGR2 register. + /// HDMI CEC clock source selection + CECSW: CECSW, + /// USB clock source selection + USBSW: USBSW, + /// ADCSW is deprecated. See ADC field in CFGR2 register. ADCSW: u1, reserved16: u7, - /// USART2 clock source selection - USART2SW: packed union { - raw: u2, - value: USARTSW, - }, - /// USART3 clock source - USART3SW: packed union { - raw: u2, - value: USARTSW, - }, + /// USART2 clock source selection + USART2SW: USARTSW, + /// USART3 clock source + USART3SW: USARTSW, padding: u12, }), - /// Clock control register 2 + /// Clock control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// HSI14 clock enable + /// HSI14 clock enable HSI14ON: u1, - /// HR14 clock ready flag + /// HR14 clock ready flag HSI14RDY: u1, - /// HSI14 clock request from ADC disable + /// HSI14 clock request from ADC disable HSI14DIS: u1, - /// HSI14 clock trimming + /// HSI14 clock trimming HSI14TRIM: u5, - /// HSI14 clock calibration + /// HSI14 clock calibration HSI14CAL: u8, padding: u16, }), @@ -365512,706 +360895,649 @@ pub const types = struct { pub const rcc_f0v2 = struct { pub const CECSW = enum(u1) { - /// HSI clock divided by 244 selected as CEC clock source + /// HSI clock divided by 244 selected as CEC clock source HSI_DIV_244 = 0x0, - /// LSE clock selected as CEC clock source + /// LSE clock selected as CEC clock source LSE = 0x1, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const ICSW = enum(u1) { - /// HSI clock selected as I2C clock source + /// HSI clock selected as I2C clock source HSI = 0x0, - /// SYSCLK clock selected as I2C clock source + /// SYSCLK clock selected as I2C clock source SYS = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x1, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u3) { - /// MCO is divided by 1 + /// MCO is divided by 1 Div1 = 0x0, - /// MCO is divided by 2 + /// MCO is divided by 2 Div2 = 0x1, - /// MCO is divided by 4 + /// MCO is divided by 4 Div4 = 0x2, - /// MCO is divided by 8 + /// MCO is divided by 8 Div8 = 0x3, - /// MCO is divided by 16 + /// MCO is divided by 16 Div16 = 0x4, - /// MCO is divided by 32 + /// MCO is divided by 32 Div32 = 0x5, - /// MCO is divided by 64 + /// MCO is divided by 64 Div64 = 0x6, - /// MCO is divided by 128 + /// MCO is divided by 128 Div128 = 0x7, }; pub const MCOSEL = enum(u4) { - /// MCO output disabled, no clock on MCO + /// MCO output disabled, no clock on MCO DISABLE = 0x0, - /// Internal RC 14 MHz (HSI14) oscillator clock selected + /// Internal RC 14 MHz (HSI14) oscillator clock selected HSI14 = 0x1, - /// Internal low speed (LSI) oscillator clock selected + /// Internal low speed (LSI) oscillator clock selected LSI = 0x2, - /// External low speed (LSE) oscillator clock selected + /// External low speed (LSE) oscillator clock selected LSE = 0x3, - /// System clock selected + /// System clock selected SYS = 0x4, - /// Internal RC 8 MHz (HSI) oscillator clock selected + /// Internal RC 8 MHz (HSI) oscillator clock selected HSI = 0x5, - /// External 4-32 MHz (HSE) oscillator clock selected + /// External 4-32 MHz (HSE) oscillator clock selected HSE = 0x6, - /// PLL clock selected (divided by 1 or 2, depending en PLLMCODIV) + /// PLL clock selected (divided by 1 or 2, depending en PLLMCODIV) PLL = 0x7, _, }; pub const PLLMCODIV = enum(u1) { - /// PLL is divided by 2 for MCO + /// PLL is divided by 2 for MCO Div2 = 0x0, - /// PLL is not divided for MCO + /// PLL is not divided for MCO Div1 = 0x1, }; pub const PLLMUL = enum(u4) { - /// PLL input clock x2 + /// PLL input clock x2 Mul2 = 0x0, - /// PLL input clock x3 + /// PLL input clock x3 Mul3 = 0x1, - /// PLL input clock x4 + /// PLL input clock x4 Mul4 = 0x2, - /// PLL input clock x5 + /// PLL input clock x5 Mul5 = 0x3, - /// PLL input clock x6 + /// PLL input clock x6 Mul6 = 0x4, - /// PLL input clock x7 + /// PLL input clock x7 Mul7 = 0x5, - /// PLL input clock x8 + /// PLL input clock x8 Mul8 = 0x6, - /// PLL input clock x9 + /// PLL input clock x9 Mul9 = 0x7, - /// PLL input clock x10 + /// PLL input clock x10 Mul10 = 0x8, - /// PLL input clock x11 + /// PLL input clock x11 Mul11 = 0x9, - /// PLL input clock x12 + /// PLL input clock x12 Mul12 = 0xa, - /// PLL input clock x13 + /// PLL input clock x13 Mul13 = 0xb, - /// PLL input clock x14 + /// PLL input clock x14 Mul14 = 0xc, - /// PLL input clock x15 + /// PLL input clock x15 Mul15 = 0xd, - /// PLL input clock x16 + /// PLL input clock x16 Mul16 = 0xe, _, }; pub const PLLSRC = enum(u1) { - /// HSI divided by 2 selected as PLL input clock + /// HSI divided by 2 selected as PLL input clock HSI_Div2 = 0x0, - /// HSE divided by PREDIV selected as PLL input clock + /// HSE divided by PREDIV selected as PLL input clock HSE_Div_PREDIV = 0x1, }; pub const PLLXTPRE = enum(u1) { - /// HSE clock not divided + /// HSE clock not divided Div1 = 0x0, - /// HSE clock divided by 2 + /// HSE clock divided by 2 Div2 = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const PREDIV = enum(u4) { - /// PREDIV input clock not divided + /// PREDIV input clock not divided Div1 = 0x0, - /// PREDIV input clock divided by 2 + /// PREDIV input clock divided by 2 Div2 = 0x1, - /// PREDIV input clock divided by 3 + /// PREDIV input clock divided by 3 Div3 = 0x2, - /// PREDIV input clock divided by 4 + /// PREDIV input clock divided by 4 Div4 = 0x3, - /// PREDIV input clock divided by 5 + /// PREDIV input clock divided by 5 Div5 = 0x4, - /// PREDIV input clock divided by 6 + /// PREDIV input clock divided by 6 Div6 = 0x5, - /// PREDIV input clock divided by 7 + /// PREDIV input clock divided by 7 Div7 = 0x6, - /// PREDIV input clock divided by 8 + /// PREDIV input clock divided by 8 Div8 = 0x7, - /// PREDIV input clock divided by 9 + /// PREDIV input clock divided by 9 Div9 = 0x8, - /// PREDIV input clock divided by 10 + /// PREDIV input clock divided by 10 Div10 = 0x9, - /// PREDIV input clock divided by 11 + /// PREDIV input clock divided by 11 Div11 = 0xa, - /// PREDIV input clock divided by 12 + /// PREDIV input clock divided by 12 Div12 = 0xb, - /// PREDIV input clock divided by 13 + /// PREDIV input clock divided by 13 Div13 = 0xc, - /// PREDIV input clock divided by 14 + /// PREDIV input clock divided by 14 Div14 = 0xd, - /// PREDIV input clock divided by 15 + /// PREDIV input clock divided by 15 Div15 = 0xe, - /// PREDIV input clock divided by 16 + /// PREDIV input clock divided by 16 Div16 = 0xf, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SW = enum(u2) { - /// HSI oscillator used as system clock + /// HSI oscillator used as system clock HSI = 0x0, - /// HSE oscillator used as system clock + /// HSE oscillator used as system clock HSE = 0x1, - /// PLL used as system clock + /// PLL used as system clock PLL1_P = 0x2, _, }; pub const USART1SW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK2 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USARTSW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK1 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USBSW = enum(u1) { - /// PLL clock selected as USB clock source + /// PLL clock selected as USB clock source PLL1_P = 0x1, _, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal High Speed clock enable + /// Internal High Speed clock enable HSION: u1, - /// Internal High Speed clock ready flag + /// Internal High Speed clock ready flag HSIRDY: u1, reserved3: u1, - /// Internal High Speed clock trimming + /// Internal High Speed clock trimming HSITRIM: u5, - /// Internal High Speed clock Calibration + /// Internal High Speed clock Calibration HSICAL: u8, - /// External High Speed clock enable + /// External High Speed clock enable HSEON: u1, - /// External High Speed clock ready flag + /// External High Speed clock ready flag HSERDY: u1, - /// External High Speed clock Bypass + /// External High Speed clock Bypass HSEBYP: u1, - /// Clock Security System enable + /// Clock Security System enable CSSON: u1, reserved24: u4, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Clock configuration register (RCC_CFGR) + /// Clock configuration register (RCC_CFGR) CFGR: mmio.Mmio(packed struct(u32) { - /// System clock Switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System Clock Switch Status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB Low speed prescaler (APB1) - PPRE: packed union { - raw: u3, - value: PPRE, - }, + /// System clock Switch + SW: SW, + /// System Clock Switch Status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB Low speed prescaler (APB1) + PPRE: PPRE, reserved14: u3, - /// APCPRE is deprecated. See ADC field in CFGR2 register. + /// APCPRE is deprecated. See ADC field in CFGR2 register. ADCPRE: u1, reserved16: u1, - /// PLL input clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, - /// HSE divider for PLL entry. Same bit as PREDIV[0] from CFGR2 register. Refer to it for its meaning - PLLXTPRE: packed union { - raw: u1, - value: PLLXTPRE, - }, - /// PLL Multiplication Factor - PLLMUL: packed union { - raw: u4, - value: PLLMUL, - }, + /// PLL input clock source + PLLSRC: PLLSRC, + /// HSE divider for PLL entry. Same bit as PREDIV[0] from CFGR2 register. Refer to it for its meaning + PLLXTPRE: PLLXTPRE, + /// PLL Multiplication Factor + PLLMUL: PLLMUL, reserved24: u2, - /// Microcontroller clock output - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller Clock Output Prescaler - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, - /// PLL clock not divided for MCO - PLLMCODIV: packed union { - raw: u1, - value: PLLMCODIV, - }, - }), - /// Clock interrupt register (RCC_CIR) + /// Microcontroller clock output + MCOSEL: MCOSEL, + /// Microcontroller Clock Output Prescaler + MCOPRE: MCOPRE, + /// PLL clock not divided for MCO + PLLMCODIV: PLLMCODIV, + }), + /// Clock interrupt register (RCC_CIR) CIR: mmio.Mmio(packed struct(u32) { - /// LSI Ready Interrupt flag + /// LSI Ready Interrupt flag LSIRDYF: u1, - /// LSE Ready Interrupt flag + /// LSE Ready Interrupt flag LSERDYF: u1, - /// HSI Ready Interrupt flag + /// HSI Ready Interrupt flag HSIRDYF: u1, - /// HSE Ready Interrupt flag + /// HSE Ready Interrupt flag HSERDYF: u1, - /// PLL Ready Interrupt flag + /// PLL Ready Interrupt flag PLLRDYF: u1, - /// HSI14 ready interrupt flag + /// HSI14 ready interrupt flag HSI14RDYF: u1, reserved7: u1, - /// Clock Security System Interrupt flag + /// Clock Security System Interrupt flag CSSF: u1, - /// LSI Ready Interrupt Enable + /// LSI Ready Interrupt Enable LSIRDYIE: u1, - /// LSE Ready Interrupt Enable + /// LSE Ready Interrupt Enable LSERDYIE: u1, - /// HSI Ready Interrupt Enable + /// HSI Ready Interrupt Enable HSIRDYIE: u1, - /// HSE Ready Interrupt Enable + /// HSE Ready Interrupt Enable HSERDYIE: u1, - /// PLL Ready Interrupt Enable + /// PLL Ready Interrupt Enable PLLRDYIE: u1, - /// HSI14 ready interrupt enable + /// HSI14 ready interrupt enable HSI14RDYIE: u1, reserved16: u2, - /// LSI Ready Interrupt Clear + /// LSI Ready Interrupt Clear LSIRDYC: u1, - /// LSE Ready Interrupt Clear + /// LSE Ready Interrupt Clear LSERDYC: u1, - /// HSI Ready Interrupt Clear + /// HSI Ready Interrupt Clear HSIRDYC: u1, - /// HSE Ready Interrupt Clear + /// HSE Ready Interrupt Clear HSERDYC: u1, - /// PLL Ready Interrupt Clear + /// PLL Ready Interrupt Clear PLLRDYC: u1, - /// HSI 14 MHz Ready Interrupt Clear + /// HSI 14 MHz Ready Interrupt Clear HSI14RDYC: u1, reserved23: u1, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// APB2 peripheral reset register (RCC_APB2RSTR) + /// APB2 peripheral reset register (RCC_APB2RSTR) APB2RSTR: mmio.Mmio(packed struct(u32) { - /// SYSCFG and COMP reset + /// SYSCFG and COMP reset SYSCFGRST: u1, reserved5: u4, - /// USART6 reset + /// USART6 reset USART6RST: u1, - /// USART7 reset + /// USART7 reset USART7RST: u1, - /// USART8 reset + /// USART8 reset USART8RST: u1, reserved9: u1, - /// ADC interface reset + /// ADC interface reset ADCRST: u1, reserved11: u1, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, reserved14: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, reserved16: u1, - /// TIM15 timer reset + /// TIM15 timer reset TIM15RST: u1, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, reserved22: u3, - /// Debug MCU reset + /// Debug MCU reset DBGMCURST: u1, padding: u9, }), - /// APB1 peripheral reset register (RCC_APB1RSTR) + /// APB1 peripheral reset register (RCC_APB1RSTR) APB1RSTR: mmio.Mmio(packed struct(u32) { - /// Timer 2 reset + /// Timer 2 reset TIM2RST: u1, - /// Timer 3 reset + /// Timer 3 reset TIM3RST: u1, reserved4: u2, - /// Timer 6 reset + /// Timer 6 reset TIM6RST: u1, - /// TIM7 timer reset + /// TIM7 timer reset TIM7RST: u1, reserved8: u2, - /// Timer 14 reset + /// Timer 14 reset TIM14RST: u1, reserved11: u2, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, reserved17: u2, - /// USART 2 reset + /// USART 2 reset USART2RST: u1, - /// USART3 reset + /// USART3 reset USART3RST: u1, - /// USART4 reset + /// USART4 reset USART4RST: u1, - /// USART5 reset + /// USART5 reset USART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// USB interface reset + /// USB interface reset USBRST: u1, reserved25: u1, - /// CAN interface reset + /// CAN interface reset CANRST: u1, reserved27: u1, - /// Clock Recovery System interface reset + /// Clock Recovery System interface reset CRSRST: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC interface reset + /// DAC interface reset DACRST: u1, - /// HDMI CEC reset + /// HDMI CEC reset CECRST: u1, padding: u1, }), - /// AHB Peripheral Clock enable register (RCC_AHBENR) + /// AHB Peripheral Clock enable register (RCC_AHBENR) AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA clock enable + /// DMA clock enable DMAEN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// SRAM interface clock enable + /// SRAM interface clock enable SRAMEN: u1, reserved4: u1, - /// FLASH clock enable + /// FLASH clock enable FLASHEN: u1, reserved6: u1, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved17: u10, - /// I/O port A clock enable + /// I/O port A clock enable GPIOAEN: u1, - /// I/O port B clock enable + /// I/O port B clock enable GPIOBEN: u1, - /// I/O port C clock enable + /// I/O port C clock enable GPIOCEN: u1, - /// I/O port D clock enable + /// I/O port D clock enable GPIODEN: u1, - /// I/O port E clock enable + /// I/O port E clock enable GPIOEEN: u1, - /// I/O port F clock enable + /// I/O port F clock enable GPIOFEN: u1, reserved24: u1, - /// Touch sensing controller clock enable + /// Touch sensing controller clock enable TSCEN: u1, padding: u7, }), - /// APB2 peripheral clock enable register (RCC_APB2ENR) + /// APB2 peripheral clock enable register (RCC_APB2ENR) APB2ENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock enable + /// SYSCFG clock enable SYSCFGEN: u1, reserved5: u4, - /// USART6 clock enable + /// USART6 clock enable USART6EN: u1, - /// USART7 clock enable + /// USART7 clock enable USART7EN: u1, - /// USART8 clock enable + /// USART8 clock enable USART8EN: u1, reserved9: u1, - /// ADC 1 interface clock enable + /// ADC 1 interface clock enable ADCEN: u1, reserved11: u1, - /// TIM1 Timer clock enable + /// TIM1 Timer clock enable TIM1EN: u1, - /// SPI 1 clock enable + /// SPI 1 clock enable SPI1EN: u1, reserved14: u1, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, reserved16: u1, - /// TIM15 timer clock enable + /// TIM15 timer clock enable TIM15EN: u1, - /// TIM16 timer clock enable + /// TIM16 timer clock enable TIM16EN: u1, - /// TIM17 timer clock enable + /// TIM17 timer clock enable TIM17EN: u1, reserved22: u3, - /// MCU debug module clock enable + /// MCU debug module clock enable DBGMCUEN: u1, padding: u9, }), - /// APB1 peripheral clock enable register (RCC_APB1ENR) + /// APB1 peripheral clock enable register (RCC_APB1ENR) APB1ENR: mmio.Mmio(packed struct(u32) { - /// Timer 2 clock enable + /// Timer 2 clock enable TIM2EN: u1, - /// Timer 3 clock enable + /// Timer 3 clock enable TIM3EN: u1, reserved4: u2, - /// Timer 6 clock enable + /// Timer 6 clock enable TIM6EN: u1, - /// TIM7 timer clock enable + /// TIM7 timer clock enable TIM7EN: u1, reserved8: u2, - /// Timer 14 clock enable + /// Timer 14 clock enable TIM14EN: u1, reserved11: u2, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI 2 clock enable + /// SPI 2 clock enable SPI2EN: u1, reserved17: u2, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, - /// USART3 clock enable + /// USART3 clock enable USART3EN: u1, - /// USART4 clock enable + /// USART4 clock enable USART4EN: u1, - /// USART5 clock enable + /// USART5 clock enable USART5EN: u1, - /// I2C 1 clock enable + /// I2C 1 clock enable I2C1EN: u1, - /// I2C 2 clock enable + /// I2C 2 clock enable I2C2EN: u1, - /// USB interface clock enable + /// USB interface clock enable USBEN: u1, reserved25: u1, - /// CAN interface clock enable + /// CAN interface clock enable CANEN: u1, reserved27: u1, - /// Clock Recovery System interface clock enable + /// Clock Recovery System interface clock enable CRSEN: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, - /// HDMI CEC interface clock enable + /// HDMI CEC interface clock enable CECEN: u1, padding: u1, }), - /// Backup domain control register (RCC_BDCR) + /// Backup domain control register (RCC_BDCR) BDCR: mmio.Mmio(packed struct(u32) { - /// External Low Speed oscillator enable + /// External Low Speed oscillator enable LSEON: u1, - /// External Low Speed oscillator ready + /// External Low Speed oscillator ready LSERDY: u1, - /// External Low Speed oscillator bypass + /// External Low Speed oscillator bypass LSEBYP: u1, - /// LSE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, + /// LSE oscillator drive capability + LSEDRV: LSEDRV, reserved8: u3, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, padding: u15, }), - /// Control/status register (RCC_CSR) + /// Control/status register (RCC_CSR) CSR: mmio.Mmio(packed struct(u32) { - /// Internal low speed oscillator enable + /// Internal low speed oscillator enable LSION: u1, - /// Internal low speed oscillator ready + /// Internal low speed oscillator ready LSIRDY: u1, reserved23: u21, - /// 1.8 V domain reset flag + /// 1.8 V domain reset flag V18PWRRSTF: u1, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// PIN reset flag + /// PIN reset flag PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), - /// AHB peripheral reset register + /// AHB peripheral reset register AHBRSTR: mmio.Mmio(packed struct(u32) { reserved17: u17, - /// I/O port A reset + /// I/O port A reset GPIOARST: u1, - /// I/O port B reset + /// I/O port B reset GPIOBRST: u1, - /// I/O port C reset + /// I/O port C reset GPIOCRST: u1, - /// I/O port D reset + /// I/O port D reset GPIODRST: u1, - /// I/O port E reset + /// I/O port E reset GPIOERST: u1, - /// I/O port F reset + /// I/O port F reset GPIOFRST: u1, reserved24: u1, - /// Touch sensing controller reset + /// Touch sensing controller reset TSCRST: u1, padding: u7, }), - /// Clock configuration register 2 + /// Clock configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// PREDIV division factor - PREDIV: packed union { - raw: u4, - value: PREDIV, - }, + /// PREDIV division factor + PREDIV: PREDIV, padding: u28, }), - /// Clock configuration register 3 + /// Clock configuration register 3 CFGR3: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection - USART1SW: packed union { - raw: u2, - value: USART1SW, - }, + /// USART1 clock source selection + USART1SW: USART1SW, reserved4: u2, - /// I2C1 clock source selection - I2C1SW: packed union { - raw: u1, - value: ICSW, - }, + /// I2C1 clock source selection + I2C1SW: ICSW, reserved6: u1, - /// HDMI CEC clock source selection - CECSW: packed union { - raw: u1, - value: CECSW, - }, - /// USB clock source selection - USBSW: packed union { - raw: u1, - value: USBSW, - }, - /// ADCSW is deprecated. See ADC field in CFGR2 register. + /// HDMI CEC clock source selection + CECSW: CECSW, + /// USB clock source selection + USBSW: USBSW, + /// ADCSW is deprecated. See ADC field in CFGR2 register. ADCSW: u1, reserved16: u7, - /// USART2 clock source selection - USART2SW: packed union { - raw: u2, - value: USARTSW, - }, - /// USART3 clock source - USART3SW: packed union { - raw: u2, - value: USARTSW, - }, + /// USART2 clock source selection + USART2SW: USARTSW, + /// USART3 clock source + USART3SW: USARTSW, padding: u12, }), - /// Clock control register 2 + /// Clock control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// HSI14 clock enable + /// HSI14 clock enable HSI14ON: u1, - /// HR14 clock ready flag + /// HR14 clock ready flag HSI14RDY: u1, - /// HSI14 clock request from ADC disable + /// HSI14 clock request from ADC disable HSI14DIS: u1, - /// HSI14 clock trimming + /// HSI14 clock trimming HSI14TRIM: u5, - /// HSI14 clock calibration + /// HSI14 clock calibration HSI14CAL: u8, padding: u16, }), @@ -366220,708 +361546,651 @@ pub const types = struct { pub const rcc_f0v3 = struct { pub const CECSW = enum(u1) { - /// HSI clock divided by 244 selected as CEC clock source + /// HSI clock divided by 244 selected as CEC clock source HSI_DIV_244 = 0x0, - /// LSE clock selected as CEC clock source + /// LSE clock selected as CEC clock source LSE = 0x1, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const ICSW = enum(u1) { - /// HSI clock selected as I2C clock source + /// HSI clock selected as I2C clock source HSI = 0x0, - /// SYSCLK clock selected as I2C clock source + /// SYSCLK clock selected as I2C clock source SYS = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x1, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u3) { - /// MCO is divided by 1 + /// MCO is divided by 1 Div1 = 0x0, - /// MCO is divided by 2 + /// MCO is divided by 2 Div2 = 0x1, - /// MCO is divided by 4 + /// MCO is divided by 4 Div4 = 0x2, - /// MCO is divided by 8 + /// MCO is divided by 8 Div8 = 0x3, - /// MCO is divided by 16 + /// MCO is divided by 16 Div16 = 0x4, - /// MCO is divided by 32 + /// MCO is divided by 32 Div32 = 0x5, - /// MCO is divided by 64 + /// MCO is divided by 64 Div64 = 0x6, - /// MCO is divided by 128 + /// MCO is divided by 128 Div128 = 0x7, }; pub const MCOSEL = enum(u4) { - /// MCO output disabled, no clock on MCO + /// MCO output disabled, no clock on MCO DISABLE = 0x0, - /// Internal RC 14 MHz (HSI14) oscillator clock selected + /// Internal RC 14 MHz (HSI14) oscillator clock selected HSI14 = 0x1, - /// Internal low speed (LSI) oscillator clock selected + /// Internal low speed (LSI) oscillator clock selected LSI = 0x2, - /// External low speed (LSE) oscillator clock selected + /// External low speed (LSE) oscillator clock selected LSE = 0x3, - /// System clock selected + /// System clock selected SYS = 0x4, - /// Internal RC 8 MHz (HSI) oscillator clock selected + /// Internal RC 8 MHz (HSI) oscillator clock selected HSI = 0x5, - /// External 4-32 MHz (HSE) oscillator clock selected + /// External 4-32 MHz (HSE) oscillator clock selected HSE = 0x6, - /// PLL clock selected (divided by 1 or 2, depending en PLLMCODIV) + /// PLL clock selected (divided by 1 or 2, depending en PLLMCODIV) PLL = 0x7, _, }; pub const PLLMCODIV = enum(u1) { - /// PLL is divided by 2 for MCO + /// PLL is divided by 2 for MCO Div2 = 0x0, - /// PLL is not divided for MCO + /// PLL is not divided for MCO Div1 = 0x1, }; pub const PLLMUL = enum(u4) { - /// PLL input clock x2 + /// PLL input clock x2 Mul2 = 0x0, - /// PLL input clock x3 + /// PLL input clock x3 Mul3 = 0x1, - /// PLL input clock x4 + /// PLL input clock x4 Mul4 = 0x2, - /// PLL input clock x5 + /// PLL input clock x5 Mul5 = 0x3, - /// PLL input clock x6 + /// PLL input clock x6 Mul6 = 0x4, - /// PLL input clock x7 + /// PLL input clock x7 Mul7 = 0x5, - /// PLL input clock x8 + /// PLL input clock x8 Mul8 = 0x6, - /// PLL input clock x9 + /// PLL input clock x9 Mul9 = 0x7, - /// PLL input clock x10 + /// PLL input clock x10 Mul10 = 0x8, - /// PLL input clock x11 + /// PLL input clock x11 Mul11 = 0x9, - /// PLL input clock x12 + /// PLL input clock x12 Mul12 = 0xa, - /// PLL input clock x13 + /// PLL input clock x13 Mul13 = 0xb, - /// PLL input clock x14 + /// PLL input clock x14 Mul14 = 0xc, - /// PLL input clock x15 + /// PLL input clock x15 Mul15 = 0xd, - /// PLL input clock x16 + /// PLL input clock x16 Mul16 = 0xe, _, }; pub const PLLSRC = enum(u2) { - /// HSI divided by 2 selected as PLL input clock + /// HSI divided by 2 selected as PLL input clock HSI_Div2 = 0x0, - /// HSI divided by PREDIV selected as PLL input clock + /// HSI divided by PREDIV selected as PLL input clock HSI_Div_PREDIV = 0x1, - /// HSE divided by PREDIV selected as PLL input clock + /// HSE divided by PREDIV selected as PLL input clock HSE_Div_PREDIV = 0x2, _, }; pub const PLLXTPRE = enum(u1) { - /// HSE clock not divided + /// HSE clock not divided Div1 = 0x0, - /// HSE clock divided by 2 + /// HSE clock divided by 2 Div2 = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const PREDIV = enum(u4) { - /// PREDIV input clock not divided + /// PREDIV input clock not divided Div1 = 0x0, - /// PREDIV input clock divided by 2 + /// PREDIV input clock divided by 2 Div2 = 0x1, - /// PREDIV input clock divided by 3 + /// PREDIV input clock divided by 3 Div3 = 0x2, - /// PREDIV input clock divided by 4 + /// PREDIV input clock divided by 4 Div4 = 0x3, - /// PREDIV input clock divided by 5 + /// PREDIV input clock divided by 5 Div5 = 0x4, - /// PREDIV input clock divided by 6 + /// PREDIV input clock divided by 6 Div6 = 0x5, - /// PREDIV input clock divided by 7 + /// PREDIV input clock divided by 7 Div7 = 0x6, - /// PREDIV input clock divided by 8 + /// PREDIV input clock divided by 8 Div8 = 0x7, - /// PREDIV input clock divided by 9 + /// PREDIV input clock divided by 9 Div9 = 0x8, - /// PREDIV input clock divided by 10 + /// PREDIV input clock divided by 10 Div10 = 0x9, - /// PREDIV input clock divided by 11 + /// PREDIV input clock divided by 11 Div11 = 0xa, - /// PREDIV input clock divided by 12 + /// PREDIV input clock divided by 12 Div12 = 0xb, - /// PREDIV input clock divided by 13 + /// PREDIV input clock divided by 13 Div13 = 0xc, - /// PREDIV input clock divided by 14 + /// PREDIV input clock divided by 14 Div14 = 0xd, - /// PREDIV input clock divided by 15 + /// PREDIV input clock divided by 15 Div15 = 0xe, - /// PREDIV input clock divided by 16 + /// PREDIV input clock divided by 16 Div16 = 0xf, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SW = enum(u2) { - /// HSI oscillator used as system clock + /// HSI oscillator used as system clock HSI = 0x0, - /// HSE oscillator used as system clock + /// HSE oscillator used as system clock HSE = 0x1, - /// PLL used as system clock + /// PLL used as system clock PLL1_P = 0x2, _, }; pub const USART1SW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK2 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USARTSW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK1 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USBSW = enum(u1) { - /// PLL clock selected as USB clock source + /// PLL clock selected as USB clock source PLL1_P = 0x1, _, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal High Speed clock enable + /// Internal High Speed clock enable HSION: u1, - /// Internal High Speed clock ready flag + /// Internal High Speed clock ready flag HSIRDY: u1, reserved3: u1, - /// Internal High Speed clock trimming + /// Internal High Speed clock trimming HSITRIM: u5, - /// Internal High Speed clock Calibration + /// Internal High Speed clock Calibration HSICAL: u8, - /// External High Speed clock enable + /// External High Speed clock enable HSEON: u1, - /// External High Speed clock ready flag + /// External High Speed clock ready flag HSERDY: u1, - /// External High Speed clock Bypass + /// External High Speed clock Bypass HSEBYP: u1, - /// Clock Security System enable + /// Clock Security System enable CSSON: u1, reserved24: u4, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Clock configuration register (RCC_CFGR) + /// Clock configuration register (RCC_CFGR) CFGR: mmio.Mmio(packed struct(u32) { - /// System clock Switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System Clock Switch Status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB Low speed prescaler (APB1) - PPRE: packed union { - raw: u3, - value: PPRE, - }, + /// System clock Switch + SW: SW, + /// System Clock Switch Status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB Low speed prescaler (APB1) + PPRE: PPRE, reserved14: u3, - /// APCPRE is deprecated. See ADC field in CFGR2 register. + /// APCPRE is deprecated. See ADC field in CFGR2 register. ADCPRE: u1, - /// PLL input clock source - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, - /// HSE divider for PLL entry. Same bit as PREDIV[0] from CFGR2 register. Refer to it for its meaning - PLLXTPRE: packed union { - raw: u1, - value: PLLXTPRE, - }, - /// PLL Multiplication Factor - PLLMUL: packed union { - raw: u4, - value: PLLMUL, - }, + /// PLL input clock source + PLLSRC: PLLSRC, + /// HSE divider for PLL entry. Same bit as PREDIV[0] from CFGR2 register. Refer to it for its meaning + PLLXTPRE: PLLXTPRE, + /// PLL Multiplication Factor + PLLMUL: PLLMUL, reserved24: u2, - /// Microcontroller clock output - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller Clock Output Prescaler - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, - /// PLL clock not divided for MCO - PLLMCODIV: packed union { - raw: u1, - value: PLLMCODIV, - }, - }), - /// Clock interrupt register (RCC_CIR) + /// Microcontroller clock output + MCOSEL: MCOSEL, + /// Microcontroller Clock Output Prescaler + MCOPRE: MCOPRE, + /// PLL clock not divided for MCO + PLLMCODIV: PLLMCODIV, + }), + /// Clock interrupt register (RCC_CIR) CIR: mmio.Mmio(packed struct(u32) { - /// LSI Ready Interrupt flag + /// LSI Ready Interrupt flag LSIRDYF: u1, - /// LSE Ready Interrupt flag + /// LSE Ready Interrupt flag LSERDYF: u1, - /// HSI Ready Interrupt flag + /// HSI Ready Interrupt flag HSIRDYF: u1, - /// HSE Ready Interrupt flag + /// HSE Ready Interrupt flag HSERDYF: u1, - /// PLL Ready Interrupt flag + /// PLL Ready Interrupt flag PLLRDYF: u1, - /// HSI14 ready interrupt flag + /// HSI14 ready interrupt flag HSI14RDYF: u1, reserved7: u1, - /// Clock Security System Interrupt flag + /// Clock Security System Interrupt flag CSSF: u1, - /// LSI Ready Interrupt Enable + /// LSI Ready Interrupt Enable LSIRDYIE: u1, - /// LSE Ready Interrupt Enable + /// LSE Ready Interrupt Enable LSERDYIE: u1, - /// HSI Ready Interrupt Enable + /// HSI Ready Interrupt Enable HSIRDYIE: u1, - /// HSE Ready Interrupt Enable + /// HSE Ready Interrupt Enable HSERDYIE: u1, - /// PLL Ready Interrupt Enable + /// PLL Ready Interrupt Enable PLLRDYIE: u1, - /// HSI14 ready interrupt enable + /// HSI14 ready interrupt enable HSI14RDYIE: u1, reserved16: u2, - /// LSI Ready Interrupt Clear + /// LSI Ready Interrupt Clear LSIRDYC: u1, - /// LSE Ready Interrupt Clear + /// LSE Ready Interrupt Clear LSERDYC: u1, - /// HSI Ready Interrupt Clear + /// HSI Ready Interrupt Clear HSIRDYC: u1, - /// HSE Ready Interrupt Clear + /// HSE Ready Interrupt Clear HSERDYC: u1, - /// PLL Ready Interrupt Clear + /// PLL Ready Interrupt Clear PLLRDYC: u1, - /// HSI 14 MHz Ready Interrupt Clear + /// HSI 14 MHz Ready Interrupt Clear HSI14RDYC: u1, reserved23: u1, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// APB2 peripheral reset register (RCC_APB2RSTR) + /// APB2 peripheral reset register (RCC_APB2RSTR) APB2RSTR: mmio.Mmio(packed struct(u32) { - /// SYSCFG and COMP reset + /// SYSCFG and COMP reset SYSCFGRST: u1, reserved5: u4, - /// USART6 reset + /// USART6 reset USART6RST: u1, - /// USART7 reset + /// USART7 reset USART7RST: u1, - /// USART8 reset + /// USART8 reset USART8RST: u1, reserved9: u1, - /// ADC interface reset + /// ADC interface reset ADCRST: u1, reserved11: u1, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, reserved14: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, reserved16: u1, - /// TIM15 timer reset + /// TIM15 timer reset TIM15RST: u1, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, reserved22: u3, - /// Debug MCU reset + /// Debug MCU reset DBGMCURST: u1, padding: u9, }), - /// APB1 peripheral reset register (RCC_APB1RSTR) + /// APB1 peripheral reset register (RCC_APB1RSTR) APB1RSTR: mmio.Mmio(packed struct(u32) { - /// Timer 2 reset + /// Timer 2 reset TIM2RST: u1, - /// Timer 3 reset + /// Timer 3 reset TIM3RST: u1, reserved4: u2, - /// Timer 6 reset + /// Timer 6 reset TIM6RST: u1, - /// TIM7 timer reset + /// TIM7 timer reset TIM7RST: u1, reserved8: u2, - /// Timer 14 reset + /// Timer 14 reset TIM14RST: u1, reserved11: u2, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, reserved17: u2, - /// USART 2 reset + /// USART 2 reset USART2RST: u1, - /// USART3 reset + /// USART3 reset USART3RST: u1, - /// USART4 reset + /// USART4 reset USART4RST: u1, - /// USART5 reset + /// USART5 reset USART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// USB interface reset + /// USB interface reset USBRST: u1, reserved25: u1, - /// CAN interface reset + /// CAN interface reset CANRST: u1, reserved27: u1, - /// Clock Recovery System interface reset + /// Clock Recovery System interface reset CRSRST: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC interface reset + /// DAC interface reset DACRST: u1, - /// HDMI CEC reset + /// HDMI CEC reset CECRST: u1, padding: u1, }), - /// AHB Peripheral Clock enable register (RCC_AHBENR) + /// AHB Peripheral Clock enable register (RCC_AHBENR) AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA clock enable + /// DMA clock enable DMAEN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// SRAM interface clock enable + /// SRAM interface clock enable SRAMEN: u1, reserved4: u1, - /// FLASH clock enable + /// FLASH clock enable FLASHEN: u1, reserved6: u1, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved17: u10, - /// I/O port A clock enable + /// I/O port A clock enable GPIOAEN: u1, - /// I/O port B clock enable + /// I/O port B clock enable GPIOBEN: u1, - /// I/O port C clock enable + /// I/O port C clock enable GPIOCEN: u1, - /// I/O port D clock enable + /// I/O port D clock enable GPIODEN: u1, - /// I/O port E clock enable + /// I/O port E clock enable GPIOEEN: u1, - /// I/O port F clock enable + /// I/O port F clock enable GPIOFEN: u1, reserved24: u1, - /// Touch sensing controller clock enable + /// Touch sensing controller clock enable TSCEN: u1, padding: u7, }), - /// APB2 peripheral clock enable register (RCC_APB2ENR) + /// APB2 peripheral clock enable register (RCC_APB2ENR) APB2ENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock enable + /// SYSCFG clock enable SYSCFGEN: u1, reserved5: u4, - /// USART6 clock enable + /// USART6 clock enable USART6EN: u1, - /// USART7 clock enable + /// USART7 clock enable USART7EN: u1, - /// USART8 clock enable + /// USART8 clock enable USART8EN: u1, reserved9: u1, - /// ADC 1 interface clock enable + /// ADC 1 interface clock enable ADCEN: u1, reserved11: u1, - /// TIM1 Timer clock enable + /// TIM1 Timer clock enable TIM1EN: u1, - /// SPI 1 clock enable + /// SPI 1 clock enable SPI1EN: u1, reserved14: u1, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, reserved16: u1, - /// TIM15 timer clock enable + /// TIM15 timer clock enable TIM15EN: u1, - /// TIM16 timer clock enable + /// TIM16 timer clock enable TIM16EN: u1, - /// TIM17 timer clock enable + /// TIM17 timer clock enable TIM17EN: u1, reserved22: u3, - /// MCU debug module clock enable + /// MCU debug module clock enable DBGMCUEN: u1, padding: u9, }), - /// APB1 peripheral clock enable register (RCC_APB1ENR) + /// APB1 peripheral clock enable register (RCC_APB1ENR) APB1ENR: mmio.Mmio(packed struct(u32) { - /// Timer 2 clock enable + /// Timer 2 clock enable TIM2EN: u1, - /// Timer 3 clock enable + /// Timer 3 clock enable TIM3EN: u1, reserved4: u2, - /// Timer 6 clock enable + /// Timer 6 clock enable TIM6EN: u1, - /// TIM7 timer clock enable + /// TIM7 timer clock enable TIM7EN: u1, reserved8: u2, - /// Timer 14 clock enable + /// Timer 14 clock enable TIM14EN: u1, reserved11: u2, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI 2 clock enable + /// SPI 2 clock enable SPI2EN: u1, reserved17: u2, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, - /// USART3 clock enable + /// USART3 clock enable USART3EN: u1, - /// USART4 clock enable + /// USART4 clock enable USART4EN: u1, - /// USART5 clock enable + /// USART5 clock enable USART5EN: u1, - /// I2C 1 clock enable + /// I2C 1 clock enable I2C1EN: u1, - /// I2C 2 clock enable + /// I2C 2 clock enable I2C2EN: u1, - /// USB interface clock enable + /// USB interface clock enable USBEN: u1, reserved25: u1, - /// CAN interface clock enable + /// CAN interface clock enable CANEN: u1, reserved27: u1, - /// Clock Recovery System interface clock enable + /// Clock Recovery System interface clock enable CRSEN: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, - /// HDMI CEC interface clock enable + /// HDMI CEC interface clock enable CECEN: u1, padding: u1, }), - /// Backup domain control register (RCC_BDCR) + /// Backup domain control register (RCC_BDCR) BDCR: mmio.Mmio(packed struct(u32) { - /// External Low Speed oscillator enable + /// External Low Speed oscillator enable LSEON: u1, - /// External Low Speed oscillator ready + /// External Low Speed oscillator ready LSERDY: u1, - /// External Low Speed oscillator bypass + /// External Low Speed oscillator bypass LSEBYP: u1, - /// LSE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, + /// LSE oscillator drive capability + LSEDRV: LSEDRV, reserved8: u3, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, padding: u15, }), - /// Control/status register (RCC_CSR) + /// Control/status register (RCC_CSR) CSR: mmio.Mmio(packed struct(u32) { - /// Internal low speed oscillator enable + /// Internal low speed oscillator enable LSION: u1, - /// Internal low speed oscillator ready + /// Internal low speed oscillator ready LSIRDY: u1, reserved23: u21, - /// 1.8 V domain reset flag + /// 1.8 V domain reset flag V18PWRRSTF: u1, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// PIN reset flag + /// PIN reset flag PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), - /// AHB peripheral reset register + /// AHB peripheral reset register AHBRSTR: mmio.Mmio(packed struct(u32) { reserved17: u17, - /// I/O port A reset + /// I/O port A reset GPIOARST: u1, - /// I/O port B reset + /// I/O port B reset GPIOBRST: u1, - /// I/O port C reset + /// I/O port C reset GPIOCRST: u1, - /// I/O port D reset + /// I/O port D reset GPIODRST: u1, - /// I/O port E reset + /// I/O port E reset GPIOERST: u1, - /// I/O port F reset + /// I/O port F reset GPIOFRST: u1, reserved24: u1, - /// Touch sensing controller reset + /// Touch sensing controller reset TSCRST: u1, padding: u7, }), - /// Clock configuration register 2 + /// Clock configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// PREDIV division factor - PREDIV: packed union { - raw: u4, - value: PREDIV, - }, + /// PREDIV division factor + PREDIV: PREDIV, padding: u28, }), - /// Clock configuration register 3 + /// Clock configuration register 3 CFGR3: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection - USART1SW: packed union { - raw: u2, - value: USART1SW, - }, + /// USART1 clock source selection + USART1SW: USART1SW, reserved4: u2, - /// I2C1 clock source selection - I2C1SW: packed union { - raw: u1, - value: ICSW, - }, + /// I2C1 clock source selection + I2C1SW: ICSW, reserved6: u1, - /// HDMI CEC clock source selection - CECSW: packed union { - raw: u1, - value: CECSW, - }, - /// USB clock source selection - USBSW: packed union { - raw: u1, - value: USBSW, - }, - /// ADCSW is deprecated. See ADC field in CFGR2 register. + /// HDMI CEC clock source selection + CECSW: CECSW, + /// USB clock source selection + USBSW: USBSW, + /// ADCSW is deprecated. See ADC field in CFGR2 register. ADCSW: u1, reserved16: u7, - /// USART2 clock source selection - USART2SW: packed union { - raw: u2, - value: USARTSW, - }, - /// USART3 clock source - USART3SW: packed union { - raw: u2, - value: USARTSW, - }, + /// USART2 clock source selection + USART2SW: USARTSW, + /// USART3 clock source + USART3SW: USARTSW, padding: u12, }), - /// Clock control register 2 + /// Clock control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// HSI14 clock enable + /// HSI14 clock enable HSI14ON: u1, - /// HR14 clock ready flag + /// HR14 clock ready flag HSI14RDY: u1, - /// HSI14 clock request from ADC disable + /// HSI14 clock request from ADC disable HSI14DIS: u1, - /// HSI14 clock trimming + /// HSI14 clock trimming HSI14TRIM: u5, - /// HSI14 clock calibration + /// HSI14 clock calibration HSI14CAL: u8, padding: u16, }), @@ -366930,724 +362199,667 @@ pub const types = struct { pub const rcc_f0v4 = struct { pub const CECSW = enum(u1) { - /// HSI clock divided by 244 selected as CEC clock source + /// HSI clock divided by 244 selected as CEC clock source HSI_DIV_244 = 0x0, - /// LSE clock selected as CEC clock source + /// LSE clock selected as CEC clock source LSE = 0x1, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const ICSW = enum(u1) { - /// HSI clock selected as I2C clock source + /// HSI clock selected as I2C clock source HSI = 0x0, - /// SYSCLK clock selected as I2C clock source + /// SYSCLK clock selected as I2C clock source SYS = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x1, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u3) { - /// MCO is divided by 1 + /// MCO is divided by 1 Div1 = 0x0, - /// MCO is divided by 2 + /// MCO is divided by 2 Div2 = 0x1, - /// MCO is divided by 4 + /// MCO is divided by 4 Div4 = 0x2, - /// MCO is divided by 8 + /// MCO is divided by 8 Div8 = 0x3, - /// MCO is divided by 16 + /// MCO is divided by 16 Div16 = 0x4, - /// MCO is divided by 32 + /// MCO is divided by 32 Div32 = 0x5, - /// MCO is divided by 64 + /// MCO is divided by 64 Div64 = 0x6, - /// MCO is divided by 128 + /// MCO is divided by 128 Div128 = 0x7, }; pub const MCOSEL = enum(u4) { - /// MCO output disabled, no clock on MCO + /// MCO output disabled, no clock on MCO DISABLE = 0x0, - /// Internal RC 14 MHz (HSI14) oscillator clock selected + /// Internal RC 14 MHz (HSI14) oscillator clock selected HSI14 = 0x1, - /// Internal low speed (LSI) oscillator clock selected + /// Internal low speed (LSI) oscillator clock selected LSI = 0x2, - /// External low speed (LSE) oscillator clock selected + /// External low speed (LSE) oscillator clock selected LSE = 0x3, - /// System clock selected + /// System clock selected SYS = 0x4, - /// Internal RC 8 MHz (HSI) oscillator clock selected + /// Internal RC 8 MHz (HSI) oscillator clock selected HSI = 0x5, - /// External 4-32 MHz (HSE) oscillator clock selected + /// External 4-32 MHz (HSE) oscillator clock selected HSE = 0x6, - /// PLL clock selected (divided by 1 or 2, depending en PLLMCODIV) + /// PLL clock selected (divided by 1 or 2, depending en PLLMCODIV) PLL = 0x7, - /// Internal RC 48 MHz (HSI48) oscillator clock selected + /// Internal RC 48 MHz (HSI48) oscillator clock selected HSI48 = 0x8, _, }; pub const PLLMCODIV = enum(u1) { - /// PLL is divided by 2 for MCO + /// PLL is divided by 2 for MCO Div2 = 0x0, - /// PLL is not divided for MCO + /// PLL is not divided for MCO Div1 = 0x1, }; pub const PLLMUL = enum(u4) { - /// PLL input clock x2 + /// PLL input clock x2 Mul2 = 0x0, - /// PLL input clock x3 + /// PLL input clock x3 Mul3 = 0x1, - /// PLL input clock x4 + /// PLL input clock x4 Mul4 = 0x2, - /// PLL input clock x5 + /// PLL input clock x5 Mul5 = 0x3, - /// PLL input clock x6 + /// PLL input clock x6 Mul6 = 0x4, - /// PLL input clock x7 + /// PLL input clock x7 Mul7 = 0x5, - /// PLL input clock x8 + /// PLL input clock x8 Mul8 = 0x6, - /// PLL input clock x9 + /// PLL input clock x9 Mul9 = 0x7, - /// PLL input clock x10 + /// PLL input clock x10 Mul10 = 0x8, - /// PLL input clock x11 + /// PLL input clock x11 Mul11 = 0x9, - /// PLL input clock x12 + /// PLL input clock x12 Mul12 = 0xa, - /// PLL input clock x13 + /// PLL input clock x13 Mul13 = 0xb, - /// PLL input clock x14 + /// PLL input clock x14 Mul14 = 0xc, - /// PLL input clock x15 + /// PLL input clock x15 Mul15 = 0xd, - /// PLL input clock x16 + /// PLL input clock x16 Mul16 = 0xe, _, }; pub const PLLSRC = enum(u2) { - /// HSI divided by 2 selected as PLL input clock + /// HSI divided by 2 selected as PLL input clock HSI_Div2 = 0x0, - /// HSI divided by PREDIV selected as PLL input clock + /// HSI divided by PREDIV selected as PLL input clock HSI_Div_PREDIV = 0x1, - /// HSE divided by PREDIV selected as PLL input clock + /// HSE divided by PREDIV selected as PLL input clock HSE_Div_PREDIV = 0x2, - /// HSI48 divided by PREDIV selected as PLL input clock + /// HSI48 divided by PREDIV selected as PLL input clock HSI48_Div_PREDIV = 0x3, }; pub const PLLXTPRE = enum(u1) { - /// HSE clock not divided + /// HSE clock not divided Div1 = 0x0, - /// HSE clock divided by 2 + /// HSE clock divided by 2 Div2 = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const PREDIV = enum(u4) { - /// PREDIV input clock not divided + /// PREDIV input clock not divided Div1 = 0x0, - /// PREDIV input clock divided by 2 + /// PREDIV input clock divided by 2 Div2 = 0x1, - /// PREDIV input clock divided by 3 + /// PREDIV input clock divided by 3 Div3 = 0x2, - /// PREDIV input clock divided by 4 + /// PREDIV input clock divided by 4 Div4 = 0x3, - /// PREDIV input clock divided by 5 + /// PREDIV input clock divided by 5 Div5 = 0x4, - /// PREDIV input clock divided by 6 + /// PREDIV input clock divided by 6 Div6 = 0x5, - /// PREDIV input clock divided by 7 + /// PREDIV input clock divided by 7 Div7 = 0x6, - /// PREDIV input clock divided by 8 + /// PREDIV input clock divided by 8 Div8 = 0x7, - /// PREDIV input clock divided by 9 + /// PREDIV input clock divided by 9 Div9 = 0x8, - /// PREDIV input clock divided by 10 + /// PREDIV input clock divided by 10 Div10 = 0x9, - /// PREDIV input clock divided by 11 + /// PREDIV input clock divided by 11 Div11 = 0xa, - /// PREDIV input clock divided by 12 + /// PREDIV input clock divided by 12 Div12 = 0xb, - /// PREDIV input clock divided by 13 + /// PREDIV input clock divided by 13 Div13 = 0xc, - /// PREDIV input clock divided by 14 + /// PREDIV input clock divided by 14 Div14 = 0xd, - /// PREDIV input clock divided by 15 + /// PREDIV input clock divided by 15 Div15 = 0xe, - /// PREDIV input clock divided by 16 + /// PREDIV input clock divided by 16 Div16 = 0xf, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SW = enum(u2) { - /// HSI oscillator used as system clock + /// HSI oscillator used as system clock HSI = 0x0, - /// HSE oscillator used as system clock + /// HSE oscillator used as system clock HSE = 0x1, - /// PLL used as system clock + /// PLL used as system clock PLL1_P = 0x2, - /// HSI48 used as system clock + /// HSI48 used as system clock HSI48 = 0x3, }; pub const USART1SW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK2 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USARTSW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK1 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USBSW = enum(u1) { - /// HSI48 selected as USB clock source + /// HSI48 selected as USB clock source HSI48 = 0x0, - /// PLL clock selected as USB clock source + /// PLL clock selected as USB clock source PLL1_P = 0x1, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal High Speed clock enable + /// Internal High Speed clock enable HSION: u1, - /// Internal High Speed clock ready flag + /// Internal High Speed clock ready flag HSIRDY: u1, reserved3: u1, - /// Internal High Speed clock trimming + /// Internal High Speed clock trimming HSITRIM: u5, - /// Internal High Speed clock Calibration + /// Internal High Speed clock Calibration HSICAL: u8, - /// External High Speed clock enable + /// External High Speed clock enable HSEON: u1, - /// External High Speed clock ready flag + /// External High Speed clock ready flag HSERDY: u1, - /// External High Speed clock Bypass + /// External High Speed clock Bypass HSEBYP: u1, - /// Clock Security System enable + /// Clock Security System enable CSSON: u1, reserved24: u4, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Clock configuration register (RCC_CFGR) + /// Clock configuration register (RCC_CFGR) CFGR: mmio.Mmio(packed struct(u32) { - /// System clock Switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System Clock Switch Status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB Low speed prescaler (APB1) - PPRE: packed union { - raw: u3, - value: PPRE, - }, + /// System clock Switch + SW: SW, + /// System Clock Switch Status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB Low speed prescaler (APB1) + PPRE: PPRE, reserved14: u3, - /// APCPRE is deprecated. See ADC field in CFGR2 register. + /// APCPRE is deprecated. See ADC field in CFGR2 register. ADCPRE: u1, - /// PLL input clock source - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, - /// HSE divider for PLL entry. Same bit as PREDIV[0] from CFGR2 register. Refer to it for its meaning - PLLXTPRE: packed union { - raw: u1, - value: PLLXTPRE, - }, - /// PLL Multiplication Factor - PLLMUL: packed union { - raw: u4, - value: PLLMUL, - }, + /// PLL input clock source + PLLSRC: PLLSRC, + /// HSE divider for PLL entry. Same bit as PREDIV[0] from CFGR2 register. Refer to it for its meaning + PLLXTPRE: PLLXTPRE, + /// PLL Multiplication Factor + PLLMUL: PLLMUL, reserved24: u2, - /// Microcontroller clock output - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller Clock Output Prescaler - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, - /// PLL clock not divided for MCO - PLLMCODIV: packed union { - raw: u1, - value: PLLMCODIV, - }, - }), - /// Clock interrupt register (RCC_CIR) + /// Microcontroller clock output + MCOSEL: MCOSEL, + /// Microcontroller Clock Output Prescaler + MCOPRE: MCOPRE, + /// PLL clock not divided for MCO + PLLMCODIV: PLLMCODIV, + }), + /// Clock interrupt register (RCC_CIR) CIR: mmio.Mmio(packed struct(u32) { - /// LSI Ready Interrupt flag + /// LSI Ready Interrupt flag LSIRDYF: u1, - /// LSE Ready Interrupt flag + /// LSE Ready Interrupt flag LSERDYF: u1, - /// HSI Ready Interrupt flag + /// HSI Ready Interrupt flag HSIRDYF: u1, - /// HSE Ready Interrupt flag + /// HSE Ready Interrupt flag HSERDYF: u1, - /// PLL Ready Interrupt flag + /// PLL Ready Interrupt flag PLLRDYF: u1, - /// HSI14 ready interrupt flag + /// HSI14 ready interrupt flag HSI14RDYF: u1, - /// HSI48 ready interrupt flag + /// HSI48 ready interrupt flag HSI48RDYF: u1, - /// Clock Security System Interrupt flag + /// Clock Security System Interrupt flag CSSF: u1, - /// LSI Ready Interrupt Enable + /// LSI Ready Interrupt Enable LSIRDYIE: u1, - /// LSE Ready Interrupt Enable + /// LSE Ready Interrupt Enable LSERDYIE: u1, - /// HSI Ready Interrupt Enable + /// HSI Ready Interrupt Enable HSIRDYIE: u1, - /// HSE Ready Interrupt Enable + /// HSE Ready Interrupt Enable HSERDYIE: u1, - /// PLL Ready Interrupt Enable + /// PLL Ready Interrupt Enable PLLRDYIE: u1, - /// HSI14 ready interrupt enable + /// HSI14 ready interrupt enable HSI14RDYIE: u1, - /// HSI48 ready interrupt enable + /// HSI48 ready interrupt enable HSI48RDYIE: u1, reserved16: u1, - /// LSI Ready Interrupt Clear + /// LSI Ready Interrupt Clear LSIRDYC: u1, - /// LSE Ready Interrupt Clear + /// LSE Ready Interrupt Clear LSERDYC: u1, - /// HSI Ready Interrupt Clear + /// HSI Ready Interrupt Clear HSIRDYC: u1, - /// HSE Ready Interrupt Clear + /// HSE Ready Interrupt Clear HSERDYC: u1, - /// PLL Ready Interrupt Clear + /// PLL Ready Interrupt Clear PLLRDYC: u1, - /// HSI 14 MHz Ready Interrupt Clear + /// HSI 14 MHz Ready Interrupt Clear HSI14RDYC: u1, - /// HSI48 Ready Interrupt Clear + /// HSI48 Ready Interrupt Clear HSI48RDYC: u1, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// APB2 peripheral reset register (RCC_APB2RSTR) + /// APB2 peripheral reset register (RCC_APB2RSTR) APB2RSTR: mmio.Mmio(packed struct(u32) { - /// SYSCFG and COMP reset + /// SYSCFG and COMP reset SYSCFGRST: u1, reserved5: u4, - /// USART6 reset + /// USART6 reset USART6RST: u1, - /// USART7 reset + /// USART7 reset USART7RST: u1, - /// USART8 reset + /// USART8 reset USART8RST: u1, reserved9: u1, - /// ADC interface reset + /// ADC interface reset ADCRST: u1, reserved11: u1, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, reserved14: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, reserved16: u1, - /// TIM15 timer reset + /// TIM15 timer reset TIM15RST: u1, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, reserved22: u3, - /// Debug MCU reset + /// Debug MCU reset DBGMCURST: u1, padding: u9, }), - /// APB1 peripheral reset register (RCC_APB1RSTR) + /// APB1 peripheral reset register (RCC_APB1RSTR) APB1RSTR: mmio.Mmio(packed struct(u32) { - /// Timer 2 reset + /// Timer 2 reset TIM2RST: u1, - /// Timer 3 reset + /// Timer 3 reset TIM3RST: u1, reserved4: u2, - /// Timer 6 reset + /// Timer 6 reset TIM6RST: u1, - /// TIM7 timer reset + /// TIM7 timer reset TIM7RST: u1, reserved8: u2, - /// Timer 14 reset + /// Timer 14 reset TIM14RST: u1, reserved11: u2, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, reserved17: u2, - /// USART 2 reset + /// USART 2 reset USART2RST: u1, - /// USART3 reset + /// USART3 reset USART3RST: u1, - /// USART4 reset + /// USART4 reset USART4RST: u1, - /// USART5 reset + /// USART5 reset USART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// USB interface reset + /// USB interface reset USBRST: u1, reserved25: u1, - /// CAN interface reset + /// CAN interface reset CANRST: u1, reserved27: u1, - /// Clock Recovery System interface reset + /// Clock Recovery System interface reset CRSRST: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC interface reset + /// DAC interface reset DACRST: u1, - /// HDMI CEC reset + /// HDMI CEC reset CECRST: u1, padding: u1, }), - /// AHB Peripheral Clock enable register (RCC_AHBENR) + /// AHB Peripheral Clock enable register (RCC_AHBENR) AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA clock enable + /// DMA clock enable DMAEN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// SRAM interface clock enable + /// SRAM interface clock enable SRAMEN: u1, reserved4: u1, - /// FLASH clock enable + /// FLASH clock enable FLASHEN: u1, reserved6: u1, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved17: u10, - /// I/O port A clock enable + /// I/O port A clock enable GPIOAEN: u1, - /// I/O port B clock enable + /// I/O port B clock enable GPIOBEN: u1, - /// I/O port C clock enable + /// I/O port C clock enable GPIOCEN: u1, - /// I/O port D clock enable + /// I/O port D clock enable GPIODEN: u1, - /// I/O port E clock enable + /// I/O port E clock enable GPIOEEN: u1, - /// I/O port F clock enable + /// I/O port F clock enable GPIOFEN: u1, reserved24: u1, - /// Touch sensing controller clock enable + /// Touch sensing controller clock enable TSCEN: u1, padding: u7, }), - /// APB2 peripheral clock enable register (RCC_APB2ENR) + /// APB2 peripheral clock enable register (RCC_APB2ENR) APB2ENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock enable + /// SYSCFG clock enable SYSCFGEN: u1, reserved5: u4, - /// USART6 clock enable + /// USART6 clock enable USART6EN: u1, - /// USART7 clock enable + /// USART7 clock enable USART7EN: u1, - /// USART8 clock enable + /// USART8 clock enable USART8EN: u1, reserved9: u1, - /// ADC 1 interface clock enable + /// ADC 1 interface clock enable ADCEN: u1, reserved11: u1, - /// TIM1 Timer clock enable + /// TIM1 Timer clock enable TIM1EN: u1, - /// SPI 1 clock enable + /// SPI 1 clock enable SPI1EN: u1, reserved14: u1, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, reserved16: u1, - /// TIM15 timer clock enable + /// TIM15 timer clock enable TIM15EN: u1, - /// TIM16 timer clock enable + /// TIM16 timer clock enable TIM16EN: u1, - /// TIM17 timer clock enable + /// TIM17 timer clock enable TIM17EN: u1, reserved22: u3, - /// MCU debug module clock enable + /// MCU debug module clock enable DBGMCUEN: u1, padding: u9, }), - /// APB1 peripheral clock enable register (RCC_APB1ENR) + /// APB1 peripheral clock enable register (RCC_APB1ENR) APB1ENR: mmio.Mmio(packed struct(u32) { - /// Timer 2 clock enable + /// Timer 2 clock enable TIM2EN: u1, - /// Timer 3 clock enable + /// Timer 3 clock enable TIM3EN: u1, reserved4: u2, - /// Timer 6 clock enable + /// Timer 6 clock enable TIM6EN: u1, - /// TIM7 timer clock enable + /// TIM7 timer clock enable TIM7EN: u1, reserved8: u2, - /// Timer 14 clock enable + /// Timer 14 clock enable TIM14EN: u1, reserved11: u2, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI 2 clock enable + /// SPI 2 clock enable SPI2EN: u1, reserved17: u2, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, - /// USART3 clock enable + /// USART3 clock enable USART3EN: u1, - /// USART4 clock enable + /// USART4 clock enable USART4EN: u1, - /// USART5 clock enable + /// USART5 clock enable USART5EN: u1, - /// I2C 1 clock enable + /// I2C 1 clock enable I2C1EN: u1, - /// I2C 2 clock enable + /// I2C 2 clock enable I2C2EN: u1, - /// USB interface clock enable + /// USB interface clock enable USBEN: u1, reserved25: u1, - /// CAN interface clock enable + /// CAN interface clock enable CANEN: u1, reserved27: u1, - /// Clock Recovery System interface clock enable + /// Clock Recovery System interface clock enable CRSEN: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, - /// HDMI CEC interface clock enable + /// HDMI CEC interface clock enable CECEN: u1, padding: u1, }), - /// Backup domain control register (RCC_BDCR) + /// Backup domain control register (RCC_BDCR) BDCR: mmio.Mmio(packed struct(u32) { - /// External Low Speed oscillator enable + /// External Low Speed oscillator enable LSEON: u1, - /// External Low Speed oscillator ready + /// External Low Speed oscillator ready LSERDY: u1, - /// External Low Speed oscillator bypass + /// External Low Speed oscillator bypass LSEBYP: u1, - /// LSE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, + /// LSE oscillator drive capability + LSEDRV: LSEDRV, reserved8: u3, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, padding: u15, }), - /// Control/status register (RCC_CSR) + /// Control/status register (RCC_CSR) CSR: mmio.Mmio(packed struct(u32) { - /// Internal low speed oscillator enable + /// Internal low speed oscillator enable LSION: u1, - /// Internal low speed oscillator ready + /// Internal low speed oscillator ready LSIRDY: u1, reserved23: u21, - /// 1.8 V domain reset flag + /// 1.8 V domain reset flag V18PWRRSTF: u1, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// PIN reset flag + /// PIN reset flag PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), - /// AHB peripheral reset register + /// AHB peripheral reset register AHBRSTR: mmio.Mmio(packed struct(u32) { reserved17: u17, - /// I/O port A reset + /// I/O port A reset GPIOARST: u1, - /// I/O port B reset + /// I/O port B reset GPIOBRST: u1, - /// I/O port C reset + /// I/O port C reset GPIOCRST: u1, - /// I/O port D reset + /// I/O port D reset GPIODRST: u1, - /// I/O port E reset + /// I/O port E reset GPIOERST: u1, - /// I/O port F reset + /// I/O port F reset GPIOFRST: u1, reserved24: u1, - /// Touch sensing controller reset + /// Touch sensing controller reset TSCRST: u1, padding: u7, }), - /// Clock configuration register 2 + /// Clock configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// PREDIV division factor - PREDIV: packed union { - raw: u4, - value: PREDIV, - }, + /// PREDIV division factor + PREDIV: PREDIV, padding: u28, }), - /// Clock configuration register 3 + /// Clock configuration register 3 CFGR3: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection - USART1SW: packed union { - raw: u2, - value: USART1SW, - }, + /// USART1 clock source selection + USART1SW: USART1SW, reserved4: u2, - /// I2C1 clock source selection - I2C1SW: packed union { - raw: u1, - value: ICSW, - }, + /// I2C1 clock source selection + I2C1SW: ICSW, reserved6: u1, - /// HDMI CEC clock source selection - CECSW: packed union { - raw: u1, - value: CECSW, - }, - /// USB clock source selection - USBSW: packed union { - raw: u1, - value: USBSW, - }, - /// ADCSW is deprecated. See ADC field in CFGR2 register. + /// HDMI CEC clock source selection + CECSW: CECSW, + /// USB clock source selection + USBSW: USBSW, + /// ADCSW is deprecated. See ADC field in CFGR2 register. ADCSW: u1, reserved16: u7, - /// USART2 clock source selection - USART2SW: packed union { - raw: u2, - value: USARTSW, - }, - /// USART3 clock source - USART3SW: packed union { - raw: u2, - value: USARTSW, - }, + /// USART2 clock source selection + USART2SW: USARTSW, + /// USART3 clock source + USART3SW: USARTSW, padding: u12, }), - /// Clock control register 2 + /// Clock control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// HSI14 clock enable + /// HSI14 clock enable HSI14ON: u1, - /// HR14 clock ready flag + /// HR14 clock ready flag HSI14RDY: u1, - /// HSI14 clock request from ADC disable + /// HSI14 clock request from ADC disable HSI14DIS: u1, - /// HSI14 clock trimming + /// HSI14 clock trimming HSI14TRIM: u5, - /// HSI14 clock calibration + /// HSI14 clock calibration HSI14CAL: u8, - /// HSI48 clock enable + /// HSI48 clock enable HSI48ON: u1, - /// HSI48 clock ready flag + /// HSI48 clock ready flag HSI48RDY: u1, reserved24: u6, - /// HSI48 factory clock calibration + /// HSI48 factory clock calibration HSI48CAL: u8, }), }; @@ -367655,529 +362867,493 @@ pub const types = struct { pub const rcc_f1 = struct { pub const ADCPRE = enum(u2) { - /// PCLK2 divided by 2 + /// PCLK2 divided by 2 Div2 = 0x0, - /// PCLK2 divided by 4 + /// PCLK2 divided by 4 Div4 = 0x1, - /// PCLK2 divided by 6 + /// PCLK2 divided by 6 Div6 = 0x2, - /// PCLK2 divided by 8 + /// PCLK2 divided by 8 Div8 = 0x3, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const MCOSEL = enum(u3) { - /// MCO output disabled, no clock on MCO + /// MCO output disabled, no clock on MCO DISABLE = 0x0, - /// System clock selected + /// System clock selected SYS = 0x4, - /// HSI oscillator clock selected + /// HSI oscillator clock selected HSI = 0x5, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x6, - /// PLL clock divided by 2 selected + /// PLL clock divided by 2 selected PLL = 0x7, _, }; pub const PLLMUL = enum(u4) { - /// PLL input clock x2 + /// PLL input clock x2 Mul2 = 0x0, - /// PLL input clock x3 + /// PLL input clock x3 Mul3 = 0x1, - /// PLL input clock x4 + /// PLL input clock x4 Mul4 = 0x2, - /// PLL input clock x5 + /// PLL input clock x5 Mul5 = 0x3, - /// PLL input clock x6 + /// PLL input clock x6 Mul6 = 0x4, - /// PLL input clock x7 + /// PLL input clock x7 Mul7 = 0x5, - /// PLL input clock x8 + /// PLL input clock x8 Mul8 = 0x6, - /// PLL input clock x9 + /// PLL input clock x9 Mul9 = 0x7, - /// PLL input clock x10 + /// PLL input clock x10 Mul10 = 0x8, - /// PLL input clock x11 + /// PLL input clock x11 Mul11 = 0x9, - /// PLL input clock x12 + /// PLL input clock x12 Mul12 = 0xa, - /// PLL input clock x13 + /// PLL input clock x13 Mul13 = 0xb, - /// PLL input clock x14 + /// PLL input clock x14 Mul14 = 0xc, - /// PLL input clock x15 + /// PLL input clock x15 Mul15 = 0xd, - /// PLL input clock x16 + /// PLL input clock x16 Mul16 = 0xe, _, }; pub const PLLSRC = enum(u1) { - /// HSI divided by 2 selected as PLL input clock + /// HSI divided by 2 selected as PLL input clock HSI_Div2 = 0x0, - /// HSE divided by PREDIV selected as PLL input clock + /// HSE divided by PREDIV selected as PLL input clock HSE_Div_PREDIV = 0x1, }; pub const PLLXTPRE = enum(u1) { - /// HSE clock not divided + /// HSE clock not divided Div1 = 0x0, - /// HSE clock divided by 2 + /// HSE clock divided by 2 Div2 = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SW = enum(u2) { - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x0, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x1, - /// PLL selected as system clock + /// PLL selected as system clock PLL1_P = 0x2, _, }; pub const USBPRE = enum(u1) { - /// PLL clock is divided by 1.5 + /// PLL clock is divided by 1.5 Div1_5 = 0x0, - /// PLL clock is not divided + /// PLL clock is not divided Div1 = 0x1, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal High Speed clock enable + /// Internal High Speed clock enable HSION: u1, - /// Internal High Speed clock ready flag + /// Internal High Speed clock ready flag HSIRDY: u1, reserved3: u1, - /// Internal High Speed clock trimming + /// Internal High Speed clock trimming HSITRIM: u5, - /// Internal High Speed clock Calibration + /// Internal High Speed clock Calibration HSICAL: u8, - /// External High Speed clock enable + /// External High Speed clock enable HSEON: u1, - /// External High Speed clock ready flag + /// External High Speed clock ready flag HSERDY: u1, - /// External High Speed clock Bypass + /// External High Speed clock Bypass HSEBYP: u1, - /// Clock Security System enable + /// Clock Security System enable CSSON: u1, reserved24: u4, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Clock configuration register (RCC_CFGR) + /// Clock configuration register (RCC_CFGR) CFGR: mmio.Mmio(packed struct(u32) { - /// System clock Switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System Clock Switch Status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB Low speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB High speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, - /// ADC prescaler - ADCPRE: packed union { - raw: u2, - value: ADCPRE, - }, - /// PLL entry clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, - /// HSE divider for PLL entry - PLLXTPRE: packed union { - raw: u1, - value: PLLXTPRE, - }, - /// PLL Multiplication Factor - PLLMUL: packed union { - raw: u4, - value: PLLMUL, - }, - /// USB prescaler - USBPRE: packed union { - raw: u1, - value: USBPRE, - }, + /// System clock Switch + SW: SW, + /// System Clock Switch Status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB Low speed prescaler (APB1) + PPRE1: PPRE, + /// APB High speed prescaler (APB2) + PPRE2: PPRE, + /// ADC prescaler + ADCPRE: ADCPRE, + /// PLL entry clock source + PLLSRC: PLLSRC, + /// HSE divider for PLL entry + PLLXTPRE: PLLXTPRE, + /// PLL Multiplication Factor + PLLMUL: PLLMUL, + /// USB prescaler + USBPRE: USBPRE, reserved24: u1, - /// Microcontroller clock output - MCOSEL: packed union { - raw: u3, - value: MCOSEL, - }, + /// Microcontroller clock output + MCOSEL: MCOSEL, padding: u5, }), - /// Clock interrupt register (RCC_CIR) + /// Clock interrupt register (RCC_CIR) CIR: mmio.Mmio(packed struct(u32) { - /// LSI Ready Interrupt flag + /// LSI Ready Interrupt flag LSIRDYF: u1, - /// LSE Ready Interrupt flag + /// LSE Ready Interrupt flag LSERDYF: u1, - /// HSI Ready Interrupt flag + /// HSI Ready Interrupt flag HSIRDYF: u1, - /// HSE Ready Interrupt flag + /// HSE Ready Interrupt flag HSERDYF: u1, - /// PLL Ready Interrupt flag + /// PLL Ready Interrupt flag PLLRDYF: u1, reserved7: u2, - /// Clock Security System Interrupt flag + /// Clock Security System Interrupt flag CSSF: u1, - /// LSI Ready Interrupt Enable + /// LSI Ready Interrupt Enable LSIRDYIE: u1, - /// LSE Ready Interrupt Enable + /// LSE Ready Interrupt Enable LSERDYIE: u1, - /// HSI Ready Interrupt Enable + /// HSI Ready Interrupt Enable HSIRDYIE: u1, - /// HSE Ready Interrupt Enable + /// HSE Ready Interrupt Enable HSERDYIE: u1, - /// PLL Ready Interrupt Enable + /// PLL Ready Interrupt Enable PLLRDYIE: u1, reserved16: u3, - /// LSI Ready Interrupt Clear + /// LSI Ready Interrupt Clear LSIRDYC: u1, - /// LSE Ready Interrupt Clear + /// LSE Ready Interrupt Clear LSERDYC: u1, - /// HSI Ready Interrupt Clear + /// HSI Ready Interrupt Clear HSIRDYC: u1, - /// HSE Ready Interrupt Clear + /// HSE Ready Interrupt Clear HSERDYC: u1, - /// PLL Ready Interrupt Clear + /// PLL Ready Interrupt Clear PLLRDYC: u1, reserved23: u2, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// APB2 peripheral reset register (RCC_APB2RSTR) + /// APB2 peripheral reset register (RCC_APB2RSTR) APB2RSTR: mmio.Mmio(packed struct(u32) { - /// Alternate function I/O reset + /// Alternate function I/O reset AFIORST: u1, reserved2: u1, - /// IO port A reset + /// IO port A reset GPIOARST: u1, - /// IO port B reset + /// IO port B reset GPIOBRST: u1, - /// IO port C reset + /// IO port C reset GPIOCRST: u1, - /// IO port D reset + /// IO port D reset GPIODRST: u1, - /// IO port E reset + /// IO port E reset GPIOERST: u1, - /// IO port F reset + /// IO port F reset GPIOFRST: u1, - /// IO port G reset + /// IO port G reset GPIOGRST: u1, - /// ADC 1 interface reset + /// ADC 1 interface reset ADC1RST: u1, - /// ADC 2 interface reset + /// ADC 2 interface reset ADC2RST: u1, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, - /// TIM8 timer reset + /// TIM8 timer reset TIM8RST: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, - /// ADC 3 interface reset + /// ADC 3 interface reset ADC3RST: u1, reserved19: u3, - /// TIM9 timer reset + /// TIM9 timer reset TIM9RST: u1, - /// TIM10 timer reset + /// TIM10 timer reset TIM10RST: u1, - /// TIM11 timer reset + /// TIM11 timer reset TIM11RST: u1, padding: u10, }), - /// APB1 peripheral reset register (RCC_APB1RSTR) + /// APB1 peripheral reset register (RCC_APB1RSTR) APB1RSTR: mmio.Mmio(packed struct(u32) { - /// Timer 2 reset + /// Timer 2 reset TIM2RST: u1, - /// Timer 3 reset + /// Timer 3 reset TIM3RST: u1, - /// Timer 4 reset + /// Timer 4 reset TIM4RST: u1, - /// Timer 5 reset + /// Timer 5 reset TIM5RST: u1, - /// Timer 6 reset + /// Timer 6 reset TIM6RST: u1, - /// Timer 7 reset + /// Timer 7 reset TIM7RST: u1, - /// Timer 12 reset + /// Timer 12 reset TIM12RST: u1, - /// Timer 13 reset + /// Timer 13 reset TIM13RST: u1, - /// Timer 14 reset + /// Timer 14 reset TIM14RST: u1, reserved11: u2, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, - /// SPI3 reset + /// SPI3 reset SPI3RST: u1, reserved17: u1, - /// USART 2 reset + /// USART 2 reset USART2RST: u1, - /// USART 3 reset + /// USART 3 reset USART3RST: u1, - /// USART 4 reset + /// USART 4 reset UART4RST: u1, - /// USART 5 reset + /// USART 5 reset UART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// USB reset + /// USB reset USBRST: u1, reserved25: u1, - /// CAN reset + /// CAN reset CANRST: u1, reserved27: u1, - /// Backup interface reset + /// Backup interface reset BKPRST: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC interface reset + /// DAC interface reset DACRST: u1, padding: u2, }), - /// AHB Peripheral Clock enable register (RCC_AHBENR) + /// AHB Peripheral Clock enable register (RCC_AHBENR) AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// SRAM interface clock enable + /// SRAM interface clock enable SRAMEN: u1, reserved4: u1, - /// FLASH clock enable + /// FLASH clock enable FLASHEN: u1, reserved6: u1, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved8: u1, - /// FSMC clock enable + /// FSMC clock enable FSMCEN: u1, reserved10: u1, - /// SDIO clock enable + /// SDIO clock enable SDIOEN: u1, padding: u21, }), - /// APB2 peripheral clock enable register (RCC_APB2ENR) + /// APB2 peripheral clock enable register (RCC_APB2ENR) APB2ENR: mmio.Mmio(packed struct(u32) { - /// Alternate function I/O clock enable + /// Alternate function I/O clock enable AFIOEN: u1, reserved2: u1, - /// I/O port A clock enable + /// I/O port A clock enable GPIOAEN: u1, - /// I/O port B clock enable + /// I/O port B clock enable GPIOBEN: u1, - /// I/O port C clock enable + /// I/O port C clock enable GPIOCEN: u1, - /// I/O port D clock enable + /// I/O port D clock enable GPIODEN: u1, - /// I/O port E clock enable + /// I/O port E clock enable GPIOEEN: u1, - /// I/O port F clock enable + /// I/O port F clock enable GPIOFEN: u1, - /// I/O port G clock enable + /// I/O port G clock enable GPIOGEN: u1, - /// ADC 1 interface clock enable + /// ADC 1 interface clock enable ADC1EN: u1, - /// ADC 2 interface clock enable + /// ADC 2 interface clock enable ADC2EN: u1, - /// TIM1 Timer clock enable + /// TIM1 Timer clock enable TIM1EN: u1, - /// SPI 1 clock enable + /// SPI 1 clock enable SPI1EN: u1, - /// TIM8 Timer clock enable + /// TIM8 Timer clock enable TIM8EN: u1, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, - /// ADC3 interface clock enable + /// ADC3 interface clock enable ADC3EN: u1, reserved19: u3, - /// TIM9 Timer clock enable + /// TIM9 Timer clock enable TIM9EN: u1, - /// TIM10 Timer clock enable + /// TIM10 Timer clock enable TIM10EN: u1, - /// TIM11 Timer clock enable + /// TIM11 Timer clock enable TIM11EN: u1, padding: u10, }), - /// APB1 peripheral clock enable register (RCC_APB1ENR) + /// APB1 peripheral clock enable register (RCC_APB1ENR) APB1ENR: mmio.Mmio(packed struct(u32) { - /// Timer 2 clock enable + /// Timer 2 clock enable TIM2EN: u1, - /// Timer 3 clock enable + /// Timer 3 clock enable TIM3EN: u1, - /// Timer 4 clock enable + /// Timer 4 clock enable TIM4EN: u1, - /// Timer 5 clock enable + /// Timer 5 clock enable TIM5EN: u1, - /// Timer 6 clock enable + /// Timer 6 clock enable TIM6EN: u1, - /// Timer 7 clock enable + /// Timer 7 clock enable TIM7EN: u1, - /// Timer 12 clock enable + /// Timer 12 clock enable TIM12EN: u1, - /// Timer 13 clock enable + /// Timer 13 clock enable TIM13EN: u1, - /// Timer 14 clock enable + /// Timer 14 clock enable TIM14EN: u1, reserved11: u2, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI 2 clock enable + /// SPI 2 clock enable SPI2EN: u1, - /// SPI 3 clock enable + /// SPI 3 clock enable SPI3EN: u1, reserved17: u1, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, - /// USART 3 clock enable + /// USART 3 clock enable USART3EN: u1, - /// UART 4 clock enable + /// UART 4 clock enable UART4EN: u1, - /// UART 5 clock enable + /// UART 5 clock enable UART5EN: u1, - /// I2C 1 clock enable + /// I2C 1 clock enable I2C1EN: u1, - /// I2C 2 clock enable + /// I2C 2 clock enable I2C2EN: u1, - /// USB clock enable + /// USB clock enable USBEN: u1, reserved25: u1, - /// CAN clock enable + /// CAN clock enable CANEN: u1, reserved27: u1, - /// Backup interface clock enable + /// Backup interface clock enable BKPEN: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, padding: u2, }), - /// Backup domain control register (RCC_BDCR) + /// Backup domain control register (RCC_BDCR) BDCR: mmio.Mmio(packed struct(u32) { - /// External Low Speed oscillator enable + /// External Low Speed oscillator enable LSEON: u1, - /// External Low Speed oscillator ready + /// External Low Speed oscillator ready LSERDY: u1, - /// External Low Speed oscillator bypass + /// External Low Speed oscillator bypass LSEBYP: u1, reserved8: u5, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, padding: u15, }), - /// Control/status register (RCC_CSR) + /// Control/status register (RCC_CSR) CSR: mmio.Mmio(packed struct(u32) { - /// Internal low speed oscillator enable + /// Internal low speed oscillator enable LSION: u1, - /// Internal low speed oscillator ready + /// Internal low speed oscillator ready LSIRDY: u1, reserved24: u22, - /// Remove reset flag + /// Remove reset flag RMVF: u1, reserved26: u1, - /// PIN reset flag + /// PIN reset flag PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), }; @@ -368185,545 +363361,509 @@ pub const types = struct { pub const rcc_f100 = struct { pub const ADCPRE = enum(u2) { - /// PCLK2 divided by 2 + /// PCLK2 divided by 2 Div2 = 0x0, - /// PCLK2 divided by 4 + /// PCLK2 divided by 4 Div4 = 0x1, - /// PCLK2 divided by 6 + /// PCLK2 divided by 6 Div6 = 0x2, - /// PCLK2 divided by 8 + /// PCLK2 divided by 8 Div8 = 0x3, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const MCOSEL = enum(u3) { - /// MCO output disabled, no clock on MCO + /// MCO output disabled, no clock on MCO DISABLE = 0x0, - /// System clock selected + /// System clock selected SYS = 0x4, - /// HSI oscillator clock selected + /// HSI oscillator clock selected HSI = 0x5, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x6, - /// PLL clock divided by 2 selected + /// PLL clock divided by 2 selected PLL = 0x7, _, }; pub const PLLMUL = enum(u4) { - /// PLL input clock x2 + /// PLL input clock x2 Mul2 = 0x0, - /// PLL input clock x3 + /// PLL input clock x3 Mul3 = 0x1, - /// PLL input clock x4 + /// PLL input clock x4 Mul4 = 0x2, - /// PLL input clock x5 + /// PLL input clock x5 Mul5 = 0x3, - /// PLL input clock x6 + /// PLL input clock x6 Mul6 = 0x4, - /// PLL input clock x7 + /// PLL input clock x7 Mul7 = 0x5, - /// PLL input clock x8 + /// PLL input clock x8 Mul8 = 0x6, - /// PLL input clock x9 + /// PLL input clock x9 Mul9 = 0x7, - /// PLL input clock x10 + /// PLL input clock x10 Mul10 = 0x8, - /// PLL input clock x11 + /// PLL input clock x11 Mul11 = 0x9, - /// PLL input clock x12 + /// PLL input clock x12 Mul12 = 0xa, - /// PLL input clock x13 + /// PLL input clock x13 Mul13 = 0xb, - /// PLL input clock x14 + /// PLL input clock x14 Mul14 = 0xc, - /// PLL input clock x15 + /// PLL input clock x15 Mul15 = 0xd, - /// PLL input clock x16 + /// PLL input clock x16 Mul16 = 0xe, _, }; pub const PLLSRC = enum(u1) { - /// HSI divided by 2 selected as PLL input clock + /// HSI divided by 2 selected as PLL input clock HSI_Div2 = 0x0, - /// HSE divided by PREDIV selected as PLL input clock + /// HSE divided by PREDIV selected as PLL input clock HSE_Div_PREDIV = 0x1, }; pub const PLLXTPRE = enum(u1) { - /// HSE clock not divided + /// HSE clock not divided Div1 = 0x0, - /// HSE clock divided by 2 + /// HSE clock divided by 2 Div2 = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const PREDIV1 = enum(u4) { - /// PREDIV input clock not divided + /// PREDIV input clock not divided Div1 = 0x0, - /// PREDIV input clock divided by 2 + /// PREDIV input clock divided by 2 Div2 = 0x1, - /// PREDIV input clock divided by 3 + /// PREDIV input clock divided by 3 Div3 = 0x2, - /// PREDIV input clock divided by 4 + /// PREDIV input clock divided by 4 Div4 = 0x3, - /// PREDIV input clock divided by 5 + /// PREDIV input clock divided by 5 Div5 = 0x4, - /// PREDIV input clock divided by 6 + /// PREDIV input clock divided by 6 Div6 = 0x5, - /// PREDIV input clock divided by 7 + /// PREDIV input clock divided by 7 Div7 = 0x6, - /// PREDIV input clock divided by 8 + /// PREDIV input clock divided by 8 Div8 = 0x7, - /// PREDIV input clock divided by 9 + /// PREDIV input clock divided by 9 Div9 = 0x8, - /// PREDIV input clock divided by 10 + /// PREDIV input clock divided by 10 Div10 = 0x9, - /// PREDIV input clock divided by 11 + /// PREDIV input clock divided by 11 Div11 = 0xa, - /// PREDIV input clock divided by 12 + /// PREDIV input clock divided by 12 Div12 = 0xb, - /// PREDIV input clock divided by 13 + /// PREDIV input clock divided by 13 Div13 = 0xc, - /// PREDIV input clock divided by 14 + /// PREDIV input clock divided by 14 Div14 = 0xd, - /// PREDIV input clock divided by 15 + /// PREDIV input clock divided by 15 Div15 = 0xe, - /// PREDIV input clock divided by 16 + /// PREDIV input clock divided by 16 Div16 = 0xf, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SW = enum(u2) { - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x0, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x1, - /// PLL selected as system clock + /// PLL selected as system clock PLL1_P = 0x2, _, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal High Speed clock enable + /// Internal High Speed clock enable HSION: u1, - /// Internal High Speed clock ready flag + /// Internal High Speed clock ready flag HSIRDY: u1, reserved3: u1, - /// Internal High Speed clock trimming + /// Internal High Speed clock trimming HSITRIM: u5, - /// Internal High Speed clock Calibration + /// Internal High Speed clock Calibration HSICAL: u8, - /// External High Speed clock enable + /// External High Speed clock enable HSEON: u1, - /// External High Speed clock ready flag + /// External High Speed clock ready flag HSERDY: u1, - /// External High Speed clock Bypass + /// External High Speed clock Bypass HSEBYP: u1, - /// Clock Security System enable + /// Clock Security System enable CSSON: u1, reserved24: u4, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Clock configuration register (RCC_CFGR) + /// Clock configuration register (RCC_CFGR) CFGR: mmio.Mmio(packed struct(u32) { - /// System clock Switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System Clock Switch Status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB Low speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB High speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, - /// ADC prescaler - ADCPRE: packed union { - raw: u2, - value: ADCPRE, - }, - /// PLL entry clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, - /// HSE divider for PLL entry - PLLXTPRE: packed union { - raw: u1, - value: PLLXTPRE, - }, - /// PLL Multiplication Factor - PLLMUL: packed union { - raw: u4, - value: PLLMUL, - }, + /// System clock Switch + SW: SW, + /// System Clock Switch Status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB Low speed prescaler (APB1) + PPRE1: PPRE, + /// APB High speed prescaler (APB2) + PPRE2: PPRE, + /// ADC prescaler + ADCPRE: ADCPRE, + /// PLL entry clock source + PLLSRC: PLLSRC, + /// HSE divider for PLL entry + PLLXTPRE: PLLXTPRE, + /// PLL Multiplication Factor + PLLMUL: PLLMUL, reserved24: u2, - /// Microcontroller clock output - MCOSEL: packed union { - raw: u3, - value: MCOSEL, - }, + /// Microcontroller clock output + MCOSEL: MCOSEL, padding: u5, }), - /// Clock interrupt register (RCC_CIR) + /// Clock interrupt register (RCC_CIR) CIR: mmio.Mmio(packed struct(u32) { - /// LSI Ready Interrupt flag + /// LSI Ready Interrupt flag LSIRDYF: u1, - /// LSE Ready Interrupt flag + /// LSE Ready Interrupt flag LSERDYF: u1, - /// HSI Ready Interrupt flag + /// HSI Ready Interrupt flag HSIRDYF: u1, - /// HSE Ready Interrupt flag + /// HSE Ready Interrupt flag HSERDYF: u1, - /// PLL Ready Interrupt flag + /// PLL Ready Interrupt flag PLLRDYF: u1, reserved7: u2, - /// Clock Security System Interrupt flag + /// Clock Security System Interrupt flag CSSF: u1, - /// LSI Ready Interrupt Enable + /// LSI Ready Interrupt Enable LSIRDYIE: u1, - /// LSE Ready Interrupt Enable + /// LSE Ready Interrupt Enable LSERDYIE: u1, - /// HSI Ready Interrupt Enable + /// HSI Ready Interrupt Enable HSIRDYIE: u1, - /// HSE Ready Interrupt Enable + /// HSE Ready Interrupt Enable HSERDYIE: u1, - /// PLL Ready Interrupt Enable + /// PLL Ready Interrupt Enable PLLRDYIE: u1, reserved16: u3, - /// LSI Ready Interrupt Clear + /// LSI Ready Interrupt Clear LSIRDYC: u1, - /// LSE Ready Interrupt Clear + /// LSE Ready Interrupt Clear LSERDYC: u1, - /// HSI Ready Interrupt Clear + /// HSI Ready Interrupt Clear HSIRDYC: u1, - /// HSE Ready Interrupt Clear + /// HSE Ready Interrupt Clear HSERDYC: u1, - /// PLL Ready Interrupt Clear + /// PLL Ready Interrupt Clear PLLRDYC: u1, reserved23: u2, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// APB2 peripheral reset register (RCC_APB2RSTR) + /// APB2 peripheral reset register (RCC_APB2RSTR) APB2RSTR: mmio.Mmio(packed struct(u32) { - /// Alternate function I/O reset + /// Alternate function I/O reset AFIORST: u1, reserved2: u1, - /// IO port A reset + /// IO port A reset GPIOARST: u1, - /// IO port B reset + /// IO port B reset GPIOBRST: u1, - /// IO port C reset + /// IO port C reset GPIOCRST: u1, - /// IO port D reset + /// IO port D reset GPIODRST: u1, - /// IO port E reset + /// IO port E reset GPIOERST: u1, - /// IO port F reset + /// IO port F reset GPIOFRST: u1, - /// IO port G reset + /// IO port G reset GPIOGRST: u1, - /// ADC 1 interface reset + /// ADC 1 interface reset ADC1RST: u1, reserved11: u1, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, reserved14: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, reserved16: u1, - /// TIM15 timer reset + /// TIM15 timer reset TIM15RST: u1, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, padding: u13, }), - /// APB1 peripheral reset register (RCC_APB1RSTR) + /// APB1 peripheral reset register (RCC_APB1RSTR) APB1RSTR: mmio.Mmio(packed struct(u32) { - /// Timer 2 reset + /// Timer 2 reset TIM2RST: u1, - /// Timer 3 reset + /// Timer 3 reset TIM3RST: u1, - /// Timer 4 reset + /// Timer 4 reset TIM4RST: u1, - /// Timer 5 reset + /// Timer 5 reset TIM5RST: u1, - /// Timer 6 reset + /// Timer 6 reset TIM6RST: u1, - /// Timer 7 reset + /// Timer 7 reset TIM7RST: u1, - /// Timer 12 reset + /// Timer 12 reset TIM12RST: u1, - /// Timer 13 reset + /// Timer 13 reset TIM13RST: u1, - /// Timer 14 reset + /// Timer 14 reset TIM14RST: u1, reserved11: u2, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, - /// SPI3 reset + /// SPI3 reset SPI3RST: u1, reserved17: u1, - /// USART 2 reset + /// USART 2 reset USART2RST: u1, - /// USART 3 reset + /// USART 3 reset USART3RST: u1, - /// USART 4 reset + /// USART 4 reset UART4RST: u1, - /// USART 5 reset + /// USART 5 reset UART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, reserved27: u4, - /// Backup interface reset + /// Backup interface reset BKPRST: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC interface reset + /// DAC interface reset DACRST: u1, - /// CEC reset + /// CEC reset CECRST: u1, padding: u1, }), - /// AHB Peripheral Clock enable register (RCC_AHBENR) + /// AHB Peripheral Clock enable register (RCC_AHBENR) AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// SRAM interface clock enable + /// SRAM interface clock enable SRAMEN: u1, reserved4: u1, - /// FLASH clock enable + /// FLASH clock enable FLASHEN: u1, reserved6: u1, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved8: u1, - /// FSMC clock enable + /// FSMC clock enable FSMCEN: u1, padding: u23, }), - /// APB2 peripheral clock enable register (RCC_APB2ENR) + /// APB2 peripheral clock enable register (RCC_APB2ENR) APB2ENR: mmio.Mmio(packed struct(u32) { - /// Alternate function I/O clock enable + /// Alternate function I/O clock enable AFIOEN: u1, reserved2: u1, - /// I/O port A clock enable + /// I/O port A clock enable GPIOAEN: u1, - /// I/O port B clock enable + /// I/O port B clock enable GPIOBEN: u1, - /// I/O port C clock enable + /// I/O port C clock enable GPIOCEN: u1, - /// I/O port D clock enable + /// I/O port D clock enable GPIODEN: u1, - /// I/O port E clock enable + /// I/O port E clock enable GPIOEEN: u1, - /// I/O port F clock enable + /// I/O port F clock enable GPIOFEN: u1, - /// I/O port G clock enable + /// I/O port G clock enable GPIOGEN: u1, - /// ADC 1 interface clock enable + /// ADC 1 interface clock enable ADC1EN: u1, reserved11: u1, - /// TIM1 Timer clock enable + /// TIM1 Timer clock enable TIM1EN: u1, - /// SPI 1 clock enable + /// SPI 1 clock enable SPI1EN: u1, reserved14: u1, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, reserved16: u1, - /// TIM15 Timer clock enable + /// TIM15 Timer clock enable TIM15EN: u1, - /// TIM16 Timer clock enable + /// TIM16 Timer clock enable TIM16EN: u1, - /// TIM17 Timer clock enable + /// TIM17 Timer clock enable TIM17EN: u1, padding: u13, }), - /// APB1 peripheral clock enable register (RCC_APB1ENR) + /// APB1 peripheral clock enable register (RCC_APB1ENR) APB1ENR: mmio.Mmio(packed struct(u32) { - /// Timer 2 clock enable + /// Timer 2 clock enable TIM2EN: u1, - /// Timer 3 clock enable + /// Timer 3 clock enable TIM3EN: u1, - /// Timer 4 clock enable + /// Timer 4 clock enable TIM4EN: u1, - /// Timer 5 clock enable + /// Timer 5 clock enable TIM5EN: u1, - /// Timer 6 clock enable + /// Timer 6 clock enable TIM6EN: u1, - /// Timer 7 clock enable + /// Timer 7 clock enable TIM7EN: u1, - /// Timer 12 clock enable + /// Timer 12 clock enable TIM12EN: u1, - /// Timer 13 clock enable + /// Timer 13 clock enable TIM13EN: u1, - /// Timer 14 clock enable + /// Timer 14 clock enable TIM14EN: u1, reserved11: u2, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI 2 clock enable + /// SPI 2 clock enable SPI2EN: u1, - /// SPI 3 clock enable + /// SPI 3 clock enable SPI3EN: u1, reserved17: u1, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, - /// USART 3 clock enable + /// USART 3 clock enable USART3EN: u1, - /// UART 4 clock enable + /// UART 4 clock enable UART4EN: u1, - /// UART 5 clock enable + /// UART 5 clock enable UART5EN: u1, - /// I2C 1 clock enable + /// I2C 1 clock enable I2C1EN: u1, - /// I2C 2 clock enable + /// I2C 2 clock enable I2C2EN: u1, reserved27: u4, - /// Backup interface clock enable + /// Backup interface clock enable BKPEN: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, - /// CEC clock enable + /// CEC clock enable CECEN: u1, padding: u1, }), - /// Backup domain control register (RCC_BDCR) + /// Backup domain control register (RCC_BDCR) BDCR: mmio.Mmio(packed struct(u32) { - /// External Low Speed oscillator enable + /// External Low Speed oscillator enable LSEON: u1, - /// External Low Speed oscillator ready + /// External Low Speed oscillator ready LSERDY: u1, - /// External Low Speed oscillator bypass + /// External Low Speed oscillator bypass LSEBYP: u1, reserved8: u5, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, padding: u15, }), - /// Control/status register (RCC_CSR) + /// Control/status register (RCC_CSR) CSR: mmio.Mmio(packed struct(u32) { - /// Internal low speed oscillator enable + /// Internal low speed oscillator enable LSION: u1, - /// Internal low speed oscillator ready + /// Internal low speed oscillator ready LSIRDY: u1, reserved24: u22, - /// Remove reset flag + /// Remove reset flag RMVF: u1, reserved26: u1, - /// PIN reset flag + /// PIN reset flag PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), reserved44: [4]u8, - /// Clock configuration register 2 + /// Clock configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// PREDIV1 division factor - PREDIV1: packed union { - raw: u4, - value: PREDIV1, - }, + /// PREDIV1 division factor + PREDIV1: PREDIV1, padding: u28, }), }; @@ -368731,623 +363871,566 @@ pub const types = struct { pub const rcc_f1cl = struct { pub const ADCPRE = enum(u2) { - /// PCLK2 divided by 2 + /// PCLK2 divided by 2 Div2 = 0x0, - /// PCLK2 divided by 4 + /// PCLK2 divided by 4 Div4 = 0x1, - /// PCLK2 divided by 6 + /// PCLK2 divided by 6 Div6 = 0x2, - /// PCLK2 divided by 8 + /// PCLK2 divided by 8 Div8 = 0x3, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const I2S2SRC = enum(u1) { - /// System clock (SYSCLK) selected as I2S clock entry + /// System clock (SYSCLK) selected as I2S clock entry SYS = 0x0, - /// PLL3 VCO clock selected as I2S clock entry + /// PLL3 VCO clock selected as I2S clock entry PLL3 = 0x1, }; pub const MCOSEL = enum(u4) { - /// MCO output disabled, no clock on MCO + /// MCO output disabled, no clock on MCO DISABLE = 0x0, - /// System clock selected + /// System clock selected SYS = 0x4, - /// HSI oscillator clock selected + /// HSI oscillator clock selected HSI = 0x5, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x6, - /// PLL clock divided by 2 selected + /// PLL clock divided by 2 selected PLL = 0x7, - /// PLL2 clock selected + /// PLL2 clock selected PLL2 = 0x8, - /// PLL3 clock divided by 2 selected + /// PLL3 clock divided by 2 selected PLL3DIV2 = 0x9, - /// XT1 external oscillator selected + /// XT1 external oscillator selected XT1 = 0xa, - /// PLL3 clock selected + /// PLL3 clock selected PLL3 = 0xb, _, }; pub const PLL2MUL = enum(u4) { - /// PLL clock entry x8 + /// PLL clock entry x8 Mul8 = 0x6, - /// PLL clock entry x9 + /// PLL clock entry x9 Mul9 = 0x7, - /// PLL clock entry x10 + /// PLL clock entry x10 Mul10 = 0x8, - /// PLL clock entry x11 + /// PLL clock entry x11 Mul11 = 0x9, - /// PLL clock entry x12 + /// PLL clock entry x12 Mul12 = 0xa, - /// PLL clock entry x13 + /// PLL clock entry x13 Mul13 = 0xb, - /// PLL clock entry x14 + /// PLL clock entry x14 Mul14 = 0xc, - /// PLL clock entry x16 + /// PLL clock entry x16 Mul16 = 0xe, - /// PLL clock entry x20 + /// PLL clock entry x20 Mul20 = 0xf, _, }; pub const PLLMUL = enum(u4) { - /// PLL input clock x4 + /// PLL input clock x4 Mul4 = 0x2, - /// PLL input clock x5 + /// PLL input clock x5 Mul5 = 0x3, - /// PLL input clock x6 + /// PLL input clock x6 Mul6 = 0x4, - /// PLL input clock x7 + /// PLL input clock x7 Mul7 = 0x5, - /// PLL input clock x8 + /// PLL input clock x8 Mul8 = 0x6, - /// PLL input clock x9 + /// PLL input clock x9 Mul9 = 0x7, - /// PLL input clock x6.5 + /// PLL input clock x6.5 Mul6_5 = 0xd, _, }; pub const PLLSRC = enum(u1) { - /// HSI divided by 2 selected as PLL input clock + /// HSI divided by 2 selected as PLL input clock HSI_Div2 = 0x0, - /// HSE divided by PREDIV selected as PLL input clock + /// HSE divided by PREDIV selected as PLL input clock HSE_Div_PREDIV = 0x1, }; pub const PLLXTPRE = enum(u1) { - /// HSE clock not divided + /// HSE clock not divided Div1 = 0x0, - /// HSE clock divided by 2 + /// HSE clock divided by 2 Div2 = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const PREDIV1 = enum(u4) { - /// PREDIV input clock not divided + /// PREDIV input clock not divided Div1 = 0x0, - /// PREDIV input clock divided by 2 + /// PREDIV input clock divided by 2 Div2 = 0x1, - /// PREDIV input clock divided by 3 + /// PREDIV input clock divided by 3 Div3 = 0x2, - /// PREDIV input clock divided by 4 + /// PREDIV input clock divided by 4 Div4 = 0x3, - /// PREDIV input clock divided by 5 + /// PREDIV input clock divided by 5 Div5 = 0x4, - /// PREDIV input clock divided by 6 + /// PREDIV input clock divided by 6 Div6 = 0x5, - /// PREDIV input clock divided by 7 + /// PREDIV input clock divided by 7 Div7 = 0x6, - /// PREDIV input clock divided by 8 + /// PREDIV input clock divided by 8 Div8 = 0x7, - /// PREDIV input clock divided by 9 + /// PREDIV input clock divided by 9 Div9 = 0x8, - /// PREDIV input clock divided by 10 + /// PREDIV input clock divided by 10 Div10 = 0x9, - /// PREDIV input clock divided by 11 + /// PREDIV input clock divided by 11 Div11 = 0xa, - /// PREDIV input clock divided by 12 + /// PREDIV input clock divided by 12 Div12 = 0xb, - /// PREDIV input clock divided by 13 + /// PREDIV input clock divided by 13 Div13 = 0xc, - /// PREDIV input clock divided by 14 + /// PREDIV input clock divided by 14 Div14 = 0xd, - /// PREDIV input clock divided by 15 + /// PREDIV input clock divided by 15 Div15 = 0xe, - /// PREDIV input clock divided by 16 + /// PREDIV input clock divided by 16 Div16 = 0xf, }; pub const PREDIV1SRC = enum(u1) { - /// HSE oscillator clock selected as PREDIV1 clock entry + /// HSE oscillator clock selected as PREDIV1 clock entry HSE = 0x0, - /// PLL2 selected as PREDIV1 clock entry + /// PLL2 selected as PREDIV1 clock entry PLL2 = 0x1, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SW = enum(u2) { - /// HSI oscillator used as system clock + /// HSI oscillator used as system clock HSI = 0x0, - /// HSE oscillator used as system clock + /// HSE oscillator used as system clock HSE = 0x1, - /// PLL used as system clock + /// PLL used as system clock PLL1_P = 0x2, _, }; pub const USBPRE = enum(u1) { - /// PLL clock is divided by 1.5 + /// PLL clock is divided by 1.5 Div1_5 = 0x0, - /// PLL clock is not divided + /// PLL clock is not divided Div1 = 0x1, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal High Speed clock enable + /// Internal High Speed clock enable HSION: u1, - /// Internal High Speed clock ready flag + /// Internal High Speed clock ready flag HSIRDY: u1, reserved3: u1, - /// Internal High Speed clock trimming + /// Internal High Speed clock trimming HSITRIM: u5, - /// Internal High Speed clock Calibration + /// Internal High Speed clock Calibration HSICAL: u8, - /// External High Speed clock enable + /// External High Speed clock enable HSEON: u1, - /// External High Speed clock ready flag + /// External High Speed clock ready flag HSERDY: u1, - /// External High Speed clock Bypass + /// External High Speed clock Bypass HSEBYP: u1, - /// Clock Security System enable + /// Clock Security System enable CSSON: u1, reserved24: u4, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, - /// PLL2 enable + /// PLL2 enable PLL2ON: u1, - /// PLL2 clock ready flag + /// PLL2 clock ready flag PLL2RDY: u1, - /// PLL3 enable + /// PLL3 enable PLL3ON: u1, - /// PLL3 clock ready flag + /// PLL3 clock ready flag PLL3RDY: u1, padding: u2, }), - /// Clock configuration register (RCC_CFGR) + /// Clock configuration register (RCC_CFGR) CFGR: mmio.Mmio(packed struct(u32) { - /// System clock Switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System Clock Switch Status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB Low speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB High speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, - /// ADC prescaler - ADCPRE: packed union { - raw: u2, - value: ADCPRE, - }, - /// PLL entry clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, - /// HSE divider for PLL entry - PLLXTPRE: packed union { - raw: u1, - value: PLLXTPRE, - }, - /// PLL Multiplication Factor - PLLMUL: packed union { - raw: u4, - value: PLLMUL, - }, - /// USB prescaler - USBPRE: packed union { - raw: u1, - value: USBPRE, - }, + /// System clock Switch + SW: SW, + /// System Clock Switch Status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB Low speed prescaler (APB1) + PPRE1: PPRE, + /// APB High speed prescaler (APB2) + PPRE2: PPRE, + /// ADC prescaler + ADCPRE: ADCPRE, + /// PLL entry clock source + PLLSRC: PLLSRC, + /// HSE divider for PLL entry + PLLXTPRE: PLLXTPRE, + /// PLL Multiplication Factor + PLLMUL: PLLMUL, + /// USB prescaler + USBPRE: USBPRE, reserved24: u1, - /// Microcontroller clock output - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, + /// Microcontroller clock output + MCOSEL: MCOSEL, padding: u4, }), - /// Clock interrupt register (RCC_CIR) + /// Clock interrupt register (RCC_CIR) CIR: mmio.Mmio(packed struct(u32) { - /// LSI Ready Interrupt flag + /// LSI Ready Interrupt flag LSIRDYF: u1, - /// LSE Ready Interrupt flag + /// LSE Ready Interrupt flag LSERDYF: u1, - /// HSI Ready Interrupt flag + /// HSI Ready Interrupt flag HSIRDYF: u1, - /// HSE Ready Interrupt flag + /// HSE Ready Interrupt flag HSERDYF: u1, - /// PLL Ready Interrupt flag + /// PLL Ready Interrupt flag PLLRDYF: u1, - /// PLL2 Ready Interrupt flag + /// PLL2 Ready Interrupt flag PLL2RDYF: u1, - /// PLL3 Ready Interrupt flag + /// PLL3 Ready Interrupt flag PLL3RDYF: u1, - /// Clock Security System Interrupt flag + /// Clock Security System Interrupt flag CSSF: u1, - /// LSI Ready Interrupt Enable + /// LSI Ready Interrupt Enable LSIRDYIE: u1, - /// LSE Ready Interrupt Enable + /// LSE Ready Interrupt Enable LSERDYIE: u1, - /// HSI Ready Interrupt Enable + /// HSI Ready Interrupt Enable HSIRDYIE: u1, - /// HSE Ready Interrupt Enable + /// HSE Ready Interrupt Enable HSERDYIE: u1, - /// PLL Ready Interrupt Enable + /// PLL Ready Interrupt Enable PLLRDYIE: u1, - /// PLL2 Ready Interrupt Enable + /// PLL2 Ready Interrupt Enable PLL2RDYIE: u1, - /// PLL3 Ready Interrupt Enable + /// PLL3 Ready Interrupt Enable PLL3RDYIE: u1, reserved16: u1, - /// LSI Ready Interrupt Clear + /// LSI Ready Interrupt Clear LSIRDYC: u1, - /// LSE Ready Interrupt Clear + /// LSE Ready Interrupt Clear LSERDYC: u1, - /// HSI Ready Interrupt Clear + /// HSI Ready Interrupt Clear HSIRDYC: u1, - /// HSE Ready Interrupt Clear + /// HSE Ready Interrupt Clear HSERDYC: u1, - /// PLL Ready Interrupt Clear + /// PLL Ready Interrupt Clear PLLRDYC: u1, - /// PLL2 Ready Interrupt Clear + /// PLL2 Ready Interrupt Clear PLL2RDYC: u1, - /// PLL3 Ready Interrupt Clear + /// PLL3 Ready Interrupt Clear PLL3RDYC: u1, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// APB2 peripheral reset register (RCC_APB2RSTR) + /// APB2 peripheral reset register (RCC_APB2RSTR) APB2RSTR: mmio.Mmio(packed struct(u32) { - /// Alternate function I/O reset + /// Alternate function I/O reset AFIORST: u1, reserved2: u1, - /// IO port A reset + /// IO port A reset GPIOARST: u1, - /// IO port B reset + /// IO port B reset GPIOBRST: u1, - /// IO port C reset + /// IO port C reset GPIOCRST: u1, - /// IO port D reset + /// IO port D reset GPIODRST: u1, - /// IO port E reset + /// IO port E reset GPIOERST: u1, reserved9: u2, - /// ADC 1 interface reset + /// ADC 1 interface reset ADC1RST: u1, - /// ADC 2 interface reset + /// ADC 2 interface reset ADC2RST: u1, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, reserved14: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, padding: u17, }), - /// APB1 peripheral reset register (RCC_APB1RSTR) + /// APB1 peripheral reset register (RCC_APB1RSTR) APB1RSTR: mmio.Mmio(packed struct(u32) { - /// Timer 2 reset + /// Timer 2 reset TIM2RST: u1, - /// Timer 3 reset + /// Timer 3 reset TIM3RST: u1, - /// Timer 4 reset + /// Timer 4 reset TIM4RST: u1, - /// Timer 5 reset + /// Timer 5 reset TIM5RST: u1, - /// Timer 6 reset + /// Timer 6 reset TIM6RST: u1, - /// Timer 7 reset + /// Timer 7 reset TIM7RST: u1, reserved11: u5, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, - /// SPI3 reset + /// SPI3 reset SPI3RST: u1, reserved17: u1, - /// USART 2 reset + /// USART 2 reset USART2RST: u1, - /// USART 3 reset + /// USART 3 reset USART3RST: u1, - /// USART 4 reset + /// USART 4 reset UART4RST: u1, - /// USART 5 reset + /// USART 5 reset UART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, reserved25: u2, - /// CAN1 reset + /// CAN1 reset CAN1RST: u1, - /// CAN2 reset + /// CAN2 reset CAN2RST: u1, - /// Backup interface reset + /// Backup interface reset BKPRST: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC interface reset + /// DAC interface reset DACRST: u1, padding: u2, }), - /// AHB Peripheral Clock enable register (RCC_AHBENR) + /// AHB Peripheral Clock enable register (RCC_AHBENR) AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// SRAM interface clock enable + /// SRAM interface clock enable SRAMEN: u1, reserved4: u1, - /// FLASH clock enable + /// FLASH clock enable FLASHEN: u1, reserved6: u1, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved12: u5, - /// USB OTG FS clock enable + /// USB OTG FS clock enable USB_OTG_FSEN: u1, reserved14: u1, - /// Ethernet MAC clock enable + /// Ethernet MAC clock enable ETHEN: u1, - /// Ethernet MAC TX clock enable + /// Ethernet MAC TX clock enable ETHTXEN: u1, - /// Ethernet MAC RX clock enable + /// Ethernet MAC RX clock enable ETHRXEN: u1, padding: u15, }), - /// APB2 peripheral clock enable register (RCC_APB2ENR) + /// APB2 peripheral clock enable register (RCC_APB2ENR) APB2ENR: mmio.Mmio(packed struct(u32) { - /// Alternate function I/O clock enable + /// Alternate function I/O clock enable AFIOEN: u1, reserved2: u1, - /// I/O port A clock enable + /// I/O port A clock enable GPIOAEN: u1, - /// I/O port B clock enable + /// I/O port B clock enable GPIOBEN: u1, - /// I/O port C clock enable + /// I/O port C clock enable GPIOCEN: u1, - /// I/O port D clock enable + /// I/O port D clock enable GPIODEN: u1, - /// I/O port E clock enable + /// I/O port E clock enable GPIOEEN: u1, reserved9: u2, - /// ADC 1 interface clock enable + /// ADC 1 interface clock enable ADC1EN: u1, - /// ADC 2 interface clock enable + /// ADC 2 interface clock enable ADC2EN: u1, - /// TIM1 Timer clock enable + /// TIM1 Timer clock enable TIM1EN: u1, - /// SPI 1 clock enable + /// SPI 1 clock enable SPI1EN: u1, reserved14: u1, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, padding: u17, }), - /// APB1 peripheral clock enable register (RCC_APB1ENR) + /// APB1 peripheral clock enable register (RCC_APB1ENR) APB1ENR: mmio.Mmio(packed struct(u32) { - /// Timer 2 clock enable + /// Timer 2 clock enable TIM2EN: u1, - /// Timer 3 clock enable + /// Timer 3 clock enable TIM3EN: u1, - /// Timer 4 clock enable + /// Timer 4 clock enable TIM4EN: u1, - /// Timer 5 clock enable + /// Timer 5 clock enable TIM5EN: u1, - /// Timer 6 clock enable + /// Timer 6 clock enable TIM6EN: u1, - /// Timer 7 clock enable + /// Timer 7 clock enable TIM7EN: u1, reserved11: u5, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI 2 clock enable + /// SPI 2 clock enable SPI2EN: u1, - /// SPI 3 clock enable + /// SPI 3 clock enable SPI3EN: u1, reserved17: u1, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, - /// USART 3 clock enable + /// USART 3 clock enable USART3EN: u1, - /// UART 4 clock enable + /// UART 4 clock enable UART4EN: u1, - /// UART 5 clock enable + /// UART 5 clock enable UART5EN: u1, - /// I2C 1 clock enable + /// I2C 1 clock enable I2C1EN: u1, - /// I2C 2 clock enable + /// I2C 2 clock enable I2C2EN: u1, reserved25: u2, - /// CAN1 clock enable + /// CAN1 clock enable CAN1EN: u1, - /// CAN2 clock enable + /// CAN2 clock enable CAN2EN: u1, - /// Backup interface clock enable + /// Backup interface clock enable BKPEN: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, padding: u2, }), - /// Backup domain control register (RCC_BDCR) + /// Backup domain control register (RCC_BDCR) BDCR: mmio.Mmio(packed struct(u32) { - /// External Low Speed oscillator enable + /// External Low Speed oscillator enable LSEON: u1, - /// External Low Speed oscillator ready + /// External Low Speed oscillator ready LSERDY: u1, - /// External Low Speed oscillator bypass + /// External Low Speed oscillator bypass LSEBYP: u1, reserved8: u5, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, padding: u15, }), - /// Control/status register (RCC_CSR) + /// Control/status register (RCC_CSR) CSR: mmio.Mmio(packed struct(u32) { - /// Internal low speed oscillator enable + /// Internal low speed oscillator enable LSION: u1, - /// Internal low speed oscillator ready + /// Internal low speed oscillator ready LSIRDY: u1, reserved24: u22, - /// Remove reset flag + /// Remove reset flag RMVF: u1, reserved26: u1, - /// PIN reset flag + /// PIN reset flag PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), - /// AHB peripheral clock reset register (RCC_AHBRSTR) + /// AHB peripheral clock reset register (RCC_AHBRSTR) AHBRSTR: mmio.Mmio(packed struct(u32) { reserved12: u12, - /// USB OTG FS reset + /// USB OTG FS reset USB_OTG_FSRST: u1, reserved14: u1, - /// Ethernet MAC reset + /// Ethernet MAC reset ETHRST: u1, padding: u17, }), - /// Clock configuration register 2 + /// Clock configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// PREDIV1 division factor - PREDIV1: packed union { - raw: u4, - value: PREDIV1, - }, - /// PREDIV2 division factor - PREDIV2: packed union { - raw: u4, - value: PREDIV1, - }, - /// PLL2 Multiplication Factor - PLL2MUL: packed union { - raw: u4, - value: PLL2MUL, - }, - /// PLL3 Multiplication Factor - PLL3MUL: packed union { - raw: u4, - value: PLL2MUL, - }, - /// PREDIV1 entry clock source - PREDIV1SRC: packed union { - raw: u1, - value: PREDIV1SRC, - }, - /// I2S2 clock source - I2S2SRC: packed union { - raw: u1, - value: I2S2SRC, - }, - /// I2S3 clock source - I2S3SRC: packed union { - raw: u1, - value: I2S2SRC, - }, + /// PREDIV1 division factor + PREDIV1: PREDIV1, + /// PREDIV2 division factor + PREDIV2: PREDIV1, + /// PLL2 Multiplication Factor + PLL2MUL: PLL2MUL, + /// PLL3 Multiplication Factor + PLL3MUL: PLL2MUL, + /// PREDIV1 entry clock source + PREDIV1SRC: PREDIV1SRC, + /// I2S2 clock source + I2S2SRC: I2S2SRC, + /// I2S3 clock source + I2S3SRC: I2S2SRC, padding: u13, }), }; @@ -369355,66 +364438,66 @@ pub const types = struct { pub const rcc_f2 = struct { pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const ISSRC = enum(u1) { - /// PLLI2S clock used as I2S clock source + /// PLLI2S clock used as I2S clock source PLLI2S = 0x0, - /// External clock mapped on the I2S_CKIN pin used as I2S clock source + /// External clock mapped on the I2S_CKIN pin used as I2S clock source CKIN = 0x1, }; pub const MCO1SEL = enum(u2) { - /// HSI clock selected + /// HSI clock selected HSI = 0x0, - /// LSE oscillator selected + /// LSE oscillator selected LSE = 0x1, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x2, - /// PLL clock selected + /// PLL clock selected PLL = 0x3, }; pub const MCO2SEL = enum(u2) { - /// System clock (SYSCLK) selected + /// System clock (SYSCLK) selected SYS = 0x0, - /// PLLI2S clock selected + /// PLLI2S clock selected PLLI2S = 0x1, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x2, - /// PLL clock selected + /// PLL clock selected PLL = 0x3, }; pub const MCOPRE = enum(u3) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x4, - /// Division by 3 + /// Division by 3 Div3 = 0x5, - /// Division by 4 + /// Division by 4 Div4 = 0x6, - /// Division by 5 + /// Division by 5 Div5 = 0x7, _, }; @@ -369731,13 +364814,13 @@ pub const types = struct { }; pub const PLLP = enum(u2) { - /// PLLP=2 + /// PLLP=2 Div2 = 0x0, - /// PLLP=4 + /// PLLP=4 Div4 = 0x1, - /// PLLP=6 + /// PLLP=6 Div6 = 0x2, - /// PLLP=8 + /// PLLP=8 Div8 = 0x3, }; @@ -369770,763 +364853,706 @@ pub const types = struct { }; pub const PLLSRC = enum(u1) { - /// HSI clock selected as PLL and PLLI2S clock entry + /// HSI clock selected as PLL and PLLI2S clock entry HSI = 0x0, - /// HSE oscillator clock selected as PLL and PLLI2S clock entry + /// HSE oscillator clock selected as PLL and PLLI2S clock entry HSE = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SPREADSEL = enum(u1) { - /// Center spread + /// Center spread Center = 0x0, - /// Down spread + /// Down spread Down = 0x1, }; pub const SW = enum(u2) { - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x0, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x1, - /// PLL selected as system clock + /// PLL selected as system clock PLL1_P = 0x2, _, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// clock control register + /// clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal high-speed clock enable + /// Internal high-speed clock enable HSION: u1, - /// Internal high-speed clock ready flag + /// Internal high-speed clock ready flag HSIRDY: u1, reserved3: u1, - /// Internal high-speed clock trimming + /// Internal high-speed clock trimming HSITRIM: u5, - /// Internal high-speed clock calibration + /// Internal high-speed clock calibration HSICAL: u8, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE clock bypass + /// HSE clock bypass HSEBYP: u1, - /// Clock security system enable + /// Clock security system enable CSSON: u1, reserved24: u4, - /// Main PLL (PLL) enable + /// Main PLL (PLL) enable PLLON: u1, - /// Main PLL (PLL) clock ready flag + /// Main PLL (PLL) clock ready flag PLLRDY: u1, - /// PLLI2S enable + /// PLLI2S enable PLLI2SON: u1, - /// PLLI2S clock ready flag + /// PLLI2S clock ready flag PLLI2SRDY: u1, padding: u4, }), - /// PLL configuration register + /// PLL configuration register PLLCFGR: mmio.Mmio(packed struct(u32) { - /// Division factor for the main PLL (PLL) and audio PLL (PLLI2S) input clock - PLLM: packed union { - raw: u6, - value: PLLM, - }, - /// Main PLL (PLL) multiplication factor for VCO - PLLN: packed union { - raw: u9, - value: PLLN, - }, + /// Division factor for the main PLL (PLL) and audio PLL (PLLI2S) input clock + PLLM: PLLM, + /// Main PLL (PLL) multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// Main PLL (PLL) division factor for main system clock - PLLP: packed union { - raw: u2, - value: PLLP, - }, + /// Main PLL (PLL) division factor for main system clock + PLLP: PLLP, reserved22: u4, - /// Main PLL(PLL) and audio PLL (PLLI2S) entry clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, + /// Main PLL(PLL) and audio PLL (PLLI2S) entry clock source + PLLSRC: PLLSRC, reserved24: u1, - /// Main PLL (PLL) division factor for USB OTG FS, SDIO and random number generator clocks - PLLQ: packed union { - raw: u4, - value: PLLQ, - }, + /// Main PLL (PLL) division factor for USB OTG FS, SDIO and random number generator clocks + PLLQ: PLLQ, padding: u4, }), - /// clock configuration register + /// clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, reserved10: u2, - /// APB Low speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high-speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, - /// HSE division factor for RTC clock + /// APB Low speed prescaler (APB1) + PPRE1: PPRE, + /// APB high-speed prescaler (APB2) + PPRE2: PPRE, + /// HSE division factor for RTC clock RTCPRE: u5, - /// Microcontroller clock output 1 - MCO1SEL: packed union { - raw: u2, - value: MCO1SEL, - }, - /// I2S clock selection - I2SSRC: packed union { - raw: u1, - value: ISSRC, - }, - /// MCO1 prescaler - MCO1PRE: packed union { - raw: u3, - value: MCOPRE, - }, - /// MCO2 prescaler - MCO2PRE: packed union { - raw: u3, - value: MCOPRE, - }, - /// Microcontroller clock output 2 - MCO2SEL: packed union { - raw: u2, - value: MCO2SEL, - }, - }), - /// clock interrupt register + /// Microcontroller clock output 1 + MCO1SEL: MCO1SEL, + /// I2S clock selection + I2SSRC: ISSRC, + /// MCO1 prescaler + MCO1PRE: MCOPRE, + /// MCO2 prescaler + MCO2PRE: MCOPRE, + /// Microcontroller clock output 2 + MCO2SEL: MCO2SEL, + }), + /// clock interrupt register CIR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYF: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYF: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYF: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYF: u1, - /// Main PLL (PLL) ready interrupt flag + /// Main PLL (PLL) ready interrupt flag PLLRDYF: u1, - /// PLLI2S ready interrupt flag + /// PLLI2S ready interrupt flag PLLI2SRDYF: u1, reserved7: u1, - /// Clock security system interrupt flag + /// Clock security system interrupt flag CSSF: u1, - /// LSI ready interrupt enable + /// LSI ready interrupt enable LSIRDYIE: u1, - /// LSE ready interrupt enable + /// LSE ready interrupt enable LSERDYIE: u1, - /// HSI ready interrupt enable + /// HSI ready interrupt enable HSIRDYIE: u1, - /// HSE ready interrupt enable + /// HSE ready interrupt enable HSERDYIE: u1, - /// Main PLL (PLL) ready interrupt enable + /// Main PLL (PLL) ready interrupt enable PLLRDYIE: u1, - /// PLLI2S ready interrupt enable + /// PLLI2S ready interrupt enable PLLI2SRDYIE: u1, reserved16: u2, - /// LSI ready interrupt clear + /// LSI ready interrupt clear LSIRDYC: u1, - /// LSE ready interrupt clear + /// LSE ready interrupt clear LSERDYC: u1, - /// HSI ready interrupt clear + /// HSI ready interrupt clear HSIRDYC: u1, - /// HSE ready interrupt clear + /// HSE ready interrupt clear HSERDYC: u1, - /// Main PLL(PLL) ready interrupt clear + /// Main PLL(PLL) ready interrupt clear PLLRDYC: u1, - /// PLLI2S ready interrupt clear + /// PLLI2S ready interrupt clear PLLI2SRDYC: u1, reserved23: u1, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// AHB1 peripheral reset register + /// AHB1 peripheral reset register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// IO port A reset + /// IO port A reset GPIOARST: u1, - /// IO port B reset + /// IO port B reset GPIOBRST: u1, - /// IO port C reset + /// IO port C reset GPIOCRST: u1, - /// IO port D reset + /// IO port D reset GPIODRST: u1, - /// IO port E reset + /// IO port E reset GPIOERST: u1, - /// IO port F reset + /// IO port F reset GPIOFRST: u1, - /// IO port G reset + /// IO port G reset GPIOGRST: u1, - /// IO port H reset + /// IO port H reset GPIOHRST: u1, - /// IO port I reset + /// IO port I reset GPIOIRST: u1, reserved12: u3, - /// CRC reset + /// CRC reset CRCRST: u1, reserved21: u8, - /// DMA2 reset + /// DMA2 reset DMA1RST: u1, - /// DMA2 reset + /// DMA2 reset DMA2RST: u1, reserved25: u2, - /// Ethernet MAC reset + /// Ethernet MAC reset ETHRST: u1, reserved29: u3, - /// USB OTG HS module reset + /// USB OTG HS module reset USB_OTG_HSRST: u1, padding: u2, }), - /// AHB2 peripheral reset register + /// AHB2 peripheral reset register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// Camera interface reset + /// Camera interface reset DCMIRST: u1, reserved4: u3, - /// Cryptographic module reset + /// Cryptographic module reset CRYPRST: u1, - /// Hash module reset + /// Hash module reset HSAHRST: u1, - /// Random number generator module reset + /// Random number generator module reset RNGRST: u1, - /// USB OTG FS module reset + /// USB OTG FS module reset USB_OTG_FSRST: u1, padding: u24, }), - /// AHB3 peripheral reset register + /// AHB3 peripheral reset register AHB3RSTR: mmio.Mmio(packed struct(u32) { - /// Flexible static memory controller module reset + /// Flexible static memory controller module reset FSMCRST: u1, padding: u31, }), reserved32: [4]u8, - /// APB1 peripheral reset register + /// APB1 peripheral reset register APB1RSTR: mmio.Mmio(packed struct(u32) { - /// TIM2 reset + /// TIM2 reset TIM2RST: u1, - /// TIM3 reset + /// TIM3 reset TIM3RST: u1, - /// TIM4 reset + /// TIM4 reset TIM4RST: u1, - /// TIM5 reset + /// TIM5 reset TIM5RST: u1, - /// TIM6 reset + /// TIM6 reset TIM6RST: u1, - /// TIM7 reset + /// TIM7 reset TIM7RST: u1, - /// TIM12 reset + /// TIM12 reset TIM12RST: u1, - /// TIM13 reset + /// TIM13 reset TIM13RST: u1, - /// TIM14 reset + /// TIM14 reset TIM14RST: u1, reserved11: u2, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI 2 reset + /// SPI 2 reset SPI2RST: u1, - /// SPI 3 reset + /// SPI 3 reset SPI3RST: u1, reserved17: u1, - /// USART 2 reset + /// USART 2 reset UART2RST: u1, - /// USART 3 reset + /// USART 3 reset UART3RST: u1, - /// USART 4 reset + /// USART 4 reset UART4RST: u1, - /// USART 5 reset + /// USART 5 reset UART5RST: u1, - /// I2C 1 reset + /// I2C 1 reset I2C1RST: u1, - /// I2C 2 reset + /// I2C 2 reset I2C2RST: u1, - /// I2C3 reset + /// I2C3 reset I2C3RST: u1, reserved25: u1, - /// CAN1 reset + /// CAN1 reset CAN1RST: u1, - /// CAN2 reset + /// CAN2 reset CAN2RST: u1, reserved28: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC reset + /// DAC reset DACRST: u1, padding: u2, }), - /// APB2 peripheral reset register + /// APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { - /// TIM1 reset + /// TIM1 reset TIM1RST: u1, - /// TIM8 reset + /// TIM8 reset TIM8RST: u1, reserved4: u2, - /// USART1 reset + /// USART1 reset USART1RST: u1, - /// USART6 reset + /// USART6 reset USART6RST: u1, reserved8: u2, - /// ADC interface reset (common to all ADCs) + /// ADC interface reset (common to all ADCs) ADCRST: u1, reserved11: u2, - /// SDIO reset + /// SDIO reset SDIORST: u1, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, reserved14: u1, - /// System configuration controller reset + /// System configuration controller reset SYSCFGRST: u1, reserved16: u1, - /// TIM9 reset + /// TIM9 reset TIM9RST: u1, - /// TIM10 reset + /// TIM10 reset TIM10RST: u1, - /// TIM11 reset + /// TIM11 reset TIM11RST: u1, padding: u13, }), reserved48: [8]u8, - /// AHB1 peripheral clock register + /// AHB1 peripheral clock register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable + /// IO port A clock enable GPIOAEN: u1, - /// IO port B clock enable + /// IO port B clock enable GPIOBEN: u1, - /// IO port C clock enable + /// IO port C clock enable GPIOCEN: u1, - /// IO port D clock enable + /// IO port D clock enable GPIODEN: u1, - /// IO port E clock enable + /// IO port E clock enable GPIOEEN: u1, - /// IO port F clock enable + /// IO port F clock enable GPIOFEN: u1, - /// IO port G clock enable + /// IO port G clock enable GPIOGEN: u1, - /// IO port H clock enable + /// IO port H clock enable GPIOHEN: u1, - /// IO port I clock enable + /// IO port I clock enable GPIOIEN: u1, reserved12: u3, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved18: u5, - /// Backup SRAM interface clock enable + /// Backup SRAM interface clock enable BKPSRAMEN: u1, reserved21: u2, - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, reserved25: u2, - /// Ethernet MAC clock enable + /// Ethernet MAC clock enable ETHEN: u1, - /// Ethernet Transmission clock enable + /// Ethernet Transmission clock enable ETHTXEN: u1, - /// Ethernet Reception clock enable + /// Ethernet Reception clock enable ETHRXEN: u1, - /// Ethernet PTP clock enable + /// Ethernet PTP clock enable ETHPTPEN: u1, - /// USB OTG HS clock enable + /// USB OTG HS clock enable USB_OTG_HSEN: u1, - /// USB OTG HSULPI clock enable + /// USB OTG HSULPI clock enable USB_OTG_HSULPIEN: u1, padding: u1, }), - /// AHB2 peripheral clock enable register + /// AHB2 peripheral clock enable register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// Camera interface enable + /// Camera interface enable DCMIEN: u1, reserved4: u3, - /// Cryptographic modules clock enable + /// Cryptographic modules clock enable CRYPEN: u1, - /// Hash modules clock enable + /// Hash modules clock enable HASHEN: u1, - /// Random number generator clock enable + /// Random number generator clock enable RNGEN: u1, - /// USB OTG FS clock enable + /// USB OTG FS clock enable USB_OTG_FSEN: u1, padding: u24, }), - /// AHB3 peripheral clock enable register + /// AHB3 peripheral clock enable register AHB3ENR: mmio.Mmio(packed struct(u32) { - /// Flexible static memory controller module clock enable + /// Flexible static memory controller module clock enable FSMCEN: u1, padding: u31, }), reserved64: [4]u8, - /// APB1 peripheral clock enable register + /// APB1 peripheral clock enable register APB1ENR: mmio.Mmio(packed struct(u32) { - /// TIM2 clock enable + /// TIM2 clock enable TIM2EN: u1, - /// TIM3 clock enable + /// TIM3 clock enable TIM3EN: u1, - /// TIM4 clock enable + /// TIM4 clock enable TIM4EN: u1, - /// TIM5 clock enable + /// TIM5 clock enable TIM5EN: u1, - /// TIM6 clock enable + /// TIM6 clock enable TIM6EN: u1, - /// TIM7 clock enable + /// TIM7 clock enable TIM7EN: u1, - /// TIM12 clock enable + /// TIM12 clock enable TIM12EN: u1, - /// TIM13 clock enable + /// TIM13 clock enable TIM13EN: u1, - /// TIM14 clock enable + /// TIM14 clock enable TIM14EN: u1, reserved11: u2, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI2 clock enable + /// SPI2 clock enable SPI2EN: u1, - /// SPI3 clock enable + /// SPI3 clock enable SPI3EN: u1, reserved17: u1, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, - /// USART3 clock enable + /// USART3 clock enable USART3EN: u1, - /// UART4 clock enable + /// UART4 clock enable UART4EN: u1, - /// UART5 clock enable + /// UART5 clock enable UART5EN: u1, - /// I2C1 clock enable + /// I2C1 clock enable I2C1EN: u1, - /// I2C2 clock enable + /// I2C2 clock enable I2C2EN: u1, - /// I2C3 clock enable + /// I2C3 clock enable I2C3EN: u1, reserved25: u1, - /// CAN 1 clock enable + /// CAN 1 clock enable CAN1EN: u1, - /// CAN 2 clock enable + /// CAN 2 clock enable CAN2EN: u1, reserved28: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, padding: u2, }), - /// APB2 peripheral clock enable register + /// APB2 peripheral clock enable register APB2ENR: mmio.Mmio(packed struct(u32) { - /// TIM1 clock enable + /// TIM1 clock enable TIM1EN: u1, - /// TIM8 clock enable + /// TIM8 clock enable TIM8EN: u1, reserved4: u2, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, - /// USART6 clock enable + /// USART6 clock enable USART6EN: u1, reserved8: u2, - /// ADC1 clock enable + /// ADC1 clock enable ADC1EN: u1, - /// ADC2 clock enable + /// ADC2 clock enable ADC2EN: u1, - /// ADC3 clock enable + /// ADC3 clock enable ADC3EN: u1, - /// SDIO clock enable + /// SDIO clock enable SDIOEN: u1, - /// SPI1 clock enable + /// SPI1 clock enable SPI1EN: u1, reserved14: u1, - /// System configuration controller clock enable + /// System configuration controller clock enable SYSCFGEN: u1, reserved16: u1, - /// TIM9 clock enable + /// TIM9 clock enable TIM9EN: u1, - /// TIM10 clock enable + /// TIM10 clock enable TIM10EN: u1, - /// TIM11 clock enable + /// TIM11 clock enable TIM11EN: u1, padding: u13, }), reserved80: [8]u8, - /// AHB1 peripheral clock enable in low power mode register + /// AHB1 peripheral clock enable in low power mode register AHB1LPENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable during sleep mode + /// IO port A clock enable during sleep mode GPIOALPEN: u1, - /// IO port B clock enable during Sleep mode + /// IO port B clock enable during Sleep mode GPIOBLPEN: u1, - /// IO port C clock enable during Sleep mode + /// IO port C clock enable during Sleep mode GPIOCLPEN: u1, - /// IO port D clock enable during Sleep mode + /// IO port D clock enable during Sleep mode GPIODLPEN: u1, - /// IO port E clock enable during Sleep mode + /// IO port E clock enable during Sleep mode GPIOELPEN: u1, - /// IO port F clock enable during Sleep mode + /// IO port F clock enable during Sleep mode GPIOFLPEN: u1, - /// IO port G clock enable during Sleep mode + /// IO port G clock enable during Sleep mode GPIOGLPEN: u1, - /// IO port H clock enable during Sleep mode + /// IO port H clock enable during Sleep mode GPIOHLPEN: u1, - /// IO port I clock enable during Sleep mode + /// IO port I clock enable during Sleep mode GPIOILPEN: u1, reserved12: u3, - /// CRC clock enable during Sleep mode + /// CRC clock enable during Sleep mode CRCLPEN: u1, reserved15: u2, - /// Flash interface clock enable during Sleep mode + /// Flash interface clock enable during Sleep mode FLASHLPEN: u1, - /// SRAM 1interface clock enable during Sleep mode + /// SRAM 1interface clock enable during Sleep mode SRAM1LPEN: u1, - /// SRAM 2 interface clock enable during Sleep mode + /// SRAM 2 interface clock enable during Sleep mode SRAM2LPEN: u1, - /// Backup SRAM interface clock enable during Sleep mode + /// Backup SRAM interface clock enable during Sleep mode BKPSRAMLPEN: u1, reserved21: u2, - /// DMA1 clock enable during Sleep mode + /// DMA1 clock enable during Sleep mode DMA1LPEN: u1, - /// DMA2 clock enable during Sleep mode + /// DMA2 clock enable during Sleep mode DMA2LPEN: u1, reserved25: u2, - /// Ethernet MAC clock enable during Sleep mode + /// Ethernet MAC clock enable during Sleep mode ETHLPEN: u1, - /// Ethernet transmission clock enable during Sleep mode + /// Ethernet transmission clock enable during Sleep mode ETHTXLPEN: u1, - /// Ethernet reception clock enable during Sleep mode + /// Ethernet reception clock enable during Sleep mode ETHRXLPEN: u1, - /// Ethernet PTP clock enable during Sleep mode + /// Ethernet PTP clock enable during Sleep mode ETHPTPLPEN: u1, - /// USB OTG HS clock enable during Sleep mode + /// USB OTG HS clock enable during Sleep mode USB_OTG_HSLPEN: u1, - /// USB OTG HS ULPI clock enable during Sleep mode + /// USB OTG HS ULPI clock enable during Sleep mode USB_OTG_HSULPILPEN: u1, padding: u1, }), - /// AHB2 peripheral clock enable in low power mode register + /// AHB2 peripheral clock enable in low power mode register AHB2LPENR: mmio.Mmio(packed struct(u32) { - /// Camera interface enable during Sleep mode + /// Camera interface enable during Sleep mode DCMILPEN: u1, reserved4: u3, - /// Cryptography modules clock enable during Sleep mode + /// Cryptography modules clock enable during Sleep mode CRYPLPEN: u1, - /// Hash modules clock enable during Sleep mode + /// Hash modules clock enable during Sleep mode HASHLPEN: u1, - /// Random number generator clock enable during Sleep mode + /// Random number generator clock enable during Sleep mode RNGLPEN: u1, - /// USB OTG FS clock enable during Sleep mode + /// USB OTG FS clock enable during Sleep mode USB_OTG_FSLPEN: u1, padding: u24, }), - /// AHB3 peripheral clock enable in low power mode register + /// AHB3 peripheral clock enable in low power mode register AHB3LPENR: mmio.Mmio(packed struct(u32) { - /// Flexible static memory controller module clock enable during Sleep mode + /// Flexible static memory controller module clock enable during Sleep mode FSMCLPEN: u1, padding: u31, }), reserved96: [4]u8, - /// APB1 peripheral clock enable in low power mode register + /// APB1 peripheral clock enable in low power mode register APB1LPENR: mmio.Mmio(packed struct(u32) { - /// TIM2 clock enable during Sleep mode + /// TIM2 clock enable during Sleep mode TIM2LPEN: u1, - /// TIM3 clock enable during Sleep mode + /// TIM3 clock enable during Sleep mode TIM3LPEN: u1, - /// TIM4 clock enable during Sleep mode + /// TIM4 clock enable during Sleep mode TIM4LPEN: u1, - /// TIM5 clock enable during Sleep mode + /// TIM5 clock enable during Sleep mode TIM5LPEN: u1, - /// TIM6 clock enable during Sleep mode + /// TIM6 clock enable during Sleep mode TIM6LPEN: u1, - /// TIM7 clock enable during Sleep mode + /// TIM7 clock enable during Sleep mode TIM7LPEN: u1, - /// TIM12 clock enable during Sleep mode + /// TIM12 clock enable during Sleep mode TIM12LPEN: u1, - /// TIM13 clock enable during Sleep mode + /// TIM13 clock enable during Sleep mode TIM13LPEN: u1, - /// TIM14 clock enable during Sleep mode + /// TIM14 clock enable during Sleep mode TIM14LPEN: u1, reserved11: u2, - /// Window watchdog clock enable during Sleep mode + /// Window watchdog clock enable during Sleep mode WWDGLPEN: u1, reserved14: u2, - /// SPI2 clock enable during Sleep mode + /// SPI2 clock enable during Sleep mode SPI2LPEN: u1, - /// SPI3 clock enable during Sleep mode + /// SPI3 clock enable during Sleep mode SPI3LPEN: u1, reserved17: u1, - /// USART2 clock enable during Sleep mode + /// USART2 clock enable during Sleep mode USART2LPEN: u1, - /// USART3 clock enable during Sleep mode + /// USART3 clock enable during Sleep mode USART3LPEN: u1, - /// UART4 clock enable during Sleep mode + /// UART4 clock enable during Sleep mode UART4LPEN: u1, - /// UART5 clock enable during Sleep mode + /// UART5 clock enable during Sleep mode UART5LPEN: u1, - /// I2C1 clock enable during Sleep mode + /// I2C1 clock enable during Sleep mode I2C1LPEN: u1, - /// I2C2 clock enable during Sleep mode + /// I2C2 clock enable during Sleep mode I2C2LPEN: u1, - /// I2C3 clock enable during Sleep mode + /// I2C3 clock enable during Sleep mode I2C3LPEN: u1, reserved25: u1, - /// CAN 1 clock enable during Sleep mode + /// CAN 1 clock enable during Sleep mode CAN1LPEN: u1, - /// CAN 2 clock enable during Sleep mode + /// CAN 2 clock enable during Sleep mode CAN2LPEN: u1, reserved28: u1, - /// Power interface clock enable during Sleep mode + /// Power interface clock enable during Sleep mode PWRLPEN: u1, - /// DAC interface clock enable during Sleep mode + /// DAC interface clock enable during Sleep mode DACLPEN: u1, padding: u2, }), - /// APB2 peripheral clock enabled in low power mode register + /// APB2 peripheral clock enabled in low power mode register APB2LPENR: mmio.Mmio(packed struct(u32) { - /// TIM1 clock enable during Sleep mode + /// TIM1 clock enable during Sleep mode TIM1LPEN: u1, - /// TIM8 clock enable during Sleep mode + /// TIM8 clock enable during Sleep mode TIM8LPEN: u1, reserved4: u2, - /// USART1 clock enable during Sleep mode + /// USART1 clock enable during Sleep mode USART1LPEN: u1, - /// USART6 clock enable during Sleep mode + /// USART6 clock enable during Sleep mode USART6LPEN: u1, reserved8: u2, - /// ADC1 clock enable during Sleep mode + /// ADC1 clock enable during Sleep mode ADC1LPEN: u1, - /// ADC2 clock enable during Sleep mode + /// ADC2 clock enable during Sleep mode ADC2LPEN: u1, - /// ADC 3 clock enable during Sleep mode + /// ADC 3 clock enable during Sleep mode ADC3LPEN: u1, - /// SDIO clock enable during Sleep mode + /// SDIO clock enable during Sleep mode SDIOLPEN: u1, - /// SPI 1 clock enable during Sleep mode + /// SPI 1 clock enable during Sleep mode SPI1LPEN: u1, reserved14: u1, - /// System configuration controller clock enable during Sleep mode + /// System configuration controller clock enable during Sleep mode SYSCFGLPEN: u1, reserved16: u1, - /// TIM9 clock enable during sleep mode + /// TIM9 clock enable during sleep mode TIM9LPEN: u1, - /// TIM10 clock enable during Sleep mode + /// TIM10 clock enable during Sleep mode TIM10LPEN: u1, - /// TIM11 clock enable during Sleep mode + /// TIM11 clock enable during Sleep mode TIM11LPEN: u1, padding: u13, }), reserved112: [8]u8, - /// Backup domain control register + /// Backup domain control register BDCR: mmio.Mmio(packed struct(u32) { - /// External low-speed oscillator enable + /// External low-speed oscillator enable LSEON: u1, - /// External low-speed oscillator ready + /// External low-speed oscillator ready LSERDY: u1, - /// External low-speed oscillator bypass + /// External low-speed oscillator bypass LSEBYP: u1, reserved8: u5, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, padding: u15, }), - /// clock control & status register + /// clock control & status register CSR: mmio.Mmio(packed struct(u32) { - /// Internal low-speed oscillator enable + /// Internal low-speed oscillator enable LSION: u1, - /// Internal low-speed oscillator ready + /// Internal low-speed oscillator ready LSIRDY: u1, reserved24: u22, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// BOR reset flag + /// BOR reset flag BORRSTF: u1, - /// PIN reset flag + /// PIN reset flag PADRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag WDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), reserved128: [8]u8, - /// spread spectrum clock generation register + /// spread spectrum clock generation register SSCGR: mmio.Mmio(packed struct(u32) { - /// Modulation period + /// Modulation period MODPER: u13, - /// Incrementation step + /// Incrementation step INCSTEP: u15, reserved30: u2, - /// Spread Select - SPREADSEL: packed union { - raw: u1, - value: SPREADSEL, - }, - /// Spread spectrum modulation enable + /// Spread Select + SPREADSEL: SPREADSEL, + /// Spread spectrum modulation enable SSCGEN: u1, }), - /// PLLI2S configuration register + /// PLLI2S configuration register PLLI2SCFGR: mmio.Mmio(packed struct(u32) { reserved6: u6, - /// PLLI2S multiplication factor for VCO - PLLN: packed union { - raw: u9, - value: PLLN, - }, + /// PLLI2S multiplication factor for VCO + PLLN: PLLN, reserved28: u13, - /// PLLI2S division factor for I2S clocks - PLLR: packed union { - raw: u3, - value: PLLR, - }, + /// PLLI2S division factor for I2S clocks + PLLR: PLLR, padding: u1, }), }; @@ -370534,843 +365560,738 @@ pub const types = struct { pub const rcc_f37 = struct { pub const ADCPRE = enum(u2) { - /// PCLK divided by 2 + /// PCLK divided by 2 Div2 = 0x0, - /// PCLK divided by 4 + /// PCLK divided by 4 Div4 = 0x1, - /// PCLK divided by 6 + /// PCLK divided by 6 Div6 = 0x2, - /// PCLK divided by 8 + /// PCLK divided by 8 Div8 = 0x3, }; pub const ADCPRES = enum(u5) { - /// PLL clock not divided + /// PLL clock not divided Div1 = 0x10, - /// PLL clock divided by 2 + /// PLL clock divided by 2 Div2 = 0x11, - /// PLL clock divided by 4 + /// PLL clock divided by 4 Div4 = 0x12, - /// PLL clock divided by 6 + /// PLL clock divided by 6 Div6 = 0x13, - /// PLL clock divided by 8 + /// PLL clock divided by 8 Div8 = 0x14, - /// PLL clock divided by 10 + /// PLL clock divided by 10 Div10 = 0x15, - /// PLL clock divided by 12 + /// PLL clock divided by 12 Div12 = 0x16, - /// PLL clock divided by 16 + /// PLL clock divided by 16 Div16 = 0x17, - /// PLL clock divided by 32 + /// PLL clock divided by 32 Div32 = 0x18, - /// PLL clock divided by 64 + /// PLL clock divided by 64 Div64 = 0x19, - /// PLL clock divided by 128 + /// PLL clock divided by 128 Div128 = 0x1a, - /// PLL clock divided by 256 + /// PLL clock divided by 256 Div256 = 0x1b, _, }; pub const CECSW = enum(u1) { - /// HSI clock divided by 244 selected as CEC clock source + /// HSI clock divided by 244 selected as CEC clock source HSI_DIV_244 = 0x0, - /// LSE clock selected as CEC clock source + /// LSE clock selected as CEC clock source LSE = 0x1, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const ICSW = enum(u1) { - /// HSI clock selected as I2C clock source + /// HSI clock selected as I2C clock source HSI = 0x0, - /// SYSCLK clock selected as I2C clock source + /// SYSCLK clock selected as I2C clock source SYS = 0x1, }; pub const ISSRC = enum(u1) { - /// System clock used as I2S clock source + /// System clock used as I2S clock source SYS = 0x0, - /// External clock mapped on the I2S_CKIN pin used as I2S clock source + /// External clock mapped on the I2S_CKIN pin used as I2S clock source CKIN = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x1, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOSEL = enum(u3) { - /// MCO output disabled, no clock on MCO + /// MCO output disabled, no clock on MCO DISABLE = 0x0, - /// Internal low speed (LSI) oscillator clock selected + /// Internal low speed (LSI) oscillator clock selected LSI = 0x2, - /// External low speed (LSE) oscillator clock selected + /// External low speed (LSE) oscillator clock selected LSE = 0x3, - /// System clock selected + /// System clock selected SYS = 0x4, - /// Internal RC 8 MHz (HSI) oscillator clock selected + /// Internal RC 8 MHz (HSI) oscillator clock selected HSI = 0x5, - /// External 4-32 MHz (HSE) oscillator clock selected + /// External 4-32 MHz (HSE) oscillator clock selected HSE = 0x6, - /// PLL clock divided by 2 + /// PLL clock divided by 2 PLL_DIV_2 = 0x7, _, }; pub const PLLMUL = enum(u4) { - /// PLL input clock x2 + /// PLL input clock x2 Mul2 = 0x0, - /// PLL input clock x3 + /// PLL input clock x3 Mul3 = 0x1, - /// PLL input clock x4 + /// PLL input clock x4 Mul4 = 0x2, - /// PLL input clock x5 + /// PLL input clock x5 Mul5 = 0x3, - /// PLL input clock x6 + /// PLL input clock x6 Mul6 = 0x4, - /// PLL input clock x7 + /// PLL input clock x7 Mul7 = 0x5, - /// PLL input clock x8 + /// PLL input clock x8 Mul8 = 0x6, - /// PLL input clock x9 + /// PLL input clock x9 Mul9 = 0x7, - /// PLL input clock x10 + /// PLL input clock x10 Mul10 = 0x8, - /// PLL input clock x11 + /// PLL input clock x11 Mul11 = 0x9, - /// PLL input clock x12 + /// PLL input clock x12 Mul12 = 0xa, - /// PLL input clock x13 + /// PLL input clock x13 Mul13 = 0xb, - /// PLL input clock x14 + /// PLL input clock x14 Mul14 = 0xc, - /// PLL input clock x15 + /// PLL input clock x15 Mul15 = 0xd, - /// PLL input clock x16 + /// PLL input clock x16 Mul16 = 0xe, _, }; pub const PLLSRC = enum(u1) { - /// HSI divided by 2 selected as PLL input clock + /// HSI divided by 2 selected as PLL input clock HSI_Div2 = 0x0, - /// HSE divided by PREDIV selected as PLL input clock + /// HSE divided by PREDIV selected as PLL input clock HSE_Div_PREDIV = 0x1, }; pub const PLLXTPRE = enum(u1) { - /// HSE clock not divided + /// HSE clock not divided Div1 = 0x0, - /// HSE clock divided by 2 + /// HSE clock divided by 2 Div2 = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const PREDIV = enum(u4) { - /// PREDIV input clock not divided + /// PREDIV input clock not divided Div1 = 0x0, - /// PREDIV input clock divided by 2 + /// PREDIV input clock divided by 2 Div2 = 0x1, - /// PREDIV input clock divided by 3 + /// PREDIV input clock divided by 3 Div3 = 0x2, - /// PREDIV input clock divided by 4 + /// PREDIV input clock divided by 4 Div4 = 0x3, - /// PREDIV input clock divided by 5 + /// PREDIV input clock divided by 5 Div5 = 0x4, - /// PREDIV input clock divided by 6 + /// PREDIV input clock divided by 6 Div6 = 0x5, - /// PREDIV input clock divided by 7 + /// PREDIV input clock divided by 7 Div7 = 0x6, - /// PREDIV input clock divided by 8 + /// PREDIV input clock divided by 8 Div8 = 0x7, - /// PREDIV input clock divided by 9 + /// PREDIV input clock divided by 9 Div9 = 0x8, - /// PREDIV input clock divided by 10 + /// PREDIV input clock divided by 10 Div10 = 0x9, - /// PREDIV input clock divided by 11 + /// PREDIV input clock divided by 11 Div11 = 0xa, - /// PREDIV input clock divided by 12 + /// PREDIV input clock divided by 12 Div12 = 0xb, - /// PREDIV input clock divided by 13 + /// PREDIV input clock divided by 13 Div13 = 0xc, - /// PREDIV input clock divided by 14 + /// PREDIV input clock divided by 14 Div14 = 0xd, - /// PREDIV input clock divided by 15 + /// PREDIV input clock divided by 15 Div15 = 0xe, - /// PREDIV input clock divided by 16 + /// PREDIV input clock divided by 16 Div16 = 0xf, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SDPRE = enum(u5) { - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x0, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x11, - /// SYSCLK divided by 6 + /// SYSCLK divided by 6 Div6 = 0x12, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0x13, - /// SYSCLK divided by 10 + /// SYSCLK divided by 10 Div10 = 0x14, - /// SYSCLK divided by 12 + /// SYSCLK divided by 12 Div12 = 0x15, - /// SYSCLK divided by 14 + /// SYSCLK divided by 14 Div14 = 0x16, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0x17, - /// SYSCLK divided by 20 + /// SYSCLK divided by 20 Div20 = 0x18, - /// SYSCLK divided by 24 + /// SYSCLK divided by 24 Div24 = 0x19, - /// SYSCLK divided by 28 + /// SYSCLK divided by 28 Div28 = 0x1a, - /// SYSCLK divided by 32 + /// SYSCLK divided by 32 Div32 = 0x1b, - /// SYSCLK divided by 36 + /// SYSCLK divided by 36 Div36 = 0x1c, - /// SYSCLK divided by 40 + /// SYSCLK divided by 40 Div40 = 0x1d, - /// SYSCLK divided by 44 + /// SYSCLK divided by 44 Div44 = 0x1e, - /// SYSCLK divided by 48 + /// SYSCLK divided by 48 Div48 = 0x1f, _, }; pub const SW = enum(u2) { - /// HSI oscillator used as system clock + /// HSI oscillator used as system clock HSI = 0x0, - /// HSE oscillator used as system clock + /// HSE oscillator used as system clock HSE = 0x1, - /// PLL used as system clock + /// PLL used as system clock PLL1_P = 0x2, _, }; pub const TIM2SW = enum(u1) { - /// PCLK2 clock (doubled frequency when prescaled) + /// PCLK2 clock (doubled frequency when prescaled) PCLK1_TIM = 0x0, - /// PLL vco output (running up to 144 MHz) + /// PLL vco output (running up to 144 MHz) PLL1_P = 0x1, }; pub const TIMSW = enum(u1) { - /// PCLK2 clock (doubled frequency when prescaled) + /// PCLK2 clock (doubled frequency when prescaled) PCLK2_TIM = 0x0, - /// PLL vco output (running up to 144 MHz) + /// PLL vco output (running up to 144 MHz) PLL1_P = 0x1, }; pub const USART1SW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK2 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USARTSW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK1 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USBPRE = enum(u1) { - /// PLL clock is divided by 1.5 + /// PLL clock is divided by 1.5 Div1_5 = 0x0, - /// PLL clock is not divided + /// PLL clock is not divided Div1 = 0x1, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal High Speed clock enable + /// Internal High Speed clock enable HSION: u1, - /// Internal High Speed clock ready flag + /// Internal High Speed clock ready flag HSIRDY: u1, reserved3: u1, - /// Internal High Speed clock trimming + /// Internal High Speed clock trimming HSITRIM: u5, - /// Internal High Speed clock Calibration + /// Internal High Speed clock Calibration HSICAL: u8, - /// External High Speed clock enable + /// External High Speed clock enable HSEON: u1, - /// External High Speed clock ready flag + /// External High Speed clock ready flag HSERDY: u1, - /// External High Speed clock Bypass + /// External High Speed clock Bypass HSEBYP: u1, - /// Clock Security System enable + /// Clock Security System enable CSSON: u1, reserved24: u4, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Clock configuration register (RCC_CFGR) + /// Clock configuration register (RCC_CFGR) CFGR: mmio.Mmio(packed struct(u32) { - /// System clock Switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System Clock Switch Status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB Low speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, - /// ADC prescaler - ADCPRE: packed union { - raw: u2, - value: ADCPRE, - }, - /// PLL entry clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, - /// HSE divider for PLL entry. Note: This bit is the same as the LSB of PREDIV in CFGR2, for compatibility with other STM32 products. - PLLXTPRE: packed union { - raw: u1, - value: PLLXTPRE, - }, - /// PLL Multiplication Factor - PLLMUL: packed union { - raw: u4, - value: PLLMUL, - }, - /// USB prescaler - USBPRE: packed union { - raw: u1, - value: USBPRE, - }, - /// I2S external clock source selection - I2SSRC: packed union { - raw: u1, - value: ISSRC, - }, - /// Microcontroller clock output - MCOSEL: packed union { - raw: u3, - value: MCOSEL, - }, - /// SDADC prescaler - SDPRE: packed union { - raw: u5, - value: SDPRE, - }, - }), - /// Clock interrupt register (RCC_CIR) + /// System clock Switch + SW: SW, + /// System Clock Switch Status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB Low speed prescaler (APB1) + PPRE1: PPRE, + /// APB high speed prescaler (APB2) + PPRE2: PPRE, + /// ADC prescaler + ADCPRE: ADCPRE, + /// PLL entry clock source + PLLSRC: PLLSRC, + /// HSE divider for PLL entry. Note: This bit is the same as the LSB of PREDIV in CFGR2, for compatibility with other STM32 products. + PLLXTPRE: PLLXTPRE, + /// PLL Multiplication Factor + PLLMUL: PLLMUL, + /// USB prescaler + USBPRE: USBPRE, + /// I2S external clock source selection + I2SSRC: ISSRC, + /// Microcontroller clock output + MCOSEL: MCOSEL, + /// SDADC prescaler + SDPRE: SDPRE, + }), + /// Clock interrupt register (RCC_CIR) CIR: mmio.Mmio(packed struct(u32) { - /// LSI Ready Interrupt flag + /// LSI Ready Interrupt flag LSIRDYF: u1, - /// LSE Ready Interrupt flag + /// LSE Ready Interrupt flag LSERDYF: u1, - /// HSI Ready Interrupt flag + /// HSI Ready Interrupt flag HSIRDYF: u1, - /// HSE Ready Interrupt flag + /// HSE Ready Interrupt flag HSERDYF: u1, - /// PLL Ready Interrupt flag + /// PLL Ready Interrupt flag PLLRDYF: u1, reserved7: u2, - /// Clock Security System Interrupt flag + /// Clock Security System Interrupt flag CSSF: u1, - /// LSI Ready Interrupt Enable + /// LSI Ready Interrupt Enable LSIRDYIE: u1, - /// LSE Ready Interrupt Enable + /// LSE Ready Interrupt Enable LSERDYIE: u1, - /// HSI Ready Interrupt Enable + /// HSI Ready Interrupt Enable HSIRDYIE: u1, - /// HSE Ready Interrupt Enable + /// HSE Ready Interrupt Enable HSERDYIE: u1, - /// PLL Ready Interrupt Enable + /// PLL Ready Interrupt Enable PLLRDYIE: u1, reserved16: u3, - /// LSI Ready Interrupt Clear + /// LSI Ready Interrupt Clear LSIRDYC: u1, - /// LSE Ready Interrupt Clear + /// LSE Ready Interrupt Clear LSERDYC: u1, - /// HSI Ready Interrupt Clear + /// HSI Ready Interrupt Clear HSIRDYC: u1, - /// HSE Ready Interrupt Clear + /// HSE Ready Interrupt Clear HSERDYC: u1, - /// PLL Ready Interrupt Clear + /// PLL Ready Interrupt Clear PLLRDYC: u1, reserved23: u2, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// APB2 peripheral reset register (RCC_APB2RSTR) + /// APB2 peripheral reset register (RCC_APB2RSTR) APB2RSTR: mmio.Mmio(packed struct(u32) { - /// SYSCFG and COMP reset + /// SYSCFG and COMP reset SYSCFGRST: u1, reserved9: u8, - /// ADC interface reset + /// ADC interface reset ADCRST: u1, reserved12: u2, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, reserved14: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, reserved16: u1, - /// TIM15 timer reset + /// TIM15 timer reset TIM15RST: u1, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, - /// TIM19 timer reset + /// TIM19 timer reset TIM19RST: u1, reserved22: u2, - /// MCU debug module clock enable + /// MCU debug module clock enable DBGMCURST: u1, reserved24: u1, - /// SDADC1 (Sigma delta ADC 1) reset + /// SDADC1 (Sigma delta ADC 1) reset SDADC1RST: u1, - /// SDADC2 (Sigma delta ADC 2) reset + /// SDADC2 (Sigma delta ADC 2) reset SDADC2RST: u1, - /// SDADC3 (Sigma delta ADC 3) reset + /// SDADC3 (Sigma delta ADC 3) reset SDADC3RST: u1, padding: u5, }), - /// APB1 peripheral reset register (RCC_APB1RSTR) + /// APB1 peripheral reset register (RCC_APB1RSTR) APB1RSTR: mmio.Mmio(packed struct(u32) { - /// Timer 2 reset + /// Timer 2 reset TIM2RST: u1, - /// Timer 3 reset + /// Timer 3 reset TIM3RST: u1, - /// Timer 14 reset + /// Timer 14 reset TIM4RST: u1, - /// Timer 5 reset + /// Timer 5 reset TIM5RST: u1, - /// Timer 6 reset + /// Timer 6 reset TIM6RST: u1, - /// Timer 7 reset + /// Timer 7 reset TIM7RST: u1, - /// Timer 12 reset + /// Timer 12 reset TIM12RST: u1, - /// Timer 13 reset + /// Timer 13 reset TIM13RST: u1, - /// Timer 14 reset + /// Timer 14 reset TIM14RST: u1, - /// Timer 18 reset + /// Timer 18 reset TIM18RST: u1, reserved11: u1, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, - /// SPI3 reset + /// SPI3 reset SPI3RST: u1, reserved17: u1, - /// USART 2 reset + /// USART 2 reset USART2RST: u1, - /// USART3 reset + /// USART3 reset USART3RST: u1, reserved21: u2, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// USB reset + /// USB reset USBRST: u1, reserved25: u1, - /// CAN reset + /// CAN reset CANRST: u1, - /// DAC2 interface reset + /// DAC2 interface reset DAC2RST: u1, reserved28: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC interface reset + /// DAC interface reset DACRST: u1, - /// HDMI CEC reset + /// HDMI CEC reset CECRST: u1, padding: u1, }), - /// AHB Peripheral Clock enable register (RCC_AHBENR) + /// AHB Peripheral Clock enable register (RCC_AHBENR) AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// SRAM interface clock enable + /// SRAM interface clock enable SRAMEN: u1, reserved4: u1, - /// FLASH clock enable + /// FLASH clock enable FLASHEN: u1, reserved6: u1, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved17: u10, - /// I/O port A clock enable + /// I/O port A clock enable GPIOAEN: u1, - /// I/O port B clock enable + /// I/O port B clock enable GPIOBEN: u1, - /// I/O port C clock enable + /// I/O port C clock enable GPIOCEN: u1, - /// I/O port D clock enable + /// I/O port D clock enable GPIODEN: u1, - /// I/O port E clock enable + /// I/O port E clock enable GPIOEEN: u1, - /// I/O port F clock enable + /// I/O port F clock enable GPIOFEN: u1, reserved24: u1, - /// Touch sensing controller clock enable + /// Touch sensing controller clock enable TSCEN: u1, padding: u7, }), - /// APB2 peripheral clock enable register (RCC_APB2ENR) + /// APB2 peripheral clock enable register (RCC_APB2ENR) APB2ENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock enable + /// SYSCFG clock enable SYSCFGEN: u1, reserved9: u8, - /// ADC 1 interface clock enable + /// ADC 1 interface clock enable ADCEN: u1, reserved12: u2, - /// SPI 1 clock enable + /// SPI 1 clock enable SPI1EN: u1, reserved14: u1, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, reserved16: u1, - /// TIM15 timer clock enable + /// TIM15 timer clock enable TIM15EN: u1, - /// TIM16 timer clock enable + /// TIM16 timer clock enable TIM16EN: u1, - /// TIM17 timer clock enable + /// TIM17 timer clock enable TIM17EN: u1, - /// TIM19 timer clock enable + /// TIM19 timer clock enable TIM19EN: u1, reserved22: u2, - /// MCU debug module clock enable + /// MCU debug module clock enable DBGMCUEN: u1, reserved24: u1, - /// SDADC1 (Sigma Delta ADC 1) clock enable + /// SDADC1 (Sigma Delta ADC 1) clock enable SDADC1EN: u1, - /// SDADC2 (Sigma Delta ADC 2) clock enable + /// SDADC2 (Sigma Delta ADC 2) clock enable SDADC2EN: u1, - /// SDADC3 (Sigma Delta ADC 3) clock enable + /// SDADC3 (Sigma Delta ADC 3) clock enable SDADC3EN: u1, padding: u5, }), - /// APB1 peripheral clock enable register (RCC_APB1ENR) + /// APB1 peripheral clock enable register (RCC_APB1ENR) APB1ENR: mmio.Mmio(packed struct(u32) { - /// Timer 2 clock enable + /// Timer 2 clock enable TIM2EN: u1, - /// Timer 3 clock enable + /// Timer 3 clock enable TIM3EN: u1, - /// Timer 4 clock enable + /// Timer 4 clock enable TIM4EN: u1, - /// Timer 5 clock enable + /// Timer 5 clock enable TIM5EN: u1, - /// Timer 6 clock enable + /// Timer 6 clock enable TIM6EN: u1, - /// Timer 7 clock enable + /// Timer 7 clock enable TIM7EN: u1, - /// Timer 12 clock enable + /// Timer 12 clock enable TIM12EN: u1, - /// Timer 13 clock enable + /// Timer 13 clock enable TIM13EN: u1, - /// Timer 14 clock enable + /// Timer 14 clock enable TIM14EN: u1, - /// Timer 18 clock enable + /// Timer 18 clock enable TIM18EN: u1, reserved11: u1, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI 2 clock enable + /// SPI 2 clock enable SPI2EN: u1, - /// SPI 3 clock enable + /// SPI 3 clock enable SPI3EN: u1, reserved17: u1, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, - /// USART 3 clock enable + /// USART 3 clock enable USART3EN: u1, reserved21: u2, - /// I2C 1 clock enable + /// I2C 1 clock enable I2C1EN: u1, - /// I2C 2 clock enable + /// I2C 2 clock enable I2C2EN: u1, - /// USB clock enable + /// USB clock enable USBEN: u1, reserved25: u1, - /// CAN clock enable + /// CAN clock enable CANEN: u1, - /// DAC2 interface clock enable + /// DAC2 interface clock enable DAC2EN: u1, reserved28: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, - /// HDMI CEC interface clock enable + /// HDMI CEC interface clock enable CECEN: u1, padding: u1, }), - /// Backup domain control register (RCC_BDCR) + /// Backup domain control register (RCC_BDCR) BDCR: mmio.Mmio(packed struct(u32) { - /// External Low Speed oscillator enable + /// External Low Speed oscillator enable LSEON: u1, - /// External Low Speed oscillator ready + /// External Low Speed oscillator ready LSERDY: u1, - /// External Low Speed oscillator bypass + /// External Low Speed oscillator bypass LSEBYP: u1, - /// LSE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, + /// LSE oscillator drive capability + LSEDRV: LSEDRV, reserved8: u3, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, padding: u15, }), - /// Control/status register (RCC_CSR) + /// Control/status register (RCC_CSR) CSR: mmio.Mmio(packed struct(u32) { - /// Internal low speed oscillator enable + /// Internal low speed oscillator enable LSION: u1, - /// Internal low speed oscillator ready + /// Internal low speed oscillator ready LSIRDY: u1, reserved23: u21, - /// Reset flag of the 1.8 V domain + /// Reset flag of the 1.8 V domain V18PWRRSTF: u1, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// PIN reset flag + /// PIN reset flag PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), - /// AHB peripheral reset register + /// AHB peripheral reset register AHBRSTR: mmio.Mmio(packed struct(u32) { reserved17: u17, - /// I/O port A reset + /// I/O port A reset GPIOARST: u1, - /// I/O port B reset + /// I/O port B reset GPIOBRST: u1, - /// I/O port C reset + /// I/O port C reset GPIOCRST: u1, - /// I/O port D reset + /// I/O port D reset GPIODRST: u1, - /// I/O port E reset + /// I/O port E reset GPIOERST: u1, - /// I/O port F reset + /// I/O port F reset GPIOFRST: u1, reserved24: u1, - /// Touch sensing controller reset + /// Touch sensing controller reset TSCRST: u1, padding: u7, }), - /// Clock configuration register 2 + /// Clock configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// PREDIV division factor - PREDIV: packed union { - raw: u4, - value: PREDIV, - }, - /// ADC1 and ADC2 prescaler - ADC12PRES: packed union { - raw: u5, - value: ADCPRES, - }, - /// ADC3 and ADC4 prescaler - ADC34PRES: packed union { - raw: u5, - value: ADCPRES, - }, + /// PREDIV division factor + PREDIV: PREDIV, + /// ADC1 and ADC2 prescaler + ADC12PRES: ADCPRES, + /// ADC3 and ADC4 prescaler + ADC34PRES: ADCPRES, padding: u18, }), - /// Clock configuration register 3 + /// Clock configuration register 3 CFGR3: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection - USART1SW: packed union { - raw: u2, - value: USART1SW, - }, + /// USART1 clock source selection + USART1SW: USART1SW, reserved4: u2, - /// I2C1 clock source selection - I2C1SW: packed union { - raw: u1, - value: ICSW, - }, - /// I2C2 clock source selection - I2C2SW: packed union { - raw: u1, - value: ICSW, - }, - /// HDMI CEC clock source selection - CECSW: packed union { - raw: u1, - value: CECSW, - }, + /// I2C1 clock source selection + I2C1SW: ICSW, + /// I2C2 clock source selection + I2C2SW: ICSW, + /// HDMI CEC clock source selection + CECSW: CECSW, reserved8: u1, - /// Timer1 clock source selection - TIM1SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer8 clock source selection - TIM8SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer15 clock source selection - TIM15SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer16 clock source selection - TIM16SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Hrtim1 clock source selection - HRTIM1SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer17 clock source selection - TIM17SW: packed union { - raw: u1, - value: TIMSW, - }, + /// Timer1 clock source selection + TIM1SW: TIMSW, + /// Timer8 clock source selection + TIM8SW: TIMSW, + /// Timer15 clock source selection + TIM15SW: TIMSW, + /// Timer16 clock source selection + TIM16SW: TIMSW, + /// Hrtim1 clock source selection + HRTIM1SW: TIMSW, + /// Timer17 clock source selection + TIM17SW: TIMSW, reserved15: u1, - /// Timer20 clock source selection - TIM20SW: packed union { - raw: u1, - value: TIMSW, - }, - /// USART2 clock source selection - USART2SW: packed union { - raw: u2, - value: USARTSW, - }, - /// USART3 clock source selection - USART3SW: packed union { - raw: u2, - value: USARTSW, - }, - /// UART4 clock source selection - UART4SW: packed union { - raw: u2, - value: USARTSW, - }, - /// UART5 clock source selection - UART5SW: packed union { - raw: u2, - value: USARTSW, - }, - /// Timer2 clock source selection - TIM2SW: packed union { - raw: u1, - value: TIM2SW, - }, - /// Timer34 clock source selection - TIM34SW: packed union { - raw: u1, - value: TIMSW, - }, + /// Timer20 clock source selection + TIM20SW: TIMSW, + /// USART2 clock source selection + USART2SW: USARTSW, + /// USART3 clock source selection + USART3SW: USARTSW, + /// UART4 clock source selection + UART4SW: USARTSW, + /// UART5 clock source selection + UART5SW: USARTSW, + /// Timer2 clock source selection + TIM2SW: TIM2SW, + /// Timer34 clock source selection + TIM34SW: TIMSW, padding: u6, }), }; @@ -371378,812 +366299,710 @@ pub const types = struct { pub const rcc_f3v1 = struct { pub const ADCPRE = enum(u2) { - /// PCLK divided by 2 + /// PCLK divided by 2 Div2 = 0x0, - /// PCLK divided by 4 + /// PCLK divided by 4 Div4 = 0x1, - /// PCLK divided by 6 + /// PCLK divided by 6 Div6 = 0x2, - /// PCLK divided by 8 + /// PCLK divided by 8 Div8 = 0x3, }; pub const ADCPRES = enum(u5) { - /// PLL clock not divided + /// PLL clock not divided Div1 = 0x10, - /// PLL clock divided by 2 + /// PLL clock divided by 2 Div2 = 0x11, - /// PLL clock divided by 4 + /// PLL clock divided by 4 Div4 = 0x12, - /// PLL clock divided by 6 + /// PLL clock divided by 6 Div6 = 0x13, - /// PLL clock divided by 8 + /// PLL clock divided by 8 Div8 = 0x14, - /// PLL clock divided by 10 + /// PLL clock divided by 10 Div10 = 0x15, - /// PLL clock divided by 12 + /// PLL clock divided by 12 Div12 = 0x16, - /// PLL clock divided by 16 + /// PLL clock divided by 16 Div16 = 0x17, - /// PLL clock divided by 32 + /// PLL clock divided by 32 Div32 = 0x18, - /// PLL clock divided by 64 + /// PLL clock divided by 64 Div64 = 0x19, - /// PLL clock divided by 128 + /// PLL clock divided by 128 Div128 = 0x1a, - /// PLL clock divided by 256 + /// PLL clock divided by 256 Div256 = 0x1b, _, }; pub const CECSW = enum(u1) { - /// HSI clock divided by 244 selected as CEC clock source + /// HSI clock divided by 244 selected as CEC clock source HSI_DIV_244 = 0x0, - /// LSE clock selected as CEC clock source + /// LSE clock selected as CEC clock source LSE = 0x1, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const ICSW = enum(u1) { - /// HSI clock selected as I2C clock source + /// HSI clock selected as I2C clock source HSI = 0x0, - /// SYSCLK clock selected as I2C clock source + /// SYSCLK clock selected as I2C clock source SYS = 0x1, }; pub const ISSRC = enum(u1) { - /// System clock used as I2S clock source + /// System clock used as I2S clock source SYS = 0x0, - /// External clock mapped on the I2S_CKIN pin used as I2S clock source + /// External clock mapped on the I2S_CKIN pin used as I2S clock source CKIN = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x1, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOSEL = enum(u3) { - /// MCO output disabled, no clock on MCO + /// MCO output disabled, no clock on MCO DISABLE = 0x0, - /// Internal low speed (LSI) oscillator clock selected + /// Internal low speed (LSI) oscillator clock selected LSI = 0x2, - /// External low speed (LSE) oscillator clock selected + /// External low speed (LSE) oscillator clock selected LSE = 0x3, - /// System clock selected + /// System clock selected SYS = 0x4, - /// Internal RC 8 MHz (HSI) oscillator clock selected + /// Internal RC 8 MHz (HSI) oscillator clock selected HSI = 0x5, - /// External 4-32 MHz (HSE) oscillator clock selected + /// External 4-32 MHz (HSE) oscillator clock selected HSE = 0x6, - /// PLL clock divided by 2 + /// PLL clock divided by 2 PLL_DIV_2 = 0x7, _, }; pub const PLLMUL = enum(u4) { - /// PLL input clock x2 + /// PLL input clock x2 Mul2 = 0x0, - /// PLL input clock x3 + /// PLL input clock x3 Mul3 = 0x1, - /// PLL input clock x4 + /// PLL input clock x4 Mul4 = 0x2, - /// PLL input clock x5 + /// PLL input clock x5 Mul5 = 0x3, - /// PLL input clock x6 + /// PLL input clock x6 Mul6 = 0x4, - /// PLL input clock x7 + /// PLL input clock x7 Mul7 = 0x5, - /// PLL input clock x8 + /// PLL input clock x8 Mul8 = 0x6, - /// PLL input clock x9 + /// PLL input clock x9 Mul9 = 0x7, - /// PLL input clock x10 + /// PLL input clock x10 Mul10 = 0x8, - /// PLL input clock x11 + /// PLL input clock x11 Mul11 = 0x9, - /// PLL input clock x12 + /// PLL input clock x12 Mul12 = 0xa, - /// PLL input clock x13 + /// PLL input clock x13 Mul13 = 0xb, - /// PLL input clock x14 + /// PLL input clock x14 Mul14 = 0xc, - /// PLL input clock x15 + /// PLL input clock x15 Mul15 = 0xd, - /// PLL input clock x16 + /// PLL input clock x16 Mul16 = 0xe, _, }; pub const PLLSRC = enum(u1) { - /// HSI divided by 2 selected as PLL input clock + /// HSI divided by 2 selected as PLL input clock HSI_Div2 = 0x0, - /// HSE divided by PREDIV selected as PLL input clock + /// HSE divided by PREDIV selected as PLL input clock HSE_Div_PREDIV = 0x1, }; pub const PLLXTPRE = enum(u1) { - /// HSE clock not divided + /// HSE clock not divided Div1 = 0x0, - /// HSE clock divided by 2 + /// HSE clock divided by 2 Div2 = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const PREDIV = enum(u4) { - /// PREDIV input clock not divided + /// PREDIV input clock not divided Div1 = 0x0, - /// PREDIV input clock divided by 2 + /// PREDIV input clock divided by 2 Div2 = 0x1, - /// PREDIV input clock divided by 3 + /// PREDIV input clock divided by 3 Div3 = 0x2, - /// PREDIV input clock divided by 4 + /// PREDIV input clock divided by 4 Div4 = 0x3, - /// PREDIV input clock divided by 5 + /// PREDIV input clock divided by 5 Div5 = 0x4, - /// PREDIV input clock divided by 6 + /// PREDIV input clock divided by 6 Div6 = 0x5, - /// PREDIV input clock divided by 7 + /// PREDIV input clock divided by 7 Div7 = 0x6, - /// PREDIV input clock divided by 8 + /// PREDIV input clock divided by 8 Div8 = 0x7, - /// PREDIV input clock divided by 9 + /// PREDIV input clock divided by 9 Div9 = 0x8, - /// PREDIV input clock divided by 10 + /// PREDIV input clock divided by 10 Div10 = 0x9, - /// PREDIV input clock divided by 11 + /// PREDIV input clock divided by 11 Div11 = 0xa, - /// PREDIV input clock divided by 12 + /// PREDIV input clock divided by 12 Div12 = 0xb, - /// PREDIV input clock divided by 13 + /// PREDIV input clock divided by 13 Div13 = 0xc, - /// PREDIV input clock divided by 14 + /// PREDIV input clock divided by 14 Div14 = 0xd, - /// PREDIV input clock divided by 15 + /// PREDIV input clock divided by 15 Div15 = 0xe, - /// PREDIV input clock divided by 16 + /// PREDIV input clock divided by 16 Div16 = 0xf, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SW = enum(u2) { - /// HSI oscillator used as system clock + /// HSI oscillator used as system clock HSI = 0x0, - /// HSE oscillator used as system clock + /// HSE oscillator used as system clock HSE = 0x1, - /// PLL used as system clock + /// PLL used as system clock PLL1_P = 0x2, _, }; pub const TIM2SW = enum(u1) { - /// PCLK2 clock (doubled frequency when prescaled) + /// PCLK2 clock (doubled frequency when prescaled) PCLK1_TIM = 0x0, - /// PLL vco output (running up to 144 MHz) + /// PLL vco output (running up to 144 MHz) PLL1_P = 0x1, }; pub const TIMSW = enum(u1) { - /// PCLK2 clock (doubled frequency when prescaled) + /// PCLK2 clock (doubled frequency when prescaled) PCLK2_TIM = 0x0, - /// PLL vco output (running up to 144 MHz) + /// PLL vco output (running up to 144 MHz) PLL1_P = 0x1, }; pub const USART1SW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK2 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USARTSW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK1 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USBPRE = enum(u1) { - /// PLL clock is divided by 1.5 + /// PLL clock is divided by 1.5 Div1_5 = 0x0, - /// PLL clock is not divided + /// PLL clock is not divided Div1 = 0x1, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal High Speed clock enable + /// Internal High Speed clock enable HSION: u1, - /// Internal High Speed clock ready flag + /// Internal High Speed clock ready flag HSIRDY: u1, reserved3: u1, - /// Internal High Speed clock trimming + /// Internal High Speed clock trimming HSITRIM: u5, - /// Internal High Speed clock Calibration + /// Internal High Speed clock Calibration HSICAL: u8, - /// External High Speed clock enable + /// External High Speed clock enable HSEON: u1, - /// External High Speed clock ready flag + /// External High Speed clock ready flag HSERDY: u1, - /// External High Speed clock Bypass + /// External High Speed clock Bypass HSEBYP: u1, - /// Clock Security System enable + /// Clock Security System enable CSSON: u1, reserved24: u4, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Clock configuration register (RCC_CFGR) + /// Clock configuration register (RCC_CFGR) CFGR: mmio.Mmio(packed struct(u32) { - /// System clock Switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System Clock Switch Status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB Low speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, - /// ADC prescaler - ADCPRE: packed union { - raw: u2, - value: ADCPRE, - }, - /// PLL entry clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, - /// HSE divider for PLL entry. Note: This bit is the same as the LSB of PREDIV in CFGR2, for compatibility with other STM32 products. - PLLXTPRE: packed union { - raw: u1, - value: PLLXTPRE, - }, - /// PLL Multiplication Factor - PLLMUL: packed union { - raw: u4, - value: PLLMUL, - }, - /// USB prescaler - USBPRE: packed union { - raw: u1, - value: USBPRE, - }, - /// I2S external clock source selection - I2SSRC: packed union { - raw: u1, - value: ISSRC, - }, - /// Microcontroller clock output - MCOSEL: packed union { - raw: u3, - value: MCOSEL, - }, + /// System clock Switch + SW: SW, + /// System Clock Switch Status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB Low speed prescaler (APB1) + PPRE1: PPRE, + /// APB high speed prescaler (APB2) + PPRE2: PPRE, + /// ADC prescaler + ADCPRE: ADCPRE, + /// PLL entry clock source + PLLSRC: PLLSRC, + /// HSE divider for PLL entry. Note: This bit is the same as the LSB of PREDIV in CFGR2, for compatibility with other STM32 products. + PLLXTPRE: PLLXTPRE, + /// PLL Multiplication Factor + PLLMUL: PLLMUL, + /// USB prescaler + USBPRE: USBPRE, + /// I2S external clock source selection + I2SSRC: ISSRC, + /// Microcontroller clock output + MCOSEL: MCOSEL, reserved28: u1, - /// Microcontroller Clock Output Flag. Set and reset by hardware. It is reset by hardware when MCO field is written with a new value. It is set by hardware when the switch to the new MCO source is effective. + /// Microcontroller Clock Output Flag. Set and reset by hardware. It is reset by hardware when MCO field is written with a new value. It is set by hardware when the switch to the new MCO source is effective. MCOF: u1, padding: u3, }), - /// Clock interrupt register (RCC_CIR) + /// Clock interrupt register (RCC_CIR) CIR: mmio.Mmio(packed struct(u32) { - /// LSI Ready Interrupt flag + /// LSI Ready Interrupt flag LSIRDYF: u1, - /// LSE Ready Interrupt flag + /// LSE Ready Interrupt flag LSERDYF: u1, - /// HSI Ready Interrupt flag + /// HSI Ready Interrupt flag HSIRDYF: u1, - /// HSE Ready Interrupt flag + /// HSE Ready Interrupt flag HSERDYF: u1, - /// PLL Ready Interrupt flag + /// PLL Ready Interrupt flag PLLRDYF: u1, reserved7: u2, - /// Clock Security System Interrupt flag + /// Clock Security System Interrupt flag CSSF: u1, - /// LSI Ready Interrupt Enable + /// LSI Ready Interrupt Enable LSIRDYIE: u1, - /// LSE Ready Interrupt Enable + /// LSE Ready Interrupt Enable LSERDYIE: u1, - /// HSI Ready Interrupt Enable + /// HSI Ready Interrupt Enable HSIRDYIE: u1, - /// HSE Ready Interrupt Enable + /// HSE Ready Interrupt Enable HSERDYIE: u1, - /// PLL Ready Interrupt Enable + /// PLL Ready Interrupt Enable PLLRDYIE: u1, reserved16: u3, - /// LSI Ready Interrupt Clear + /// LSI Ready Interrupt Clear LSIRDYC: u1, - /// LSE Ready Interrupt Clear + /// LSE Ready Interrupt Clear LSERDYC: u1, - /// HSI Ready Interrupt Clear + /// HSI Ready Interrupt Clear HSIRDYC: u1, - /// HSE Ready Interrupt Clear + /// HSE Ready Interrupt Clear HSERDYC: u1, - /// PLL Ready Interrupt Clear + /// PLL Ready Interrupt Clear PLLRDYC: u1, reserved23: u2, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// APB2 peripheral reset register (RCC_APB2RSTR) + /// APB2 peripheral reset register (RCC_APB2RSTR) APB2RSTR: mmio.Mmio(packed struct(u32) { - /// SYSCFG and COMP reset + /// SYSCFG and COMP reset SYSCFGRST: u1, reserved11: u10, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, - /// TIM8 timer reset + /// TIM8 timer reset TIM8RST: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, - /// SPI4 reset + /// SPI4 reset SPI4RST: u1, - /// TIM15 timer reset + /// TIM15 timer reset TIM15RST: u1, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, - /// TIM19 timer reset + /// TIM19 timer reset TIM19RST: u1, - /// TIM20 timer reset + /// TIM20 timer reset TIM20RST: u1, reserved22: u1, - /// Debug MCU reset + /// Debug MCU reset DBGMCURST: u1, reserved29: u6, - /// High Resolution Timer1 reset + /// High Resolution Timer1 reset HRTIM1RST: u1, padding: u2, }), - /// APB1 peripheral reset register (RCC_APB1RSTR) + /// APB1 peripheral reset register (RCC_APB1RSTR) APB1RSTR: mmio.Mmio(packed struct(u32) { - /// Timer 2 reset + /// Timer 2 reset TIM2RST: u1, - /// Timer 3 reset + /// Timer 3 reset TIM3RST: u1, - /// Timer 14 reset + /// Timer 14 reset TIM4RST: u1, reserved4: u1, - /// Timer 6 reset + /// Timer 6 reset TIM6RST: u1, - /// Timer 7 reset + /// Timer 7 reset TIM7RST: u1, reserved11: u5, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, - /// SPI3 reset + /// SPI3 reset SPI3RST: u1, reserved17: u1, - /// USART 2 reset + /// USART 2 reset USART2RST: u1, - /// USART3 reset + /// USART3 reset USART3RST: u1, - /// UART 4 reset + /// UART 4 reset UART4RST: u1, - /// UART 5 reset + /// UART 5 reset UART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// USB reset + /// USB reset USBRST: u1, reserved25: u1, - /// CAN reset + /// CAN reset CANRST: u1, - /// DAC2 interface reset + /// DAC2 interface reset DAC2RST: u1, reserved28: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC interface reset + /// DAC interface reset DACRST: u1, - /// I2C3 reset + /// I2C3 reset I2C3RST: u1, padding: u1, }), - /// AHB Peripheral Clock enable register (RCC_AHBENR) + /// AHB Peripheral Clock enable register (RCC_AHBENR) AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// SRAM interface clock enable + /// SRAM interface clock enable SRAMEN: u1, reserved4: u1, - /// FLASH clock enable + /// FLASH clock enable FLASHEN: u1, - /// FMC clock enable + /// FMC clock enable FMCEN: u1, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved16: u9, - /// IO port H clock enable + /// IO port H clock enable GPIOHEN: u1, - /// I/O port A clock enable + /// I/O port A clock enable GPIOAEN: u1, - /// I/O port B clock enable + /// I/O port B clock enable GPIOBEN: u1, - /// I/O port C clock enable + /// I/O port C clock enable GPIOCEN: u1, - /// I/O port D clock enable + /// I/O port D clock enable GPIODEN: u1, - /// I/O port E clock enable + /// I/O port E clock enable GPIOEEN: u1, - /// I/O port F clock enable + /// I/O port F clock enable GPIOFEN: u1, - /// IO port G clock enable + /// IO port G clock enable GPIOGEN: u1, - /// Touch sensing controller clock enable + /// Touch sensing controller clock enable TSCEN: u1, reserved28: u3, - /// ADC1 and ADC2 clock enable + /// ADC1 and ADC2 clock enable ADC12EN: u1, - /// ADC3 and ADC4 clock enable + /// ADC3 and ADC4 clock enable ADC34EN: u1, padding: u2, }), - /// APB2 peripheral clock enable register (RCC_APB2ENR) + /// APB2 peripheral clock enable register (RCC_APB2ENR) APB2ENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock enable + /// SYSCFG clock enable SYSCFGEN: u1, reserved11: u10, - /// TIM1 Timer clock enable + /// TIM1 Timer clock enable TIM1EN: u1, - /// SPI 1 clock enable + /// SPI 1 clock enable SPI1EN: u1, - /// TIM8 Timer clock enable + /// TIM8 Timer clock enable TIM8EN: u1, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, - /// SPI4 clock enable + /// SPI4 clock enable SPI4EN: u1, - /// TIM15 timer clock enable + /// TIM15 timer clock enable TIM15EN: u1, - /// TIM16 timer clock enable + /// TIM16 timer clock enable TIM16EN: u1, - /// TIM17 timer clock enable + /// TIM17 timer clock enable TIM17EN: u1, - /// TIM19 timer clock enable + /// TIM19 timer clock enable TIM19EN: u1, - /// TIM20 timer clock enable + /// TIM20 timer clock enable TIM20EN: u1, reserved22: u1, - /// MCU debug module clock enable + /// MCU debug module clock enable DBGMCUEN: u1, reserved29: u6, - /// High Resolution Timer 1 clock enable + /// High Resolution Timer 1 clock enable HRTIM1EN: u1, padding: u2, }), - /// APB1 peripheral clock enable register (RCC_APB1ENR) + /// APB1 peripheral clock enable register (RCC_APB1ENR) APB1ENR: mmio.Mmio(packed struct(u32) { - /// Timer 2 clock enable + /// Timer 2 clock enable TIM2EN: u1, - /// Timer 3 clock enable + /// Timer 3 clock enable TIM3EN: u1, - /// Timer 4 clock enable + /// Timer 4 clock enable TIM4EN: u1, reserved4: u1, - /// Timer 6 clock enable + /// Timer 6 clock enable TIM6EN: u1, - /// Timer 7 clock enable + /// Timer 7 clock enable TIM7EN: u1, reserved11: u5, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI 2 clock enable + /// SPI 2 clock enable SPI2EN: u1, - /// SPI 3 clock enable + /// SPI 3 clock enable SPI3EN: u1, reserved17: u1, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, - /// USART 3 clock enable + /// USART 3 clock enable USART3EN: u1, - /// UART4 clock enable + /// UART4 clock enable UART4EN: u1, - /// UART5 clock enable + /// UART5 clock enable UART5EN: u1, - /// I2C 1 clock enable + /// I2C 1 clock enable I2C1EN: u1, - /// I2C 2 clock enable + /// I2C 2 clock enable I2C2EN: u1, - /// USB clock enable + /// USB clock enable USBEN: u1, reserved25: u1, - /// CAN clock enable + /// CAN clock enable CANEN: u1, - /// DAC2 interface clock enable + /// DAC2 interface clock enable DAC2EN: u1, reserved28: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, - /// I2C3 clock enable + /// I2C3 clock enable I2C3EN: u1, padding: u1, }), - /// Backup domain control register (RCC_BDCR) + /// Backup domain control register (RCC_BDCR) BDCR: mmio.Mmio(packed struct(u32) { - /// External Low Speed oscillator enable + /// External Low Speed oscillator enable LSEON: u1, - /// External Low Speed oscillator ready + /// External Low Speed oscillator ready LSERDY: u1, - /// External Low Speed oscillator bypass + /// External Low Speed oscillator bypass LSEBYP: u1, - /// LSE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, + /// LSE oscillator drive capability + LSEDRV: LSEDRV, reserved8: u3, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, padding: u15, }), - /// Control/status register (RCC_CSR) + /// Control/status register (RCC_CSR) CSR: mmio.Mmio(packed struct(u32) { - /// Internal low speed oscillator enable + /// Internal low speed oscillator enable LSION: u1, - /// Internal low speed oscillator ready + /// Internal low speed oscillator ready LSIRDY: u1, reserved23: u21, - /// Reset flag of the 1.8 V domain + /// Reset flag of the 1.8 V domain V18PWRRSTF: u1, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// PIN reset flag + /// PIN reset flag PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), - /// AHB peripheral reset register + /// AHB peripheral reset register AHBRSTR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// FMC reset + /// FMC reset FMCRST: u1, reserved16: u10, - /// IO port H reset + /// IO port H reset GPIOHRST: u1, - /// I/O port A reset + /// I/O port A reset GPIOARST: u1, - /// I/O port B reset + /// I/O port B reset GPIOBRST: u1, - /// I/O port C reset + /// I/O port C reset GPIOCRST: u1, - /// I/O port D reset + /// I/O port D reset GPIODRST: u1, - /// I/O port E reset + /// I/O port E reset GPIOERST: u1, - /// I/O port F reset + /// I/O port F reset GPIOFRST: u1, - /// IO port G reset + /// IO port G reset GPIOGRST: u1, - /// Touch sensing controller reset + /// Touch sensing controller reset TSCRST: u1, reserved28: u3, - /// ADC1 and ADC2 reset + /// ADC1 and ADC2 reset ADC12RST: u1, - /// ADC3 and ADC4 reset + /// ADC3 and ADC4 reset ADC34RST: u1, padding: u2, }), - /// Clock configuration register 2 + /// Clock configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// PREDIV division factor - PREDIV: packed union { - raw: u4, - value: PREDIV, - }, - /// ADC1 and ADC2 prescaler - ADC12PRES: packed union { - raw: u5, - value: ADCPRES, - }, - /// ADC3 and ADC4 prescaler - ADC34PRES: packed union { - raw: u5, - value: ADCPRES, - }, + /// PREDIV division factor + PREDIV: PREDIV, + /// ADC1 and ADC2 prescaler + ADC12PRES: ADCPRES, + /// ADC3 and ADC4 prescaler + ADC34PRES: ADCPRES, padding: u18, }), - /// Clock configuration register 3 + /// Clock configuration register 3 CFGR3: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection - USART1SW: packed union { - raw: u2, - value: USART1SW, - }, + /// USART1 clock source selection + USART1SW: USART1SW, reserved4: u2, - /// I2C1 clock source selection - I2C1SW: packed union { - raw: u1, - value: ICSW, - }, - /// I2C2 clock source selection - I2C2SW: packed union { - raw: u1, - value: ICSW, - }, - /// HDMI CEC clock source selection - CECSW: packed union { - raw: u1, - value: CECSW, - }, + /// I2C1 clock source selection + I2C1SW: ICSW, + /// I2C2 clock source selection + I2C2SW: ICSW, + /// HDMI CEC clock source selection + CECSW: CECSW, reserved8: u1, - /// Timer1 clock source selection - TIM1SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer8 clock source selection - TIM8SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer15 clock source selection - TIM15SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer16 clock source selection - TIM16SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Hrtim1 clock source selection - HRTIM1SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer17 clock source selection - TIM17SW: packed union { - raw: u1, - value: TIMSW, - }, + /// Timer1 clock source selection + TIM1SW: TIMSW, + /// Timer8 clock source selection + TIM8SW: TIMSW, + /// Timer15 clock source selection + TIM15SW: TIMSW, + /// Timer16 clock source selection + TIM16SW: TIMSW, + /// Hrtim1 clock source selection + HRTIM1SW: TIMSW, + /// Timer17 clock source selection + TIM17SW: TIMSW, reserved15: u1, - /// Timer20 clock source selection - TIM20SW: packed union { - raw: u1, - value: TIMSW, - }, - /// USART2 clock source selection - USART2SW: packed union { - raw: u2, - value: USARTSW, - }, - /// USART3 clock source selection - USART3SW: packed union { - raw: u2, - value: USARTSW, - }, - /// UART4 clock source selection - UART4SW: packed union { - raw: u2, - value: USARTSW, - }, - /// UART5 clock source selection - UART5SW: packed union { - raw: u2, - value: USARTSW, - }, - /// Timer2 clock source selection - TIM2SW: packed union { - raw: u1, - value: TIM2SW, - }, - /// Timer34 clock source selection - TIM34SW: packed union { - raw: u1, - value: TIMSW, - }, + /// Timer20 clock source selection + TIM20SW: TIMSW, + /// USART2 clock source selection + USART2SW: USARTSW, + /// USART3 clock source selection + USART3SW: USARTSW, + /// UART4 clock source selection + UART4SW: USARTSW, + /// UART5 clock source selection + UART5SW: USARTSW, + /// Timer2 clock source selection + TIM2SW: TIM2SW, + /// Timer34 clock source selection + TIM34SW: TIMSW, padding: u6, }), }; @@ -372191,845 +367010,737 @@ pub const types = struct { pub const rcc_f3v2 = struct { pub const ADCPRE = enum(u2) { - /// PCLK divided by 2 + /// PCLK divided by 2 Div2 = 0x0, - /// PCLK divided by 4 + /// PCLK divided by 4 Div4 = 0x1, - /// PCLK divided by 6 + /// PCLK divided by 6 Div6 = 0x2, - /// PCLK divided by 8 + /// PCLK divided by 8 Div8 = 0x3, }; pub const ADCPRES = enum(u5) { - /// PLL clock not divided + /// PLL clock not divided Div1 = 0x10, - /// PLL clock divided by 2 + /// PLL clock divided by 2 Div2 = 0x11, - /// PLL clock divided by 4 + /// PLL clock divided by 4 Div4 = 0x12, - /// PLL clock divided by 6 + /// PLL clock divided by 6 Div6 = 0x13, - /// PLL clock divided by 8 + /// PLL clock divided by 8 Div8 = 0x14, - /// PLL clock divided by 10 + /// PLL clock divided by 10 Div10 = 0x15, - /// PLL clock divided by 12 + /// PLL clock divided by 12 Div12 = 0x16, - /// PLL clock divided by 16 + /// PLL clock divided by 16 Div16 = 0x17, - /// PLL clock divided by 32 + /// PLL clock divided by 32 Div32 = 0x18, - /// PLL clock divided by 64 + /// PLL clock divided by 64 Div64 = 0x19, - /// PLL clock divided by 128 + /// PLL clock divided by 128 Div128 = 0x1a, - /// PLL clock divided by 256 + /// PLL clock divided by 256 Div256 = 0x1b, _, }; pub const CECSW = enum(u1) { - /// HSI clock divided by 244 selected as CEC clock source + /// HSI clock divided by 244 selected as CEC clock source HSI_DIV_244 = 0x0, - /// LSE clock selected as CEC clock source + /// LSE clock selected as CEC clock source LSE = 0x1, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const ICSW = enum(u1) { - /// HSI clock selected as I2C clock source + /// HSI clock selected as I2C clock source HSI = 0x0, - /// SYSCLK clock selected as I2C clock source + /// SYSCLK clock selected as I2C clock source SYS = 0x1, }; pub const ISSRC = enum(u1) { - /// System clock used as I2S clock source + /// System clock used as I2S clock source SYS = 0x0, - /// External clock mapped on the I2S_CKIN pin used as I2S clock source + /// External clock mapped on the I2S_CKIN pin used as I2S clock source CKIN = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x1, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u3) { - /// MCO is divided by 1 + /// MCO is divided by 1 Div1 = 0x0, - /// MCO is divided by 2 + /// MCO is divided by 2 Div2 = 0x1, - /// MCO is divided by 4 + /// MCO is divided by 4 Div4 = 0x2, - /// MCO is divided by 8 + /// MCO is divided by 8 Div8 = 0x3, - /// MCO is divided by 16 + /// MCO is divided by 16 Div16 = 0x4, - /// MCO is divided by 32 + /// MCO is divided by 32 Div32 = 0x5, - /// MCO is divided by 64 + /// MCO is divided by 64 Div64 = 0x6, - /// MCO is divided by 128 + /// MCO is divided by 128 Div128 = 0x7, }; pub const MCOSEL = enum(u3) { - /// MCO output disabled, no clock on MCO + /// MCO output disabled, no clock on MCO DISABLE = 0x0, - /// Internal low speed (LSI) oscillator clock selected + /// Internal low speed (LSI) oscillator clock selected LSI = 0x2, - /// External low speed (LSE) oscillator clock selected + /// External low speed (LSE) oscillator clock selected LSE = 0x3, - /// System clock selected + /// System clock selected SYS = 0x4, - /// Internal RC 8 MHz (HSI) oscillator clock selected + /// Internal RC 8 MHz (HSI) oscillator clock selected HSI = 0x5, - /// External 4-32 MHz (HSE) oscillator clock selected + /// External 4-32 MHz (HSE) oscillator clock selected HSE = 0x6, - /// PLL clock selected (divided by 1 or 2, depending en PLLMCODIV) + /// PLL clock selected (divided by 1 or 2, depending en PLLMCODIV) PLL = 0x7, _, }; pub const PLLMCODIV = enum(u1) { - /// PLL is divided by 2 for MCO + /// PLL is divided by 2 for MCO Div2 = 0x0, - /// PLL is not divided for MCO + /// PLL is not divided for MCO Div1 = 0x1, }; pub const PLLMUL = enum(u4) { - /// PLL input clock x2 + /// PLL input clock x2 Mul2 = 0x0, - /// PLL input clock x3 + /// PLL input clock x3 Mul3 = 0x1, - /// PLL input clock x4 + /// PLL input clock x4 Mul4 = 0x2, - /// PLL input clock x5 + /// PLL input clock x5 Mul5 = 0x3, - /// PLL input clock x6 + /// PLL input clock x6 Mul6 = 0x4, - /// PLL input clock x7 + /// PLL input clock x7 Mul7 = 0x5, - /// PLL input clock x8 + /// PLL input clock x8 Mul8 = 0x6, - /// PLL input clock x9 + /// PLL input clock x9 Mul9 = 0x7, - /// PLL input clock x10 + /// PLL input clock x10 Mul10 = 0x8, - /// PLL input clock x11 + /// PLL input clock x11 Mul11 = 0x9, - /// PLL input clock x12 + /// PLL input clock x12 Mul12 = 0xa, - /// PLL input clock x13 + /// PLL input clock x13 Mul13 = 0xb, - /// PLL input clock x14 + /// PLL input clock x14 Mul14 = 0xc, - /// PLL input clock x15 + /// PLL input clock x15 Mul15 = 0xd, - /// PLL input clock x16 + /// PLL input clock x16 Mul16 = 0xe, _, }; pub const PLLSRC = enum(u1) { - /// HSI divided by 2 selected as PLL input clock + /// HSI divided by 2 selected as PLL input clock HSI_Div2 = 0x0, - /// HSE divided by PREDIV selected as PLL input clock + /// HSE divided by PREDIV selected as PLL input clock HSE_Div_PREDIV = 0x1, }; pub const PLLXTPRE = enum(u1) { - /// HSE clock not divided + /// HSE clock not divided Div1 = 0x0, - /// HSE clock divided by 2 + /// HSE clock divided by 2 Div2 = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const PREDIV = enum(u4) { - /// PREDIV input clock not divided + /// PREDIV input clock not divided Div1 = 0x0, - /// PREDIV input clock divided by 2 + /// PREDIV input clock divided by 2 Div2 = 0x1, - /// PREDIV input clock divided by 3 + /// PREDIV input clock divided by 3 Div3 = 0x2, - /// PREDIV input clock divided by 4 + /// PREDIV input clock divided by 4 Div4 = 0x3, - /// PREDIV input clock divided by 5 + /// PREDIV input clock divided by 5 Div5 = 0x4, - /// PREDIV input clock divided by 6 + /// PREDIV input clock divided by 6 Div6 = 0x5, - /// PREDIV input clock divided by 7 + /// PREDIV input clock divided by 7 Div7 = 0x6, - /// PREDIV input clock divided by 8 + /// PREDIV input clock divided by 8 Div8 = 0x7, - /// PREDIV input clock divided by 9 + /// PREDIV input clock divided by 9 Div9 = 0x8, - /// PREDIV input clock divided by 10 + /// PREDIV input clock divided by 10 Div10 = 0x9, - /// PREDIV input clock divided by 11 + /// PREDIV input clock divided by 11 Div11 = 0xa, - /// PREDIV input clock divided by 12 + /// PREDIV input clock divided by 12 Div12 = 0xb, - /// PREDIV input clock divided by 13 + /// PREDIV input clock divided by 13 Div13 = 0xc, - /// PREDIV input clock divided by 14 + /// PREDIV input clock divided by 14 Div14 = 0xd, - /// PREDIV input clock divided by 15 + /// PREDIV input clock divided by 15 Div15 = 0xe, - /// PREDIV input clock divided by 16 + /// PREDIV input clock divided by 16 Div16 = 0xf, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SW = enum(u2) { - /// HSI oscillator used as system clock + /// HSI oscillator used as system clock HSI = 0x0, - /// HSE oscillator used as system clock + /// HSE oscillator used as system clock HSE = 0x1, - /// PLL used as system clock + /// PLL used as system clock PLL1_P = 0x2, _, }; pub const TIM2SW = enum(u1) { - /// PCLK2 clock (doubled frequency when prescaled) + /// PCLK2 clock (doubled frequency when prescaled) PCLK1_TIM = 0x0, - /// PLL vco output (running up to 144 MHz) + /// PLL vco output (running up to 144 MHz) PLL1_P = 0x1, }; pub const TIMSW = enum(u1) { - /// PCLK2 clock (doubled frequency when prescaled) + /// PCLK2 clock (doubled frequency when prescaled) PCLK2_TIM = 0x0, - /// PLL vco output (running up to 144 MHz) + /// PLL vco output (running up to 144 MHz) PLL1_P = 0x1, }; pub const USART1SW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK2 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USARTSW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK1 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USBPRE = enum(u1) { - /// PLL clock is divided by 1.5 + /// PLL clock is divided by 1.5 Div1_5 = 0x0, - /// PLL clock is not divided + /// PLL clock is not divided Div1 = 0x1, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal High Speed clock enable + /// Internal High Speed clock enable HSION: u1, - /// Internal High Speed clock ready flag + /// Internal High Speed clock ready flag HSIRDY: u1, reserved3: u1, - /// Internal High Speed clock trimming + /// Internal High Speed clock trimming HSITRIM: u5, - /// Internal High Speed clock Calibration + /// Internal High Speed clock Calibration HSICAL: u8, - /// External High Speed clock enable + /// External High Speed clock enable HSEON: u1, - /// External High Speed clock ready flag + /// External High Speed clock ready flag HSERDY: u1, - /// External High Speed clock Bypass + /// External High Speed clock Bypass HSEBYP: u1, - /// Clock Security System enable + /// Clock Security System enable CSSON: u1, reserved24: u4, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Clock configuration register (RCC_CFGR) + /// Clock configuration register (RCC_CFGR) CFGR: mmio.Mmio(packed struct(u32) { - /// System clock Switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System Clock Switch Status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB Low speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, - /// ADC prescaler - ADCPRE: packed union { - raw: u2, - value: ADCPRE, - }, - /// PLL entry clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, - /// HSE divider for PLL entry. Note: This bit is the same as the LSB of PREDIV in CFGR2, for compatibility with other STM32 products. - PLLXTPRE: packed union { - raw: u1, - value: PLLXTPRE, - }, - /// PLL Multiplication Factor - PLLMUL: packed union { - raw: u4, - value: PLLMUL, - }, - /// USB prescaler - USBPRE: packed union { - raw: u1, - value: USBPRE, - }, - /// I2S external clock source selection - I2SSRC: packed union { - raw: u1, - value: ISSRC, - }, - /// Microcontroller clock output - MCOSEL: packed union { - raw: u3, - value: MCOSEL, - }, + /// System clock Switch + SW: SW, + /// System Clock Switch Status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB Low speed prescaler (APB1) + PPRE1: PPRE, + /// APB high speed prescaler (APB2) + PPRE2: PPRE, + /// ADC prescaler + ADCPRE: ADCPRE, + /// PLL entry clock source + PLLSRC: PLLSRC, + /// HSE divider for PLL entry. Note: This bit is the same as the LSB of PREDIV in CFGR2, for compatibility with other STM32 products. + PLLXTPRE: PLLXTPRE, + /// PLL Multiplication Factor + PLLMUL: PLLMUL, + /// USB prescaler + USBPRE: USBPRE, + /// I2S external clock source selection + I2SSRC: ISSRC, + /// Microcontroller clock output + MCOSEL: MCOSEL, reserved28: u1, - /// Microcontroller Clock Output Prescaler - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, - /// Do not divide PLL to MCO - PLLMCODIV: packed union { - raw: u1, - value: PLLMCODIV, - }, - }), - /// Clock interrupt register (RCC_CIR) + /// Microcontroller Clock Output Prescaler + MCOPRE: MCOPRE, + /// Do not divide PLL to MCO + PLLMCODIV: PLLMCODIV, + }), + /// Clock interrupt register (RCC_CIR) CIR: mmio.Mmio(packed struct(u32) { - /// LSI Ready Interrupt flag + /// LSI Ready Interrupt flag LSIRDYF: u1, - /// LSE Ready Interrupt flag + /// LSE Ready Interrupt flag LSERDYF: u1, - /// HSI Ready Interrupt flag + /// HSI Ready Interrupt flag HSIRDYF: u1, - /// HSE Ready Interrupt flag + /// HSE Ready Interrupt flag HSERDYF: u1, - /// PLL Ready Interrupt flag + /// PLL Ready Interrupt flag PLLRDYF: u1, reserved7: u2, - /// Clock Security System Interrupt flag + /// Clock Security System Interrupt flag CSSF: u1, - /// LSI Ready Interrupt Enable + /// LSI Ready Interrupt Enable LSIRDYIE: u1, - /// LSE Ready Interrupt Enable + /// LSE Ready Interrupt Enable LSERDYIE: u1, - /// HSI Ready Interrupt Enable + /// HSI Ready Interrupt Enable HSIRDYIE: u1, - /// HSE Ready Interrupt Enable + /// HSE Ready Interrupt Enable HSERDYIE: u1, - /// PLL Ready Interrupt Enable + /// PLL Ready Interrupt Enable PLLRDYIE: u1, reserved16: u3, - /// LSI Ready Interrupt Clear + /// LSI Ready Interrupt Clear LSIRDYC: u1, - /// LSE Ready Interrupt Clear + /// LSE Ready Interrupt Clear LSERDYC: u1, - /// HSI Ready Interrupt Clear + /// HSI Ready Interrupt Clear HSIRDYC: u1, - /// HSE Ready Interrupt Clear + /// HSE Ready Interrupt Clear HSERDYC: u1, - /// PLL Ready Interrupt Clear + /// PLL Ready Interrupt Clear PLLRDYC: u1, reserved23: u2, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// APB2 peripheral reset register (RCC_APB2RSTR) + /// APB2 peripheral reset register (RCC_APB2RSTR) APB2RSTR: mmio.Mmio(packed struct(u32) { - /// SYSCFG and COMP reset + /// SYSCFG and COMP reset SYSCFGRST: u1, reserved11: u10, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, - /// TIM8 timer reset + /// TIM8 timer reset TIM8RST: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, - /// SPI4 reset + /// SPI4 reset SPI4RST: u1, - /// TIM15 timer reset + /// TIM15 timer reset TIM15RST: u1, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, - /// TIM19 timer reset + /// TIM19 timer reset TIM19RST: u1, - /// TIM20 timer reset + /// TIM20 timer reset TIM20RST: u1, reserved22: u1, - /// Debug MCU reset + /// Debug MCU reset DBGMCURST: u1, reserved29: u6, - /// High Resolution Timer1 reset + /// High Resolution Timer1 reset HRTIM1RST: u1, padding: u2, }), - /// APB1 peripheral reset register (RCC_APB1RSTR) + /// APB1 peripheral reset register (RCC_APB1RSTR) APB1RSTR: mmio.Mmio(packed struct(u32) { - /// Timer 2 reset + /// Timer 2 reset TIM2RST: u1, - /// Timer 3 reset + /// Timer 3 reset TIM3RST: u1, - /// Timer 14 reset + /// Timer 14 reset TIM4RST: u1, reserved4: u1, - /// Timer 6 reset + /// Timer 6 reset TIM6RST: u1, - /// Timer 7 reset + /// Timer 7 reset TIM7RST: u1, reserved11: u5, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, - /// SPI3 reset + /// SPI3 reset SPI3RST: u1, reserved17: u1, - /// USART 2 reset + /// USART 2 reset USART2RST: u1, - /// USART3 reset + /// USART3 reset USART3RST: u1, - /// UART 4 reset + /// UART 4 reset UART4RST: u1, - /// UART 5 reset + /// UART 5 reset UART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// USB reset + /// USB reset USBRST: u1, reserved25: u1, - /// CAN reset + /// CAN reset CANRST: u1, - /// DAC2 interface reset + /// DAC2 interface reset DAC2RST: u1, reserved28: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC interface reset + /// DAC interface reset DACRST: u1, - /// I2C3 reset + /// I2C3 reset I2C3RST: u1, padding: u1, }), - /// AHB Peripheral Clock enable register (RCC_AHBENR) + /// AHB Peripheral Clock enable register (RCC_AHBENR) AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// SRAM interface clock enable + /// SRAM interface clock enable SRAMEN: u1, reserved4: u1, - /// FLASH clock enable + /// FLASH clock enable FLASHEN: u1, - /// FMC clock enable + /// FMC clock enable FMCEN: u1, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved16: u9, - /// IO port H clock enable + /// IO port H clock enable GPIOHEN: u1, - /// I/O port A clock enable + /// I/O port A clock enable GPIOAEN: u1, - /// I/O port B clock enable + /// I/O port B clock enable GPIOBEN: u1, - /// I/O port C clock enable + /// I/O port C clock enable GPIOCEN: u1, - /// I/O port D clock enable + /// I/O port D clock enable GPIODEN: u1, - /// I/O port E clock enable + /// I/O port E clock enable GPIOEEN: u1, - /// I/O port F clock enable + /// I/O port F clock enable GPIOFEN: u1, - /// IO port G clock enable + /// IO port G clock enable GPIOGEN: u1, - /// Touch sensing controller clock enable + /// Touch sensing controller clock enable TSCEN: u1, reserved28: u3, - /// ADC1 and ADC2 clock enable + /// ADC1 and ADC2 clock enable ADC12EN: u1, - /// ADC3 and ADC4 clock enable + /// ADC3 and ADC4 clock enable ADC34EN: u1, padding: u2, }), - /// APB2 peripheral clock enable register (RCC_APB2ENR) + /// APB2 peripheral clock enable register (RCC_APB2ENR) APB2ENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock enable + /// SYSCFG clock enable SYSCFGEN: u1, reserved11: u10, - /// TIM1 Timer clock enable + /// TIM1 Timer clock enable TIM1EN: u1, - /// SPI 1 clock enable + /// SPI 1 clock enable SPI1EN: u1, - /// TIM8 Timer clock enable + /// TIM8 Timer clock enable TIM8EN: u1, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, - /// SPI4 clock enable + /// SPI4 clock enable SPI4EN: u1, - /// TIM15 timer clock enable + /// TIM15 timer clock enable TIM15EN: u1, - /// TIM16 timer clock enable + /// TIM16 timer clock enable TIM16EN: u1, - /// TIM17 timer clock enable + /// TIM17 timer clock enable TIM17EN: u1, - /// TIM19 timer clock enable + /// TIM19 timer clock enable TIM19EN: u1, - /// TIM20 timer clock enable + /// TIM20 timer clock enable TIM20EN: u1, reserved22: u1, - /// MCU debug module clock enable + /// MCU debug module clock enable DBGMCUEN: u1, reserved29: u6, - /// High Resolution Timer 1 clock enable + /// High Resolution Timer 1 clock enable HRTIM1EN: u1, padding: u2, }), - /// APB1 peripheral clock enable register (RCC_APB1ENR) + /// APB1 peripheral clock enable register (RCC_APB1ENR) APB1ENR: mmio.Mmio(packed struct(u32) { - /// Timer 2 clock enable + /// Timer 2 clock enable TIM2EN: u1, - /// Timer 3 clock enable + /// Timer 3 clock enable TIM3EN: u1, - /// Timer 4 clock enable + /// Timer 4 clock enable TIM4EN: u1, reserved4: u1, - /// Timer 6 clock enable + /// Timer 6 clock enable TIM6EN: u1, - /// Timer 7 clock enable + /// Timer 7 clock enable TIM7EN: u1, reserved11: u5, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI 2 clock enable + /// SPI 2 clock enable SPI2EN: u1, - /// SPI 3 clock enable + /// SPI 3 clock enable SPI3EN: u1, reserved17: u1, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, - /// USART 3 clock enable + /// USART 3 clock enable USART3EN: u1, - /// UART4 clock enable + /// UART4 clock enable UART4EN: u1, - /// UART5 clock enable + /// UART5 clock enable UART5EN: u1, - /// I2C 1 clock enable + /// I2C 1 clock enable I2C1EN: u1, - /// I2C 2 clock enable + /// I2C 2 clock enable I2C2EN: u1, - /// USB clock enable + /// USB clock enable USBEN: u1, reserved25: u1, - /// CAN clock enable + /// CAN clock enable CANEN: u1, - /// DAC2 interface clock enable + /// DAC2 interface clock enable DAC2EN: u1, reserved28: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, - /// I2C3 clock enable + /// I2C3 clock enable I2C3EN: u1, padding: u1, }), - /// Backup domain control register (RCC_BDCR) + /// Backup domain control register (RCC_BDCR) BDCR: mmio.Mmio(packed struct(u32) { - /// External Low Speed oscillator enable + /// External Low Speed oscillator enable LSEON: u1, - /// External Low Speed oscillator ready + /// External Low Speed oscillator ready LSERDY: u1, - /// External Low Speed oscillator bypass + /// External Low Speed oscillator bypass LSEBYP: u1, - /// LSE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, + /// LSE oscillator drive capability + LSEDRV: LSEDRV, reserved8: u3, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, padding: u15, }), - /// Control/status register (RCC_CSR) + /// Control/status register (RCC_CSR) CSR: mmio.Mmio(packed struct(u32) { - /// Internal low speed oscillator enable + /// Internal low speed oscillator enable LSION: u1, - /// Internal low speed oscillator ready + /// Internal low speed oscillator ready LSIRDY: u1, reserved23: u21, - /// Reset flag of the 1.8 V domain + /// Reset flag of the 1.8 V domain V18PWRRSTF: u1, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// PIN reset flag + /// PIN reset flag PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), - /// AHB peripheral reset register + /// AHB peripheral reset register AHBRSTR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// FMC reset + /// FMC reset FMCRST: u1, reserved16: u10, - /// IO port H reset + /// IO port H reset GPIOHRST: u1, - /// I/O port A reset + /// I/O port A reset GPIOARST: u1, - /// I/O port B reset + /// I/O port B reset GPIOBRST: u1, - /// I/O port C reset + /// I/O port C reset GPIOCRST: u1, - /// I/O port D reset + /// I/O port D reset GPIODRST: u1, - /// I/O port E reset + /// I/O port E reset GPIOERST: u1, - /// I/O port F reset + /// I/O port F reset GPIOFRST: u1, - /// IO port G reset + /// IO port G reset GPIOGRST: u1, - /// Touch sensing controller reset + /// Touch sensing controller reset TSCRST: u1, reserved28: u3, - /// ADC1 and ADC2 reset + /// ADC1 and ADC2 reset ADC12RST: u1, - /// ADC3 and ADC4 reset + /// ADC3 and ADC4 reset ADC34RST: u1, padding: u2, }), - /// Clock configuration register 2 + /// Clock configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// PREDIV division factor - PREDIV: packed union { - raw: u4, - value: PREDIV, - }, - /// ADC1 and ADC2 prescaler - ADC12PRES: packed union { - raw: u5, - value: ADCPRES, - }, - /// ADC3 and ADC4 prescaler - ADC34PRES: packed union { - raw: u5, - value: ADCPRES, - }, + /// PREDIV division factor + PREDIV: PREDIV, + /// ADC1 and ADC2 prescaler + ADC12PRES: ADCPRES, + /// ADC3 and ADC4 prescaler + ADC34PRES: ADCPRES, padding: u18, }), - /// Clock configuration register 3 + /// Clock configuration register 3 CFGR3: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection - USART1SW: packed union { - raw: u2, - value: USART1SW, - }, + /// USART1 clock source selection + USART1SW: USART1SW, reserved4: u2, - /// I2C1 clock source selection - I2C1SW: packed union { - raw: u1, - value: ICSW, - }, - /// I2C2 clock source selection - I2C2SW: packed union { - raw: u1, - value: ICSW, - }, - /// HDMI CEC clock source selection - CECSW: packed union { - raw: u1, - value: CECSW, - }, + /// I2C1 clock source selection + I2C1SW: ICSW, + /// I2C2 clock source selection + I2C2SW: ICSW, + /// HDMI CEC clock source selection + CECSW: CECSW, reserved8: u1, - /// Timer1 clock source selection - TIM1SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer8 clock source selection - TIM8SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer15 clock source selection - TIM15SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer16 clock source selection - TIM16SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Hrtim1 clock source selection - HRTIM1SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer17 clock source selection - TIM17SW: packed union { - raw: u1, - value: TIMSW, - }, + /// Timer1 clock source selection + TIM1SW: TIMSW, + /// Timer8 clock source selection + TIM8SW: TIMSW, + /// Timer15 clock source selection + TIM15SW: TIMSW, + /// Timer16 clock source selection + TIM16SW: TIMSW, + /// Hrtim1 clock source selection + HRTIM1SW: TIMSW, + /// Timer17 clock source selection + TIM17SW: TIMSW, reserved15: u1, - /// Timer20 clock source selection - TIM20SW: packed union { - raw: u1, - value: TIMSW, - }, - /// USART2 clock source selection - USART2SW: packed union { - raw: u2, - value: USARTSW, - }, - /// USART3 clock source selection - USART3SW: packed union { - raw: u2, - value: USARTSW, - }, - /// UART4 clock source selection - UART4SW: packed union { - raw: u2, - value: USARTSW, - }, - /// UART5 clock source selection - UART5SW: packed union { - raw: u2, - value: USARTSW, - }, - /// Timer2 clock source selection - TIM2SW: packed union { - raw: u1, - value: TIM2SW, - }, - /// Timer34 clock source selection - TIM34SW: packed union { - raw: u1, - value: TIMSW, - }, + /// Timer20 clock source selection + TIM20SW: TIMSW, + /// USART2 clock source selection + USART2SW: USARTSW, + /// USART3 clock source selection + USART3SW: USARTSW, + /// UART4 clock source selection + UART4SW: USARTSW, + /// UART5 clock source selection + UART5SW: USARTSW, + /// Timer2 clock source selection + TIM2SW: TIM2SW, + /// Timer34 clock source selection + TIM34SW: TIMSW, padding: u6, }), }; @@ -373037,844 +367748,739 @@ pub const types = struct { pub const rcc_f3v3 = struct { pub const ADCPRE = enum(u2) { - /// PCLK divided by 2 + /// PCLK divided by 2 Div2 = 0x0, - /// PCLK divided by 4 + /// PCLK divided by 4 Div4 = 0x1, - /// PCLK divided by 6 + /// PCLK divided by 6 Div6 = 0x2, - /// PCLK divided by 8 + /// PCLK divided by 8 Div8 = 0x3, }; pub const ADCPRES = enum(u5) { - /// PLL clock not divided + /// PLL clock not divided Div1 = 0x10, - /// PLL clock divided by 2 + /// PLL clock divided by 2 Div2 = 0x11, - /// PLL clock divided by 4 + /// PLL clock divided by 4 Div4 = 0x12, - /// PLL clock divided by 6 + /// PLL clock divided by 6 Div6 = 0x13, - /// PLL clock divided by 8 + /// PLL clock divided by 8 Div8 = 0x14, - /// PLL clock divided by 10 + /// PLL clock divided by 10 Div10 = 0x15, - /// PLL clock divided by 12 + /// PLL clock divided by 12 Div12 = 0x16, - /// PLL clock divided by 16 + /// PLL clock divided by 16 Div16 = 0x17, - /// PLL clock divided by 32 + /// PLL clock divided by 32 Div32 = 0x18, - /// PLL clock divided by 64 + /// PLL clock divided by 64 Div64 = 0x19, - /// PLL clock divided by 128 + /// PLL clock divided by 128 Div128 = 0x1a, - /// PLL clock divided by 256 + /// PLL clock divided by 256 Div256 = 0x1b, _, }; pub const CECSW = enum(u1) { - /// HSI clock divided by 244 selected as CEC clock source + /// HSI clock divided by 244 selected as CEC clock source HSI_DIV_244 = 0x0, - /// LSE clock selected as CEC clock source + /// LSE clock selected as CEC clock source LSE = 0x1, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const ICSW = enum(u1) { - /// HSI clock selected as I2C clock source + /// HSI clock selected as I2C clock source HSI = 0x0, - /// SYSCLK clock selected as I2C clock source + /// SYSCLK clock selected as I2C clock source SYS = 0x1, }; pub const ISSRC = enum(u1) { - /// System clock used as I2S clock source + /// System clock used as I2S clock source SYS = 0x0, - /// External clock mapped on the I2S_CKIN pin used as I2S clock source + /// External clock mapped on the I2S_CKIN pin used as I2S clock source CKIN = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x1, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u3) { - /// MCO is divided by 1 + /// MCO is divided by 1 Div1 = 0x0, - /// MCO is divided by 2 + /// MCO is divided by 2 Div2 = 0x1, - /// MCO is divided by 4 + /// MCO is divided by 4 Div4 = 0x2, - /// MCO is divided by 8 + /// MCO is divided by 8 Div8 = 0x3, - /// MCO is divided by 16 + /// MCO is divided by 16 Div16 = 0x4, - /// MCO is divided by 32 + /// MCO is divided by 32 Div32 = 0x5, - /// MCO is divided by 64 + /// MCO is divided by 64 Div64 = 0x6, - /// MCO is divided by 128 + /// MCO is divided by 128 Div128 = 0x7, }; pub const MCOSEL = enum(u3) { - /// MCO output disabled, no clock on MCO + /// MCO output disabled, no clock on MCO DISABLE = 0x0, - /// Internal low speed (LSI) oscillator clock selected + /// Internal low speed (LSI) oscillator clock selected LSI = 0x2, - /// External low speed (LSE) oscillator clock selected + /// External low speed (LSE) oscillator clock selected LSE = 0x3, - /// System clock selected + /// System clock selected SYS = 0x4, - /// Internal RC 8 MHz (HSI) oscillator clock selected + /// Internal RC 8 MHz (HSI) oscillator clock selected HSI = 0x5, - /// External 4-32 MHz (HSE) oscillator clock selected + /// External 4-32 MHz (HSE) oscillator clock selected HSE = 0x6, - /// PLL clock selected (divided by 1 or 2, depending en PLLMCODIV) + /// PLL clock selected (divided by 1 or 2, depending en PLLMCODIV) PLL = 0x7, _, }; pub const PLLMCODIV = enum(u1) { - /// PLL is divided by 2 for MCO + /// PLL is divided by 2 for MCO Div2 = 0x0, - /// PLL is not divided for MCO + /// PLL is not divided for MCO Div1 = 0x1, }; pub const PLLMUL = enum(u4) { - /// PLL input clock x2 + /// PLL input clock x2 Mul2 = 0x0, - /// PLL input clock x3 + /// PLL input clock x3 Mul3 = 0x1, - /// PLL input clock x4 + /// PLL input clock x4 Mul4 = 0x2, - /// PLL input clock x5 + /// PLL input clock x5 Mul5 = 0x3, - /// PLL input clock x6 + /// PLL input clock x6 Mul6 = 0x4, - /// PLL input clock x7 + /// PLL input clock x7 Mul7 = 0x5, - /// PLL input clock x8 + /// PLL input clock x8 Mul8 = 0x6, - /// PLL input clock x9 + /// PLL input clock x9 Mul9 = 0x7, - /// PLL input clock x10 + /// PLL input clock x10 Mul10 = 0x8, - /// PLL input clock x11 + /// PLL input clock x11 Mul11 = 0x9, - /// PLL input clock x12 + /// PLL input clock x12 Mul12 = 0xa, - /// PLL input clock x13 + /// PLL input clock x13 Mul13 = 0xb, - /// PLL input clock x14 + /// PLL input clock x14 Mul14 = 0xc, - /// PLL input clock x15 + /// PLL input clock x15 Mul15 = 0xd, - /// PLL input clock x16 + /// PLL input clock x16 Mul16 = 0xe, _, }; pub const PLLSRC = enum(u2) { - /// HSI divided by 2 selected as PLL input clock + /// HSI divided by 2 selected as PLL input clock HSI_Div2 = 0x0, - /// HSI divided by PREDIV selected as PLL input clock + /// HSI divided by PREDIV selected as PLL input clock HSI_Div_PREDIV = 0x1, - /// HSE divided by PREDIV selected as PLL input clock + /// HSE divided by PREDIV selected as PLL input clock HSE_Div_PREDIV = 0x2, _, }; pub const PLLXTPRE = enum(u1) { - /// HSE clock not divided + /// HSE clock not divided Div1 = 0x0, - /// HSE clock divided by 2 + /// HSE clock divided by 2 Div2 = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const PREDIV = enum(u4) { - /// PREDIV input clock not divided + /// PREDIV input clock not divided Div1 = 0x0, - /// PREDIV input clock divided by 2 + /// PREDIV input clock divided by 2 Div2 = 0x1, - /// PREDIV input clock divided by 3 + /// PREDIV input clock divided by 3 Div3 = 0x2, - /// PREDIV input clock divided by 4 + /// PREDIV input clock divided by 4 Div4 = 0x3, - /// PREDIV input clock divided by 5 + /// PREDIV input clock divided by 5 Div5 = 0x4, - /// PREDIV input clock divided by 6 + /// PREDIV input clock divided by 6 Div6 = 0x5, - /// PREDIV input clock divided by 7 + /// PREDIV input clock divided by 7 Div7 = 0x6, - /// PREDIV input clock divided by 8 + /// PREDIV input clock divided by 8 Div8 = 0x7, - /// PREDIV input clock divided by 9 + /// PREDIV input clock divided by 9 Div9 = 0x8, - /// PREDIV input clock divided by 10 + /// PREDIV input clock divided by 10 Div10 = 0x9, - /// PREDIV input clock divided by 11 + /// PREDIV input clock divided by 11 Div11 = 0xa, - /// PREDIV input clock divided by 12 + /// PREDIV input clock divided by 12 Div12 = 0xb, - /// PREDIV input clock divided by 13 + /// PREDIV input clock divided by 13 Div13 = 0xc, - /// PREDIV input clock divided by 14 + /// PREDIV input clock divided by 14 Div14 = 0xd, - /// PREDIV input clock divided by 15 + /// PREDIV input clock divided by 15 Div15 = 0xe, - /// PREDIV input clock divided by 16 + /// PREDIV input clock divided by 16 Div16 = 0xf, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SW = enum(u2) { - /// HSI oscillator used as system clock + /// HSI oscillator used as system clock HSI = 0x0, - /// HSE oscillator used as system clock + /// HSE oscillator used as system clock HSE = 0x1, - /// PLL used as system clock + /// PLL used as system clock PLL1_P = 0x2, _, }; pub const TIM2SW = enum(u1) { - /// PCLK2 clock (doubled frequency when prescaled) + /// PCLK2 clock (doubled frequency when prescaled) PCLK1_TIM = 0x0, - /// PLL vco output (running up to 144 MHz) + /// PLL vco output (running up to 144 MHz) PLL1_P_MUL_2 = 0x1, }; pub const TIMSW = enum(u1) { - /// PCLK2 clock (doubled frequency when prescaled) + /// PCLK2 clock (doubled frequency when prescaled) PCLK2_TIM = 0x0, - /// PLL vco output (running up to 144 MHz) + /// PLL vco output (running up to 144 MHz) PLL1_P_MUL_2 = 0x1, }; pub const USART1SW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK2 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USARTSW = enum(u2) { - /// PCLK selected as USART clock source + /// PCLK selected as USART clock source PCLK1 = 0x0, - /// SYSCLK selected as USART clock source + /// SYSCLK selected as USART clock source SYS = 0x1, - /// LSE selected as USART clock source + /// LSE selected as USART clock source LSE = 0x2, - /// HSI selected as USART clock source + /// HSI selected as USART clock source HSI = 0x3, }; pub const USBPRE = enum(u1) { - /// PLL clock is divided by 1.5 + /// PLL clock is divided by 1.5 Div1_5 = 0x0, - /// PLL clock is not divided + /// PLL clock is not divided Div1 = 0x1, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal High Speed clock enable + /// Internal High Speed clock enable HSION: u1, - /// Internal High Speed clock ready flag + /// Internal High Speed clock ready flag HSIRDY: u1, reserved3: u1, - /// Internal High Speed clock trimming + /// Internal High Speed clock trimming HSITRIM: u5, - /// Internal High Speed clock Calibration + /// Internal High Speed clock Calibration HSICAL: u8, - /// External High Speed clock enable + /// External High Speed clock enable HSEON: u1, - /// External High Speed clock ready flag + /// External High Speed clock ready flag HSERDY: u1, - /// External High Speed clock Bypass + /// External High Speed clock Bypass HSEBYP: u1, - /// Clock Security System enable + /// Clock Security System enable CSSON: u1, reserved24: u4, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Clock configuration register (RCC_CFGR) + /// Clock configuration register (RCC_CFGR) CFGR: mmio.Mmio(packed struct(u32) { - /// System clock Switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System Clock Switch Status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB Low speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, - /// ADC prescaler - ADCPRE: packed union { - raw: u2, - value: ADCPRE, - }, + /// System clock Switch + SW: SW, + /// System Clock Switch Status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB Low speed prescaler (APB1) + PPRE1: PPRE, + /// APB high speed prescaler (APB2) + PPRE2: PPRE, + /// ADC prescaler + ADCPRE: ADCPRE, reserved17: u1, - /// HSE divider for PLL entry. Note: This bit is the same as the LSB of PREDIV in CFGR2, for compatibility with other STM32 products. - PLLXTPRE: packed union { - raw: u1, - value: PLLXTPRE, - }, - /// PLL Multiplication Factor - PLLMUL: packed union { - raw: u4, - value: PLLMUL, - }, - /// USB prescaler - USBPRE: packed union { - raw: u1, - value: USBPRE, - }, - /// I2S external clock source selection - I2SSRC: packed union { - raw: u1, - value: ISSRC, - }, - /// Microcontroller clock output - MCOSEL: packed union { - raw: u3, - value: MCOSEL, - }, + /// HSE divider for PLL entry. Note: This bit is the same as the LSB of PREDIV in CFGR2, for compatibility with other STM32 products. + PLLXTPRE: PLLXTPRE, + /// PLL Multiplication Factor + PLLMUL: PLLMUL, + /// USB prescaler + USBPRE: USBPRE, + /// I2S external clock source selection + I2SSRC: ISSRC, + /// Microcontroller clock output + MCOSEL: MCOSEL, reserved28: u1, - /// Microcontroller Clock Output Prescaler - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, - /// Do not divide PLL to MCO - PLLMCODIV: packed union { - raw: u1, - value: PLLMCODIV, - }, - }), - /// Clock interrupt register (RCC_CIR) + /// Microcontroller Clock Output Prescaler + MCOPRE: MCOPRE, + /// Do not divide PLL to MCO + PLLMCODIV: PLLMCODIV, + }), + /// Clock interrupt register (RCC_CIR) CIR: mmio.Mmio(packed struct(u32) { - /// LSI Ready Interrupt flag + /// LSI Ready Interrupt flag LSIRDYF: u1, - /// LSE Ready Interrupt flag + /// LSE Ready Interrupt flag LSERDYF: u1, - /// HSI Ready Interrupt flag + /// HSI Ready Interrupt flag HSIRDYF: u1, - /// HSE Ready Interrupt flag + /// HSE Ready Interrupt flag HSERDYF: u1, - /// PLL Ready Interrupt flag + /// PLL Ready Interrupt flag PLLRDYF: u1, reserved7: u2, - /// Clock Security System Interrupt flag + /// Clock Security System Interrupt flag CSSF: u1, - /// LSI Ready Interrupt Enable + /// LSI Ready Interrupt Enable LSIRDYIE: u1, - /// LSE Ready Interrupt Enable + /// LSE Ready Interrupt Enable LSERDYIE: u1, - /// HSI Ready Interrupt Enable + /// HSI Ready Interrupt Enable HSIRDYIE: u1, - /// HSE Ready Interrupt Enable + /// HSE Ready Interrupt Enable HSERDYIE: u1, - /// PLL Ready Interrupt Enable + /// PLL Ready Interrupt Enable PLLRDYIE: u1, reserved16: u3, - /// LSI Ready Interrupt Clear + /// LSI Ready Interrupt Clear LSIRDYC: u1, - /// LSE Ready Interrupt Clear + /// LSE Ready Interrupt Clear LSERDYC: u1, - /// HSI Ready Interrupt Clear + /// HSI Ready Interrupt Clear HSIRDYC: u1, - /// HSE Ready Interrupt Clear + /// HSE Ready Interrupt Clear HSERDYC: u1, - /// PLL Ready Interrupt Clear + /// PLL Ready Interrupt Clear PLLRDYC: u1, reserved23: u2, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// APB2 peripheral reset register (RCC_APB2RSTR) + /// APB2 peripheral reset register (RCC_APB2RSTR) APB2RSTR: mmio.Mmio(packed struct(u32) { - /// SYSCFG and COMP reset + /// SYSCFG and COMP reset SYSCFGRST: u1, reserved11: u10, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, - /// TIM8 timer reset + /// TIM8 timer reset TIM8RST: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, - /// SPI4 reset + /// SPI4 reset SPI4RST: u1, - /// TIM15 timer reset + /// TIM15 timer reset TIM15RST: u1, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, - /// TIM19 timer reset + /// TIM19 timer reset TIM19RST: u1, - /// TIM20 timer reset + /// TIM20 timer reset TIM20RST: u1, reserved22: u1, - /// Debug MCU reset + /// Debug MCU reset DBGMCURST: u1, reserved29: u6, - /// High Resolution Timer1 reset + /// High Resolution Timer1 reset HRTIM1RST: u1, padding: u2, }), - /// APB1 peripheral reset register (RCC_APB1RSTR) + /// APB1 peripheral reset register (RCC_APB1RSTR) APB1RSTR: mmio.Mmio(packed struct(u32) { - /// Timer 2 reset + /// Timer 2 reset TIM2RST: u1, - /// Timer 3 reset + /// Timer 3 reset TIM3RST: u1, - /// Timer 14 reset + /// Timer 14 reset TIM4RST: u1, reserved4: u1, - /// Timer 6 reset + /// Timer 6 reset TIM6RST: u1, - /// Timer 7 reset + /// Timer 7 reset TIM7RST: u1, reserved11: u5, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, - /// SPI3 reset + /// SPI3 reset SPI3RST: u1, reserved17: u1, - /// USART 2 reset + /// USART 2 reset USART2RST: u1, - /// USART3 reset + /// USART3 reset USART3RST: u1, - /// UART 4 reset + /// UART 4 reset UART4RST: u1, - /// UART 5 reset + /// UART 5 reset UART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// USB reset + /// USB reset USBRST: u1, reserved25: u1, - /// CAN reset + /// CAN reset CANRST: u1, - /// DAC2 interface reset + /// DAC2 interface reset DAC2RST: u1, reserved28: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC interface reset + /// DAC interface reset DACRST: u1, - /// I2C3 reset + /// I2C3 reset I2C3RST: u1, padding: u1, }), - /// AHB Peripheral Clock enable register (RCC_AHBENR) + /// AHB Peripheral Clock enable register (RCC_AHBENR) AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// SRAM interface clock enable + /// SRAM interface clock enable SRAMEN: u1, reserved4: u1, - /// FLASH clock enable + /// FLASH clock enable FLASHEN: u1, - /// FMC clock enable + /// FMC clock enable FMCEN: u1, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved16: u9, - /// IO port H clock enable + /// IO port H clock enable GPIOHEN: u1, - /// I/O port A clock enable + /// I/O port A clock enable GPIOAEN: u1, - /// I/O port B clock enable + /// I/O port B clock enable GPIOBEN: u1, - /// I/O port C clock enable + /// I/O port C clock enable GPIOCEN: u1, - /// I/O port D clock enable + /// I/O port D clock enable GPIODEN: u1, - /// I/O port E clock enable + /// I/O port E clock enable GPIOEEN: u1, - /// I/O port F clock enable + /// I/O port F clock enable GPIOFEN: u1, - /// IO port G clock enable + /// IO port G clock enable GPIOGEN: u1, - /// Touch sensing controller clock enable + /// Touch sensing controller clock enable TSCEN: u1, reserved28: u3, - /// ADC1 and ADC2 clock enable + /// ADC1 and ADC2 clock enable ADC12EN: u1, - /// ADC3 and ADC4 clock enable + /// ADC3 and ADC4 clock enable ADC34EN: u1, padding: u2, }), - /// APB2 peripheral clock enable register (RCC_APB2ENR) + /// APB2 peripheral clock enable register (RCC_APB2ENR) APB2ENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock enable + /// SYSCFG clock enable SYSCFGEN: u1, reserved11: u10, - /// TIM1 Timer clock enable + /// TIM1 Timer clock enable TIM1EN: u1, - /// SPI 1 clock enable + /// SPI 1 clock enable SPI1EN: u1, - /// TIM8 Timer clock enable + /// TIM8 Timer clock enable TIM8EN: u1, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, - /// SPI4 clock enable + /// SPI4 clock enable SPI4EN: u1, - /// TIM15 timer clock enable + /// TIM15 timer clock enable TIM15EN: u1, - /// TIM16 timer clock enable + /// TIM16 timer clock enable TIM16EN: u1, - /// TIM17 timer clock enable + /// TIM17 timer clock enable TIM17EN: u1, - /// TIM19 timer clock enable + /// TIM19 timer clock enable TIM19EN: u1, - /// TIM20 timer clock enable + /// TIM20 timer clock enable TIM20EN: u1, reserved22: u1, - /// MCU debug module clock enable + /// MCU debug module clock enable DBGMCUEN: u1, reserved29: u6, - /// High Resolution Timer 1 clock enable + /// High Resolution Timer 1 clock enable HRTIM1EN: u1, padding: u2, }), - /// APB1 peripheral clock enable register (RCC_APB1ENR) + /// APB1 peripheral clock enable register (RCC_APB1ENR) APB1ENR: mmio.Mmio(packed struct(u32) { - /// Timer 2 clock enable + /// Timer 2 clock enable TIM2EN: u1, - /// Timer 3 clock enable + /// Timer 3 clock enable TIM3EN: u1, - /// Timer 4 clock enable + /// Timer 4 clock enable TIM4EN: u1, reserved4: u1, - /// Timer 6 clock enable + /// Timer 6 clock enable TIM6EN: u1, - /// Timer 7 clock enable + /// Timer 7 clock enable TIM7EN: u1, reserved11: u5, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI 2 clock enable + /// SPI 2 clock enable SPI2EN: u1, - /// SPI 3 clock enable + /// SPI 3 clock enable SPI3EN: u1, reserved17: u1, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, - /// USART 3 clock enable + /// USART 3 clock enable USART3EN: u1, - /// UART4 clock enable + /// UART4 clock enable UART4EN: u1, - /// UART5 clock enable + /// UART5 clock enable UART5EN: u1, - /// I2C 1 clock enable + /// I2C 1 clock enable I2C1EN: u1, - /// I2C 2 clock enable + /// I2C 2 clock enable I2C2EN: u1, - /// USB clock enable + /// USB clock enable USBEN: u1, reserved25: u1, - /// CAN clock enable + /// CAN clock enable CANEN: u1, - /// DAC2 interface clock enable + /// DAC2 interface clock enable DAC2EN: u1, reserved28: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, - /// I2C3 clock enable + /// I2C3 clock enable I2C3EN: u1, padding: u1, }), - /// Backup domain control register (RCC_BDCR) + /// Backup domain control register (RCC_BDCR) BDCR: mmio.Mmio(packed struct(u32) { - /// External Low Speed oscillator enable + /// External Low Speed oscillator enable LSEON: u1, - /// External Low Speed oscillator ready + /// External Low Speed oscillator ready LSERDY: u1, - /// External Low Speed oscillator bypass + /// External Low Speed oscillator bypass LSEBYP: u1, - /// LSE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, + /// LSE oscillator drive capability + LSEDRV: LSEDRV, reserved8: u3, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, padding: u15, }), - /// Control/status register (RCC_CSR) + /// Control/status register (RCC_CSR) CSR: mmio.Mmio(packed struct(u32) { - /// Internal low speed oscillator enable + /// Internal low speed oscillator enable LSION: u1, - /// Internal low speed oscillator ready + /// Internal low speed oscillator ready LSIRDY: u1, reserved23: u21, - /// Reset flag of the 1.8 V domain + /// Reset flag of the 1.8 V domain V18PWRRSTF: u1, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// PIN reset flag + /// PIN reset flag PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), - /// AHB peripheral reset register + /// AHB peripheral reset register AHBRSTR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// FMC reset + /// FMC reset FMCRST: u1, reserved16: u10, - /// IO port H reset + /// IO port H reset GPIOHRST: u1, - /// I/O port A reset + /// I/O port A reset GPIOARST: u1, - /// I/O port B reset + /// I/O port B reset GPIOBRST: u1, - /// I/O port C reset + /// I/O port C reset GPIOCRST: u1, - /// I/O port D reset + /// I/O port D reset GPIODRST: u1, - /// I/O port E reset + /// I/O port E reset GPIOERST: u1, - /// I/O port F reset + /// I/O port F reset GPIOFRST: u1, - /// IO port G reset + /// IO port G reset GPIOGRST: u1, - /// Touch sensing controller reset + /// Touch sensing controller reset TSCRST: u1, reserved28: u3, - /// ADC1 and ADC2 reset + /// ADC1 and ADC2 reset ADC12RST: u1, - /// ADC3 and ADC4 reset + /// ADC3 and ADC4 reset ADC34RST: u1, padding: u2, }), - /// Clock configuration register 2 + /// Clock configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// PREDIV division factor - PREDIV: packed union { - raw: u4, - value: PREDIV, - }, - /// ADC1 and ADC2 prescaler - ADC12PRES: packed union { - raw: u5, - value: ADCPRES, - }, - /// ADC3 and ADC4 prescaler - ADC34PRES: packed union { - raw: u5, - value: ADCPRES, - }, + /// PREDIV division factor + PREDIV: PREDIV, + /// ADC1 and ADC2 prescaler + ADC12PRES: ADCPRES, + /// ADC3 and ADC4 prescaler + ADC34PRES: ADCPRES, padding: u18, }), - /// Clock configuration register 3 + /// Clock configuration register 3 CFGR3: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection - USART1SW: packed union { - raw: u2, - value: USART1SW, - }, + /// USART1 clock source selection + USART1SW: USART1SW, reserved4: u2, - /// I2C1 clock source selection - I2C1SW: packed union { - raw: u1, - value: ICSW, - }, - /// I2C2 clock source selection - I2C2SW: packed union { - raw: u1, - value: ICSW, - }, - /// HDMI CEC clock source selection - CECSW: packed union { - raw: u1, - value: CECSW, - }, + /// I2C1 clock source selection + I2C1SW: ICSW, + /// I2C2 clock source selection + I2C2SW: ICSW, + /// HDMI CEC clock source selection + CECSW: CECSW, reserved8: u1, - /// Timer1 clock source selection - TIM1SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer8 clock source selection - TIM8SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer15 clock source selection - TIM15SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer16 clock source selection - TIM16SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Hrtim1 clock source selection - HRTIM1SW: packed union { - raw: u1, - value: TIMSW, - }, - /// Timer17 clock source selection - TIM17SW: packed union { - raw: u1, - value: TIMSW, - }, + /// Timer1 clock source selection + TIM1SW: TIMSW, + /// Timer8 clock source selection + TIM8SW: TIMSW, + /// Timer15 clock source selection + TIM15SW: TIMSW, + /// Timer16 clock source selection + TIM16SW: TIMSW, + /// Hrtim1 clock source selection + HRTIM1SW: TIMSW, + /// Timer17 clock source selection + TIM17SW: TIMSW, reserved15: u1, - /// Timer20 clock source selection - TIM20SW: packed union { - raw: u1, - value: TIMSW, - }, - /// USART2 clock source selection - USART2SW: packed union { - raw: u2, - value: USARTSW, - }, - /// USART3 clock source selection - USART3SW: packed union { - raw: u2, - value: USARTSW, - }, - /// UART4 clock source selection - UART4SW: packed union { - raw: u2, - value: USARTSW, - }, - /// UART5 clock source selection - UART5SW: packed union { - raw: u2, - value: USARTSW, - }, - /// Timer2 clock source selection - TIM2SW: packed union { - raw: u1, - value: TIM2SW, - }, - /// Timer34 clock source selection - TIM34SW: packed union { - raw: u1, - value: TIMSW, - }, + /// Timer20 clock source selection + TIM20SW: TIMSW, + /// USART2 clock source selection + USART2SW: USARTSW, + /// USART3 clock source selection + USART3SW: USARTSW, + /// UART4 clock source selection + UART4SW: USARTSW, + /// UART5 clock source selection + UART5SW: USARTSW, + /// Timer2 clock source selection + TIM2SW: TIM2SW, + /// Timer34 clock source selection + TIM34SW: TIMSW, padding: u6, }), }; @@ -373882,360 +368488,360 @@ pub const types = struct { pub const rcc_f4 = struct { pub const CECSEL = enum(u1) { - /// LSE clock is selected as HDMI-CEC clock + /// LSE clock is selected as HDMI-CEC clock LSE = 0x0, - /// HSI divided by 488 clock is selected as HDMI-CEC clock + /// HSI divided by 488 clock is selected as HDMI-CEC clock HSI_Div488 = 0x1, }; pub const CKDFSDMASEL = enum(u1) { - /// CK_I2S_APB1 selected as audio clock + /// CK_I2S_APB1 selected as audio clock I2S1 = 0x0, - /// CK_I2S_APB2 selected as audio clock + /// CK_I2S_APB2 selected as audio clock I2S2 = 0x1, }; pub const CKDFSDMSEL = enum(u1) { - /// APB2 clock used as Kernel clock + /// APB2 clock used as Kernel clock PCLK2 = 0x0, - /// System clock used as Kernel clock + /// System clock used as Kernel clock SYS = 0x1, }; pub const CLK48SEL = enum(u1) { - /// 48MHz clock from PLL is selected + /// 48MHz clock from PLL is selected PLL1_Q = 0x0, - /// 48MHz clock from PLLSAI is selected + /// 48MHz clock from PLLSAI is selected PLLSAI1_Q = 0x1, }; pub const DSISEL = enum(u1) { - /// DSI-PHY used as DSI byte lane clock source (usual case) + /// DSI-PHY used as DSI byte lane clock source (usual case) DSI_PHY = 0x0, - /// PLLR used as DSI byte lane clock source, used in case DSI PLL and DSI-PHY are off (low power mode) + /// PLLR used as DSI byte lane clock source, used in case DSI PLL and DSI-PHY are off (low power mode) PLL1_R = 0x1, }; pub const FMPI2CSEL = enum(u2) { - /// APB clock selected as I2C clock + /// APB clock selected as I2C clock PCLK1 = 0x0, - /// System clock selected as I2C clock + /// System clock selected as I2C clock SYS = 0x1, - /// HSI clock selected as I2C clock + /// HSI clock selected as I2C clock HSI = 0x2, _, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const I2S1SRC = enum(u2) { - /// I2Sx clock frequency = f(PLLI2S_R) + /// I2Sx clock frequency = f(PLLI2S_R) PLLI2SR = 0x0, - /// I2Sx clock frequency = I2S_CKIN Alternate function input frequency + /// I2Sx clock frequency = I2S_CKIN Alternate function input frequency I2S_CKIN = 0x1, - /// I2Sx clock frequency = f(PLL_R) + /// I2Sx clock frequency = f(PLL_R) PLLR = 0x2, - /// I2Sx clock frequency = HSI/HSE depends on PLLSRC bit (PLLCFGR[22]) + /// I2Sx clock frequency = HSI/HSE depends on PLLSRC bit (PLLCFGR[22]) HSI_HSE = 0x3, }; pub const I2SSRC_CFGR = enum(u1) { - /// PLLI2S clock used as I2S clock source + /// PLLI2S clock used as I2S clock source PLLI2S = 0x0, - /// External clock mapped on the I2S_CKIN pin used as I2S clock source + /// External clock mapped on the I2S_CKIN pin used as I2S clock source CKIN = 0x1, }; pub const I2SSRC_DCKCFGR = enum(u2) { - /// clock frequency = f(PLLI2S_R) + /// clock frequency = f(PLLI2S_R) PLLI2S_R = 0x0, - /// clock frequency = I2S_CKIN Alternate function input frequency + /// clock frequency = I2S_CKIN Alternate function input frequency I2S_CKIN = 0x1, - /// clock frequency = f(PLL_R) + /// clock frequency = f(PLL_R) PLL_R = 0x2, - /// clock frequency = HSI/HSE depends on PLLSRC bit (PLLCFGR[22]) + /// clock frequency = HSI/HSE depends on PLLSRC bit (PLLCFGR[22]) HSI_HSE = 0x3, }; pub const LPTIMSEL = enum(u2) { - /// APB1 clock (PCLK1) selected as LPTILM1 clock + /// APB1 clock (PCLK1) selected as LPTILM1 clock PCLK1 = 0x0, - /// LSI clock is selected as LPTILM1 clock + /// LSI clock is selected as LPTILM1 clock LSI = 0x1, - /// HSI clock is selected as LPTILM1 clock + /// HSI clock is selected as LPTILM1 clock HSI = 0x2, - /// LSE clock is selected as LPTILM1 clock + /// LSE clock is selected as LPTILM1 clock LSE = 0x3, }; pub const LSEMOD = enum(u1) { - /// LSE oscillator low power mode selection + /// LSE oscillator low power mode selection Low = 0x0, - /// LSE oscillator high drive mode selection + /// LSE oscillator high drive mode selection High = 0x1, }; pub const MCO1SEL = enum(u2) { - /// HSI clock selected + /// HSI clock selected HSI = 0x0, - /// LSE oscillator selected + /// LSE oscillator selected LSE = 0x1, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x2, - /// PLL clock selected + /// PLL clock selected PLL = 0x3, }; pub const MCO2SEL = enum(u2) { - /// System clock (SYSCLK) selected + /// System clock (SYSCLK) selected SYS = 0x0, - /// PLLI2S clock selected + /// PLLI2S clock selected PLLI2S = 0x1, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x2, - /// PLL clock selected + /// PLL clock selected PLL = 0x3, }; pub const MCOPRE = enum(u3) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x4, - /// Division by 3 + /// Division by 3 Div3 = 0x5, - /// Division by 4 + /// Division by 4 Div4 = 0x6, - /// Division by 5 + /// Division by 5 Div5 = 0x7, _, }; pub const PLLDIVR = enum(u5) { - /// PLLSAIDIVQ = /1 + /// PLLSAIDIVQ = /1 Div1 = 0x0, - /// PLLSAIDIVQ = /2 + /// PLLSAIDIVQ = /2 Div2 = 0x1, - /// PLLSAIDIVQ = /3 + /// PLLSAIDIVQ = /3 Div3 = 0x2, - /// PLLSAIDIVQ = /4 + /// PLLSAIDIVQ = /4 Div4 = 0x3, - /// PLLSAIDIVQ = /5 + /// PLLSAIDIVQ = /5 Div5 = 0x4, - /// PLLSAIDIVQ = /6 + /// PLLSAIDIVQ = /6 Div6 = 0x5, - /// PLLSAIDIVQ = /7 + /// PLLSAIDIVQ = /7 Div7 = 0x6, - /// PLLSAIDIVQ = /8 + /// PLLSAIDIVQ = /8 Div8 = 0x7, - /// PLLSAIDIVQ = /9 + /// PLLSAIDIVQ = /9 Div9 = 0x8, - /// PLLSAIDIVQ = /10 + /// PLLSAIDIVQ = /10 Div10 = 0x9, - /// PLLSAIDIVQ = /11 + /// PLLSAIDIVQ = /11 Div11 = 0xa, - /// PLLSAIDIVQ = /12 + /// PLLSAIDIVQ = /12 Div12 = 0xb, - /// PLLSAIDIVQ = /13 + /// PLLSAIDIVQ = /13 Div13 = 0xc, - /// PLLSAIDIVQ = /14 + /// PLLSAIDIVQ = /14 Div14 = 0xd, - /// PLLSAIDIVQ = /15 + /// PLLSAIDIVQ = /15 Div15 = 0xe, - /// PLLSAIDIVQ = /16 + /// PLLSAIDIVQ = /16 Div16 = 0xf, - /// PLLSAIDIVQ = /17 + /// PLLSAIDIVQ = /17 Div17 = 0x10, - /// PLLSAIDIVQ = /18 + /// PLLSAIDIVQ = /18 Div18 = 0x11, - /// PLLSAIDIVQ = /19 + /// PLLSAIDIVQ = /19 Div19 = 0x12, - /// PLLSAIDIVQ = /20 + /// PLLSAIDIVQ = /20 Div20 = 0x13, - /// PLLSAIDIVQ = /21 + /// PLLSAIDIVQ = /21 Div21 = 0x14, - /// PLLSAIDIVQ = /22 + /// PLLSAIDIVQ = /22 Div22 = 0x15, - /// PLLSAIDIVQ = /23 + /// PLLSAIDIVQ = /23 Div23 = 0x16, - /// PLLSAIDIVQ = /24 + /// PLLSAIDIVQ = /24 Div24 = 0x17, - /// PLLSAIDIVQ = /25 + /// PLLSAIDIVQ = /25 Div25 = 0x18, - /// PLLSAIDIVQ = /26 + /// PLLSAIDIVQ = /26 Div26 = 0x19, - /// PLLSAIDIVQ = /27 + /// PLLSAIDIVQ = /27 Div27 = 0x1a, - /// PLLSAIDIVQ = /28 + /// PLLSAIDIVQ = /28 Div28 = 0x1b, - /// PLLSAIDIVQ = /29 + /// PLLSAIDIVQ = /29 Div29 = 0x1c, - /// PLLSAIDIVQ = /30 + /// PLLSAIDIVQ = /30 Div30 = 0x1d, - /// PLLSAIDIVQ = /31 + /// PLLSAIDIVQ = /31 Div31 = 0x1e, - /// PLLSAIDIVQ = /32 + /// PLLSAIDIVQ = /32 Div32 = 0x1f, }; pub const PLLI2SDIVQ = enum(u5) { - /// PLLI2SDIVQ = /1 + /// PLLI2SDIVQ = /1 Div1 = 0x0, - /// PLLI2SDIVQ = /2 + /// PLLI2SDIVQ = /2 Div2 = 0x1, - /// PLLI2SDIVQ = /3 + /// PLLI2SDIVQ = /3 Div3 = 0x2, - /// PLLI2SDIVQ = /4 + /// PLLI2SDIVQ = /4 Div4 = 0x3, - /// PLLI2SDIVQ = /5 + /// PLLI2SDIVQ = /5 Div5 = 0x4, - /// PLLI2SDIVQ = /6 + /// PLLI2SDIVQ = /6 Div6 = 0x5, - /// PLLI2SDIVQ = /7 + /// PLLI2SDIVQ = /7 Div7 = 0x6, - /// PLLI2SDIVQ = /8 + /// PLLI2SDIVQ = /8 Div8 = 0x7, - /// PLLI2SDIVQ = /9 + /// PLLI2SDIVQ = /9 Div9 = 0x8, - /// PLLI2SDIVQ = /10 + /// PLLI2SDIVQ = /10 Div10 = 0x9, - /// PLLI2SDIVQ = /11 + /// PLLI2SDIVQ = /11 Div11 = 0xa, - /// PLLI2SDIVQ = /12 + /// PLLI2SDIVQ = /12 Div12 = 0xb, - /// PLLI2SDIVQ = /13 + /// PLLI2SDIVQ = /13 Div13 = 0xc, - /// PLLI2SDIVQ = /14 + /// PLLI2SDIVQ = /14 Div14 = 0xd, - /// PLLI2SDIVQ = /15 + /// PLLI2SDIVQ = /15 Div15 = 0xe, - /// PLLI2SDIVQ = /16 + /// PLLI2SDIVQ = /16 Div16 = 0xf, - /// PLLI2SDIVQ = /17 + /// PLLI2SDIVQ = /17 Div17 = 0x10, - /// PLLI2SDIVQ = /18 + /// PLLI2SDIVQ = /18 Div18 = 0x11, - /// PLLI2SDIVQ = /19 + /// PLLI2SDIVQ = /19 Div19 = 0x12, - /// PLLI2SDIVQ = /20 + /// PLLI2SDIVQ = /20 Div20 = 0x13, - /// PLLI2SDIVQ = /21 + /// PLLI2SDIVQ = /21 Div21 = 0x14, - /// PLLI2SDIVQ = /22 + /// PLLI2SDIVQ = /22 Div22 = 0x15, - /// PLLI2SDIVQ = /23 + /// PLLI2SDIVQ = /23 Div23 = 0x16, - /// PLLI2SDIVQ = /24 + /// PLLI2SDIVQ = /24 Div24 = 0x17, - /// PLLI2SDIVQ = /25 + /// PLLI2SDIVQ = /25 Div25 = 0x18, - /// PLLI2SDIVQ = /26 + /// PLLI2SDIVQ = /26 Div26 = 0x19, - /// PLLI2SDIVQ = /27 + /// PLLI2SDIVQ = /27 Div27 = 0x1a, - /// PLLI2SDIVQ = /28 + /// PLLI2SDIVQ = /28 Div28 = 0x1b, - /// PLLI2SDIVQ = /29 + /// PLLI2SDIVQ = /29 Div29 = 0x1c, - /// PLLI2SDIVQ = /30 + /// PLLI2SDIVQ = /30 Div30 = 0x1d, - /// PLLI2SDIVQ = /31 + /// PLLI2SDIVQ = /31 Div31 = 0x1e, - /// PLLI2SDIVQ = /32 + /// PLLI2SDIVQ = /32 Div32 = 0x1f, }; pub const PLLI2SDIVR = enum(u5) { - /// PLLI2SDIVQ = /1 + /// PLLI2SDIVQ = /1 Div1 = 0x0, - /// PLLI2SDIVQ = /2 + /// PLLI2SDIVQ = /2 Div2 = 0x1, - /// PLLI2SDIVQ = /3 + /// PLLI2SDIVQ = /3 Div3 = 0x2, - /// PLLI2SDIVQ = /4 + /// PLLI2SDIVQ = /4 Div4 = 0x3, - /// PLLI2SDIVQ = /5 + /// PLLI2SDIVQ = /5 Div5 = 0x4, - /// PLLI2SDIVQ = /6 + /// PLLI2SDIVQ = /6 Div6 = 0x5, - /// PLLI2SDIVQ = /7 + /// PLLI2SDIVQ = /7 Div7 = 0x6, - /// PLLI2SDIVQ = /8 + /// PLLI2SDIVQ = /8 Div8 = 0x7, - /// PLLI2SDIVQ = /9 + /// PLLI2SDIVQ = /9 Div9 = 0x8, - /// PLLI2SDIVQ = /10 + /// PLLI2SDIVQ = /10 Div10 = 0x9, - /// PLLI2SDIVQ = /11 + /// PLLI2SDIVQ = /11 Div11 = 0xa, - /// PLLI2SDIVQ = /12 + /// PLLI2SDIVQ = /12 Div12 = 0xb, - /// PLLI2SDIVQ = /13 + /// PLLI2SDIVQ = /13 Div13 = 0xc, - /// PLLI2SDIVQ = /14 + /// PLLI2SDIVQ = /14 Div14 = 0xd, - /// PLLI2SDIVQ = /15 + /// PLLI2SDIVQ = /15 Div15 = 0xe, - /// PLLI2SDIVQ = /16 + /// PLLI2SDIVQ = /16 Div16 = 0xf, - /// PLLI2SDIVQ = /17 + /// PLLI2SDIVQ = /17 Div17 = 0x10, - /// PLLI2SDIVQ = /18 + /// PLLI2SDIVQ = /18 Div18 = 0x11, - /// PLLI2SDIVQ = /19 + /// PLLI2SDIVQ = /19 Div19 = 0x12, - /// PLLI2SDIVQ = /20 + /// PLLI2SDIVQ = /20 Div20 = 0x13, - /// PLLI2SDIVQ = /21 + /// PLLI2SDIVQ = /21 Div21 = 0x14, - /// PLLI2SDIVQ = /22 + /// PLLI2SDIVQ = /22 Div22 = 0x15, - /// PLLI2SDIVQ = /23 + /// PLLI2SDIVQ = /23 Div23 = 0x16, - /// PLLI2SDIVQ = /24 + /// PLLI2SDIVQ = /24 Div24 = 0x17, - /// PLLI2SDIVQ = /25 + /// PLLI2SDIVQ = /25 Div25 = 0x18, - /// PLLI2SDIVQ = /26 + /// PLLI2SDIVQ = /26 Div26 = 0x19, - /// PLLI2SDIVQ = /27 + /// PLLI2SDIVQ = /27 Div27 = 0x1a, - /// PLLI2SDIVQ = /28 + /// PLLI2SDIVQ = /28 Div28 = 0x1b, - /// PLLI2SDIVQ = /29 + /// PLLI2SDIVQ = /29 Div29 = 0x1c, - /// PLLI2SDIVQ = /30 + /// PLLI2SDIVQ = /30 Div30 = 0x1d, - /// PLLI2SDIVQ = /31 + /// PLLI2SDIVQ = /31 Div31 = 0x1e, - /// PLLI2SDIVQ = /32 + /// PLLI2SDIVQ = /32 Div32 = 0x1f, }; pub const PLLI2SSRC = enum(u1) { - /// HSE or HSI depending on PLLSRC of PLLCFGR + /// HSE or HSI depending on PLLSRC of PLLCFGR HSE_HSI = 0x0, - /// External AFI clock (CK_PLLI2S_EXT) selected as PLL clock entry + /// External AFI clock (CK_PLLI2S_EXT) selected as PLL clock entry External = 0x1, }; @@ -374693,13 +369299,13 @@ pub const types = struct { }; pub const PLLP = enum(u2) { - /// PLLP=2 + /// PLLP=2 Div2 = 0x0, - /// PLLP=4 + /// PLLP=4 Div4 = 0x1, - /// PLLP=6 + /// PLLP=6 Div6 = 0x2, - /// PLLP=8 + /// PLLP=8 Div8 = 0x3, }; @@ -374732,1323 +369338,1173 @@ pub const types = struct { }; pub const PLLSAIDIVQ = enum(u5) { - /// PLLSAIDIVQ = /1 + /// PLLSAIDIVQ = /1 Div1 = 0x0, - /// PLLSAIDIVQ = /2 + /// PLLSAIDIVQ = /2 Div2 = 0x1, - /// PLLSAIDIVQ = /3 + /// PLLSAIDIVQ = /3 Div3 = 0x2, - /// PLLSAIDIVQ = /4 + /// PLLSAIDIVQ = /4 Div4 = 0x3, - /// PLLSAIDIVQ = /5 + /// PLLSAIDIVQ = /5 Div5 = 0x4, - /// PLLSAIDIVQ = /6 + /// PLLSAIDIVQ = /6 Div6 = 0x5, - /// PLLSAIDIVQ = /7 + /// PLLSAIDIVQ = /7 Div7 = 0x6, - /// PLLSAIDIVQ = /8 + /// PLLSAIDIVQ = /8 Div8 = 0x7, - /// PLLSAIDIVQ = /9 + /// PLLSAIDIVQ = /9 Div9 = 0x8, - /// PLLSAIDIVQ = /10 + /// PLLSAIDIVQ = /10 Div10 = 0x9, - /// PLLSAIDIVQ = /11 + /// PLLSAIDIVQ = /11 Div11 = 0xa, - /// PLLSAIDIVQ = /12 + /// PLLSAIDIVQ = /12 Div12 = 0xb, - /// PLLSAIDIVQ = /13 + /// PLLSAIDIVQ = /13 Div13 = 0xc, - /// PLLSAIDIVQ = /14 + /// PLLSAIDIVQ = /14 Div14 = 0xd, - /// PLLSAIDIVQ = /15 + /// PLLSAIDIVQ = /15 Div15 = 0xe, - /// PLLSAIDIVQ = /16 + /// PLLSAIDIVQ = /16 Div16 = 0xf, - /// PLLSAIDIVQ = /17 + /// PLLSAIDIVQ = /17 Div17 = 0x10, - /// PLLSAIDIVQ = /18 + /// PLLSAIDIVQ = /18 Div18 = 0x11, - /// PLLSAIDIVQ = /19 + /// PLLSAIDIVQ = /19 Div19 = 0x12, - /// PLLSAIDIVQ = /20 + /// PLLSAIDIVQ = /20 Div20 = 0x13, - /// PLLSAIDIVQ = /21 + /// PLLSAIDIVQ = /21 Div21 = 0x14, - /// PLLSAIDIVQ = /22 + /// PLLSAIDIVQ = /22 Div22 = 0x15, - /// PLLSAIDIVQ = /23 + /// PLLSAIDIVQ = /23 Div23 = 0x16, - /// PLLSAIDIVQ = /24 + /// PLLSAIDIVQ = /24 Div24 = 0x17, - /// PLLSAIDIVQ = /25 + /// PLLSAIDIVQ = /25 Div25 = 0x18, - /// PLLSAIDIVQ = /26 + /// PLLSAIDIVQ = /26 Div26 = 0x19, - /// PLLSAIDIVQ = /27 + /// PLLSAIDIVQ = /27 Div27 = 0x1a, - /// PLLSAIDIVQ = /28 + /// PLLSAIDIVQ = /28 Div28 = 0x1b, - /// PLLSAIDIVQ = /29 + /// PLLSAIDIVQ = /29 Div29 = 0x1c, - /// PLLSAIDIVQ = /30 + /// PLLSAIDIVQ = /30 Div30 = 0x1d, - /// PLLSAIDIVQ = /31 + /// PLLSAIDIVQ = /31 Div31 = 0x1e, - /// PLLSAIDIVQ = /32 + /// PLLSAIDIVQ = /32 Div32 = 0x1f, }; pub const PLLSAIDIVR = enum(u2) { - /// PLLSAIDIVR = /2 + /// PLLSAIDIVR = /2 Div2 = 0x0, - /// PLLSAIDIVR = /4 + /// PLLSAIDIVR = /4 Div4 = 0x1, - /// PLLSAIDIVR = /8 + /// PLLSAIDIVR = /8 Div8 = 0x2, - /// PLLSAIDIVR = /16 + /// PLLSAIDIVR = /16 Div16 = 0x3, }; pub const PLLSRC = enum(u1) { - /// HSI clock selected as PLL and PLLI2S clock entry + /// HSI clock selected as PLL and PLLI2S clock entry HSI = 0x0, - /// HSE oscillator clock selected as PLL and PLLI2S clock entry + /// HSE oscillator clock selected as PLL and PLLI2S clock entry HSE = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SAI1SRC = enum(u2) { - /// SAI1 clock frequency = f(PLLSAI_Q) / PLLSAIDIVQ + /// SAI1 clock frequency = f(PLLSAI_Q) / PLLSAIDIVQ PLLSAI = 0x0, - /// SAI1 clock frequency = f(PLLI2S_Q) / PLLI2SDIVQ + /// SAI1 clock frequency = f(PLLI2S_Q) / PLLI2SDIVQ PLLI2S = 0x1, - /// SAI1 clock frequency = f(PLL_R) + /// SAI1 clock frequency = f(PLL_R) PLLR = 0x2, - /// I2S_CKIN Alternate function input frequency + /// I2S_CKIN Alternate function input frequency I2S_CKIN = 0x3, }; pub const SAI2SRC = enum(u2) { - /// SAI2 clock frequency = f(PLLSAI_Q) / PLLSAIDIVQ + /// SAI2 clock frequency = f(PLLSAI_Q) / PLLSAIDIVQ PLLSAI = 0x0, - /// SAI2 clock frequency = f(PLLI2S_Q) / PLLI2SDIVQ + /// SAI2 clock frequency = f(PLLI2S_Q) / PLLI2SDIVQ PLLI2S = 0x1, - /// SAI2 clock frequency = f(PLL_R) + /// SAI2 clock frequency = f(PLL_R) PLLR = 0x2, - /// SAI2 clock frequency = Alternate function input frequency + /// SAI2 clock frequency = Alternate function input frequency HSI_HSE = 0x3, }; pub const SAIASRC = enum(u2) { - /// SAI1-A clock frequency = f(PLLSAI_Q) / PLLSAIDIVQ + /// SAI1-A clock frequency = f(PLLSAI_Q) / PLLSAIDIVQ PLLSAI = 0x0, - /// SAI1-A clock frequency = f(PLLI2S_Q) / PLLI2SDIVQ + /// SAI1-A clock frequency = f(PLLI2S_Q) / PLLI2SDIVQ PLLI2S = 0x1, - /// SAI1-A clock frequency = Alternate function input frequency + /// SAI1-A clock frequency = Alternate function input frequency I2S_CKIN = 0x2, _, }; pub const SAIBSRC = enum(u2) { - /// SAI1-B clock frequency = f(PLLSAI_Q) / PLLSAIDIVQ + /// SAI1-B clock frequency = f(PLLSAI_Q) / PLLSAIDIVQ PLLSAI = 0x0, - /// SAI1-B clock frequency = f(PLLI2S_Q) / PLLI2SDIVQ + /// SAI1-B clock frequency = f(PLLI2S_Q) / PLLI2SDIVQ PLLI2S = 0x1, - /// SAI1-B clock frequency = Alternate function input frequency + /// SAI1-B clock frequency = Alternate function input frequency I2S_CKIN = 0x2, _, }; pub const SDIOSEL = enum(u1) { - /// 48 MHz clock is selected as SD clock + /// 48 MHz clock is selected as SD clock CLK48 = 0x0, - /// System clock is selected as SD clock + /// System clock is selected as SD clock SYS = 0x1, }; pub const SPDIFRXSEL = enum(u1) { - /// SPDIF-Rx clock from PLL is selected + /// SPDIF-Rx clock from PLL is selected PLL1_R = 0x0, - /// SPDIF-Rx clock from PLLI2S is selected + /// SPDIF-Rx clock from PLLI2S is selected PLLI2S1_P = 0x1, }; pub const SPREADSEL = enum(u1) { - /// Center spread + /// Center spread Center = 0x0, - /// Down spread + /// Down spread Down = 0x1, }; pub const SW = enum(u2) { - /// HSI oscillator used as system clock + /// HSI oscillator used as system clock HSI = 0x0, - /// HSE oscillator used as system clock + /// HSE oscillator used as system clock HSE = 0x1, - /// PLL used as system clock + /// PLL used as system clock PLL1_P = 0x2, _, }; pub const TIMPRE = enum(u1) { - /// If the APB prescaler is configured 1, TIMxCLK = PCLKx. Otherwise, TIMxCLK = 2xPCLKx + /// If the APB prescaler is configured 1, TIMxCLK = PCLKx. Otherwise, TIMxCLK = 2xPCLKx Mul2 = 0x0, - /// If the APB prescaler is configured 1, 2 or 4, TIMxCLK = HCLK. Otherwise, TIMxCLK = 4xPCLKx + /// If the APB prescaler is configured 1, 2 or 4, TIMxCLK = HCLK. Otherwise, TIMxCLK = 4xPCLKx Mul4 = 0x1, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// clock control register + /// clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal high-speed clock enable + /// Internal high-speed clock enable HSION: u1, - /// Internal high-speed clock ready flag + /// Internal high-speed clock ready flag HSIRDY: u1, reserved3: u1, - /// Internal high-speed clock trimming + /// Internal high-speed clock trimming HSITRIM: u5, - /// Internal high-speed clock calibration + /// Internal high-speed clock calibration HSICAL: u8, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE clock bypass + /// HSE clock bypass HSEBYP: u1, - /// Clock security system enable + /// Clock security system enable CSSON: u1, reserved24: u4, - /// Main PLL (PLL) enable + /// Main PLL (PLL) enable PLLON: u1, - /// Main PLL (PLL) clock ready flag + /// Main PLL (PLL) clock ready flag PLLRDY: u1, - /// PLLI2S enable + /// PLLI2S enable PLLI2SON: u1, - /// PLLI2S clock ready flag + /// PLLI2S clock ready flag PLLI2SRDY: u1, - /// PLLSAI enable + /// PLLSAI enable PLLSAION: u1, - /// PLLSAI clock ready flag + /// PLLSAI clock ready flag PLLSAIRDY: u1, padding: u2, }), - /// PLL configuration register + /// PLL configuration register PLLCFGR: mmio.Mmio(packed struct(u32) { - /// Division factor for the main PLL (PLL) and audio PLL (PLLI2S) input clock - PLLM: packed union { - raw: u6, - value: PLLM, - }, - /// Main PLL (PLL) multiplication factor for VCO - PLLN: packed union { - raw: u9, - value: PLLN, - }, + /// Division factor for the main PLL (PLL) and audio PLL (PLLI2S) input clock + PLLM: PLLM, + /// Main PLL (PLL) multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// Main PLL (PLL) division factor for main system clock - PLLP: packed union { - raw: u2, - value: PLLP, - }, + /// Main PLL (PLL) division factor for main system clock + PLLP: PLLP, reserved22: u4, - /// Main PLL(PLL) and audio PLL (PLLI2S) entry clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, + /// Main PLL(PLL) and audio PLL (PLLI2S) entry clock source + PLLSRC: PLLSRC, reserved24: u1, - /// Main PLL (PLL) division factor for USB OTG FS, SDIO and random number generator clocks - PLLQ: packed union { - raw: u4, - value: PLLQ, - }, - /// PLL division factor for I2S and System clocks - PLLR: packed union { - raw: u3, - value: PLLR, - }, + /// Main PLL (PLL) division factor for USB OTG FS, SDIO and random number generator clocks + PLLQ: PLLQ, + /// PLL division factor for I2S and System clocks + PLLR: PLLR, padding: u1, }), - /// clock configuration register + /// clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// MCO output enable + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// MCO output enable MCO1EN: u1, - /// MCO output enable + /// MCO output enable MCO2EN: u1, - /// APB Low speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high-speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, - /// HSE division factor for RTC clock + /// APB Low speed prescaler (APB1) + PPRE1: PPRE, + /// APB high-speed prescaler (APB2) + PPRE2: PPRE, + /// HSE division factor for RTC clock RTCPRE: u5, - /// Microcontroller clock output 1 - MCO1SEL: packed union { - raw: u2, - value: MCO1SEL, - }, - /// I2S clock selection - I2SSRC: packed union { - raw: u1, - value: I2SSRC_CFGR, - }, - /// MCO1 prescaler - MCO1PRE: packed union { - raw: u3, - value: MCOPRE, - }, - /// MCO2 prescaler - MCO2PRE: packed union { - raw: u3, - value: MCOPRE, - }, - /// Microcontroller clock output 2 - MCO2SEL: packed union { - raw: u2, - value: MCO2SEL, - }, - }), - /// clock interrupt register + /// Microcontroller clock output 1 + MCO1SEL: MCO1SEL, + /// I2S clock selection + I2SSRC: I2SSRC_CFGR, + /// MCO1 prescaler + MCO1PRE: MCOPRE, + /// MCO2 prescaler + MCO2PRE: MCOPRE, + /// Microcontroller clock output 2 + MCO2SEL: MCO2SEL, + }), + /// clock interrupt register CIR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYF: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYF: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYF: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYF: u1, - /// Main PLL (PLL) ready interrupt flag + /// Main PLL (PLL) ready interrupt flag PLLRDYF: u1, - /// PLLI2S ready interrupt flag + /// PLLI2S ready interrupt flag PLLI2SRDYF: u1, - /// PLLSAI ready interrupt flag + /// PLLSAI ready interrupt flag PLLSAIRDYF: u1, - /// Clock security system interrupt flag + /// Clock security system interrupt flag CSSF: u1, - /// LSI ready interrupt enable + /// LSI ready interrupt enable LSIRDYIE: u1, - /// LSE ready interrupt enable + /// LSE ready interrupt enable LSERDYIE: u1, - /// HSI ready interrupt enable + /// HSI ready interrupt enable HSIRDYIE: u1, - /// HSE ready interrupt enable + /// HSE ready interrupt enable HSERDYIE: u1, - /// Main PLL (PLL) ready interrupt enable + /// Main PLL (PLL) ready interrupt enable PLLRDYIE: u1, - /// PLLI2S ready interrupt enable + /// PLLI2S ready interrupt enable PLLI2SRDYIE: u1, - /// PLLSAI Ready Interrupt Enable + /// PLLSAI Ready Interrupt Enable PLLSAIRDYIE: u1, reserved16: u1, - /// LSI ready interrupt clear + /// LSI ready interrupt clear LSIRDYC: u1, - /// LSE ready interrupt clear + /// LSE ready interrupt clear LSERDYC: u1, - /// HSI ready interrupt clear + /// HSI ready interrupt clear HSIRDYC: u1, - /// HSE ready interrupt clear + /// HSE ready interrupt clear HSERDYC: u1, - /// Main PLL(PLL) ready interrupt clear + /// Main PLL(PLL) ready interrupt clear PLLRDYC: u1, - /// PLLI2S ready interrupt clear + /// PLLI2S ready interrupt clear PLLI2SRDYC: u1, - /// PLLSAI Ready Interrupt Clear + /// PLLSAI Ready Interrupt Clear PLLSAIRDYC: u1, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// AHB1 peripheral reset register + /// AHB1 peripheral reset register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// IO port A reset + /// IO port A reset GPIOARST: u1, - /// IO port B reset + /// IO port B reset GPIOBRST: u1, - /// IO port C reset + /// IO port C reset GPIOCRST: u1, - /// IO port D reset + /// IO port D reset GPIODRST: u1, - /// IO port E reset + /// IO port E reset GPIOERST: u1, - /// IO port F reset + /// IO port F reset GPIOFRST: u1, - /// IO port G reset + /// IO port G reset GPIOGRST: u1, - /// IO port H reset + /// IO port H reset GPIOHRST: u1, - /// IO port I reset + /// IO port I reset GPIOIRST: u1, - /// IO port J reset + /// IO port J reset GPIOJRST: u1, - /// IO port K reset + /// IO port K reset GPIOKRST: u1, reserved12: u1, - /// CRC reset + /// CRC reset CRCRST: u1, reserved21: u8, - /// DMA2 reset + /// DMA2 reset DMA1RST: u1, - /// DMA2 reset + /// DMA2 reset DMA2RST: u1, - /// DMA2D reset + /// DMA2D reset DMA2DRST: u1, reserved25: u1, - /// Ethernet MAC reset + /// Ethernet MAC reset ETHRST: u1, reserved29: u3, - /// USB OTG HS module reset + /// USB OTG HS module reset USB_OTG_HSRST: u1, padding: u2, }), - /// AHB2 peripheral reset register + /// AHB2 peripheral reset register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// Camera interface reset + /// Camera interface reset DCMIRST: u1, reserved4: u3, - /// CRYP module reset + /// CRYP module reset CRYPRST: u1, - /// Hash module reset + /// Hash module reset HSAHRST: u1, - /// Random number generator module reset + /// Random number generator module reset RNGRST: u1, - /// USB OTG FS module reset + /// USB OTG FS module reset USB_OTG_FSRST: u1, padding: u24, }), - /// AHB3 peripheral reset register + /// AHB3 peripheral reset register AHB3RSTR: mmio.Mmio(packed struct(u32) { - /// Flexible static memory controller module reset + /// Flexible static memory controller module reset FMCRST: u1, - /// QUADSPI module reset + /// QUADSPI module reset QUADSPIRST: u1, padding: u30, }), reserved32: [4]u8, - /// APB1 peripheral reset register + /// APB1 peripheral reset register APB1RSTR: mmio.Mmio(packed struct(u32) { - /// TIM2 reset + /// TIM2 reset TIM2RST: u1, - /// TIM3 reset + /// TIM3 reset TIM3RST: u1, - /// TIM4 reset + /// TIM4 reset TIM4RST: u1, - /// TIM5 reset + /// TIM5 reset TIM5RST: u1, - /// TIM6 reset + /// TIM6 reset TIM6RST: u1, - /// TIM7 reset + /// TIM7 reset TIM7RST: u1, - /// TIM12 reset + /// TIM12 reset TIM12RST: u1, - /// TIM13 reset + /// TIM13 reset TIM13RST: u1, - /// TIM14 reset + /// TIM14 reset TIM14RST: u1, - /// LPTIM1 reset + /// LPTIM1 reset LPTIM1RST: u1, reserved11: u1, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI 2 reset + /// SPI 2 reset SPI2RST: u1, - /// SPI 3 reset + /// SPI 3 reset SPI3RST: u1, - /// SPDIF-IN reset + /// SPDIF-IN reset SPDIFRST: u1, - /// USART 2 reset + /// USART 2 reset USART2RST: u1, - /// USART 3 reset + /// USART 3 reset USART3RST: u1, - /// UART 4 reset + /// UART 4 reset UART4RST: u1, - /// UART 5 reset + /// UART 5 reset UART5RST: u1, - /// I2C 1 reset + /// I2C 1 reset I2C1RST: u1, - /// I2C 2 reset + /// I2C 2 reset I2C2RST: u1, - /// I2C3 reset + /// I2C3 reset I2C3RST: u1, - /// FMPI2C1 reset + /// FMPI2C1 reset FMPI2C1RST: u1, - /// CAN1 reset + /// CAN1 reset CAN1RST: u1, - /// CAN2 reset + /// CAN2 reset CAN2RST: u1, - /// CAN 3 reset + /// CAN 3 reset CAN3RST: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC reset + /// DAC reset DACRST: u1, - /// UART 7 reset + /// UART 7 reset UART7RST: u1, - /// UART 8 reset + /// UART 8 reset UART8RST: u1, }), - /// APB2 peripheral reset register + /// APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { - /// TIM1 reset + /// TIM1 reset TIM1RST: u1, - /// TIM8 reset + /// TIM8 reset TIM8RST: u1, reserved4: u2, - /// USART1 reset + /// USART1 reset USART1RST: u1, - /// USART6 reset + /// USART6 reset USART6RST: u1, - /// UART9 reset + /// UART9 reset UART9RST: u1, - /// UART10 reset + /// UART10 reset UART10RST: u1, - /// ADC interface reset (common to all ADCs) + /// ADC interface reset (common to all ADCs) ADCRST: u1, reserved11: u2, - /// SDIO reset + /// SDIO reset SDIORST: u1, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, - /// SPI4 reset + /// SPI4 reset SPI4RST: u1, - /// System configuration controller reset + /// System configuration controller reset SYSCFGRST: u1, reserved16: u1, - /// TIM9 reset + /// TIM9 reset TIM9RST: u1, - /// TIM10 reset + /// TIM10 reset TIM10RST: u1, - /// TIM11 reset + /// TIM11 reset TIM11RST: u1, reserved20: u1, - /// SPI5 reset + /// SPI5 reset SPI5RST: u1, - /// SPI6 reset + /// SPI6 reset SPI6RST: u1, - /// SAI1 reset + /// SAI1 reset SAI1RST: u1, - /// SAI2 reset + /// SAI2 reset SAI2RST: u1, - /// DFSDMRST + /// DFSDMRST DFSDMRST: u1, - /// DFSDM2 reset + /// DFSDM2 reset DFSDM2RST: u1, - /// LTDC reset + /// LTDC reset LTDCRST: u1, - /// DSI host reset + /// DSI host reset DSIRST: u1, padding: u4, }), reserved48: [8]u8, - /// AHB1 peripheral clock register + /// AHB1 peripheral clock register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable + /// IO port A clock enable GPIOAEN: u1, - /// IO port B clock enable + /// IO port B clock enable GPIOBEN: u1, - /// IO port C clock enable + /// IO port C clock enable GPIOCEN: u1, - /// IO port D clock enable + /// IO port D clock enable GPIODEN: u1, - /// IO port E clock enable + /// IO port E clock enable GPIOEEN: u1, - /// IO port F clock enable + /// IO port F clock enable GPIOFEN: u1, - /// IO port G clock enable + /// IO port G clock enable GPIOGEN: u1, - /// IO port H clock enable + /// IO port H clock enable GPIOHEN: u1, - /// IO port I clock enable + /// IO port I clock enable GPIOIEN: u1, - /// IO port J clock enable + /// IO port J clock enable GPIOJEN: u1, - /// IO port K clock enable + /// IO port K clock enable GPIOKEN: u1, reserved12: u1, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved18: u5, - /// Backup SRAM interface clock enable + /// Backup SRAM interface clock enable BKPSRAMEN: u1, reserved20: u1, - /// CCM data RAM clock enable + /// CCM data RAM clock enable CCMDATARAMEN: u1, - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// DMA2D clock enable + /// DMA2D clock enable DMA2DEN: u1, reserved25: u1, - /// Ethernet MAC clock enable + /// Ethernet MAC clock enable ETHEN: u1, - /// Ethernet Transmission clock enable + /// Ethernet Transmission clock enable ETHTXEN: u1, - /// Ethernet Reception clock enable + /// Ethernet Reception clock enable ETHRXEN: u1, - /// Ethernet PTP clock enable + /// Ethernet PTP clock enable ETHPTPEN: u1, - /// USB OTG HS clock enable + /// USB OTG HS clock enable USB_OTG_HSEN: u1, - /// USB OTG HSULPI clock enable + /// USB OTG HSULPI clock enable USB_OTG_HSULPIEN: u1, padding: u1, }), - /// AHB2 peripheral clock enable register + /// AHB2 peripheral clock enable register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// Camera interface enable + /// Camera interface enable DCMIEN: u1, reserved4: u3, - /// CRYP clock enable + /// CRYP clock enable CRYPEN: u1, - /// Hash modules clock enable + /// Hash modules clock enable HASHEN: u1, - /// Random number generator clock enable + /// Random number generator clock enable RNGEN: u1, - /// USB OTG FS clock enable + /// USB OTG FS clock enable USB_OTG_FSEN: u1, padding: u24, }), - /// AHB3 peripheral clock enable register + /// AHB3 peripheral clock enable register AHB3ENR: mmio.Mmio(packed struct(u32) { - /// Flexible static memory controller module clock enable + /// Flexible static memory controller module clock enable FMCEN: u1, - /// QUADSPI memory controller module clock enable + /// QUADSPI memory controller module clock enable QUADSPIEN: u1, padding: u30, }), reserved64: [4]u8, - /// APB1 peripheral clock enable register + /// APB1 peripheral clock enable register APB1ENR: mmio.Mmio(packed struct(u32) { - /// TIM2 clock enable + /// TIM2 clock enable TIM2EN: u1, - /// TIM3 clock enable + /// TIM3 clock enable TIM3EN: u1, - /// TIM4 clock enable + /// TIM4 clock enable TIM4EN: u1, - /// TIM5 clock enable + /// TIM5 clock enable TIM5EN: u1, - /// TIM6 clock enable + /// TIM6 clock enable TIM6EN: u1, - /// TIM7 clock enable + /// TIM7 clock enable TIM7EN: u1, - /// TIM12 clock enable + /// TIM12 clock enable TIM12EN: u1, - /// TIM13 clock enable + /// TIM13 clock enable TIM13EN: u1, - /// TIM14 clock enable + /// TIM14 clock enable TIM14EN: u1, - /// LPTIM1 clock enable + /// LPTIM1 clock enable LPTIM1EN: u1, - /// RTC APB clock enable + /// RTC APB clock enable RTCAPBEN: u1, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI2 clock enable + /// SPI2 clock enable SPI2EN: u1, - /// SPI3 clock enable + /// SPI3 clock enable SPI3EN: u1, - /// SPDIF-IN clock enable + /// SPDIF-IN clock enable SPDIFEN: u1, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, - /// USART3 clock enable + /// USART3 clock enable USART3EN: u1, - /// UART4 clock enable + /// UART4 clock enable UART4EN: u1, - /// UART5 clock enable + /// UART5 clock enable UART5EN: u1, - /// I2C1 clock enable + /// I2C1 clock enable I2C1EN: u1, - /// I2C2 clock enable + /// I2C2 clock enable I2C2EN: u1, - /// I2C3 clock enable + /// I2C3 clock enable I2C3EN: u1, - /// FMPI2C1 clock enable + /// FMPI2C1 clock enable FMPI2C1EN: u1, - /// CAN 1 clock enable + /// CAN 1 clock enable CAN1EN: u1, - /// CAN 2 clock enable + /// CAN 2 clock enable CAN2EN: u1, - /// CAN 3 clock enable + /// CAN 3 clock enable CAN3EN: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, - /// UART7 clock enable + /// UART7 clock enable UART7EN: u1, - /// UART8 clock enable + /// UART8 clock enable UART8EN: u1, }), - /// APB2 peripheral clock enable register + /// APB2 peripheral clock enable register APB2ENR: mmio.Mmio(packed struct(u32) { - /// TIM1 clock enable + /// TIM1 clock enable TIM1EN: u1, - /// TIM8 clock enable + /// TIM8 clock enable TIM8EN: u1, reserved4: u2, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, - /// USART6 clock enable + /// USART6 clock enable USART6EN: u1, - /// UART9 clock enable + /// UART9 clock enable UART9EN: u1, - /// UART10 clock enable + /// UART10 clock enable UART10EN: u1, - /// ADC1 clock enable + /// ADC1 clock enable ADC1EN: u1, - /// ADC2 clock enable + /// ADC2 clock enable ADC2EN: u1, - /// ADC3 clock enable + /// ADC3 clock enable ADC3EN: u1, - /// SDIO clock enable + /// SDIO clock enable SDIOEN: u1, - /// SPI1 clock enable + /// SPI1 clock enable SPI1EN: u1, - /// SPI4 clock enable + /// SPI4 clock enable SPI4EN: u1, - /// System configuration controller clock enable + /// System configuration controller clock enable SYSCFGEN: u1, - /// EXTI ans external IT clock enable + /// EXTI ans external IT clock enable EXTITEN: u1, - /// TIM9 clock enable + /// TIM9 clock enable TIM9EN: u1, - /// TIM10 clock enable + /// TIM10 clock enable TIM10EN: u1, - /// TIM11 clock enable + /// TIM11 clock enable TIM11EN: u1, reserved20: u1, - /// SPI5 clock enable + /// SPI5 clock enable SPI5EN: u1, - /// SPI6 clock enable + /// SPI6 clock enable SPI6EN: u1, - /// SAI 1 clock enable + /// SAI 1 clock enable SAI1EN: u1, - /// SAI2 clock enable + /// SAI2 clock enable SAI2EN: u1, - /// DFSDMEN + /// DFSDMEN DFSDMEN: u1, - /// DFSDM2 clock enable + /// DFSDM2 clock enable DFSDM2EN: u1, - /// LTDC clock enable + /// LTDC clock enable LTDCEN: u1, - /// DSI clocks enable + /// DSI clocks enable DSIEN: u1, padding: u4, }), reserved80: [8]u8, - /// AHB1 peripheral clock enable in low power mode register + /// AHB1 peripheral clock enable in low power mode register AHB1LPENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable during sleep mode + /// IO port A clock enable during sleep mode GPIOALPEN: u1, - /// IO port B clock enable during Sleep mode + /// IO port B clock enable during Sleep mode GPIOBLPEN: u1, - /// IO port C clock enable during Sleep mode + /// IO port C clock enable during Sleep mode GPIOCLPEN: u1, - /// IO port D clock enable during Sleep mode + /// IO port D clock enable during Sleep mode GPIODLPEN: u1, - /// IO port E clock enable during Sleep mode + /// IO port E clock enable during Sleep mode GPIOELPEN: u1, - /// IO port F clock enable during Sleep mode + /// IO port F clock enable during Sleep mode GPIOFLPEN: u1, - /// IO port G clock enable during Sleep mode + /// IO port G clock enable during Sleep mode GPIOGLPEN: u1, - /// IO port H clock enable during Sleep mode + /// IO port H clock enable during Sleep mode GPIOHLPEN: u1, - /// IO port I clock enable during Sleep mode + /// IO port I clock enable during Sleep mode GPIOILPEN: u1, - /// IO port J clock enable during Sleep mode + /// IO port J clock enable during Sleep mode GPIOJLPEN: u1, - /// IO port K clock enable during Sleep mode + /// IO port K clock enable during Sleep mode GPIOKLPEN: u1, reserved12: u1, - /// CRC clock enable during Sleep mode + /// CRC clock enable during Sleep mode CRCLPEN: u1, reserved15: u2, - /// Flash interface clock enable during Sleep mode + /// Flash interface clock enable during Sleep mode FLASHLPEN: u1, - /// SRAM 1interface clock enable during Sleep mode + /// SRAM 1interface clock enable during Sleep mode SRAM1LPEN: u1, - /// SRAM 2 interface clock enable during Sleep mode + /// SRAM 2 interface clock enable during Sleep mode SRAM2LPEN: u1, - /// Backup SRAM interface clock enable during Sleep mode + /// Backup SRAM interface clock enable during Sleep mode BKPSRAMLPEN: u1, - /// SRAM 3 interface clock enable during Sleep mode + /// SRAM 3 interface clock enable during Sleep mode SRAM3LPEN: u1, reserved21: u1, - /// DMA1 clock enable during Sleep mode + /// DMA1 clock enable during Sleep mode DMA1LPEN: u1, - /// DMA2 clock enable during Sleep mode + /// DMA2 clock enable during Sleep mode DMA2LPEN: u1, - /// DMA2D clock enable during Sleep mode + /// DMA2D clock enable during Sleep mode DMA2DLPEN: u1, reserved25: u1, - /// Ethernet MAC clock enable during Sleep mode + /// Ethernet MAC clock enable during Sleep mode ETHLPEN: u1, - /// Ethernet transmission clock enable during Sleep mode + /// Ethernet transmission clock enable during Sleep mode ETHTXLPEN: u1, - /// Ethernet reception clock enable during Sleep mode + /// Ethernet reception clock enable during Sleep mode ETHRXLPEN: u1, - /// Ethernet PTP clock enable during Sleep mode + /// Ethernet PTP clock enable during Sleep mode ETHPTPLPEN: u1, - /// USB OTG HS clock enable during Sleep mode + /// USB OTG HS clock enable during Sleep mode USB_OTG_HSLPEN: u1, - /// USB OTG HS ULPI clock enable during Sleep mode + /// USB OTG HS ULPI clock enable during Sleep mode USB_OTG_HSULPILPEN: u1, - /// RNG clock enable during sleep mode + /// RNG clock enable during sleep mode RNGLPEN: u1, }), - /// AHB2 peripheral clock enable in low power mode register + /// AHB2 peripheral clock enable in low power mode register AHB2LPENR: mmio.Mmio(packed struct(u32) { - /// Camera interface enable during Sleep mode + /// Camera interface enable during Sleep mode DCMILPEN: u1, - /// QUADSPI memory controller module clock enable during Sleep mode + /// QUADSPI memory controller module clock enable during Sleep mode QUADSPILPEN: u1, reserved4: u2, - /// Cryptography modules clock enable during Sleep mode + /// Cryptography modules clock enable during Sleep mode CRYPLPEN: u1, - /// Hash modules clock enable during Sleep mode + /// Hash modules clock enable during Sleep mode HASHLPEN: u1, - /// Random number generator clock enable during Sleep mode + /// Random number generator clock enable during Sleep mode RNGLPEN: u1, - /// USB OTG FS clock enable during Sleep mode + /// USB OTG FS clock enable during Sleep mode USB_OTG_FSLPEN: u1, padding: u24, }), - /// AHB3 peripheral clock enable in low power mode register + /// AHB3 peripheral clock enable in low power mode register AHB3LPENR: mmio.Mmio(packed struct(u32) { - /// Flexible static memory controller module clock enable during Sleep mode + /// Flexible static memory controller module clock enable during Sleep mode FMCLPEN: u1, - /// QUADSPI memory controller module clock enable during Sleep mode + /// QUADSPI memory controller module clock enable during Sleep mode QUADSPILPEN: u1, padding: u30, }), reserved96: [4]u8, - /// APB1 peripheral clock enable in low power mode register + /// APB1 peripheral clock enable in low power mode register APB1LPENR: mmio.Mmio(packed struct(u32) { - /// TIM2 clock enable during Sleep mode + /// TIM2 clock enable during Sleep mode TIM2LPEN: u1, - /// TIM3 clock enable during Sleep mode + /// TIM3 clock enable during Sleep mode TIM3LPEN: u1, - /// TIM4 clock enable during Sleep mode + /// TIM4 clock enable during Sleep mode TIM4LPEN: u1, - /// TIM5 clock enable during Sleep mode + /// TIM5 clock enable during Sleep mode TIM5LPEN: u1, - /// TIM6 clock enable during Sleep mode + /// TIM6 clock enable during Sleep mode TIM6LPEN: u1, - /// TIM7 clock enable during Sleep mode + /// TIM7 clock enable during Sleep mode TIM7LPEN: u1, - /// TIM12 clock enable during Sleep mode + /// TIM12 clock enable during Sleep mode TIM12LPEN: u1, - /// TIM13 clock enable during Sleep mode + /// TIM13 clock enable during Sleep mode TIM13LPEN: u1, - /// TIM14 clock enable during Sleep mode + /// TIM14 clock enable during Sleep mode TIM14LPEN: u1, - /// LPTIM1 clock enable during sleep mode + /// LPTIM1 clock enable during sleep mode LPTIM1LPEN: u1, - /// RTC APB clock enable during sleep mode + /// RTC APB clock enable during sleep mode RTCAPBLPEN: u1, - /// Window watchdog clock enable during Sleep mode + /// Window watchdog clock enable during Sleep mode WWDGLPEN: u1, reserved14: u2, - /// SPI2 clock enable during Sleep mode + /// SPI2 clock enable during Sleep mode SPI2LPEN: u1, - /// SPI3 clock enable during Sleep mode + /// SPI3 clock enable during Sleep mode SPI3LPEN: u1, - /// SPDIF clock enable during Sleep mode + /// SPDIF clock enable during Sleep mode SPDIFLPEN: u1, - /// USART2 clock enable during Sleep mode + /// USART2 clock enable during Sleep mode USART2LPEN: u1, - /// USART3 clock enable during Sleep mode + /// USART3 clock enable during Sleep mode USART3LPEN: u1, - /// UART4 clock enable during Sleep mode + /// UART4 clock enable during Sleep mode UART4LPEN: u1, - /// UART5 clock enable during Sleep mode + /// UART5 clock enable during Sleep mode UART5LPEN: u1, - /// I2C1 clock enable during Sleep mode + /// I2C1 clock enable during Sleep mode I2C1LPEN: u1, - /// I2C2 clock enable during Sleep mode + /// I2C2 clock enable during Sleep mode I2C2LPEN: u1, - /// I2C3 clock enable during Sleep mode + /// I2C3 clock enable during Sleep mode I2C3LPEN: u1, - /// FMPI2C1 clock enable during Sleep + /// FMPI2C1 clock enable during Sleep FMPI2C1LPEN: u1, - /// CAN 1 clock enable during Sleep mode + /// CAN 1 clock enable during Sleep mode CAN1LPEN: u1, - /// CAN 2 clock enable during Sleep mode + /// CAN 2 clock enable during Sleep mode CAN2LPEN: u1, - /// CAN3 clock enable during Sleep mode + /// CAN3 clock enable during Sleep mode CAN3LPEN: u1, - /// Power interface clock enable during Sleep mode + /// Power interface clock enable during Sleep mode PWRLPEN: u1, - /// DAC interface clock enable during Sleep mode + /// DAC interface clock enable during Sleep mode DACLPEN: u1, - /// UART7 clock enable during Sleep mode + /// UART7 clock enable during Sleep mode UART7LPEN: u1, - /// UART8 clock enable during Sleep mode + /// UART8 clock enable during Sleep mode UART8LPEN: u1, }), - /// APB2 peripheral clock enabled in low power mode register + /// APB2 peripheral clock enabled in low power mode register APB2LPENR: mmio.Mmio(packed struct(u32) { - /// TIM1 clock enable during Sleep mode + /// TIM1 clock enable during Sleep mode TIM1LPEN: u1, - /// TIM8 clock enable during Sleep mode + /// TIM8 clock enable during Sleep mode TIM8LPEN: u1, reserved4: u2, - /// USART1 clock enable during Sleep mode + /// USART1 clock enable during Sleep mode USART1LPEN: u1, - /// USART6 clock enable during Sleep mode + /// USART6 clock enable during Sleep mode USART6LPEN: u1, - /// UART9 clock enable during Sleep mode + /// UART9 clock enable during Sleep mode UART9LPEN: u1, - /// UART10 clock enable during Sleep mode + /// UART10 clock enable during Sleep mode UART10LPEN: u1, - /// ADC1 clock enable during Sleep mode + /// ADC1 clock enable during Sleep mode ADC1LPEN: u1, - /// ADC2 clock enable during Sleep mode + /// ADC2 clock enable during Sleep mode ADC2LPEN: u1, - /// ADC 3 clock enable during Sleep mode + /// ADC 3 clock enable during Sleep mode ADC3LPEN: u1, - /// SDIO clock enable during Sleep mode + /// SDIO clock enable during Sleep mode SDIOLPEN: u1, - /// SPI 1 clock enable during Sleep mode + /// SPI 1 clock enable during Sleep mode SPI1LPEN: u1, - /// SPI4 clock enable during Sleep mode + /// SPI4 clock enable during Sleep mode SPI4LPEN: u1, - /// System configuration controller clock enable during Sleep mode + /// System configuration controller clock enable during Sleep mode SYSCFGLPEN: u1, - /// EXTI and External IT clock enable during sleep mode + /// EXTI and External IT clock enable during sleep mode EXTITLPEN: u1, - /// TIM9 clock enable during sleep mode + /// TIM9 clock enable during sleep mode TIM9LPEN: u1, - /// TIM10 clock enable during Sleep mode + /// TIM10 clock enable during Sleep mode TIM10LPEN: u1, - /// TIM11 clock enable during Sleep mode + /// TIM11 clock enable during Sleep mode TIM11LPEN: u1, reserved20: u1, - /// SPI5 clock enable during Sleep mode + /// SPI5 clock enable during Sleep mode SPI5LPEN: u1, - /// SPI 6 clock enable during Sleep mode + /// SPI 6 clock enable during Sleep mode SPI6LPEN: u1, - /// SAI1 clock enable during Sleep mode + /// SAI1 clock enable during Sleep mode SAI1LPEN: u1, - /// SAI2 clock enable + /// SAI2 clock enable SAI2LPEN: u1, - /// DFSDMLPEN + /// DFSDMLPEN DFSDMLPEN: u1, - /// DFSDM2 clock enable during Sleep mode + /// DFSDM2 clock enable during Sleep mode DFSDM2LPEN: u1, - /// LTDC clock enable during Sleep mode + /// LTDC clock enable during Sleep mode LTDCLPEN: u1, - /// DSI clocks enable during Sleep mode + /// DSI clocks enable during Sleep mode DSILPEN: u1, padding: u4, }), reserved112: [8]u8, - /// Backup domain control register + /// Backup domain control register BDCR: mmio.Mmio(packed struct(u32) { - /// External low-speed oscillator enable + /// External low-speed oscillator enable LSEON: u1, - /// External low-speed oscillator ready + /// External low-speed oscillator ready LSERDY: u1, - /// External low-speed oscillator bypass + /// External low-speed oscillator bypass LSEBYP: u1, - /// External low-speed oscillator bypass - LSEMOD: packed union { - raw: u1, - value: LSEMOD, - }, + /// External low-speed oscillator bypass + LSEMOD: LSEMOD, reserved8: u4, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, padding: u15, }), - /// clock control & status register + /// clock control & status register CSR: mmio.Mmio(packed struct(u32) { - /// Internal low-speed oscillator enable + /// Internal low-speed oscillator enable LSION: u1, - /// Internal low-speed oscillator ready + /// Internal low-speed oscillator ready LSIRDY: u1, reserved24: u22, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// BOR reset flag + /// BOR reset flag BORRSTF: u1, - /// PIN reset flag + /// PIN reset flag PADRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag WDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), reserved128: [8]u8, - /// spread spectrum clock generation register + /// spread spectrum clock generation register SSCGR: mmio.Mmio(packed struct(u32) { - /// Modulation period + /// Modulation period MODPER: u13, - /// Incrementation step + /// Incrementation step INCSTEP: u15, reserved30: u2, - /// Spread Select - SPREADSEL: packed union { - raw: u1, - value: SPREADSEL, - }, - /// Spread spectrum modulation enable + /// Spread Select + SPREADSEL: SPREADSEL, + /// Spread spectrum modulation enable SSCGEN: u1, }), - /// PLLI2S configuration register + /// PLLI2S configuration register PLLI2SCFGR: mmio.Mmio(packed struct(u32) { - /// Division factor for the main PLL (PLL) and audio PLL (PLLI2S) input clock - PLLM: packed union { - raw: u6, - value: PLLM, - }, - /// Main PLL (PLL) multiplication factor for VCO - PLLN: packed union { - raw: u9, - value: PLLN, - }, + /// Division factor for the main PLL (PLL) and audio PLL (PLLI2S) input clock + PLLM: PLLM, + /// Main PLL (PLL) multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// Main PLL (PLL) division factor for main system clock - PLLP: packed union { - raw: u2, - value: PLLP, - }, + /// Main PLL (PLL) division factor for main system clock + PLLP: PLLP, reserved22: u4, - /// PLLI2S entry clock source - PLLI2SSRC: packed union { - raw: u1, - value: PLLI2SSRC, - }, + /// PLLI2S entry clock source + PLLI2SSRC: PLLI2SSRC, reserved24: u1, - /// Main PLL (PLL) division factor for USB OTG FS, SDIO and random number generator clocks - PLLQ: packed union { - raw: u4, - value: PLLQ, - }, - /// PLL division factor for I2S and System clocks - PLLR: packed union { - raw: u3, - value: PLLR, - }, + /// Main PLL (PLL) division factor for USB OTG FS, SDIO and random number generator clocks + PLLQ: PLLQ, + /// PLL division factor for I2S and System clocks + PLLR: PLLR, padding: u1, }), - /// RCC PLL configuration register + /// RCC PLL configuration register PLLSAICFGR: mmio.Mmio(packed struct(u32) { - /// Division factor for the main PLL (PLL) and audio PLL (PLLI2S) input clock - PLLM: packed union { - raw: u6, - value: PLLM, - }, - /// Main PLL (PLL) multiplication factor for VCO - PLLN: packed union { - raw: u9, - value: PLLN, - }, + /// Division factor for the main PLL (PLL) and audio PLL (PLLI2S) input clock + PLLM: PLLM, + /// Main PLL (PLL) multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// Main PLL (PLL) division factor for main system clock - PLLP: packed union { - raw: u2, - value: PLLP, - }, + /// Main PLL (PLL) division factor for main system clock + PLLP: PLLP, reserved22: u4, - /// Main PLL(PLL) and audio PLL (PLLI2S) entry clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, + /// Main PLL(PLL) and audio PLL (PLLI2S) entry clock source + PLLSRC: PLLSRC, reserved24: u1, - /// Main PLL (PLL) division factor for USB OTG FS, SDIO and random number generator clocks - PLLQ: packed union { - raw: u4, - value: PLLQ, - }, - /// PLL division factor for I2S and System clocks - PLLR: packed union { - raw: u3, - value: PLLR, - }, + /// Main PLL (PLL) division factor for USB OTG FS, SDIO and random number generator clocks + PLLQ: PLLQ, + /// PLL division factor for I2S and System clocks + PLLR: PLLR, padding: u1, }), - /// RCC Dedicated Clock Configuration Register + /// RCC Dedicated Clock Configuration Register DCKCFGR: mmio.Mmio(packed struct(u32) { - /// PLLI2S division factor for SAI1 clock - PLLI2SDIVQ: packed union { - raw: u5, - value: PLLI2SDIVQ, - }, + /// PLLI2S division factor for SAI1 clock + PLLI2SDIVQ: PLLI2SDIVQ, reserved8: u3, - /// PLL division factor for SAI1 A/B clock - PLLDIVR: packed union { - raw: u5, - value: PLLDIVR, - }, + /// PLL division factor for SAI1 A/B clock + PLLDIVR: PLLDIVR, reserved14: u1, - /// DFSDM2 audio clock selection - CKDFSDM2ASEL: packed union { - raw: u1, - value: CKDFSDMASEL, - }, - /// DFSDM1 audio clock selection - CKDFSDM1ASEL: packed union { - raw: u1, - value: CKDFSDMASEL, - }, - /// division factor for LCD_CLK - PLLSAIDIVR: packed union { - raw: u2, - value: PLLSAIDIVR, - }, + /// DFSDM2 audio clock selection + CKDFSDM2ASEL: CKDFSDMASEL, + /// DFSDM1 audio clock selection + CKDFSDM1ASEL: CKDFSDMASEL, + /// division factor for LCD_CLK + PLLSAIDIVR: PLLSAIDIVR, reserved20: u2, - /// SAI1-A clock source selection - SAI1ASRC: packed union { - raw: u2, - value: SAIASRC, - }, - /// SAI1-B clock source selection - SAI1BSRC: packed union { - raw: u2, - value: SAIBSRC, - }, - /// Timers clocks prescalers selection - TIMPRE: packed union { - raw: u1, - value: TIMPRE, - }, - /// I2S APB1 clocks source selection (I2S2/3) - I2S1SRC: packed union { - raw: u2, - value: I2S1SRC, - }, - /// 48 MHz clock source selection - CLK48SEL: packed union { - raw: u1, - value: CLK48SEL, - }, - /// SDIO clock source selection - SDIOSEL: packed union { - raw: u1, - value: SDIOSEL, - }, - /// DSI clock source selection - DSISEL: packed union { - raw: u1, - value: DSISEL, - }, + /// SAI1-A clock source selection + SAI1ASRC: SAIASRC, + /// SAI1-B clock source selection + SAI1BSRC: SAIBSRC, + /// Timers clocks prescalers selection + TIMPRE: TIMPRE, + /// I2S APB1 clocks source selection (I2S2/3) + I2S1SRC: I2S1SRC, + /// 48 MHz clock source selection + CLK48SEL: CLK48SEL, + /// SDIO clock source selection + SDIOSEL: SDIOSEL, + /// DSI clock source selection + DSISEL: DSISEL, reserved31: u1, - /// DFSDM1 Kernel clock selection - CKDFSDM1SEL: packed union { - raw: u1, - value: CKDFSDMSEL, - }, + /// DFSDM1 Kernel clock selection + CKDFSDM1SEL: CKDFSDMSEL, }), - /// Clocks gated enable register + /// Clocks gated enable register CKGATENR: mmio.Mmio(packed struct(u32) { - /// AHB to APB1 Bridge clock enable + /// AHB to APB1 Bridge clock enable AHB2APB1_CKEN: u1, - /// AHB to APB2 Bridge clock enable + /// AHB to APB2 Bridge clock enable AHB2APB2_CKEN: u1, - /// Cortex M4 ETM clock enable + /// Cortex M4 ETM clock enable CM4DBG_CKEN: u1, - /// Spare clock enable + /// Spare clock enable SPARE_CKEN: u1, - /// SRAM controller clock enable + /// SRAM controller clock enable SRAM_CKEN: u1, - /// Flash interface clock enable + /// Flash interface clock enable FLASH_CKEN: u1, - /// RCC clock enable + /// RCC clock enable RCC_CKEN: u1, - /// EVTCL clock enable + /// EVTCL clock enable EVTCL_CKEN: u1, padding: u24, }), - /// DCKCFGR2 register + /// DCKCFGR2 register DCKCFGR2: mmio.Mmio(packed struct(u32) { reserved22: u22, - /// FMPI2C1 kernel clock source selection - FMPI2C1SEL: packed union { - raw: u2, - value: FMPI2CSEL, - }, + /// FMPI2C1 kernel clock source selection + FMPI2C1SEL: FMPI2CSEL, reserved26: u2, - /// HDMI CEC clock source selection - CECSEL: packed union { - raw: u1, - value: CECSEL, - }, - /// SDIO/USB clock selection - CLK48SEL: packed union { - raw: u1, - value: CLK48SEL, - }, - /// SDIO clock selection - SDIOSEL: packed union { - raw: u1, - value: SDIOSEL, - }, - /// SPDIF clock selection - SPDIFRXSEL: packed union { - raw: u1, - value: SPDIFRXSEL, - }, - /// LPTIM1SEL - LPTIM1SEL: packed union { - raw: u2, - value: LPTIMSEL, - }, + /// HDMI CEC clock source selection + CECSEL: CECSEL, + /// SDIO/USB clock selection + CLK48SEL: CLK48SEL, + /// SDIO clock selection + SDIOSEL: SDIOSEL, + /// SPDIF clock selection + SPDIFRXSEL: SPDIFRXSEL, + /// LPTIM1SEL + LPTIM1SEL: LPTIMSEL, }), }; }; pub const rcc_f410 = struct { pub const FMPI2CSEL = enum(u2) { - /// APB clock selected as I2C clock + /// APB clock selected as I2C clock PCLK1 = 0x0, - /// System clock selected as I2C clock + /// System clock selected as I2C clock SYS = 0x1, - /// HSI clock selected as I2C clock + /// HSI clock selected as I2C clock HSI = 0x2, _, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const ISSRC = enum(u2) { - /// I2Sx clock frequency = f(PLLCLK_R) + /// I2Sx clock frequency = f(PLLCLK_R) PLLCLKR = 0x0, - /// I2Sx clock frequency = I2S_CKIN Alternate function input frequency + /// I2Sx clock frequency = I2S_CKIN Alternate function input frequency I2S_CKIN = 0x1, - /// I2Sx clock frequency = HSI/HSE depends on PLLSRC bit (PLLCFGR[22]) + /// I2Sx clock frequency = HSI/HSE depends on PLLSRC bit (PLLCFGR[22]) HSI_HSE = 0x3, _, }; pub const LPTIMSEL = enum(u2) { - /// APB1 clock (PCLK1) selected as LPTILM1 clock + /// APB1 clock (PCLK1) selected as LPTILM1 clock PCLK1 = 0x0, - /// LSI clock is selected as LPTILM1 clock + /// LSI clock is selected as LPTILM1 clock LSI = 0x1, - /// HSI clock is selected as LPTILM1 clock + /// HSI clock is selected as LPTILM1 clock HSI = 0x2, - /// LSE clock is selected as LPTILM1 clock + /// LSE clock is selected as LPTILM1 clock LSE = 0x3, }; pub const MCO1SEL = enum(u2) { - /// HSI clock selected + /// HSI clock selected HSI = 0x0, - /// LSE oscillator selected + /// LSE oscillator selected LSE = 0x1, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x2, - /// PLL clock selected + /// PLL clock selected PLL = 0x3, }; pub const MCO2SEL = enum(u2) { - /// System clock (SYSCLK) selected + /// System clock (SYSCLK) selected SYS = 0x0, - /// PLLI2S clock selected + /// PLLI2S clock selected PLLI2S = 0x1, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x2, - /// PLL clock selected + /// PLL clock selected PLL = 0x3, }; pub const MCOPRE = enum(u3) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x4, - /// Division by 3 + /// Division by 3 Div3 = 0x5, - /// Division by 4 + /// Division by 4 Div4 = 0x6, - /// Division by 5 + /// Division by 5 Div5 = 0x7, _, }; @@ -376507,13 +370963,13 @@ pub const types = struct { }; pub const PLLP = enum(u2) { - /// PLLP=2 + /// PLLP=2 Div2 = 0x0, - /// PLLP=4 + /// PLLP=4 Div4 = 0x1, - /// PLLP=6 + /// PLLP=6 Div6 = 0x2, - /// PLLP=8 + /// PLLP=8 Div8 = 0x3, }; @@ -376546,792 +371002,729 @@ pub const types = struct { }; pub const PLLSRC = enum(u1) { - /// HSI clock selected as PLL and PLLI2S clock entry + /// HSI clock selected as PLL and PLLI2S clock entry HSI = 0x0, - /// HSE oscillator clock selected as PLL and PLLI2S clock entry + /// HSE oscillator clock selected as PLL and PLLI2S clock entry HSE = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SPREADSEL = enum(u1) { - /// Center spread + /// Center spread Center = 0x0, - /// Down spread + /// Down spread Down = 0x1, }; pub const SW = enum(u2) { - /// HSI oscillator used as system clock + /// HSI oscillator used as system clock HSI = 0x0, - /// HSE oscillator used as system clock + /// HSE oscillator used as system clock HSE = 0x1, - /// PLL used as system clock + /// PLL used as system clock PLL1_P = 0x2, _, }; pub const TIMPRE = enum(u1) { - /// If the APB prescaler is configured 1, TIMxCLK = PCLKx. Otherwise, TIMxCLK = 2xPCLKx + /// If the APB prescaler is configured 1, TIMxCLK = PCLKx. Otherwise, TIMxCLK = 2xPCLKx Mul2 = 0x0, - /// If the APB prescaler is configured 1, 2 or 4, TIMxCLK = HCLK. Otherwise, TIMxCLK = 4xPCLKx + /// If the APB prescaler is configured 1, 2 or 4, TIMxCLK = HCLK. Otherwise, TIMxCLK = 4xPCLKx Mul4 = 0x1, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// clock control register + /// clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal high-speed clock enable + /// Internal high-speed clock enable HSION: u1, - /// Internal high-speed clock ready flag + /// Internal high-speed clock ready flag HSIRDY: u1, reserved3: u1, - /// Internal high-speed clock trimming + /// Internal high-speed clock trimming HSITRIM: u5, - /// Internal high-speed clock calibration + /// Internal high-speed clock calibration HSICAL: u8, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE clock bypass + /// HSE clock bypass HSEBYP: u1, - /// Clock security system enable + /// Clock security system enable CSSON: u1, reserved24: u4, - /// Main PLL (PLL) enable + /// Main PLL (PLL) enable PLLON: u1, - /// Main PLL (PLL) clock ready flag + /// Main PLL (PLL) clock ready flag PLLRDY: u1, padding: u6, }), - /// PLL configuration register + /// PLL configuration register PLLCFGR: mmio.Mmio(packed struct(u32) { - /// Division factor for the main PLL (PLL) and audio PLL (PLLI2S) input clock - PLLM: packed union { - raw: u6, - value: PLLM, - }, - /// Main PLL (PLL) multiplication factor for VCO - PLLN: packed union { - raw: u9, - value: PLLN, - }, + /// Division factor for the main PLL (PLL) and audio PLL (PLLI2S) input clock + PLLM: PLLM, + /// Main PLL (PLL) multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// Main PLL (PLL) division factor for main system clock - PLLP: packed union { - raw: u2, - value: PLLP, - }, + /// Main PLL (PLL) division factor for main system clock + PLLP: PLLP, reserved22: u4, - /// Main PLL(PLL) and audio PLL (PLLI2S) entry clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, + /// Main PLL(PLL) and audio PLL (PLLI2S) entry clock source + PLLSRC: PLLSRC, reserved24: u1, - /// Main PLL (PLL) division factor for USB OTG FS, SDIO and random number generator clocks - PLLQ: packed union { - raw: u4, - value: PLLQ, - }, - /// PLL division factor for I2S and System clocks - PLLR: packed union { - raw: u3, - value: PLLR, - }, + /// Main PLL (PLL) division factor for USB OTG FS, SDIO and random number generator clocks + PLLQ: PLLQ, + /// PLL division factor for I2S and System clocks + PLLR: PLLR, padding: u1, }), - /// clock configuration register + /// clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// MCO output enable + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// MCO output enable MCO1EN: u1, - /// MCO output enable + /// MCO output enable MCO2EN: u1, - /// APB Low speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high-speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, - /// HSE division factor for RTC clock + /// APB Low speed prescaler (APB1) + PPRE1: PPRE, + /// APB high-speed prescaler (APB2) + PPRE2: PPRE, + /// HSE division factor for RTC clock RTCPRE: u5, - /// Microcontroller clock output 1 - MCO1SEL: packed union { - raw: u2, - value: MCO1SEL, - }, + /// Microcontroller clock output 1 + MCO1SEL: MCO1SEL, reserved24: u1, - /// MCO1 prescaler - MCO1PRE: packed union { - raw: u3, - value: MCOPRE, - }, - /// MCO2 prescaler - MCO2PRE: packed union { - raw: u3, - value: MCOPRE, - }, - /// Microcontroller clock output 2 - MCO2SEL: packed union { - raw: u2, - value: MCO2SEL, - }, - }), - /// clock interrupt register + /// MCO1 prescaler + MCO1PRE: MCOPRE, + /// MCO2 prescaler + MCO2PRE: MCOPRE, + /// Microcontroller clock output 2 + MCO2SEL: MCO2SEL, + }), + /// clock interrupt register CIR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYF: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYF: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYF: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYF: u1, - /// Main PLL (PLL) ready interrupt flag + /// Main PLL (PLL) ready interrupt flag PLLRDYF: u1, reserved7: u2, - /// Clock security system interrupt flag + /// Clock security system interrupt flag CSSF: u1, - /// LSI ready interrupt enable + /// LSI ready interrupt enable LSIRDYIE: u1, - /// LSE ready interrupt enable + /// LSE ready interrupt enable LSERDYIE: u1, - /// HSI ready interrupt enable + /// HSI ready interrupt enable HSIRDYIE: u1, - /// HSE ready interrupt enable + /// HSE ready interrupt enable HSERDYIE: u1, - /// Main PLL (PLL) ready interrupt enable + /// Main PLL (PLL) ready interrupt enable PLLRDYIE: u1, reserved16: u3, - /// LSI ready interrupt clear + /// LSI ready interrupt clear LSIRDYC: u1, - /// LSE ready interrupt clear + /// LSE ready interrupt clear LSERDYC: u1, - /// HSI ready interrupt clear + /// HSI ready interrupt clear HSIRDYC: u1, - /// HSE ready interrupt clear + /// HSE ready interrupt clear HSERDYC: u1, - /// Main PLL(PLL) ready interrupt clear + /// Main PLL(PLL) ready interrupt clear PLLRDYC: u1, - /// PLLI2S ready interrupt clear + /// PLLI2S ready interrupt clear PLLI2SRDYC: u1, reserved23: u1, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// AHB1 peripheral reset register + /// AHB1 peripheral reset register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// IO port A reset + /// IO port A reset GPIOARST: u1, - /// IO port B reset + /// IO port B reset GPIOBRST: u1, - /// IO port C reset + /// IO port C reset GPIOCRST: u1, reserved7: u4, - /// IO port H reset + /// IO port H reset GPIOHRST: u1, reserved12: u4, - /// CRC reset + /// CRC reset CRCRST: u1, reserved21: u8, - /// DMA2 reset + /// DMA2 reset DMA1RST: u1, - /// DMA2 reset + /// DMA2 reset DMA2RST: u1, reserved31: u8, - /// RNGRST + /// RNGRST RNGRST: u1, }), reserved32: [12]u8, - /// APB1 peripheral reset register + /// APB1 peripheral reset register APB1RSTR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// TIM5 reset + /// TIM5 reset TIM5RST: u1, - /// TIM6 reset + /// TIM6 reset TIM6RST: u1, reserved9: u4, - /// LPTIM1 reset + /// LPTIM1 reset LPTIM1RST: u1, reserved11: u1, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI 2 reset + /// SPI 2 reset SPI2RST: u1, reserved17: u2, - /// USART 2 reset + /// USART 2 reset USART2RST: u1, reserved21: u3, - /// I2C 1 reset + /// I2C 1 reset I2C1RST: u1, - /// I2C 2 reset + /// I2C 2 reset I2C2RST: u1, reserved24: u1, - /// FMPI2C1 reset + /// FMPI2C1 reset FMPI2C1RST: u1, reserved28: u3, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC reset + /// DAC reset DACRST: u1, padding: u2, }), - /// APB2 peripheral reset register + /// APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { - /// TIM1 reset + /// TIM1 reset TIM1RST: u1, reserved4: u3, - /// USART1 reset + /// USART1 reset USART1RST: u1, - /// USART6 reset + /// USART6 reset USART6RST: u1, reserved8: u2, - /// ADC interface reset (common to all ADCs) + /// ADC interface reset (common to all ADCs) ADCRST: u1, reserved12: u3, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, reserved14: u1, - /// System configuration controller reset + /// System configuration controller reset SYSCFGRST: u1, reserved16: u1, - /// TIM9 reset + /// TIM9 reset TIM9RST: u1, reserved18: u1, - /// TIM11 reset + /// TIM11 reset TIM11RST: u1, reserved20: u1, - /// SPI5 reset + /// SPI5 reset SPI5RST: u1, padding: u11, }), reserved48: [8]u8, - /// AHB1 peripheral clock register + /// AHB1 peripheral clock register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable + /// IO port A clock enable GPIOAEN: u1, - /// IO port B clock enable + /// IO port B clock enable GPIOBEN: u1, - /// IO port C clock enable + /// IO port C clock enable GPIOCEN: u1, reserved7: u4, - /// IO port H clock enable + /// IO port H clock enable GPIOHEN: u1, reserved12: u4, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved21: u8, - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, reserved31: u8, - /// RNG clock enable + /// RNG clock enable RNGEN: u1, }), reserved64: [12]u8, - /// APB1 peripheral clock enable register + /// APB1 peripheral clock enable register APB1ENR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// TIM5 clock enable + /// TIM5 clock enable TIM5EN: u1, - /// TIM6 clock enable + /// TIM6 clock enable TIM6EN: u1, reserved9: u4, - /// LPTIM1 clock enable + /// LPTIM1 clock enable LPTIM1EN: u1, - /// RTC APB clock enable + /// RTC APB clock enable RTCAPBEN: u1, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI2 clock enable + /// SPI2 clock enable SPI2EN: u1, reserved17: u2, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, reserved21: u3, - /// I2C1 clock enable + /// I2C1 clock enable I2C1EN: u1, - /// I2C2 clock enable + /// I2C2 clock enable I2C2EN: u1, reserved24: u1, - /// FMPI2C1 clock enable + /// FMPI2C1 clock enable FMPI2C1EN: u1, reserved28: u3, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, padding: u2, }), - /// APB2 peripheral clock enable register + /// APB2 peripheral clock enable register APB2ENR: mmio.Mmio(packed struct(u32) { - /// TIM1 clock enable + /// TIM1 clock enable TIM1EN: u1, reserved4: u3, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, - /// USART6 clock enable + /// USART6 clock enable USART6EN: u1, reserved8: u2, - /// ADC1 clock enable + /// ADC1 clock enable ADC1EN: u1, reserved12: u3, - /// SPI1 clock enable + /// SPI1 clock enable SPI1EN: u1, reserved14: u1, - /// System configuration controller clock enable + /// System configuration controller clock enable SYSCFGEN: u1, - /// EXTI ans external IT clock enable + /// EXTI ans external IT clock enable EXTITEN: u1, - /// TIM9 clock enable + /// TIM9 clock enable TIM9EN: u1, reserved18: u1, - /// TIM11 clock enable + /// TIM11 clock enable TIM11EN: u1, reserved20: u1, - /// SPI5 clock enable + /// SPI5 clock enable SPI5EN: u1, padding: u11, }), reserved80: [8]u8, - /// AHB1 peripheral clock enable in low power mode register + /// AHB1 peripheral clock enable in low power mode register AHB1LPENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable during sleep mode + /// IO port A clock enable during sleep mode GPIOALPEN: u1, - /// IO port B clock enable during Sleep mode + /// IO port B clock enable during Sleep mode GPIOBLPEN: u1, - /// IO port C clock enable during Sleep mode + /// IO port C clock enable during Sleep mode GPIOCLPEN: u1, reserved7: u4, - /// IO port H clock enable during Sleep mode + /// IO port H clock enable during Sleep mode GPIOHLPEN: u1, reserved12: u4, - /// CRC clock enable during Sleep mode + /// CRC clock enable during Sleep mode CRCLPEN: u1, reserved15: u2, - /// Flash interface clock enable during Sleep mode + /// Flash interface clock enable during Sleep mode FLASHLPEN: u1, - /// SRAM 1interface clock enable during Sleep mode + /// SRAM 1interface clock enable during Sleep mode SRAM1LPEN: u1, reserved21: u4, - /// DMA1 clock enable during Sleep mode + /// DMA1 clock enable during Sleep mode DMA1LPEN: u1, - /// DMA2 clock enable during Sleep mode + /// DMA2 clock enable during Sleep mode DMA2LPEN: u1, reserved31: u8, - /// RNG clock enable during sleep mode + /// RNG clock enable during sleep mode RNGLPEN: u1, }), reserved96: [12]u8, - /// APB1 peripheral clock enable in low power mode register + /// APB1 peripheral clock enable in low power mode register APB1LPENR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// TIM5 clock enable during Sleep mode + /// TIM5 clock enable during Sleep mode TIM5LPEN: u1, - /// TIM6 clock enable during Sleep mode + /// TIM6 clock enable during Sleep mode TIM6LPEN: u1, reserved9: u4, - /// LPTIM1 clock enable during sleep mode + /// LPTIM1 clock enable during sleep mode LPTIM1LPEN: u1, - /// RTC APB clock enable during sleep mode + /// RTC APB clock enable during sleep mode RTCAPBLPEN: u1, - /// Window watchdog clock enable during Sleep mode + /// Window watchdog clock enable during Sleep mode WWDGLPEN: u1, reserved14: u2, - /// SPI2 clock enable during Sleep mode + /// SPI2 clock enable during Sleep mode SPI2LPEN: u1, reserved17: u2, - /// USART2 clock enable during Sleep mode + /// USART2 clock enable during Sleep mode USART2LPEN: u1, reserved21: u3, - /// I2C1 clock enable during Sleep mode + /// I2C1 clock enable during Sleep mode I2C1LPEN: u1, - /// I2C2 clock enable during Sleep mode + /// I2C2 clock enable during Sleep mode I2C2LPEN: u1, reserved24: u1, - /// FMPI2C1 clock enable during Sleep + /// FMPI2C1 clock enable during Sleep FMPI2C1LPEN: u1, reserved28: u3, - /// Power interface clock enable during Sleep mode + /// Power interface clock enable during Sleep mode PWRLPEN: u1, - /// DAC interface clock enable during sleep mode + /// DAC interface clock enable during sleep mode DACLPEN: u1, padding: u2, }), - /// APB2 peripheral clock enabled in low power mode register + /// APB2 peripheral clock enabled in low power mode register APB2LPENR: mmio.Mmio(packed struct(u32) { - /// TIM1 clock enable during Sleep mode + /// TIM1 clock enable during Sleep mode TIM1LPEN: u1, reserved4: u3, - /// USART1 clock enable during Sleep mode + /// USART1 clock enable during Sleep mode USART1LPEN: u1, - /// USART6 clock enable during Sleep mode + /// USART6 clock enable during Sleep mode USART6LPEN: u1, reserved8: u2, - /// ADC1 clock enable during Sleep mode + /// ADC1 clock enable during Sleep mode ADC1LPEN: u1, reserved11: u2, - /// SDIO clock enable during Sleep mode + /// SDIO clock enable during Sleep mode SDIOLPEN: u1, - /// SPI 1 clock enable during Sleep mode + /// SPI 1 clock enable during Sleep mode SPI1LPEN: u1, reserved14: u1, - /// System configuration controller clock enable during Sleep mode + /// System configuration controller clock enable during Sleep mode SYSCFGLPEN: u1, - /// EXTI and External IT clock enable during sleep mode + /// EXTI and External IT clock enable during sleep mode EXTITLPEN: u1, - /// TIM9 clock enable during sleep mode + /// TIM9 clock enable during sleep mode TIM9LPEN: u1, reserved18: u1, - /// TIM11 clock enable during Sleep mode + /// TIM11 clock enable during Sleep mode TIM11LPEN: u1, reserved20: u1, - /// SPI5 clock enable during Sleep mode + /// SPI5 clock enable during Sleep mode SPI5LPEN: u1, padding: u11, }), reserved112: [8]u8, - /// Backup domain control register + /// Backup domain control register BDCR: mmio.Mmio(packed struct(u32) { - /// External low-speed oscillator enable + /// External low-speed oscillator enable LSEON: u1, - /// External low-speed oscillator ready + /// External low-speed oscillator ready LSERDY: u1, - /// External low-speed oscillator bypass + /// External low-speed oscillator bypass LSEBYP: u1, reserved8: u5, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, padding: u15, }), - /// clock control & status register + /// clock control & status register CSR: mmio.Mmio(packed struct(u32) { - /// Internal low-speed oscillator enable + /// Internal low-speed oscillator enable LSION: u1, - /// Internal low-speed oscillator ready + /// Internal low-speed oscillator ready LSIRDY: u1, reserved24: u22, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// BOR reset flag + /// BOR reset flag BORRSTF: u1, - /// PIN reset flag + /// PIN reset flag PADRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag WDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), reserved128: [8]u8, - /// spread spectrum clock generation register + /// spread spectrum clock generation register SSCGR: mmio.Mmio(packed struct(u32) { - /// Modulation period + /// Modulation period MODPER: u13, - /// Incrementation step + /// Incrementation step INCSTEP: u15, reserved30: u2, - /// Spread Select - SPREADSEL: packed union { - raw: u1, - value: SPREADSEL, - }, - /// Spread spectrum modulation enable + /// Spread Select + SPREADSEL: SPREADSEL, + /// Spread spectrum modulation enable SSCGEN: u1, }), reserved140: [8]u8, - /// DCKCFGR register + /// DCKCFGR register DCKCFGR: mmio.Mmio(packed struct(u32) { reserved24: u24, - /// TIMPRE - TIMPRE: packed union { - raw: u1, - value: TIMPRE, - }, - /// I2SSRC - I2SSRC: packed union { - raw: u2, - value: ISSRC, - }, + /// TIMPRE + TIMPRE: TIMPRE, + /// I2SSRC + I2SSRC: ISSRC, padding: u5, }), reserved148: [4]u8, - /// DCKCFGR2 register + /// DCKCFGR2 register DCKCFGR2: mmio.Mmio(packed struct(u32) { reserved22: u22, - /// FMPI2C1 kernel clock source selection - FMPI2C1SEL: packed union { - raw: u2, - value: FMPI2CSEL, - }, + /// FMPI2C1 kernel clock source selection + FMPI2C1SEL: FMPI2CSEL, reserved30: u6, - /// LPTIM1SEL - LPTIM1SEL: packed union { - raw: u2, - value: LPTIMSEL, - }, + /// LPTIM1SEL + LPTIM1SEL: LPTIMSEL, }), }; }; pub const rcc_f7 = struct { pub const ADFSDMSEL = enum(u1) { - /// SAI1 clock selected as DFSDM1 Audio clock source + /// SAI1 clock selected as DFSDM1 Audio clock source SAI1 = 0x0, - /// SAI2 clock selected as DFSDM1 Audio clock source + /// SAI2 clock selected as DFSDM1 Audio clock source SAI2 = 0x1, }; pub const CECSEL = enum(u1) { - /// LSE clock is selected as HDMI-CEC clock + /// LSE clock is selected as HDMI-CEC clock LSE = 0x0, - /// HSI divided by 488 clock is selected as HDMI-CEC clock + /// HSI divided by 488 clock is selected as HDMI-CEC clock HSI_Div488 = 0x1, }; pub const CLK48SEL = enum(u1) { - /// 48MHz clock from PLL is selected + /// 48MHz clock from PLL is selected PLL1_Q = 0x0, - /// 48MHz clock from PLLSAI is selected + /// 48MHz clock from PLLSAI is selected PLLSAI1_P = 0x1, }; pub const DFSDMSEL = enum(u1) { - /// APB2 clock (PCLK2) selected as DFSDM1 Kernel clock source + /// APB2 clock (PCLK2) selected as DFSDM1 Kernel clock source PCLK2 = 0x0, - /// System clock (SYSCLK) clock selected as DFSDM1 Kernel clock source + /// System clock (SYSCLK) clock selected as DFSDM1 Kernel clock source SYS = 0x1, }; pub const DSISEL = enum(u1) { - /// DSI-PHY used as DSI byte lane clock source (usual case) + /// DSI-PHY used as DSI byte lane clock source (usual case) DSI_PHY = 0x0, - /// PLLR used as DSI byte lane clock source, used in case DSI PLL and DSI-PHY are off (low power mode) + /// PLLR used as DSI byte lane clock source, used in case DSI PLL and DSI-PHY are off (low power mode) PLL1_R = 0x1, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const I2CSEL = enum(u2) { - /// APB clock selected as I2C clock + /// APB clock selected as I2C clock PCLK1 = 0x0, - /// System clock selected as I2C clock + /// System clock selected as I2C clock SYS = 0x1, - /// HSI clock selected as I2C clock + /// HSI clock selected as I2C clock HSI = 0x2, _, }; pub const ISSRC = enum(u1) { - /// PLLI2S clock used as I2S clock source + /// PLLI2S clock used as I2S clock source PLLI2S = 0x0, - /// External clock mapped on the I2S_CKIN pin used as I2S clock source + /// External clock mapped on the I2S_CKIN pin used as I2S clock source CKIN = 0x1, }; pub const LPTIMSEL = enum(u2) { - /// APB1 clock (PCLK1) selected as LPTILM1 clock + /// APB1 clock (PCLK1) selected as LPTILM1 clock PCLK1 = 0x0, - /// LSI clock is selected as LPTILM1 clock + /// LSI clock is selected as LPTILM1 clock LSI = 0x1, - /// HSI clock is selected as LPTILM1 clock + /// HSI clock is selected as LPTILM1 clock HSI = 0x2, - /// LSE clock is selected as LPTILM1 clock + /// LSE clock is selected as LPTILM1 clock LSE = 0x3, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x1, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCO1SEL = enum(u2) { - /// HSI clock selected + /// HSI clock selected HSI = 0x0, - /// LSE oscillator selected + /// LSE oscillator selected LSE = 0x1, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x2, - /// PLL clock selected + /// PLL clock selected PLL = 0x3, }; pub const MCO2SEL = enum(u2) { - /// System clock (SYSCLK) selected + /// System clock (SYSCLK) selected SYS = 0x0, - /// PLLI2S clock selected + /// PLLI2S clock selected PLLI2S = 0x1, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x2, - /// PLL clock selected + /// PLL clock selected PLL = 0x3, }; pub const MCOPRE = enum(u3) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x4, - /// Division by 3 + /// Division by 3 Div3 = 0x5, - /// Division by 4 + /// Division by 4 Div4 = 0x6, - /// Division by 5 + /// Division by 5 Div5 = 0x7, _, }; pub const PLLI2SDIVQ = enum(u5) { - /// PLLI2SDIVQ = /1 + /// PLLI2SDIVQ = /1 Div1 = 0x0, - /// PLLI2SDIVQ = /2 + /// PLLI2SDIVQ = /2 Div2 = 0x1, - /// PLLI2SDIVQ = /3 + /// PLLI2SDIVQ = /3 Div3 = 0x2, - /// PLLI2SDIVQ = /4 + /// PLLI2SDIVQ = /4 Div4 = 0x3, - /// PLLI2SDIVQ = /5 + /// PLLI2SDIVQ = /5 Div5 = 0x4, - /// PLLI2SDIVQ = /6 + /// PLLI2SDIVQ = /6 Div6 = 0x5, - /// PLLI2SDIVQ = /7 + /// PLLI2SDIVQ = /7 Div7 = 0x6, - /// PLLI2SDIVQ = /8 + /// PLLI2SDIVQ = /8 Div8 = 0x7, - /// PLLI2SDIVQ = /9 + /// PLLI2SDIVQ = /9 Div9 = 0x8, - /// PLLI2SDIVQ = /10 + /// PLLI2SDIVQ = /10 Div10 = 0x9, - /// PLLI2SDIVQ = /11 + /// PLLI2SDIVQ = /11 Div11 = 0xa, - /// PLLI2SDIVQ = /12 + /// PLLI2SDIVQ = /12 Div12 = 0xb, - /// PLLI2SDIVQ = /13 + /// PLLI2SDIVQ = /13 Div13 = 0xc, - /// PLLI2SDIVQ = /14 + /// PLLI2SDIVQ = /14 Div14 = 0xd, - /// PLLI2SDIVQ = /15 + /// PLLI2SDIVQ = /15 Div15 = 0xe, - /// PLLI2SDIVQ = /16 + /// PLLI2SDIVQ = /16 Div16 = 0xf, - /// PLLI2SDIVQ = /17 + /// PLLI2SDIVQ = /17 Div17 = 0x10, - /// PLLI2SDIVQ = /18 + /// PLLI2SDIVQ = /18 Div18 = 0x11, - /// PLLI2SDIVQ = /19 + /// PLLI2SDIVQ = /19 Div19 = 0x12, - /// PLLI2SDIVQ = /20 + /// PLLI2SDIVQ = /20 Div20 = 0x13, - /// PLLI2SDIVQ = /21 + /// PLLI2SDIVQ = /21 Div21 = 0x14, - /// PLLI2SDIVQ = /22 + /// PLLI2SDIVQ = /22 Div22 = 0x15, - /// PLLI2SDIVQ = /23 + /// PLLI2SDIVQ = /23 Div23 = 0x16, - /// PLLI2SDIVQ = /24 + /// PLLI2SDIVQ = /24 Div24 = 0x17, - /// PLLI2SDIVQ = /25 + /// PLLI2SDIVQ = /25 Div25 = 0x18, - /// PLLI2SDIVQ = /26 + /// PLLI2SDIVQ = /26 Div26 = 0x19, - /// PLLI2SDIVQ = /27 + /// PLLI2SDIVQ = /27 Div27 = 0x1a, - /// PLLI2SDIVQ = /28 + /// PLLI2SDIVQ = /28 Div28 = 0x1b, - /// PLLI2SDIVQ = /29 + /// PLLI2SDIVQ = /29 Div29 = 0x1c, - /// PLLI2SDIVQ = /30 + /// PLLI2SDIVQ = /30 Div30 = 0x1d, - /// PLLI2SDIVQ = /31 + /// PLLI2SDIVQ = /31 Div31 = 0x1e, - /// PLLI2SDIVQ = /32 + /// PLLI2SDIVQ = /32 Div32 = 0x1f, }; @@ -377789,13 +372182,13 @@ pub const types = struct { }; pub const PLLP = enum(u2) { - /// PLLP=2 + /// PLLP=2 Div2 = 0x0, - /// PLLP=4 + /// PLLP=4 Div4 = 0x1, - /// PLLP=6 + /// PLLP=6 Div6 = 0x2, - /// PLLP=8 + /// PLLP=8 Div8 = 0x3, }; @@ -377828,1220 +372221,1061 @@ pub const types = struct { }; pub const PLLSAIDIVQ = enum(u5) { - /// PLLSAIDIVQ = /1 + /// PLLSAIDIVQ = /1 Div1 = 0x0, - /// PLLSAIDIVQ = /2 + /// PLLSAIDIVQ = /2 Div2 = 0x1, - /// PLLSAIDIVQ = /3 + /// PLLSAIDIVQ = /3 Div3 = 0x2, - /// PLLSAIDIVQ = /4 + /// PLLSAIDIVQ = /4 Div4 = 0x3, - /// PLLSAIDIVQ = /5 + /// PLLSAIDIVQ = /5 Div5 = 0x4, - /// PLLSAIDIVQ = /6 + /// PLLSAIDIVQ = /6 Div6 = 0x5, - /// PLLSAIDIVQ = /7 + /// PLLSAIDIVQ = /7 Div7 = 0x6, - /// PLLSAIDIVQ = /8 + /// PLLSAIDIVQ = /8 Div8 = 0x7, - /// PLLSAIDIVQ = /9 + /// PLLSAIDIVQ = /9 Div9 = 0x8, - /// PLLSAIDIVQ = /10 + /// PLLSAIDIVQ = /10 Div10 = 0x9, - /// PLLSAIDIVQ = /11 + /// PLLSAIDIVQ = /11 Div11 = 0xa, - /// PLLSAIDIVQ = /12 + /// PLLSAIDIVQ = /12 Div12 = 0xb, - /// PLLSAIDIVQ = /13 + /// PLLSAIDIVQ = /13 Div13 = 0xc, - /// PLLSAIDIVQ = /14 + /// PLLSAIDIVQ = /14 Div14 = 0xd, - /// PLLSAIDIVQ = /15 + /// PLLSAIDIVQ = /15 Div15 = 0xe, - /// PLLSAIDIVQ = /16 + /// PLLSAIDIVQ = /16 Div16 = 0xf, - /// PLLSAIDIVQ = /17 + /// PLLSAIDIVQ = /17 Div17 = 0x10, - /// PLLSAIDIVQ = /18 + /// PLLSAIDIVQ = /18 Div18 = 0x11, - /// PLLSAIDIVQ = /19 + /// PLLSAIDIVQ = /19 Div19 = 0x12, - /// PLLSAIDIVQ = /20 + /// PLLSAIDIVQ = /20 Div20 = 0x13, - /// PLLSAIDIVQ = /21 + /// PLLSAIDIVQ = /21 Div21 = 0x14, - /// PLLSAIDIVQ = /22 + /// PLLSAIDIVQ = /22 Div22 = 0x15, - /// PLLSAIDIVQ = /23 + /// PLLSAIDIVQ = /23 Div23 = 0x16, - /// PLLSAIDIVQ = /24 + /// PLLSAIDIVQ = /24 Div24 = 0x17, - /// PLLSAIDIVQ = /25 + /// PLLSAIDIVQ = /25 Div25 = 0x18, - /// PLLSAIDIVQ = /26 + /// PLLSAIDIVQ = /26 Div26 = 0x19, - /// PLLSAIDIVQ = /27 + /// PLLSAIDIVQ = /27 Div27 = 0x1a, - /// PLLSAIDIVQ = /28 + /// PLLSAIDIVQ = /28 Div28 = 0x1b, - /// PLLSAIDIVQ = /29 + /// PLLSAIDIVQ = /29 Div29 = 0x1c, - /// PLLSAIDIVQ = /30 + /// PLLSAIDIVQ = /30 Div30 = 0x1d, - /// PLLSAIDIVQ = /31 + /// PLLSAIDIVQ = /31 Div31 = 0x1e, - /// PLLSAIDIVQ = /32 + /// PLLSAIDIVQ = /32 Div32 = 0x1f, }; pub const PLLSAIDIVR = enum(u2) { - /// PLLSAIDIVR = /2 + /// PLLSAIDIVR = /2 Div2 = 0x0, - /// PLLSAIDIVR = /4 + /// PLLSAIDIVR = /4 Div4 = 0x1, - /// PLLSAIDIVR = /8 + /// PLLSAIDIVR = /8 Div8 = 0x2, - /// PLLSAIDIVR = /16 + /// PLLSAIDIVR = /16 Div16 = 0x3, }; pub const PLLSRC = enum(u1) { - /// HSI clock selected as PLL and PLLI2S clock entry + /// HSI clock selected as PLL and PLLI2S clock entry HSI = 0x0, - /// HSE oscillator clock selected as PLL and PLLI2S clock entry + /// HSE oscillator clock selected as PLL and PLLI2S clock entry HSE = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SAISEL = enum(u2) { - /// SAI2 clock frequency = f(PLLSAI_Q) / PLLSAIDIVQ + /// SAI2 clock frequency = f(PLLSAI_Q) / PLLSAIDIVQ PLLSAI1_Q = 0x0, - /// SAI2 clock frequency = f(PLLI2S_Q) / PLLI2SDIVQ + /// SAI2 clock frequency = f(PLLI2S_Q) / PLLI2SDIVQ PLLI2S1_Q = 0x1, - /// SAI2 clock frequency = Alternate function input frequency + /// SAI2 clock frequency = Alternate function input frequency AFIF = 0x2, - /// SAI2 clock frequency = HSI or HSE + /// SAI2 clock frequency = HSI or HSE HSI_HSE = 0x3, }; pub const SDMMCSEL = enum(u1) { - /// 48 MHz clock is selected as SD clock + /// 48 MHz clock is selected as SD clock CLK48 = 0x0, - /// System clock is selected as SD clock + /// System clock is selected as SD clock SYS = 0x1, }; pub const SPREADSEL = enum(u1) { - /// Center spread + /// Center spread Center = 0x0, - /// Down spread + /// Down spread Down = 0x1, }; pub const SW = enum(u2) { - /// HSI oscillator used as system clock + /// HSI oscillator used as system clock HSI = 0x0, - /// HSE oscillator used as system clock + /// HSE oscillator used as system clock HSE = 0x1, - /// PLL used as system clock + /// PLL used as system clock PLL1_P = 0x2, _, }; pub const TIMPRE = enum(u1) { - /// If the APB prescaler is configured 1, TIMxCLK = PCLKx. Otherwise, TIMxCLK = 2xPCLKx + /// If the APB prescaler is configured 1, TIMxCLK = PCLKx. Otherwise, TIMxCLK = 2xPCLKx Mul2 = 0x0, - /// If the APB prescaler is configured 1, 2 or 4, TIMxCLK = HCLK. Otherwise, TIMxCLK = 4xPCLKx + /// If the APB prescaler is configured 1, 2 or 4, TIMxCLK = HCLK. Otherwise, TIMxCLK = 4xPCLKx Mul4 = 0x1, }; pub const USART1SEL = enum(u2) { - /// APB2 clock (PCLK2) is selected as USART clock + /// APB2 clock (PCLK2) is selected as USART clock PCLK2 = 0x0, - /// System clock is selected as USART clock + /// System clock is selected as USART clock SYS = 0x1, - /// HSI clock is selected as USART clock + /// HSI clock is selected as USART clock HSI = 0x2, - /// LSE clock is selected as USART clock + /// LSE clock is selected as USART clock LSE = 0x3, }; pub const USART2SEL = enum(u2) { - /// APB1 clock (PCLK1) is selected as USART clock + /// APB1 clock (PCLK1) is selected as USART clock PCLK1 = 0x0, - /// System clock is selected as USART clock + /// System clock is selected as USART clock SYS = 0x1, - /// HSI clock is selected as USART clock + /// HSI clock is selected as USART clock HSI = 0x2, - /// LSE clock is selected as USART clock + /// LSE clock is selected as USART clock LSE = 0x3, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// clock control register + /// clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal high-speed clock enable + /// Internal high-speed clock enable HSION: u1, - /// Internal high-speed clock ready flag + /// Internal high-speed clock ready flag HSIRDY: u1, reserved3: u1, - /// Internal high-speed clock trimming + /// Internal high-speed clock trimming HSITRIM: u5, - /// Internal high-speed clock calibration + /// Internal high-speed clock calibration HSICAL: u8, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE clock bypass + /// HSE clock bypass HSEBYP: u1, - /// Clock security system enable + /// Clock security system enable CSSON: u1, reserved24: u4, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, - /// PLLI2S enable + /// PLLI2S enable PLLI2SON: u1, - /// PLLI2S clock ready flag + /// PLLI2S clock ready flag PLLI2SRDY: u1, - /// PLLSAI enable + /// PLLSAI enable PLLSAION: u1, - /// PLLSAI clock ready flag + /// PLLSAI clock ready flag PLLSAIRDY: u1, padding: u2, }), - /// PLL configuration register + /// PLL configuration register PLLCFGR: mmio.Mmio(packed struct(u32) { - /// Division factor for the PLL and audio PLL (PLLI2S) input clock - PLLM: packed union { - raw: u6, - value: PLLM, - }, - /// PLL multiplication factor for VCO - PLLN: packed union { - raw: u9, - value: PLLN, - }, + /// Division factor for the PLL and audio PLL (PLLI2S) input clock + PLLM: PLLM, + /// PLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// PLL division factor for main system clock - PLLP: packed union { - raw: u2, - value: PLLP, - }, + /// PLL division factor for main system clock + PLLP: PLLP, reserved22: u4, - /// PLL and audio PLL (PLLI2S, PLLSAI) entry clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, + /// PLL and audio PLL (PLLI2S, PLLSAI) entry clock source + PLLSRC: PLLSRC, reserved24: u1, - /// PLL division factor for USB OTG FS, SDIO and random number generator clocks - PLLQ: packed union { - raw: u4, - value: PLLQ, - }, - /// PLL division factor for DSI clock - PLLR: packed union { - raw: u3, - value: PLLR, - }, + /// PLL division factor for USB OTG FS, SDIO and random number generator clocks + PLLQ: PLLQ, + /// PLL division factor for DSI clock + PLLR: PLLR, padding: u1, }), - /// clock configuration register + /// clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, reserved10: u2, - /// APB Low speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high-speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, - /// HSE division factor for RTC clock + /// APB Low speed prescaler (APB1) + PPRE1: PPRE, + /// APB high-speed prescaler (APB2) + PPRE2: PPRE, + /// HSE division factor for RTC clock RTCPRE: u5, - /// Microcontroller clock output 1 - MCO1SEL: packed union { - raw: u2, - value: MCO1SEL, - }, - /// I2S clock selection - I2SSRC: packed union { - raw: u1, - value: ISSRC, - }, - /// MCO1 prescaler - MCO1PRE: packed union { - raw: u3, - value: MCOPRE, - }, - /// MCO2 prescaler - MCO2PRE: packed union { - raw: u3, - value: MCOPRE, - }, - /// Microcontroller clock output 2 - MCO2SEL: packed union { - raw: u2, - value: MCO2SEL, - }, - }), - /// clock interrupt register + /// Microcontroller clock output 1 + MCO1SEL: MCO1SEL, + /// I2S clock selection + I2SSRC: ISSRC, + /// MCO1 prescaler + MCO1PRE: MCOPRE, + /// MCO2 prescaler + MCO2PRE: MCOPRE, + /// Microcontroller clock output 2 + MCO2SEL: MCO2SEL, + }), + /// clock interrupt register CIR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYF: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYF: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYF: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYF: u1, - /// PLL ready interrupt flag + /// PLL ready interrupt flag PLLRDYF: u1, - /// PLLI2S ready interrupt flag + /// PLLI2S ready interrupt flag PLLI2SRDYF: u1, - /// PLLSAI ready interrupt flag + /// PLLSAI ready interrupt flag PLLSAIRDYF: u1, - /// Clock security system interrupt flag + /// Clock security system interrupt flag CSSF: u1, - /// LSI ready interrupt enable + /// LSI ready interrupt enable LSIRDYIE: u1, - /// LSE ready interrupt enable + /// LSE ready interrupt enable LSERDYIE: u1, - /// HSI ready interrupt enable + /// HSI ready interrupt enable HSIRDYIE: u1, - /// HSE ready interrupt enable + /// HSE ready interrupt enable HSERDYIE: u1, - /// PLL ready interrupt enable + /// PLL ready interrupt enable PLLRDYIE: u1, - /// PLLI2S ready interrupt enable + /// PLLI2S ready interrupt enable PLLI2SRDYIE: u1, - /// PLLSAI Ready Interrupt Enable + /// PLLSAI Ready Interrupt Enable PLLSAIRDYIE: u1, reserved16: u1, - /// LSI ready interrupt clear + /// LSI ready interrupt clear LSIRDYC: u1, - /// LSE ready interrupt clear + /// LSE ready interrupt clear LSERDYC: u1, - /// HSI ready interrupt clear + /// HSI ready interrupt clear HSIRDYC: u1, - /// HSE ready interrupt clear + /// HSE ready interrupt clear HSERDYC: u1, - /// Main PLL(PLL) ready interrupt clear + /// Main PLL(PLL) ready interrupt clear PLLRDYC: u1, - /// PLLI2S ready interrupt clear + /// PLLI2S ready interrupt clear PLLI2SRDYC: u1, - /// PLLSAI Ready Interrupt Clear + /// PLLSAI Ready Interrupt Clear PLLSAIRDYC: u1, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// AHB1 peripheral reset register + /// AHB1 peripheral reset register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// IO port A reset + /// IO port A reset GPIOARST: u1, - /// IO port B reset + /// IO port B reset GPIOBRST: u1, - /// IO port C reset + /// IO port C reset GPIOCRST: u1, - /// IO port D reset + /// IO port D reset GPIODRST: u1, - /// IO port E reset + /// IO port E reset GPIOERST: u1, - /// IO port F reset + /// IO port F reset GPIOFRST: u1, - /// IO port G reset + /// IO port G reset GPIOGRST: u1, - /// IO port H reset + /// IO port H reset GPIOHRST: u1, - /// IO port I reset + /// IO port I reset GPIOIRST: u1, - /// IO port J reset + /// IO port J reset GPIOJRST: u1, - /// IO port K reset + /// IO port K reset GPIOKRST: u1, reserved12: u1, - /// CRC reset + /// CRC reset CRCRST: u1, reserved21: u8, - /// DMA2 reset + /// DMA2 reset DMA1RST: u1, - /// DMA2 reset + /// DMA2 reset DMA2RST: u1, - /// DMA2D reset + /// DMA2D reset DMA2DRST: u1, reserved25: u1, - /// Ethernet MAC reset + /// Ethernet MAC reset ETHRST: u1, reserved29: u3, - /// USB OTG HS module reset + /// USB OTG HS module reset USB_OTG_HSRST: u1, padding: u2, }), - /// AHB2 peripheral reset register + /// AHB2 peripheral reset register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// Camera interface reset + /// Camera interface reset DCMIRST: u1, reserved4: u3, - /// AES module reset + /// AES module reset AESRST: u1, - /// Hash module reset + /// Hash module reset HSAHRST: u1, - /// Random number generator module reset + /// Random number generator module reset RNGRST: u1, - /// USB OTG FS module reset + /// USB OTG FS module reset USB_OTG_FSRST: u1, padding: u24, }), - /// AHB3 peripheral reset register + /// AHB3 peripheral reset register AHB3RSTR: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller module reset + /// Flexible memory controller module reset FMCRST: u1, - /// Quad SPI memory controller reset + /// Quad SPI memory controller reset QUADSPIRST: u1, padding: u30, }), reserved32: [4]u8, - /// APB1 peripheral reset register + /// APB1 peripheral reset register APB1RSTR: mmio.Mmio(packed struct(u32) { - /// TIM2 reset + /// TIM2 reset TIM2RST: u1, - /// TIM3 reset + /// TIM3 reset TIM3RST: u1, - /// TIM4 reset + /// TIM4 reset TIM4RST: u1, - /// TIM5 reset + /// TIM5 reset TIM5RST: u1, - /// TIM6 reset + /// TIM6 reset TIM6RST: u1, - /// TIM7 reset + /// TIM7 reset TIM7RST: u1, - /// TIM12 reset + /// TIM12 reset TIM12RST: u1, - /// TIM13 reset + /// TIM13 reset TIM13RST: u1, - /// TIM14 reset + /// TIM14 reset TIM14RST: u1, - /// Low power timer 1 reset + /// Low power timer 1 reset LPTIM1RST: u1, reserved11: u1, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved13: u1, - /// CAN 3 reset + /// CAN 3 reset CAN3RST: u1, - /// SPI 2 reset + /// SPI 2 reset SPI2RST: u1, - /// SPI 3 reset + /// SPI 3 reset SPI3RST: u1, - /// SPDIF-RX reset + /// SPDIF-RX reset SPDIFRXRST: u1, - /// USART 2 reset + /// USART 2 reset USART2RST: u1, - /// USART 3 reset + /// USART 3 reset USART3RST: u1, - /// USART 4 reset + /// USART 4 reset UART4RST: u1, - /// USART 5 reset + /// USART 5 reset UART5RST: u1, - /// I2C 1 reset + /// I2C 1 reset I2C1RST: u1, - /// I2C 2 reset + /// I2C 2 reset I2C2RST: u1, - /// I2C3 reset + /// I2C3 reset I2C3RST: u1, - /// I2C 4 reset + /// I2C 4 reset I2C4RST: u1, - /// CAN1 reset + /// CAN1 reset CAN1RST: u1, - /// CAN2 reset + /// CAN2 reset CAN2RST: u1, - /// HDMI-CEC reset + /// HDMI-CEC reset CECRST: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC reset + /// DAC reset DACRST: u1, - /// UART7 reset + /// UART7 reset UART7RST: u1, - /// UART8 reset + /// UART8 reset UART8RST: u1, }), - /// APB2 peripheral reset register + /// APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { - /// TIM1 reset + /// TIM1 reset TIM1RST: u1, - /// TIM8 reset + /// TIM8 reset TIM8RST: u1, reserved4: u2, - /// USART1 reset + /// USART1 reset USART1RST: u1, - /// USART6 reset + /// USART6 reset USART6RST: u1, reserved7: u1, - /// SDMMC2 reset + /// SDMMC2 reset SDMMC2RST: u1, - /// ADC interface reset (common to all ADCs) + /// ADC interface reset (common to all ADCs) ADCRST: u1, reserved11: u2, - /// SDMMC1 reset + /// SDMMC1 reset SDMMC1RST: u1, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, - /// SPI4 reset + /// SPI4 reset SPI4RST: u1, - /// System configuration controller reset + /// System configuration controller reset SYSCFGRST: u1, reserved16: u1, - /// TIM9 reset + /// TIM9 reset TIM9RST: u1, - /// TIM10 reset + /// TIM10 reset TIM10RST: u1, - /// TIM11 reset + /// TIM11 reset TIM11RST: u1, reserved20: u1, - /// SPI5 reset + /// SPI5 reset SPI5RST: u1, - /// SPI6 reset + /// SPI6 reset SPI6RST: u1, - /// SAI1 reset + /// SAI1 reset SAI1RST: u1, - /// SAI2 reset + /// SAI2 reset SAI2RST: u1, reserved26: u2, - /// LTDC reset + /// LTDC reset LTDCRST: u1, - /// DSI reset + /// DSI reset DSIRST: u1, reserved29: u1, - /// DFSDM 1 reset + /// DFSDM 1 reset DFSDM1RST: u1, - /// MDIOS reset + /// MDIOS reset MDIOSRST: u1, - /// USB OTG HS PHY controller reset + /// USB OTG HS PHY controller reset USBPHYCRST: u1, }), reserved48: [8]u8, - /// AHB1 peripheral clock register + /// AHB1 peripheral clock register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable + /// IO port A clock enable GPIOAEN: u1, - /// IO port B clock enable + /// IO port B clock enable GPIOBEN: u1, - /// IO port C clock enable + /// IO port C clock enable GPIOCEN: u1, - /// IO port D clock enable + /// IO port D clock enable GPIODEN: u1, - /// IO port E clock enable + /// IO port E clock enable GPIOEEN: u1, - /// IO port F clock enable + /// IO port F clock enable GPIOFEN: u1, - /// IO port G clock enable + /// IO port G clock enable GPIOGEN: u1, - /// IO port H clock enable + /// IO port H clock enable GPIOHEN: u1, - /// IO port I clock enable + /// IO port I clock enable GPIOIEN: u1, - /// IO port J clock enable + /// IO port J clock enable GPIOJEN: u1, - /// IO port K clock enable + /// IO port K clock enable GPIOKEN: u1, reserved12: u1, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved18: u5, - /// Backup SRAM interface clock enable + /// Backup SRAM interface clock enable BKPSRAMEN: u1, reserved20: u1, - /// CCM data RAM clock enable + /// CCM data RAM clock enable DTCMRAMEN: u1, - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// DMA2D clock enable + /// DMA2D clock enable DMA2DEN: u1, reserved25: u1, - /// Ethernet MAC clock enable + /// Ethernet MAC clock enable ETHEN: u1, - /// Ethernet Transmission clock enable + /// Ethernet Transmission clock enable ETHTXEN: u1, - /// Ethernet Reception clock enable + /// Ethernet Reception clock enable ETHRXEN: u1, - /// Ethernet PTP clock enable + /// Ethernet PTP clock enable ETHPTPEN: u1, - /// USB OTG HS clock enable + /// USB OTG HS clock enable USB_OTG_HSEN: u1, - /// USB OTG HSULPI clock enable + /// USB OTG HSULPI clock enable USB_OTG_HSULPIEN: u1, padding: u1, }), - /// AHB2 peripheral clock enable register + /// AHB2 peripheral clock enable register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// Camera interface enable + /// Camera interface enable DCMIEN: u1, - /// JPEG enable + /// JPEG enable JPEGEN: u1, reserved4: u2, - /// AES module clock enable + /// AES module clock enable AESEN: u1, - /// Hash modules clock enable + /// Hash modules clock enable HASHEN: u1, - /// Random number generator clock enable + /// Random number generator clock enable RNGEN: u1, - /// USB OTG FS clock enable + /// USB OTG FS clock enable USB_OTG_FSEN: u1, padding: u24, }), - /// AHB3 peripheral clock enable register + /// AHB3 peripheral clock enable register AHB3ENR: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller module clock enable + /// Flexible memory controller module clock enable FMCEN: u1, - /// Quad SPI memory controller clock enable + /// Quad SPI memory controller clock enable QUADSPIEN: u1, padding: u30, }), reserved64: [4]u8, - /// APB1 peripheral clock enable register + /// APB1 peripheral clock enable register APB1ENR: mmio.Mmio(packed struct(u32) { - /// TIM2 clock enable + /// TIM2 clock enable TIM2EN: u1, - /// TIM3 clock enable + /// TIM3 clock enable TIM3EN: u1, - /// TIM4 clock enable + /// TIM4 clock enable TIM4EN: u1, - /// TIM5 clock enable + /// TIM5 clock enable TIM5EN: u1, - /// TIM6 clock enable + /// TIM6 clock enable TIM6EN: u1, - /// TIM7 clock enable + /// TIM7 clock enable TIM7EN: u1, - /// TIM12 clock enable + /// TIM12 clock enable TIM12EN: u1, - /// TIM13 clock enable + /// TIM13 clock enable TIM13EN: u1, - /// TIM14 clock enable + /// TIM14 clock enable TIM14EN: u1, - /// Low power timer 1 clock enable + /// Low power timer 1 clock enable LPTIM1EN: u1, - /// RTCAPB clock enable + /// RTCAPB clock enable RTCEN: u1, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved13: u1, - /// CAN 3 enable + /// CAN 3 enable CAN3EN: u1, - /// SPI2 clock enable + /// SPI2 clock enable SPI2EN: u1, - /// SPI3 clock enable + /// SPI3 clock enable SPI3EN: u1, - /// SPDIF-RX clock enable + /// SPDIF-RX clock enable SPDIFRXEN: u1, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, - /// USART3 clock enable + /// USART3 clock enable USART3EN: u1, - /// UART4 clock enable + /// UART4 clock enable UART4EN: u1, - /// UART5 clock enable + /// UART5 clock enable UART5EN: u1, - /// I2C1 clock enable + /// I2C1 clock enable I2C1EN: u1, - /// I2C2 clock enable + /// I2C2 clock enable I2C2EN: u1, - /// I2C3 clock enable + /// I2C3 clock enable I2C3EN: u1, - /// I2C4 clock enable + /// I2C4 clock enable I2C4EN: u1, - /// CAN 1 clock enable + /// CAN 1 clock enable CAN1EN: u1, - /// CAN 2 clock enable + /// CAN 2 clock enable CAN2EN: u1, - /// HDMI-CEN clock enable + /// HDMI-CEN clock enable CECEN: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, - /// UART7 clock enable + /// UART7 clock enable UART7EN: u1, - /// UART8 clock enable + /// UART8 clock enable UART8EN: u1, }), - /// APB2 peripheral clock enable register + /// APB2 peripheral clock enable register APB2ENR: mmio.Mmio(packed struct(u32) { - /// TIM1 clock enable + /// TIM1 clock enable TIM1EN: u1, - /// TIM8 clock enable + /// TIM8 clock enable TIM8EN: u1, reserved4: u2, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, - /// USART6 clock enable + /// USART6 clock enable USART6EN: u1, reserved7: u1, - /// SDMMC2 clock enable + /// SDMMC2 clock enable SDMMC2EN: u1, - /// ADC1 clock enable + /// ADC1 clock enable ADC1EN: u1, - /// ADC2 clock enable + /// ADC2 clock enable ADC2EN: u1, - /// ADC3 clock enable + /// ADC3 clock enable ADC3EN: u1, - /// SDMMC1 clock enable + /// SDMMC1 clock enable SDMMC1EN: u1, - /// SPI1 clock enable + /// SPI1 clock enable SPI1EN: u1, - /// SPI4 clock enable + /// SPI4 clock enable SPI4EN: u1, - /// System configuration controller clock enable + /// System configuration controller clock enable SYSCFGEN: u1, reserved16: u1, - /// TIM9 clock enable + /// TIM9 clock enable TIM9EN: u1, - /// TIM10 clock enable + /// TIM10 clock enable TIM10EN: u1, - /// TIM11 clock enable + /// TIM11 clock enable TIM11EN: u1, reserved20: u1, - /// SPI5 clock enable + /// SPI5 clock enable SPI5EN: u1, - /// SPI6 clock enable + /// SPI6 clock enable SPI6EN: u1, - /// SAI1 clock enable + /// SAI1 clock enable SAI1EN: u1, - /// SAI2 clock enable + /// SAI2 clock enable SAI2EN: u1, reserved26: u2, - /// LTDC clock enable + /// LTDC clock enable LTDCEN: u1, - /// DSI clock enable + /// DSI clock enable DSIEN: u1, reserved29: u1, - /// DFSDM1 clock enable + /// DFSDM1 clock enable DFSDM1EN: u1, - /// MDIO clock enable + /// MDIO clock enable MDIOSEN: u1, - /// USB OTG HS PHY controller clock enable + /// USB OTG HS PHY controller clock enable USBPHYCEN: u1, }), reserved80: [8]u8, - /// AHB1 peripheral clock enable in low power mode register + /// AHB1 peripheral clock enable in low power mode register AHB1LPENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable during sleep mode + /// IO port A clock enable during sleep mode GPIOALPEN: u1, - /// IO port B clock enable during Sleep mode + /// IO port B clock enable during Sleep mode GPIOBLPEN: u1, - /// IO port C clock enable during Sleep mode + /// IO port C clock enable during Sleep mode GPIOCLPEN: u1, - /// IO port D clock enable during Sleep mode + /// IO port D clock enable during Sleep mode GPIODLPEN: u1, - /// IO port E clock enable during Sleep mode + /// IO port E clock enable during Sleep mode GPIOELPEN: u1, - /// IO port F clock enable during Sleep mode + /// IO port F clock enable during Sleep mode GPIOFLPEN: u1, - /// IO port G clock enable during Sleep mode + /// IO port G clock enable during Sleep mode GPIOGLPEN: u1, - /// IO port H clock enable during Sleep mode + /// IO port H clock enable during Sleep mode GPIOHLPEN: u1, - /// IO port I clock enable during Sleep mode + /// IO port I clock enable during Sleep mode GPIOILPEN: u1, - /// IO port J clock enable during Sleep mode + /// IO port J clock enable during Sleep mode GPIOJLPEN: u1, - /// IO port K clock enable during Sleep mode + /// IO port K clock enable during Sleep mode GPIOKLPEN: u1, reserved12: u1, - /// CRC clock enable during Sleep mode + /// CRC clock enable during Sleep mode CRCLPEN: u1, - /// AXI to AHB bridge clock enable during Sleep mode + /// AXI to AHB bridge clock enable during Sleep mode AXILPEN: u1, reserved15: u1, - /// Flash interface clock enable during Sleep mode + /// Flash interface clock enable during Sleep mode FLASHLPEN: u1, - /// SRAM 1interface clock enable during Sleep mode + /// SRAM 1interface clock enable during Sleep mode SRAM1LPEN: u1, - /// SRAM 2 interface clock enable during Sleep mode + /// SRAM 2 interface clock enable during Sleep mode SRAM2LPEN: u1, - /// Backup SRAM interface clock enable during Sleep mode + /// Backup SRAM interface clock enable during Sleep mode BKPSRAMLPEN: u1, - /// SRAM 3 interface clock enable during Sleep mode + /// SRAM 3 interface clock enable during Sleep mode SRAM3LPEN: u1, - /// DTCM RAM interface clock enable during Sleep mode + /// DTCM RAM interface clock enable during Sleep mode DTCMLPEN: u1, - /// DMA1 clock enable during Sleep mode + /// DMA1 clock enable during Sleep mode DMA1LPEN: u1, - /// DMA2 clock enable during Sleep mode + /// DMA2 clock enable during Sleep mode DMA2LPEN: u1, - /// DMA2D clock enable during Sleep mode + /// DMA2D clock enable during Sleep mode DMA2DLPEN: u1, reserved25: u1, - /// Ethernet MAC clock enable during Sleep mode + /// Ethernet MAC clock enable during Sleep mode ETHLPEN: u1, - /// Ethernet transmission clock enable during Sleep mode + /// Ethernet transmission clock enable during Sleep mode ETHTXLPEN: u1, - /// Ethernet reception clock enable during Sleep mode + /// Ethernet reception clock enable during Sleep mode ETHRXLPEN: u1, - /// Ethernet PTP clock enable during Sleep mode + /// Ethernet PTP clock enable during Sleep mode ETHPTPLPEN: u1, - /// USB OTG HS clock enable during Sleep mode + /// USB OTG HS clock enable during Sleep mode USB_OTG_HSLPEN: u1, - /// USB OTG HS ULPI clock enable during Sleep mode + /// USB OTG HS ULPI clock enable during Sleep mode USB_OTG_HSULPILPEN: u1, padding: u1, }), - /// AHB2 peripheral clock enable in low power mode register + /// AHB2 peripheral clock enable in low power mode register AHB2LPENR: mmio.Mmio(packed struct(u32) { - /// Camera interface enable during Sleep mode + /// Camera interface enable during Sleep mode DCMILPEN: u1, - /// JPEG module enabled during Sleep mode + /// JPEG module enabled during Sleep mode JPEGLPEN: u1, reserved4: u2, - /// AES module clock enable during Sleep mode + /// AES module clock enable during Sleep mode AESLPEN: u1, - /// Hash modules clock enable during Sleep mode + /// Hash modules clock enable during Sleep mode HASHLPEN: u1, - /// Random number generator clock enable during Sleep mode + /// Random number generator clock enable during Sleep mode RNGLPEN: u1, - /// USB OTG FS clock enable during Sleep mode + /// USB OTG FS clock enable during Sleep mode USB_OTG_FSLPEN: u1, padding: u24, }), - /// AHB3 peripheral clock enable in low power mode register + /// AHB3 peripheral clock enable in low power mode register AHB3LPENR: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller module clock enable during Sleep mode + /// Flexible memory controller module clock enable during Sleep mode FMCLPEN: u1, - /// Quand SPI memory controller clock enable during Sleep mode + /// Quand SPI memory controller clock enable during Sleep mode QUADSPILPEN: u1, padding: u30, }), reserved96: [4]u8, - /// APB1 peripheral clock enable in low power mode register + /// APB1 peripheral clock enable in low power mode register APB1LPENR: mmio.Mmio(packed struct(u32) { - /// TIM2 clock enable during Sleep mode + /// TIM2 clock enable during Sleep mode TIM2LPEN: u1, - /// TIM3 clock enable during Sleep mode + /// TIM3 clock enable during Sleep mode TIM3LPEN: u1, - /// TIM4 clock enable during Sleep mode + /// TIM4 clock enable during Sleep mode TIM4LPEN: u1, - /// TIM5 clock enable during Sleep mode + /// TIM5 clock enable during Sleep mode TIM5LPEN: u1, - /// TIM6 clock enable during Sleep mode + /// TIM6 clock enable during Sleep mode TIM6LPEN: u1, - /// TIM7 clock enable during Sleep mode + /// TIM7 clock enable during Sleep mode TIM7LPEN: u1, - /// TIM12 clock enable during Sleep mode + /// TIM12 clock enable during Sleep mode TIM12LPEN: u1, - /// TIM13 clock enable during Sleep mode + /// TIM13 clock enable during Sleep mode TIM13LPEN: u1, - /// TIM14 clock enable during Sleep mode + /// TIM14 clock enable during Sleep mode TIM14LPEN: u1, - /// low power timer 1 clock enable during Sleep mode + /// low power timer 1 clock enable during Sleep mode LPTIM1LPEN: u1, - /// RTCAPB clock enable during Sleep mode + /// RTCAPB clock enable during Sleep mode RTCLPEN: u1, - /// Window watchdog clock enable during Sleep mode + /// Window watchdog clock enable during Sleep mode WWDGLPEN: u1, reserved13: u1, - /// CAN 3 clock enable during Sleep mode + /// CAN 3 clock enable during Sleep mode CAN3LPEN: u1, - /// SPI2 clock enable during Sleep mode + /// SPI2 clock enable during Sleep mode SPI2LPEN: u1, - /// SPI3 clock enable during Sleep mode + /// SPI3 clock enable during Sleep mode SPI3LPEN: u1, - /// SPDIF-RX clock enable during sleep mode + /// SPDIF-RX clock enable during sleep mode SPDIFRXLPEN: u1, - /// USART2 clock enable during Sleep mode + /// USART2 clock enable during Sleep mode USART2LPEN: u1, - /// USART3 clock enable during Sleep mode + /// USART3 clock enable during Sleep mode USART3LPEN: u1, - /// UART4 clock enable during Sleep mode + /// UART4 clock enable during Sleep mode UART4LPEN: u1, - /// UART5 clock enable during Sleep mode + /// UART5 clock enable during Sleep mode UART5LPEN: u1, - /// I2C1 clock enable during Sleep mode + /// I2C1 clock enable during Sleep mode I2C1LPEN: u1, - /// I2C2 clock enable during Sleep mode + /// I2C2 clock enable during Sleep mode I2C2LPEN: u1, - /// I2C3 clock enable during Sleep mode + /// I2C3 clock enable during Sleep mode I2C3LPEN: u1, - /// I2C4 clock enable during Sleep mode + /// I2C4 clock enable during Sleep mode I2C4LPEN: u1, - /// CAN 1 clock enable during Sleep mode + /// CAN 1 clock enable during Sleep mode CAN1LPEN: u1, - /// CAN 2 clock enable during Sleep mode + /// CAN 2 clock enable during Sleep mode CAN2LPEN: u1, - /// HDMI-CEN clock enable during Sleep mode + /// HDMI-CEN clock enable during Sleep mode CECLPEN: u1, - /// Power interface clock enable during Sleep mode + /// Power interface clock enable during Sleep mode PWRLPEN: u1, - /// DAC interface clock enable during Sleep mode + /// DAC interface clock enable during Sleep mode DACLPEN: u1, - /// UART7 clock enable during Sleep mode + /// UART7 clock enable during Sleep mode UART7LPEN: u1, - /// UART8 clock enable during Sleep mode + /// UART8 clock enable during Sleep mode UART8LPEN: u1, }), - /// APB2 peripheral clock enabled in low power mode register + /// APB2 peripheral clock enabled in low power mode register APB2LPENR: mmio.Mmio(packed struct(u32) { - /// TIM1 clock enable during Sleep mode + /// TIM1 clock enable during Sleep mode TIM1LPEN: u1, - /// TIM8 clock enable during Sleep mode + /// TIM8 clock enable during Sleep mode TIM8LPEN: u1, reserved4: u2, - /// USART1 clock enable during Sleep mode + /// USART1 clock enable during Sleep mode USART1LPEN: u1, - /// USART6 clock enable during Sleep mode + /// USART6 clock enable during Sleep mode USART6LPEN: u1, reserved7: u1, - /// SDMMC2 clock enable during Sleep mode + /// SDMMC2 clock enable during Sleep mode SDMMC2LPEN: u1, - /// ADC1 clock enable during Sleep mode + /// ADC1 clock enable during Sleep mode ADC1LPEN: u1, - /// ADC2 clock enable during Sleep mode + /// ADC2 clock enable during Sleep mode ADC2LPEN: u1, - /// ADC 3 clock enable during Sleep mode + /// ADC 3 clock enable during Sleep mode ADC3LPEN: u1, - /// SDMMC1 clock enable during Sleep mode + /// SDMMC1 clock enable during Sleep mode SDMMC1LPEN: u1, - /// SPI 1 clock enable during Sleep mode + /// SPI 1 clock enable during Sleep mode SPI1LPEN: u1, - /// SPI 4 clock enable during Sleep mode + /// SPI 4 clock enable during Sleep mode SPI4LPEN: u1, - /// System configuration controller clock enable during Sleep mode + /// System configuration controller clock enable during Sleep mode SYSCFGLPEN: u1, reserved16: u1, - /// TIM9 clock enable during sleep mode + /// TIM9 clock enable during sleep mode TIM9LPEN: u1, - /// TIM10 clock enable during Sleep mode + /// TIM10 clock enable during Sleep mode TIM10LPEN: u1, - /// TIM11 clock enable during Sleep mode + /// TIM11 clock enable during Sleep mode TIM11LPEN: u1, reserved20: u1, - /// SPI 5 clock enable during Sleep mode + /// SPI 5 clock enable during Sleep mode SPI5LPEN: u1, - /// SPI 6 clock enable during Sleep mode + /// SPI 6 clock enable during Sleep mode SPI6LPEN: u1, - /// SAI1 clock enable during sleep mode + /// SAI1 clock enable during sleep mode SAI1LPEN: u1, - /// SAI2 clock enable during sleep mode + /// SAI2 clock enable during sleep mode SAI2LPEN: u1, reserved26: u2, - /// LTDC clock enable during sleep mode + /// LTDC clock enable during sleep mode LTDCLPEN: u1, - /// DSI clock enable during Sleep mode + /// DSI clock enable during Sleep mode DSILPEN: u1, reserved29: u1, - /// DFSDM1 clock enable during Sleep mode + /// DFSDM1 clock enable during Sleep mode DFSDM1LPEN: u1, - /// MDIO clock enable during Sleep mode + /// MDIO clock enable during Sleep mode MDIOSLPEN: u1, padding: u1, }), reserved112: [8]u8, - /// Backup domain control register + /// Backup domain control register BDCR: mmio.Mmio(packed struct(u32) { - /// External low-speed oscillator enable + /// External low-speed oscillator enable LSEON: u1, - /// External low-speed oscillator ready + /// External low-speed oscillator ready LSERDY: u1, - /// External low-speed oscillator bypass + /// External low-speed oscillator bypass LSEBYP: u1, - /// LSE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, + /// LSE oscillator drive capability + LSEDRV: LSEDRV, reserved8: u3, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, padding: u15, }), - /// clock control & status register + /// clock control & status register CSR: mmio.Mmio(packed struct(u32) { - /// Internal low-speed oscillator enable + /// Internal low-speed oscillator enable LSION: u1, - /// Internal low-speed oscillator ready + /// Internal low-speed oscillator ready LSIRDY: u1, reserved24: u22, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// BOR reset flag + /// BOR reset flag BORRSTF: u1, - /// PIN reset flag + /// PIN reset flag PADRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag WDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), reserved128: [8]u8, - /// spread spectrum clock generation register + /// spread spectrum clock generation register SSCGR: mmio.Mmio(packed struct(u32) { - /// Modulation period + /// Modulation period MODPER: u13, - /// Incrementation step + /// Incrementation step INCSTEP: u15, reserved30: u2, - /// Spread Select - SPREADSEL: packed union { - raw: u1, - value: SPREADSEL, - }, - /// Spread spectrum modulation enable + /// Spread Select + SPREADSEL: SPREADSEL, + /// Spread spectrum modulation enable SSCGEN: u1, }), - /// PLLI2S configuration register + /// PLLI2S configuration register PLLI2SCFGR: mmio.Mmio(packed struct(u32) { reserved6: u6, - /// PLL multiplication factor for VCO - PLLN: packed union { - raw: u9, - value: PLLN, - }, + /// PLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// PLL division factor for main system clock - PLLP: packed union { - raw: u2, - value: PLLP, - }, + /// PLL division factor for main system clock + PLLP: PLLP, reserved24: u6, - /// PLL division factor for USB OTG FS, SDIO and random number generator clocks - PLLQ: packed union { - raw: u4, - value: PLLQ, - }, - /// PLL division factor for DSI clock - PLLR: packed union { - raw: u3, - value: PLLR, - }, + /// PLL division factor for USB OTG FS, SDIO and random number generator clocks + PLLQ: PLLQ, + /// PLL division factor for DSI clock + PLLR: PLLR, padding: u1, }), - /// PLL configuration register + /// PLL configuration register PLLSAICFGR: mmio.Mmio(packed struct(u32) { reserved6: u6, - /// PLL multiplication factor for VCO - PLLN: packed union { - raw: u9, - value: PLLN, - }, + /// PLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// PLL division factor for main system clock - PLLP: packed union { - raw: u2, - value: PLLP, - }, + /// PLL division factor for main system clock + PLLP: PLLP, reserved24: u6, - /// PLL division factor for USB OTG FS, SDIO and random number generator clocks - PLLQ: packed union { - raw: u4, - value: PLLQ, - }, - /// PLL division factor for DSI clock - PLLR: packed union { - raw: u3, - value: PLLR, - }, + /// PLL division factor for USB OTG FS, SDIO and random number generator clocks + PLLQ: PLLQ, + /// PLL division factor for DSI clock + PLLR: PLLR, padding: u1, }), - /// dedicated clocks configuration register + /// dedicated clocks configuration register DCKCFGR1: mmio.Mmio(packed struct(u32) { - /// PLLI2S division factor for SAI1 clock - PLLI2SDIVQ: packed union { - raw: u5, - value: PLLI2SDIVQ, - }, + /// PLLI2S division factor for SAI1 clock + PLLI2SDIVQ: PLLI2SDIVQ, reserved8: u3, - /// PLLSAI division factor for SAI1 clock - PLLSAIDIVQ: packed union { - raw: u5, - value: PLLSAIDIVQ, - }, + /// PLLSAI division factor for SAI1 clock + PLLSAIDIVQ: PLLSAIDIVQ, reserved16: u3, - /// division factor for LCD_CLK - PLLSAIDIVR: packed union { - raw: u2, - value: PLLSAIDIVR, - }, + /// division factor for LCD_CLK + PLLSAIDIVR: PLLSAIDIVR, reserved20: u2, - /// SAI1 clock source selection - SAI1SEL: packed union { - raw: u2, - value: SAISEL, - }, - /// SAI2 clock source selection - SAI2SEL: packed union { - raw: u2, - value: SAISEL, - }, - /// Timers clocks prescalers selection - TIMPRE: packed union { - raw: u1, - value: TIMPRE, - }, - /// DFSDM1 clock source selection - DFSDM1SEL: packed union { - raw: u1, - value: DFSDMSEL, - }, - /// DFSDM1 AUDIO clock source selection - ADFSDM1SEL: packed union { - raw: u1, - value: ADFSDMSEL, - }, + /// SAI1 clock source selection + SAI1SEL: SAISEL, + /// SAI2 clock source selection + SAI2SEL: SAISEL, + /// Timers clocks prescalers selection + TIMPRE: TIMPRE, + /// DFSDM1 clock source selection + DFSDM1SEL: DFSDMSEL, + /// DFSDM1 AUDIO clock source selection + ADFSDM1SEL: ADFSDMSEL, padding: u5, }), - /// dedicated clocks configuration register + /// dedicated clocks configuration register DCKCFGR2: mmio.Mmio(packed struct(u32) { - /// USART 1 clock source selection - USART1SEL: packed union { - raw: u2, - value: USART1SEL, - }, - /// USART 2 clock source selection - USART2SEL: packed union { - raw: u2, - value: USART2SEL, - }, - /// USART 3 clock source selection - USART3SEL: packed union { - raw: u2, - value: USART2SEL, - }, - /// UART 4 clock source selection - UART4SEL: packed union { - raw: u2, - value: USART2SEL, - }, - /// UART 5 clock source selection - UART5SEL: packed union { - raw: u2, - value: USART2SEL, - }, - /// USART 6 clock source selection - USART6SEL: packed union { - raw: u2, - value: USART1SEL, - }, - /// UART 7 clock source selection - UART7SEL: packed union { - raw: u2, - value: USART2SEL, - }, - /// UART 8 clock source selection - UART8SEL: packed union { - raw: u2, - value: USART2SEL, - }, - /// I2C1 clock source selection - I2C1SEL: packed union { - raw: u2, - value: I2CSEL, - }, - /// I2C2 clock source selection - I2C2SEL: packed union { - raw: u2, - value: I2CSEL, - }, - /// I2C3 clock source selection - I2C3SEL: packed union { - raw: u2, - value: I2CSEL, - }, - /// I2C4 clock source selection - I2C4SEL: packed union { - raw: u2, - value: I2CSEL, - }, - /// Low power timer 1 clock source selection - LPTIM1SEL: packed union { - raw: u2, - value: LPTIMSEL, - }, - /// HDMI-CEC clock source selection - CECSEL: packed union { - raw: u1, - value: CECSEL, - }, - /// 48MHz clock source selection - CLK48SEL: packed union { - raw: u1, - value: CLK48SEL, - }, - /// SDMMC1 clock source selection - SDMMC1SEL: packed union { - raw: u1, - value: SDMMCSEL, - }, - /// SDMMC2 clock source selection - SDMMC2SEL: packed union { - raw: u1, - value: SDMMCSEL, - }, - /// DSI clock source selection - DSISEL: packed union { - raw: u1, - value: DSISEL, - }, + /// USART 1 clock source selection + USART1SEL: USART1SEL, + /// USART 2 clock source selection + USART2SEL: USART2SEL, + /// USART 3 clock source selection + USART3SEL: USART2SEL, + /// UART 4 clock source selection + UART4SEL: USART2SEL, + /// UART 5 clock source selection + UART5SEL: USART2SEL, + /// USART 6 clock source selection + USART6SEL: USART1SEL, + /// UART 7 clock source selection + UART7SEL: USART2SEL, + /// UART 8 clock source selection + UART8SEL: USART2SEL, + /// I2C1 clock source selection + I2C1SEL: I2CSEL, + /// I2C2 clock source selection + I2C2SEL: I2CSEL, + /// I2C3 clock source selection + I2C3SEL: I2CSEL, + /// I2C4 clock source selection + I2C4SEL: I2CSEL, + /// Low power timer 1 clock source selection + LPTIM1SEL: LPTIMSEL, + /// HDMI-CEC clock source selection + CECSEL: CECSEL, + /// 48MHz clock source selection + CLK48SEL: CLK48SEL, + /// SDMMC1 clock source selection + SDMMC1SEL: SDMMCSEL, + /// SDMMC2 clock source selection + SDMMC2SEL: SDMMCSEL, + /// DSI clock source selection + DSISEL: DSISEL, padding: u1, }), }; @@ -379049,221 +373283,221 @@ pub const types = struct { pub const rcc_g0 = struct { pub const ADCSEL = enum(u2) { - /// SYSCLK used as ADC clock source + /// SYSCLK used as ADC clock source SYS = 0x0, - /// PLLPCLK used as ADC clock source + /// PLLPCLK used as ADC clock source PLL1_P = 0x1, - /// HSI used as ADC clock source + /// HSI used as ADC clock source HSI = 0x2, _, }; pub const CECSEL = enum(u1) { - /// HSI divided by 488 used as CEC clock + /// HSI divided by 488 used as CEC clock HSI_DIV_488 = 0x0, - /// LSE used as CEC clock + /// LSE used as CEC clock LSE = 0x1, }; pub const FDCANSEL = enum(u2) { - /// PCLK used as FDCAN clock source + /// PCLK used as FDCAN clock source PCLK1 = 0x0, - /// PLLQCLK used as FDCAN clock source + /// PLLQCLK used as FDCAN clock source PLL1_Q = 0x1, - /// HSE used as FDCAN clock source + /// HSE used as FDCAN clock source HSE = 0x2, _, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK is divided by 2 + /// SYSCLK is divided by 2 Div2 = 0x8, - /// SYSCLK is divided by 4 + /// SYSCLK is divided by 4 Div4 = 0x9, - /// SYSCLK is divided by 8 + /// SYSCLK is divided by 8 Div8 = 0xa, - /// SYSCLK is divided by 16 + /// SYSCLK is divided by 16 Div16 = 0xb, - /// SYSCLK is divided by 64 + /// SYSCLK is divided by 64 Div64 = 0xc, - /// SYSCLK is divided by 128 + /// SYSCLK is divided by 128 Div128 = 0xd, - /// SYSCLK is divided by 256 + /// SYSCLK is divided by 256 Div256 = 0xe, - /// SYSCLK is divided by 512 + /// SYSCLK is divided by 512 Div512 = 0xf, _, }; pub const HSIDIV = enum(u3) { - /// HSI clock is not divided + /// HSI clock is not divided Div1 = 0x0, - /// HSI clock is divided by 2 + /// HSI clock is divided by 2 Div2 = 0x1, - /// HSI clock is divided by 4 + /// HSI clock is divided by 4 Div4 = 0x2, - /// HSI clock is divided by 8 + /// HSI clock is divided by 8 Div8 = 0x3, - /// HSI clock is divided by 16 + /// HSI clock is divided by 16 Div16 = 0x4, - /// HSI clock is divided by 32 + /// HSI clock is divided by 32 Div32 = 0x5, - /// HSI clock is divided by 64 + /// HSI clock is divided by 64 Div64 = 0x6, - /// HSI clock is divided by 128 + /// HSI clock is divided by 128 Div128 = 0x7, }; pub const I2C1SEL = enum(u2) { - /// PCLK used as I2C1 clock source + /// PCLK used as I2C1 clock source PCLK1 = 0x0, - /// SYSCLK used as I2C1 clock source + /// SYSCLK used as I2C1 clock source SYS = 0x1, - /// HSI used as I2C1 clock source + /// HSI used as I2C1 clock source HSI = 0x2, _, }; pub const I2C2I2S1SEL = enum(u2) { - /// PCLK used as I2C2/I2S2 clock source + /// PCLK used as I2C2/I2S2 clock source PCLK1 = 0x0, - /// SYSCLK used as I2C2/I2S2 clock source + /// SYSCLK used as I2C2/I2S2 clock source SYS = 0x1, - /// HSI used as I2C2/I2S2 clock source + /// HSI used as I2C2/I2S2 clock source HSI = 0x2, - /// External clock used as I2C2/I2S2 clock source + /// External clock used as I2C2/I2S2 clock source I2S_CKIN = 0x3, }; pub const I2S1SEL = enum(u2) { - /// SYSCLK used as I2S1 clock source + /// SYSCLK used as I2S1 clock source SYS = 0x0, - /// PLLPCLK used as I2S1 clock source + /// PLLPCLK used as I2S1 clock source PLL1_P = 0x1, - /// HSI used as I2S1 clock source + /// HSI used as I2S1 clock source HSI = 0x2, - /// External clock used as I2S1 clock source + /// External clock used as I2S1 clock source I2S_CKIN = 0x3, }; pub const I2S2SEL = enum(u2) { - /// SYSCLK used as I2S2 clock source + /// SYSCLK used as I2S2 clock source SYS = 0x0, - /// PLLPCLK used as I2S2 clock source + /// PLLPCLK used as I2S2 clock source PLL1_P = 0x1, - /// HSI used as I2S2 clock source + /// HSI used as I2S2 clock source HSI = 0x2, - /// External clock used as I2S2 clock source + /// External clock used as I2S2 clock source I2S_CKIN = 0x3, }; pub const LPTIM1SEL = enum(u2) { - /// PCLK used as LPTIM1 clock source + /// PCLK used as LPTIM1 clock source PCLK1 = 0x0, - /// LSI used as LPTIM1 clock source + /// LSI used as LPTIM1 clock source LSI = 0x1, - /// HSI used as LPTIM1 clock source + /// HSI used as LPTIM1 clock source HSI = 0x2, - /// LSE used as LPTIM1 clock source + /// LSE used as LPTIM1 clock source LSE = 0x3, }; pub const LPTIM2SEL = enum(u2) { - /// PCLK used as LPTIM2 clock source + /// PCLK used as LPTIM2 clock source PCLK1 = 0x0, - /// LSI used as LPTIM2 clock source + /// LSI used as LPTIM2 clock source LSI = 0x1, - /// HSI used as LPTIM2 clock source + /// HSI used as LPTIM2 clock source HSI = 0x2, - /// LSE used as LPTIM2 clock source + /// LSE used as LPTIM2 clock source LSE = 0x3, }; pub const LPUART1SEL = enum(u2) { - /// PCLK used as LPUART1 clock source + /// PCLK used as LPUART1 clock source PCLK1 = 0x0, - /// SYSCLK used as LPUART1 clock source + /// SYSCLK used as LPUART1 clock source SYS = 0x1, - /// HSI used as LPUART1 clock source + /// HSI used as LPUART1 clock source HSI = 0x2, - /// LSE used as LPUART1 clock source + /// LSE used as LPUART1 clock source LSE = 0x3, }; pub const LPUART2SEL = enum(u2) { - /// PCLK used as LPUART2 clock source + /// PCLK used as LPUART2 clock source PCLK1 = 0x0, - /// SYSCLK used as LPUART2 clock source + /// SYSCLK used as LPUART2 clock source SYS = 0x1, - /// HSI used as LPUART2 clock source + /// HSI used as LPUART2 clock source HSI = 0x2, - /// LSE used as LPUART2 clock source + /// LSE used as LPUART2 clock source LSE = 0x3, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u4) { - /// MCO1 not divided + /// MCO1 not divided Div1 = 0x0, - /// MCO clock is divided by 2 + /// MCO clock is divided by 2 Div2 = 0x1, - /// MCO clock is divided by 4 + /// MCO clock is divided by 4 Div4 = 0x2, - /// MCO clock is divided by 8 + /// MCO clock is divided by 8 Div8 = 0x3, - /// MCO clock is divided divided by 16 + /// MCO clock is divided divided by 16 Div16 = 0x4, - /// MCO clock is divided divided by 32 + /// MCO clock is divided divided by 32 Div32 = 0x5, - /// MCO clock is divided divided by 64 + /// MCO clock is divided divided by 64 Div64 = 0x6, - /// MCO clock is divided divided by 128 + /// MCO clock is divided divided by 128 Div128 = 0x7, - /// MCO clock is divided divided by 256 + /// MCO clock is divided divided by 256 Div256 = 0x8, - /// MCO clock is divided divided by 512 + /// MCO clock is divided divided by 512 Div512 = 0x9, - /// MCO clock is divided divided by 1024 + /// MCO clock is divided divided by 1024 Div1024 = 0xa, _, }; pub const MCOSEL = enum(u4) { - /// No clock, MCO output disabled + /// No clock, MCO output disabled DISABLE = 0x0, - /// SYSCLK selected as MCO source + /// SYSCLK selected as MCO source SYS = 0x1, - /// HSI48 selected as MCO source + /// HSI48 selected as MCO source HSI48 = 0x2, - /// HSI selected as MCO source + /// HSI selected as MCO source HSI = 0x3, - /// HSE selected as MCO source + /// HSE selected as MCO source HSE = 0x4, - /// PLLRCLK selected as MCO source + /// PLLRCLK selected as MCO source PLLRCLK = 0x5, - /// LSI selected as MCO source + /// LSI selected as MCO source LSI = 0x6, - /// LSE selected as MCO source + /// LSE selected as MCO source LSE = 0x7, - /// PLLPCLK selected as MCO source + /// PLLPCLK selected as MCO source PLL1_P = 0x8, - /// PLLQCLK selected as MCO source + /// PLLQCLK selected as MCO source PLL1_Q = 0x9, - /// RTCCLK selected as MCO source + /// RTCCLK selected as MCO source RTCCLK = 0xa, - /// RTC_Wakeup selected as MCO source + /// RTC_Wakeup selected as MCO source RTC_WKUP = 0xb, _, }; @@ -379420,847 +373654,739 @@ pub const types = struct { }; pub const PLLSRC = enum(u2) { - /// No clock selected as PLL entry clock source + /// No clock selected as PLL entry clock source DISABLE = 0x0, - /// HSI selected as PLL entry clock source + /// HSI selected as PLL entry clock source HSI = 0x2, - /// HSE selected as PLL entry clock source + /// HSE selected as PLL entry clock source HSE = 0x3, _, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK is divided by 2 + /// HCLK is divided by 2 Div2 = 0x4, - /// HCLK is divided by 4 + /// HCLK is divided by 4 Div4 = 0x5, - /// HCLK is divided by 8 + /// HCLK is divided by 8 Div8 = 0x6, - /// HCLK is divided by 16 + /// HCLK is divided by 16 Div16 = 0x7, _, }; pub const RNGDIV = enum(u2) { - /// RNG clock is not divided + /// RNG clock is not divided Div1 = 0x0, - /// RNG clock is divided by 2 + /// RNG clock is divided by 2 Div2 = 0x1, - /// RNG clock is divided by 4 + /// RNG clock is divided by 4 Div4 = 0x2, - /// RNG clock is divided by 8 + /// RNG clock is divided by 8 Div8 = 0x3, }; pub const RNGSEL = enum(u2) { - /// No clock used as RNG clock source + /// No clock used as RNG clock source DISABLE = 0x0, - /// HSI divided by 8 used as RNG clock source + /// HSI divided by 8 used as RNG clock source HSI_DIV_8 = 0x1, - /// SYSCLK used as RNG clock source + /// SYSCLK used as RNG clock source SYS = 0x2, - /// PLLQCLK used as RNG clock source + /// PLLQCLK used as RNG clock source PLL1_Q = 0x3, }; pub const RTCSEL = enum(u2) { - /// No clock used as RTC clock + /// No clock used as RTC clock DISABLE = 0x0, - /// LSE used as RTC clock + /// LSE used as RTC clock LSE = 0x1, - /// LSI used as RTC clock + /// LSI used as RTC clock LSI = 0x2, - /// HSE divided by 32 used as RTC clock + /// HSE divided by 32 used as RTC clock HSE_Div32 = 0x3, }; pub const SW = enum(u3) { - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x0, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x1, - /// PLLRCLK selected as system clock + /// PLLRCLK selected as system clock PLL1_R = 0x2, - /// LSI selected as system clock + /// LSI selected as system clock LSI = 0x3, - /// LSE selected as system clock + /// LSE selected as system clock LSE = 0x4, _, }; pub const TIM15SEL = enum(u1) { - /// TIMPCLK used as TIM15 clock source + /// TIMPCLK used as TIM15 clock source PCLK1_TIM = 0x0, - /// PLLQCLK used as TIM15 clock source + /// PLLQCLK used as TIM15 clock source PLL1_Q = 0x1, }; pub const TIM1SEL = enum(u1) { - /// TIMPCLK used as TIM1 clock source + /// TIMPCLK used as TIM1 clock source PCLK1_TIM = 0x0, - /// PLLQCLK used as TIM1 clock source + /// PLLQCLK used as TIM1 clock source PLL1_Q = 0x1, }; pub const USARTSEL = enum(u2) { - /// PCLK used as USART clock source + /// PCLK used as USART clock source PCLK1 = 0x0, - /// SYSCLK used as USART clock source + /// SYSCLK used as USART clock source SYS = 0x1, - /// HSI used as USART clock source + /// HSI used as USART clock source HSI = 0x2, - /// LSE used as USART clock source + /// LSE used as USART clock source LSE = 0x3, }; pub const USBSEL = enum(u2) { - /// HSI48 used as USB clock source + /// HSI48 used as USB clock source HSI48 = 0x0, - /// HSE used as USB clock source + /// HSE used as USB clock source HSE = 0x1, - /// PLLQCLK used as USB clock source + /// PLLQCLK used as USB clock source PLL1_Q = 0x2, _, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// HSI clock enable + /// HSI clock enable HSION: u1, - /// HSI always enable for peripheral kernels + /// HSI always enable for peripheral kernels HSIKERON: u1, - /// HSI clock ready flag + /// HSI clock ready flag HSIRDY: u1, - /// HSI clock division factor - HSIDIV: packed union { - raw: u3, - value: HSIDIV, - }, + /// HSI clock division factor + HSIDIV: HSIDIV, reserved16: u2, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE crystal oscillator bypass + /// HSE crystal oscillator bypass HSEBYP: u1, - /// Clock security system enable + /// Clock security system enable CSSON: u1, reserved22: u2, - /// HSI48ON + /// HSI48ON HSI48ON: u1, - /// HSI48RDY + /// HSI48RDY HSI48RDY: u1, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Internal clock sources calibration register + /// Internal clock sources calibration register ICSCR: mmio.Mmio(packed struct(u32) { - /// HSI clock calibration + /// HSI clock calibration HSICAL: u8, - /// HSI clock trimming + /// HSI clock trimming HSITRIM: u7, padding: u17, }), - /// Clock configuration register + /// Clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u3, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u3, - value: SW, - }, + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, reserved8: u2, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB prescaler - PPRE: packed union { - raw: u3, - value: PPRE, - }, + /// AHB prescaler + HPRE: HPRE, + /// APB prescaler + PPRE: PPRE, reserved16: u1, - /// MCO2SEL - MCO2SEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// MCO2PRE - MCO2PRE: packed union { - raw: u4, - value: MCOPRE, - }, - /// Microcontroller clock output - MCO1SEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller clock output prescaler - MCO1PRE: packed union { - raw: u4, - value: MCOPRE, - }, - }), - /// PLL configuration register + /// MCO2SEL + MCO2SEL: MCOSEL, + /// MCO2PRE + MCO2PRE: MCOPRE, + /// Microcontroller clock output + MCO1SEL: MCOSEL, + /// Microcontroller clock output prescaler + MCO1PRE: MCOPRE, + }), + /// PLL configuration register PLLCFGR: mmio.Mmio(packed struct(u32) { - /// PLL input clock source - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, + /// PLL input clock source + PLLSRC: PLLSRC, reserved4: u2, - /// Division factor M of the PLL input clock divider - PLLM: packed union { - raw: u3, - value: PLLM, - }, + /// Division factor M of the PLL input clock divider + PLLM: PLLM, reserved8: u1, - /// PLL frequency multiplication factor N - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// PLL frequency multiplication factor N + PLLN: PLLN, reserved16: u1, - /// PLLPCLK clock output enable + /// PLLPCLK clock output enable PLLPEN: u1, - /// PLL VCO division factor P for PLLPCLK clock output - PLLP: packed union { - raw: u5, - value: PLLP, - }, + /// PLL VCO division factor P for PLLPCLK clock output + PLLP: PLLP, reserved24: u2, - /// PLLQCLK clock output enable + /// PLLQCLK clock output enable PLLQEN: u1, - /// PLL VCO division factor Q for PLLQCLK clock output - PLLQ: packed union { - raw: u3, - value: PLLQ, - }, - /// PLLRCLK clock output enable + /// PLL VCO division factor Q for PLLQCLK clock output + PLLQ: PLLQ, + /// PLLRCLK clock output enable PLLREN: u1, - /// PLL VCO division factor R for PLLRCLK clock output - PLLR: packed union { - raw: u3, - value: PLLR, - }, + /// PLL VCO division factor R for PLLRCLK clock output + PLLR: PLLR, }), reserved20: [4]u8, - /// RCC clock recovery RC register + /// RCC clock recovery RC register CRRCR: mmio.Mmio(packed struct(u32) { - /// HSI48 clock calibration + /// HSI48 clock calibration HSI48CAL: u9, padding: u23, }), - /// Clock interrupt enable register + /// Clock interrupt enable register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt enable + /// LSI ready interrupt enable LSIRDYIE: u1, - /// LSE ready interrupt enable + /// LSE ready interrupt enable LSERDYIE: u1, reserved3: u1, - /// HSI ready interrupt enable + /// HSI ready interrupt enable HSIRDYIE: u1, - /// HSE ready interrupt enable + /// HSE ready interrupt enable HSERDYIE: u1, - /// PLL ready interrupt enable + /// PLL ready interrupt enable PLLSYSRDYIE: u1, padding: u26, }), - /// Clock interrupt flag register + /// Clock interrupt flag register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYF: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYF: u1, - /// HSI48RDYF + /// HSI48RDYF HSI48RDYF: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYF: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYF: u1, - /// PLL ready interrupt flag + /// PLL ready interrupt flag PLLSYSRDYF: u1, reserved8: u2, - /// Clock security system interrupt flag + /// Clock security system interrupt flag CSSF: u1, - /// LSE Clock security system interrupt flag + /// LSE Clock security system interrupt flag LSECSSF: u1, padding: u22, }), - /// Clock interrupt clear register + /// Clock interrupt clear register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt clear + /// LSI ready interrupt clear LSIRDYC: u1, - /// LSE ready interrupt clear + /// LSE ready interrupt clear LSERDYC: u1, - /// HSI48RDYC + /// HSI48RDYC HSI48RDYC: u1, - /// HSI ready interrupt clear + /// HSI ready interrupt clear HSIRDYC: u1, - /// HSE ready interrupt clear + /// HSE ready interrupt clear HSERDYC: u1, - /// PLL ready interrupt clear + /// PLL ready interrupt clear PLLSYSRDYC: u1, reserved8: u2, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, - /// LSE Clock security system interrupt clear + /// LSE Clock security system interrupt clear LSECSSC: u1, padding: u22, }), - /// GPIO reset register + /// GPIO reset register GPIORSTR: mmio.Mmio(packed struct(u32) { - /// I/O port A reset + /// I/O port A reset GPIOARST: u1, - /// I/O port B reset + /// I/O port B reset GPIOBRST: u1, - /// I/O port C reset + /// I/O port C reset GPIOCRST: u1, - /// I/O port D reset + /// I/O port D reset GPIODRST: u1, reserved5: u1, - /// I/O port F reset + /// I/O port F reset GPIOFRST: u1, padding: u26, }), - /// AHB peripheral reset register + /// AHB peripheral reset register AHBRSTR: mmio.Mmio(packed struct(u32) { - /// DMA1 reset + /// DMA1 reset DMA1RST: u1, - /// DMA1 reset + /// DMA1 reset DMA2RST: u1, reserved8: u6, - /// FLASH reset + /// FLASH reset FLASHRST: u1, reserved12: u3, - /// CRC reset + /// CRC reset CRCRST: u1, reserved16: u3, - /// AES hardware accelerator reset + /// AES hardware accelerator reset AESRST: u1, reserved18: u1, - /// Random number generator reset + /// Random number generator reset RNGRST: u1, padding: u13, }), - /// APB peripheral reset register 1 + /// APB peripheral reset register 1 APBRSTR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer reset + /// TIM2 timer reset TIM2RST: u1, - /// TIM3 timer reset + /// TIM3 timer reset TIM3RST: u1, - /// TIM4 timer reset + /// TIM4 timer reset TIM4RST: u1, reserved4: u1, - /// TIM6 timer reset + /// TIM6 timer reset TIM6RST: u1, - /// TIM7 timer reset + /// TIM7 timer reset TIM7RST: u1, reserved7: u1, - /// LPUART2RST + /// LPUART2RST LPUART2RST: u1, - /// USART5RST + /// USART5RST USART5RST: u1, - /// USART6RST + /// USART6RST USART6RST: u1, reserved12: u2, - /// FDCANRST + /// FDCANRST FDCANRST: u1, - /// USBRST + /// USBRST USBRST: u1, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, - /// SPI3 reset + /// SPI3 reset SPI3RST: u1, - /// CRSRST + /// CRSRST CRSRST: u1, - /// USART2 reset + /// USART2 reset USART2RST: u1, - /// USART3 reset + /// USART3 reset USART3RST: u1, - /// USART4 reset + /// USART4 reset USART4RST: u1, - /// LPUART1 reset + /// LPUART1 reset LPUART1RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// I2C3RST reset + /// I2C3RST reset I2C3RST: u1, - /// HDMI CEC reset + /// HDMI CEC reset CECRST: u1, - /// UCPD1 reset + /// UCPD1 reset UCPD1RST: u1, - /// UCPD2 reset + /// UCPD2 reset UCPD2RST: u1, - /// Debug support reset + /// Debug support reset DBGRST: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC1 interface reset + /// DAC1 interface reset DAC1RST: u1, - /// Low Power Timer 2 reset + /// Low Power Timer 2 reset LPTIM2RST: u1, - /// Low Power Timer 1 reset + /// Low Power Timer 1 reset LPTIM1RST: u1, }), - /// APB peripheral reset register 2 + /// APB peripheral reset register 2 APBRSTR2: mmio.Mmio(packed struct(u32) { - /// SYSCFG, COMP and VREFBUF reset + /// SYSCFG, COMP and VREFBUF reset SYSCFGRST: u1, reserved11: u10, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI1 reset + /// SPI1 reset SPI1RST: u1, reserved14: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, - /// TIM14 timer reset + /// TIM14 timer reset TIM14RST: u1, - /// TIM15 timer reset + /// TIM15 timer reset TIM15RST: u1, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, reserved20: u1, - /// ADC reset + /// ADC reset ADCRST: u1, padding: u11, }), - /// GPIO clock enable register + /// GPIO clock enable register GPIOENR: mmio.Mmio(packed struct(u32) { - /// I/O port A clock enable + /// I/O port A clock enable GPIOAEN: u1, - /// I/O port B clock enable + /// I/O port B clock enable GPIOBEN: u1, - /// I/O port C clock enable + /// I/O port C clock enable GPIOCEN: u1, - /// I/O port D clock enable + /// I/O port D clock enable GPIODEN: u1, reserved5: u1, - /// I/O port F clock enable + /// I/O port F clock enable GPIOFEN: u1, padding: u26, }), - /// AHB peripheral clock enable register + /// AHB peripheral clock enable register AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, reserved8: u6, - /// Flash memory interface clock enable + /// Flash memory interface clock enable FLASHEN: u1, reserved12: u3, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved16: u3, - /// AES hardware accelerator + /// AES hardware accelerator AESEN: u1, reserved18: u1, - /// Random number generator clock enable + /// Random number generator clock enable RNGEN: u1, padding: u13, }), - /// APB peripheral clock enable register 1 + /// APB peripheral clock enable register 1 APBENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clock enable + /// TIM2 timer clock enable TIM2EN: u1, - /// TIM3 timer clock enable + /// TIM3 timer clock enable TIM3EN: u1, - /// TIM4 timer clock enable + /// TIM4 timer clock enable TIM4EN: u1, reserved4: u1, - /// TIM6 timer clock enable + /// TIM6 timer clock enable TIM6EN: u1, - /// TIM7 timer clock enable + /// TIM7 timer clock enable TIM7EN: u1, reserved7: u1, - /// LPUART2 clock enable + /// LPUART2 clock enable LPUART2EN: u1, - /// USART5EN + /// USART5EN USART5EN: u1, - /// USART6EN + /// USART6EN USART6EN: u1, - /// RTC APB clock enable + /// RTC APB clock enable RTCAPBEN: u1, - /// WWDG clock enable + /// WWDG clock enable WWDGEN: u1, - /// USBEN + /// USBEN FDCANEN: u1, - /// USBEN + /// USBEN USBEN: u1, - /// SPI2 clock enable + /// SPI2 clock enable SPI2EN: u1, - /// SPI3 clock enable + /// SPI3 clock enable SPI3EN: u1, - /// CRSEN + /// CRSEN CRSEN: u1, - /// USART2 clock enable + /// USART2 clock enable USART2EN: u1, - /// USART3 clock enable + /// USART3 clock enable USART3EN: u1, - /// USART4 clock enable + /// USART4 clock enable USART4EN: u1, - /// LPUART1 clock enable + /// LPUART1 clock enable LPUART1EN: u1, - /// I2C1 clock enable + /// I2C1 clock enable I2C1EN: u1, - /// I2C2 clock enable + /// I2C2 clock enable I2C2EN: u1, - /// I2C3 clock enable + /// I2C3 clock enable I2C3EN: u1, - /// HDMI CEC clock enable + /// HDMI CEC clock enable CECEN: u1, - /// UCPD1 clock enable + /// UCPD1 clock enable UCPD1EN: u1, - /// UCPD2 clock enable + /// UCPD2 clock enable UCPD2EN: u1, - /// Debug support clock enable + /// Debug support clock enable DBGEN: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC1 interface clock enable + /// DAC1 interface clock enable DAC1EN: u1, - /// LPTIM2 clock enable + /// LPTIM2 clock enable LPTIM2EN: u1, - /// LPTIM1 clock enable + /// LPTIM1 clock enable LPTIM1EN: u1, }), - /// APB peripheral clock enable register 2 + /// APB peripheral clock enable register 2 APBENR2: mmio.Mmio(packed struct(u32) { - /// SYSCFG, COMP and VREFBUF clock enable + /// SYSCFG, COMP and VREFBUF clock enable SYSCFGEN: u1, reserved11: u10, - /// TIM1 timer clock enable + /// TIM1 timer clock enable TIM1EN: u1, - /// SPI1 clock enable + /// SPI1 clock enable SPI1EN: u1, reserved14: u1, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, - /// TIM14 timer clock enable + /// TIM14 timer clock enable TIM14EN: u1, - /// TIM15 timer clock enable + /// TIM15 timer clock enable TIM15EN: u1, - /// TIM16 timer clock enable + /// TIM16 timer clock enable TIM16EN: u1, - /// TIM16 timer clock enable + /// TIM16 timer clock enable TIM17EN: u1, reserved20: u1, - /// ADC clock enable + /// ADC clock enable ADCEN: u1, padding: u11, }), - /// GPIO in Sleep mode clock enable register + /// GPIO in Sleep mode clock enable register GPIOSMENR: mmio.Mmio(packed struct(u32) { - /// I/O port A clock enable during Sleep mode + /// I/O port A clock enable during Sleep mode GPIOASMEN: u1, - /// I/O port B clock enable during Sleep mode + /// I/O port B clock enable during Sleep mode GPIOBSMEN: u1, - /// I/O port C clock enable during Sleep mode + /// I/O port C clock enable during Sleep mode GPIOCSMEN: u1, - /// I/O port D clock enable during Sleep mode + /// I/O port D clock enable during Sleep mode GPIODSMEN: u1, reserved5: u1, - /// I/O port F clock enable during Sleep mode + /// I/O port F clock enable during Sleep mode GPIOFSMEN: u1, padding: u26, }), - /// AHB peripheral clock enable in Sleep mode register + /// AHB peripheral clock enable in Sleep mode register AHBSMENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable during Sleep mode + /// DMA1 clock enable during Sleep mode DMA1SMEN: u1, - /// DMA2 clock enable during Sleep mode + /// DMA2 clock enable during Sleep mode DMA2SMEN: u1, reserved8: u6, - /// Flash memory interface clock enable during Sleep mode + /// Flash memory interface clock enable during Sleep mode FLASHSMEN: u1, - /// SRAM clock enable during Sleep mode + /// SRAM clock enable during Sleep mode SRAMSMEN: u1, reserved12: u2, - /// CRC clock enable during Sleep mode + /// CRC clock enable during Sleep mode CRCSMEN: u1, reserved16: u3, - /// AES hardware accelerator clock enable during Sleep mode + /// AES hardware accelerator clock enable during Sleep mode AESSMEN: u1, reserved18: u1, - /// Random number generator clock enable during Sleep mode + /// Random number generator clock enable during Sleep mode RNGSMEN: u1, padding: u13, }), - /// APB peripheral clock enable in Sleep mode register 1 + /// APB peripheral clock enable in Sleep mode register 1 APBSMENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clock enable during Sleep mode + /// TIM2 timer clock enable during Sleep mode TIM2SMEN: u1, - /// TIM3 timer clock enable during Sleep mode + /// TIM3 timer clock enable during Sleep mode TIM3SMEN: u1, - /// TIM4 timer clock enable during Sleep mode + /// TIM4 timer clock enable during Sleep mode TIM4SMEN: u1, reserved4: u1, - /// TIM6 timer clock enable during Sleep mode + /// TIM6 timer clock enable during Sleep mode TIM6SMEN: u1, - /// TIM7 timer clock enable during Sleep mode + /// TIM7 timer clock enable during Sleep mode TIM7SMEN: u1, reserved7: u1, - /// LPUART2 clock enable + /// LPUART2 clock enable LPUART2SMEN: u1, - /// USART5 clock enable + /// USART5 clock enable USART5SMEN: u1, - /// USART6 clock enable + /// USART6 clock enable USART6SMEN: u1, - /// RTC APB clock enable during Sleep mode + /// RTC APB clock enable during Sleep mode RTCAPBSMEN: u1, - /// WWDG clock enable during Sleep mode + /// WWDG clock enable during Sleep mode WWDGSMEN: u1, - /// FDCAN clock enable during Sleep mode + /// FDCAN clock enable during Sleep mode FDCANSMEN: u1, - /// USB clock enable during Sleep mode + /// USB clock enable during Sleep mode USBSMEN: u1, - /// SPI2 clock enable during Sleep mode + /// SPI2 clock enable during Sleep mode SPI2SMEN: u1, - /// SPI3 clock enable during Sleep mode + /// SPI3 clock enable during Sleep mode SPI3SMEN: u1, - /// CRSS clock enable during Sleep mode + /// CRSS clock enable during Sleep mode CRSSSMEN: u1, - /// USART2 clock enable during Sleep mode + /// USART2 clock enable during Sleep mode USART2SMEN: u1, - /// USART3 clock enable during Sleep mode + /// USART3 clock enable during Sleep mode USART3SMEN: u1, - /// USART4 clock enable during Sleep mode + /// USART4 clock enable during Sleep mode USART4SMEN: u1, - /// LPUART1 clock enable during Sleep mode + /// LPUART1 clock enable during Sleep mode LPUART1SMEN: u1, - /// I2C1 clock enable during Sleep mode + /// I2C1 clock enable during Sleep mode I2C1SMEN: u1, - /// I2C2 clock enable during Sleep mode + /// I2C2 clock enable during Sleep mode I2C2SMEN: u1, - /// I2C3 clock enable during Sleep mode + /// I2C3 clock enable during Sleep mode I2C3SMEN: u1, - /// HDMI CEC clock enable during Sleep mode + /// HDMI CEC clock enable during Sleep mode CECSMEN: u1, - /// UCPD1 clock enable during Sleep mode + /// UCPD1 clock enable during Sleep mode UCPD1SMEN: u1, - /// UCPD2 clock enable during Sleep mode + /// UCPD2 clock enable during Sleep mode UCPD2SMEN: u1, - /// Debug support clock enable during Sleep mode + /// Debug support clock enable during Sleep mode DBGSMEN: u1, - /// Power interface clock enable during Sleep mode + /// Power interface clock enable during Sleep mode PWRSMEN: u1, - /// DAC1 interface clock enable during Sleep mode + /// DAC1 interface clock enable during Sleep mode DAC1SMEN: u1, - /// Low Power Timer 2 clock enable during Sleep mode + /// Low Power Timer 2 clock enable during Sleep mode LPTIM2SMEN: u1, - /// Low Power Timer 1 clock enable during Sleep mode + /// Low Power Timer 1 clock enable during Sleep mode LPTIM1SMEN: u1, }), - /// APB peripheral clock enable in Sleep mode register 2 + /// APB peripheral clock enable in Sleep mode register 2 APBSMENR2: mmio.Mmio(packed struct(u32) { - /// SYSCFG, COMP and VREFBUF clock enable during Sleep mode + /// SYSCFG, COMP and VREFBUF clock enable during Sleep mode SYSCFGSMEN: u1, reserved11: u10, - /// TIM1 timer clock enable during Sleep mode + /// TIM1 timer clock enable during Sleep mode TIM1SMEN: u1, - /// SPI1 clock enable during Sleep mode + /// SPI1 clock enable during Sleep mode SPI1SMEN: u1, reserved14: u1, - /// USART1 clock enable during Sleep mode + /// USART1 clock enable during Sleep mode USART1SMEN: u1, - /// TIM14 timer clock enable during Sleep mode + /// TIM14 timer clock enable during Sleep mode TIM14SMEN: u1, - /// TIM15 timer clock enable during Sleep mode + /// TIM15 timer clock enable during Sleep mode TIM15SMEN: u1, - /// TIM16 timer clock enable during Sleep mode + /// TIM16 timer clock enable during Sleep mode TIM16SMEN: u1, - /// TIM16 timer clock enable during Sleep mode + /// TIM16 timer clock enable during Sleep mode TIM17SMEN: u1, reserved20: u1, - /// ADC clock enable during Sleep mode + /// ADC clock enable during Sleep mode ADCSMEN: u1, padding: u11, }), - /// Peripherals independent clock configuration register + /// Peripherals independent clock configuration register CCIPR: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection - USART1SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// USART2 clock source selection - USART2SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// USART3 clock source selection - USART3SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// HDMI CEC clock source selection - CECSEL: packed union { - raw: u1, - value: CECSEL, - }, + /// USART1 clock source selection + USART1SEL: USARTSEL, + /// USART2 clock source selection + USART2SEL: USARTSEL, + /// USART3 clock source selection + USART3SEL: USARTSEL, + /// HDMI CEC clock source selection + CECSEL: CECSEL, reserved8: u1, - /// LPUART2 clock source selection - LPUART2SEL: packed union { - raw: u2, - value: LPUART2SEL, - }, - /// LPUART1 clock source selection - LPUART1SEL: packed union { - raw: u2, - value: LPUART1SEL, - }, - /// I2C1 clock source selection - I2C1SEL: packed union { - raw: u2, - value: I2C1SEL, - }, - /// I2C2 or I2S1 clock source selection - I2C2I2S1SEL: packed union { - raw: u2, - value: I2C2I2S1SEL, - }, + /// LPUART2 clock source selection + LPUART2SEL: LPUART2SEL, + /// LPUART1 clock source selection + LPUART1SEL: LPUART1SEL, + /// I2C1 clock source selection + I2C1SEL: I2C1SEL, + /// I2C2 or I2S1 clock source selection + I2C2I2S1SEL: I2C2I2S1SEL, reserved18: u2, - /// LPTIM1 clock source selection - LPTIM1SEL: packed union { - raw: u2, - value: LPTIM1SEL, - }, - /// LPTIM2 clock source selection - LPTIM2SEL: packed union { - raw: u2, - value: LPTIM2SEL, - }, - /// TIM1 clock source selection - TIM1SEL: packed union { - raw: u1, - value: TIM1SEL, - }, + /// LPTIM1 clock source selection + LPTIM1SEL: LPTIM1SEL, + /// LPTIM2 clock source selection + LPTIM2SEL: LPTIM2SEL, + /// TIM1 clock source selection + TIM1SEL: TIM1SEL, reserved24: u1, - /// TIM15 clock source selection - TIM15SEL: packed union { - raw: u1, - value: TIM15SEL, - }, + /// TIM15 clock source selection + TIM15SEL: TIM15SEL, reserved26: u1, - /// RNG clock source selection - RNGSEL: packed union { - raw: u2, - value: RNGSEL, - }, - /// Division factor of RNG clock divider - RNGDIV: packed union { - raw: u2, - value: RNGDIV, - }, - /// ADCs clock source selection - ADCSEL: packed union { - raw: u2, - value: ADCSEL, - }, - }), - /// Peripherals independent clock configuration register 2 + /// RNG clock source selection + RNGSEL: RNGSEL, + /// Division factor of RNG clock divider + RNGDIV: RNGDIV, + /// ADCs clock source selection + ADCSEL: ADCSEL, + }), + /// Peripherals independent clock configuration register 2 CCIPR2: mmio.Mmio(packed struct(u32) { - /// I2S1SEL - I2S1SEL: packed union { - raw: u2, - value: I2S1SEL, - }, - /// I2S2SEL - I2S2SEL: packed union { - raw: u2, - value: I2S2SEL, - }, + /// I2S1SEL + I2S1SEL: I2S1SEL, + /// I2S2SEL + I2S2SEL: I2S2SEL, reserved8: u4, - /// FDCANSEL - FDCANSEL: packed union { - raw: u2, - value: FDCANSEL, - }, + /// FDCANSEL + FDCANSEL: FDCANSEL, reserved12: u2, - /// USBSEL - USBSEL: packed union { - raw: u2, - value: USBSEL, - }, + /// USBSEL + USBSEL: USBSEL, padding: u18, }), - /// RTC domain control register + /// RTC domain control register BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enable + /// LSE oscillator enable LSEON: u1, - /// LSE oscillator ready + /// LSE oscillator ready LSERDY: u1, - /// LSE oscillator bypass + /// LSE oscillator bypass LSEBYP: u1, - /// LSE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// CSS on LSE enable + /// LSE oscillator drive capability + LSEDRV: LSEDRV, + /// CSS on LSE enable LSECSSON: u1, - /// CSS on LSE failure Detection + /// CSS on LSE failure Detection LSECSSD: u1, reserved8: u1, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// RTC domain software reset + /// RTC domain software reset BDRST: u1, reserved24: u7, - /// Low-speed clock output (LSCO) enable + /// Low-speed clock output (LSCO) enable LSCOEN: u1, - /// Low-speed clock output selection + /// Low-speed clock output selection LSCOSEL: u1, padding: u6, }), - /// Control/status register + /// Control/status register CSR: mmio.Mmio(packed struct(u32) { - /// LSI oscillator enable + /// LSI oscillator enable LSION: u1, - /// LSI oscillator ready + /// LSI oscillator ready LSIRDY: u1, reserved23: u21, - /// Remove reset flags + /// Remove reset flags RMVF: u1, reserved25: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// Pin reset flag + /// Pin reset flag PINRSTF: u1, - /// BOR or POR/PDR flag + /// BOR or POR/PDR flag PWRRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent window watchdog reset flag + /// Independent window watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), }; @@ -380268,96 +374394,96 @@ pub const types = struct { pub const rcc_g4 = struct { pub const ADCSEL = enum(u2) { - /// No clock selected + /// No clock selected DISABLE = 0x0, - /// PLL 'P' clock selected as ADC clock + /// PLL 'P' clock selected as ADC clock PLL1_P = 0x1, - /// System clock selected as ADC clock + /// System clock selected as ADC clock SYS = 0x2, _, }; pub const CLK48SEL = enum(u2) { - /// HSI48 oscillator clock selected as 48 MHz clock + /// HSI48 oscillator clock selected as 48 MHz clock HSI48 = 0x0, - /// PLLQCLK selected as 48 MHz clock + /// PLLQCLK selected as 48 MHz clock PLL1_Q = 0x2, _, }; pub const FDCANSEL = enum(u2) { - /// HSE used as FDCAN clock source + /// HSE used as FDCAN clock source HSE = 0x0, - /// PLLQCLK used as FDCAN clock source + /// PLLQCLK used as FDCAN clock source PLL1_Q = 0x1, - /// PCLK used as FDCAN clock source + /// PCLK used as FDCAN clock source PCLK1 = 0x2, _, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK is divided by 2 + /// SYSCLK is divided by 2 Div2 = 0x8, - /// SYSCLK is divided by 4 + /// SYSCLK is divided by 4 Div4 = 0x9, - /// SYSCLK is divided by 8 + /// SYSCLK is divided by 8 Div8 = 0xa, - /// SYSCLK is divided by 16 + /// SYSCLK is divided by 16 Div16 = 0xb, - /// SYSCLK is divided by 64 + /// SYSCLK is divided by 64 Div64 = 0xc, - /// SYSCLK is divided by 128 + /// SYSCLK is divided by 128 Div128 = 0xd, - /// SYSCLK is divided by 256 + /// SYSCLK is divided by 256 Div256 = 0xe, - /// SYSCLK is divided by 512 + /// SYSCLK is divided by 512 Div512 = 0xf, _, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u3) { - /// MCO1 not divided + /// MCO1 not divided Div1 = 0x0, - /// MCO clock is divided by 2 + /// MCO clock is divided by 2 Div2 = 0x1, - /// MCO clock is divided by 4 + /// MCO clock is divided by 4 Div4 = 0x2, - /// MCO clock is divided by 8 + /// MCO clock is divided by 8 Div8 = 0x3, - /// MCO clock is divided divided by 16 + /// MCO clock is divided divided by 16 Div16 = 0x4, _, }; pub const MCOSEL = enum(u4) { - /// No clock, MCO output disabled + /// No clock, MCO output disabled DISABLE = 0x0, - /// SYSCLK selected as MCO source + /// SYSCLK selected as MCO source SYS = 0x1, - /// HSI selected as MCO source + /// HSI selected as MCO source HSI = 0x3, - /// HSE selected as MCO source + /// HSE selected as MCO source HSE = 0x4, - /// Main PLLCLK selected as MCO source + /// Main PLLCLK selected as MCO source PLLCLK = 0x5, - /// LSI selected as MCO source + /// LSI selected as MCO source LSI = 0x6, - /// LSE selected as MCO source + /// LSE selected as MCO source LSE = 0x7, - /// HSI48 selected as MCO source + /// HSI48 selected as MCO source HSI48 = 0x8, _, }; @@ -380559,862 +374685,802 @@ pub const types = struct { }; pub const PLLSRC = enum(u2) { - /// No clock selected as PLL entry clock source + /// No clock selected as PLL entry clock source DISABLE = 0x0, - /// HSI selected as PLL entry clock source + /// HSI selected as PLL entry clock source HSI = 0x2, - /// HSE selected as PLL entry clock source + /// HSE selected as PLL entry clock source HSE = 0x3, _, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK is divided by 2 + /// HCLK is divided by 2 Div2 = 0x4, - /// HCLK is divided by 4 + /// HCLK is divided by 4 Div4 = 0x5, - /// HCLK is divided by 8 + /// HCLK is divided by 8 Div8 = 0x6, - /// HCLK is divided by 16 + /// HCLK is divided by 16 Div16 = 0x7, _, }; pub const RTCSEL = enum(u2) { - /// No clock used as RTC clock + /// No clock used as RTC clock DISABLE = 0x0, - /// LSE used as RTC clock + /// LSE used as RTC clock LSE = 0x1, - /// LSI used as RTC clock + /// LSI used as RTC clock LSI = 0x2, - /// HSE divided by 32 used as RTC clock + /// HSE divided by 32 used as RTC clock HSE_Div32 = 0x3, }; pub const SW = enum(u2) { - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x1, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x2, - /// PLLRCLK selected as system clock + /// PLLRCLK selected as system clock PLL1_R = 0x3, _, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// HSI clock enable + /// HSI clock enable HSION: u1, - /// HSI always enable for peripheral kernels + /// HSI always enable for peripheral kernels HSIKERON: u1, - /// HSI clock ready flag + /// HSI clock ready flag HSIRDY: u1, reserved16: u5, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE crystal oscillator bypass + /// HSE crystal oscillator bypass HSEBYP: u1, - /// Clock security system enable + /// Clock security system enable CSSON: u1, reserved24: u4, - /// Main PLL enable + /// Main PLL enable PLLON: u1, - /// Main PLL clock ready flag + /// Main PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Internal clock sources calibration register + /// Internal clock sources calibration register ICSCR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Internal High Speed clock Calibration + /// Internal High Speed clock Calibration HSICAL0: u8, - /// Internal High Speed clock trimming + /// Internal High Speed clock trimming HSITRIM: u7, padding: u1, }), - /// Clock configuration register + /// Clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// PB low-speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high-speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// PB low-speed prescaler (APB1) + PPRE1: PPRE, + /// APB high-speed prescaler (APB2) + PPRE2: PPRE, reserved24: u10, - /// Microcontroller clock output - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller clock output prescaler - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, + /// Microcontroller clock output + MCOSEL: MCOSEL, + /// Microcontroller clock output prescaler + MCOPRE: MCOPRE, padding: u1, }), - /// PLL configuration register + /// PLL configuration register PLLCFGR: mmio.Mmio(packed struct(u32) { - /// Main PLL, PLLSAI1 and PLLSAI2 entry clock source - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, + /// Main PLL, PLLSAI1 and PLLSAI2 entry clock source + PLLSRC: PLLSRC, reserved4: u2, - /// Division factor for the main PLL and audio PLL (PLLSAI1 and PLLSAI2) input clock - PLLM: packed union { - raw: u4, - value: PLLM, - }, - /// Main PLL multiplication factor for VCO - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// Division factor for the main PLL and audio PLL (PLLSAI1 and PLLSAI2) input clock + PLLM: PLLM, + /// Main PLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// Main PLL PLLSAI3CLK output enable + /// Main PLL PLLSAI3CLK output enable PLLPEN: u1, - /// Main PLL division factor for PLLSAI3CLK (SAI1 and SAI2 clock) - PLLPBIT: packed union { - raw: u1, - value: PLLPBIT, - }, + /// Main PLL division factor for PLLSAI3CLK (SAI1 and SAI2 clock) + PLLPBIT: PLLPBIT, reserved20: u2, - /// Main PLL PLLUSB1CLK output enable + /// Main PLL PLLUSB1CLK output enable PLLQEN: u1, - /// Main PLL division factor for PLLUSB1CLK(48 MHz clock) - PLLQ: packed union { - raw: u2, - value: PLLQ, - }, + /// Main PLL division factor for PLLUSB1CLK(48 MHz clock) + PLLQ: PLLQ, reserved24: u1, - /// Main PLL PLLCLK output enable + /// Main PLL PLLCLK output enable PLLREN: u1, - /// Main PLL division factor for PLLCLK (system clock) - PLLR: packed union { - raw: u2, - value: PLLR, - }, - /// Main PLL division factor for PLLSAI2CLK - PLLP: packed union { - raw: u5, - value: PLLP, - }, + /// Main PLL division factor for PLLCLK (system clock) + PLLR: PLLR, + /// Main PLL division factor for PLLSAI2CLK + PLLP: PLLP, }), reserved24: [8]u8, - /// Clock interrupt enable register + /// Clock interrupt enable register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt enable + /// LSI ready interrupt enable LSIRDYIE: u1, - /// LSE ready interrupt enable + /// LSE ready interrupt enable LSERDYIE: u1, reserved3: u1, - /// HSI ready interrupt enable + /// HSI ready interrupt enable HSIRDYIE: u1, - /// HSE ready interrupt enable + /// HSE ready interrupt enable HSERDYIE: u1, - /// PLL ready interrupt enable + /// PLL ready interrupt enable PLLRDYIE: u1, reserved9: u3, - /// LSE clock security system interrupt enable + /// LSE clock security system interrupt enable LSECSSIE: u1, - /// HSI48 ready interrupt enable + /// HSI48 ready interrupt enable HSI48RDYIE: u1, padding: u21, }), - /// Clock interrupt flag register + /// Clock interrupt flag register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYF: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYF: u1, reserved3: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYF: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYF: u1, - /// PLL ready interrupt flag + /// PLL ready interrupt flag PLLRDYF: u1, reserved8: u2, - /// Clock security system interrupt flag + /// Clock security system interrupt flag CSSF: u1, - /// LSE Clock security system interrupt flag + /// LSE Clock security system interrupt flag LSECSSF: u1, - /// HSI48 ready interrupt flag + /// HSI48 ready interrupt flag HSI48RDYF: u1, padding: u21, }), - /// Clock interrupt clear register + /// Clock interrupt clear register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt clear + /// LSI ready interrupt clear LSIRDYC: u1, - /// LSE ready interrupt clear + /// LSE ready interrupt clear LSERDYC: u1, reserved3: u1, - /// HSI ready interrupt clear + /// HSI ready interrupt clear HSIRDYC: u1, - /// HSE ready interrupt clear + /// HSE ready interrupt clear HSERDYC: u1, - /// PLL ready interrupt clear + /// PLL ready interrupt clear PLLRDYC: u1, reserved8: u2, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, - /// LSE Clock security system interrupt clear + /// LSE Clock security system interrupt clear LSECSSC: u1, - /// HSI48 oscillator ready interrupt clear + /// HSI48 oscillator ready interrupt clear HSI48RDYC: u1, padding: u21, }), reserved40: [4]u8, - /// AHB1 peripheral reset register + /// AHB1 peripheral reset register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// DMA1 reset + /// DMA1 reset DMA1RST: u1, - /// DMA2 reset + /// DMA2 reset DMA2RST: u1, - /// DMAMUX1RST + /// DMAMUX1RST DMAMUX1RST: u1, - /// CORDIC reset + /// CORDIC reset CORDICRST: u1, - /// FMAC reset + /// FMAC reset FMACRST: u1, reserved8: u3, - /// Flash memory interface reset + /// Flash memory interface reset FLASHRST: u1, reserved12: u3, - /// CRC reset + /// CRC reset CRCRST: u1, padding: u19, }), - /// AHB2 peripheral reset register + /// AHB2 peripheral reset register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// IO port A reset + /// IO port A reset GPIOARST: u1, - /// IO port B reset + /// IO port B reset GPIOBRST: u1, - /// IO port C reset + /// IO port C reset GPIOCRST: u1, - /// IO port D reset + /// IO port D reset GPIODRST: u1, - /// IO port E reset + /// IO port E reset GPIOERST: u1, - /// IO port F reset + /// IO port F reset GPIOFRST: u1, - /// IO port G reset + /// IO port G reset GPIOGRST: u1, reserved13: u6, - /// ADC reset + /// ADC reset ADC12RST: u1, - /// SAR ADC345 interface reset + /// SAR ADC345 interface reset ADC345RST: u1, reserved16: u1, - /// DAC1 interface reset + /// DAC1 interface reset DAC1RST: u1, - /// DAC2 interface reset + /// DAC2 interface reset DAC2RST: u1, - /// DAC3 interface reset + /// DAC3 interface reset DAC3RST: u1, - /// DAC4 interface reset + /// DAC4 interface reset DAC4RST: u1, reserved24: u4, - /// Cryptography module reset + /// Cryptography module reset AESRST: u1, reserved26: u1, - /// Random Number Generator module reset + /// Random Number Generator module reset RNGRST: u1, padding: u5, }), - /// AHB3 peripheral reset register + /// AHB3 peripheral reset register AHB3RSTR: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller reset + /// Flexible memory controller reset FMCRST: u1, reserved8: u7, - /// Quad SPI 1 module reset + /// Quad SPI 1 module reset QUADSPIRST: u1, padding: u23, }), reserved56: [4]u8, - /// APB1 peripheral reset register 1 + /// APB1 peripheral reset register 1 APB1RSTR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer reset + /// TIM2 timer reset TIM2RST: u1, - /// TIM3 timer reset + /// TIM3 timer reset TIM3RST: u1, - /// TIM3 timer reset + /// TIM3 timer reset TIM4RST: u1, - /// TIM5 timer reset + /// TIM5 timer reset TIM5RST: u1, - /// TIM6 timer reset + /// TIM6 timer reset TIM6RST: u1, - /// TIM7 timer reset + /// TIM7 timer reset TIM7RST: u1, reserved8: u2, - /// Clock recovery system reset + /// Clock recovery system reset CRSRST: u1, reserved14: u5, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, - /// SPI3 reset + /// SPI3 reset SPI3RST: u1, reserved17: u1, - /// USART2 reset + /// USART2 reset USART2RST: u1, - /// USART3 reset + /// USART3 reset USART3RST: u1, - /// UART4 reset + /// UART4 reset UART4RST: u1, - /// UART5 reset + /// UART5 reset UART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// USBD reset + /// USBD reset USBRST: u1, reserved25: u1, - /// FDCAN reset + /// FDCAN reset FDCANRST: u1, reserved28: u2, - /// Power interface reset + /// Power interface reset PWRRST: u1, reserved30: u1, - /// I2C3 interface reset + /// I2C3 interface reset I2C3RST: u1, - /// Low Power Timer 1 reset + /// Low Power Timer 1 reset LPTIM1RST: u1, }), - /// APB1 peripheral reset register 2 + /// APB1 peripheral reset register 2 APB1RSTR2: mmio.Mmio(packed struct(u32) { - /// Low-power UART 1 reset + /// Low-power UART 1 reset LPUART1RST: u1, - /// I2C4 reset + /// I2C4 reset I2C4RST: u1, reserved8: u6, - /// UCPD1 reset + /// UCPD1 reset UCPD1RST: u1, padding: u23, }), - /// APB2 peripheral reset register + /// APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { - /// System configuration (SYSCFG) reset + /// System configuration (SYSCFG) reset SYSCFGRST: u1, reserved11: u10, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI1 reset + /// SPI1 reset SPI1RST: u1, - /// TIM8 timer reset + /// TIM8 timer reset TIM8RST: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, - /// SPI 4 reset + /// SPI 4 reset SPI4RST: u1, - /// TIM15 timer reset + /// TIM15 timer reset TIM15RST: u1, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, reserved20: u1, - /// Timer 20 reset + /// Timer 20 reset TIM20RST: u1, - /// Serial audio interface 1 (SAI1) reset + /// Serial audio interface 1 (SAI1) reset SAI1RST: u1, reserved26: u4, - /// HRTIMER reset + /// HRTIMER reset HRTIM1RST: u1, padding: u5, }), reserved72: [4]u8, - /// AHB1 peripheral clock enable register + /// AHB1 peripheral clock enable register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// DMAMUX clock enable + /// DMAMUX clock enable DMAMUX1EN: u1, - /// CORDIC clock enable + /// CORDIC clock enable CORDICEN: u1, - /// FMAC clock enable + /// FMAC clock enable FMACEN: u1, reserved8: u3, - /// Flash memory interface clock enable + /// Flash memory interface clock enable FLASHEN: u1, reserved12: u3, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, padding: u19, }), - /// AHB2 peripheral clock enable register + /// AHB2 peripheral clock enable register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable + /// IO port A clock enable GPIOAEN: u1, - /// IO port B clock enable + /// IO port B clock enable GPIOBEN: u1, - /// IO port C clock enable + /// IO port C clock enable GPIOCEN: u1, - /// IO port D clock enable + /// IO port D clock enable GPIODEN: u1, - /// IO port E clock enable + /// IO port E clock enable GPIOEEN: u1, - /// IO port F clock enable + /// IO port F clock enable GPIOFEN: u1, - /// IO port G clock enable + /// IO port G clock enable GPIOGEN: u1, reserved13: u6, - /// ADC clock enable + /// ADC clock enable ADC12EN: u1, - /// DCMI clock enable + /// DCMI clock enable ADC345EN: u1, reserved16: u1, - /// AES accelerator clock enable + /// AES accelerator clock enable DAC1EN: u1, - /// HASH clock enable + /// HASH clock enable DAC2EN: u1, - /// Random Number Generator clock enable + /// Random Number Generator clock enable DAC3EN: u1, - /// DAC4 clock enable + /// DAC4 clock enable DAC4EN: u1, reserved24: u4, - /// AES clock enable + /// AES clock enable AESEN: u1, reserved26: u1, - /// Random Number Generator clock enable + /// Random Number Generator clock enable RNGEN: u1, padding: u5, }), - /// AHB3 peripheral clock enable register + /// AHB3 peripheral clock enable register AHB3ENR: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller clock enable + /// Flexible memory controller clock enable FMCEN: u1, reserved8: u7, - /// QUADSPI memory interface clock enable + /// QUADSPI memory interface clock enable QUADSPIEN: u1, padding: u23, }), reserved88: [4]u8, - /// APB1ENR1 + /// APB1ENR1 APB1ENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clock enable + /// TIM2 timer clock enable TIM2EN: u1, - /// TIM3 timer clock enable + /// TIM3 timer clock enable TIM3EN: u1, - /// TIM4 timer clock enable + /// TIM4 timer clock enable TIM4EN: u1, - /// TIM5 timer clock enable + /// TIM5 timer clock enable TIM5EN: u1, - /// TIM6 timer clock enable + /// TIM6 timer clock enable TIM6EN: u1, - /// TIM7 timer clock enable + /// TIM7 timer clock enable TIM7EN: u1, reserved8: u2, - /// CRSclock enable + /// CRSclock enable CRSEN: u1, reserved10: u1, - /// RTC APB clock enable + /// RTC APB clock enable RTCAPBEN: u1, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI2 clock enable + /// SPI2 clock enable SPI2EN: u1, - /// SPI3 clock enable + /// SPI3 clock enable SPI3EN: u1, reserved17: u1, - /// USART2 clock enable + /// USART2 clock enable USART2EN: u1, - /// USART3 clock enable + /// USART3 clock enable USART3EN: u1, - /// UART4 clock enable + /// UART4 clock enable UART4EN: u1, - /// UART5 clock enable + /// UART5 clock enable UART5EN: u1, - /// I2C1 clock enable + /// I2C1 clock enable I2C1EN: u1, - /// I2C2 clock enable + /// I2C2 clock enable I2C2EN: u1, - /// USB device clock enable + /// USB device clock enable USBEN: u1, reserved25: u1, - /// FDCAN clock enable + /// FDCAN clock enable FDCANEN: u1, reserved28: u2, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, reserved30: u1, - /// I2C3 clock enable + /// I2C3 clock enable I2C3EN: u1, - /// Low power timer 1 clock enable + /// Low power timer 1 clock enable LPTIM1EN: u1, }), - /// APB1 peripheral clock enable register 2 + /// APB1 peripheral clock enable register 2 APB1ENR2: mmio.Mmio(packed struct(u32) { - /// Low power UART 1 clock enable + /// Low power UART 1 clock enable LPUART1EN: u1, - /// I2C4 clock enable + /// I2C4 clock enable I2C4EN: u1, reserved8: u6, - /// UCPD1 clock enable + /// UCPD1 clock enable UCPD1EN: u1, padding: u23, }), - /// APB2ENR + /// APB2ENR APB2ENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock enable + /// SYSCFG clock enable SYSCFGEN: u1, reserved11: u10, - /// TIM1 timer clock enable + /// TIM1 timer clock enable TIM1EN: u1, - /// SPI1 clock enable + /// SPI1 clock enable SPI1EN: u1, - /// TIM8 timer clock enable + /// TIM8 timer clock enable TIM8EN: u1, - /// USART1clock enable + /// USART1clock enable USART1EN: u1, - /// SPI 4 clock enable + /// SPI 4 clock enable SPI4EN: u1, - /// TIM15 timer clock enable + /// TIM15 timer clock enable TIM15EN: u1, - /// TIM16 timer clock enable + /// TIM16 timer clock enable TIM16EN: u1, - /// TIM17 timer clock enable + /// TIM17 timer clock enable TIM17EN: u1, reserved20: u1, - /// Timer 20 clock enable + /// Timer 20 clock enable TIM20EN: u1, - /// SAI1 clock enable + /// SAI1 clock enable SAI1EN: u1, reserved26: u4, - /// HRTIMER clock enable + /// HRTIMER clock enable HRTIM1EN: u1, padding: u5, }), reserved104: [4]u8, - /// AHB1 peripheral clocks enable in Sleep and Stop modes register + /// AHB1 peripheral clocks enable in Sleep and Stop modes register AHB1SMENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clocks enable during Sleep and Stop modes + /// DMA1 clocks enable during Sleep and Stop modes DMA1SMEN: u1, - /// DMA2 clocks enable during Sleep and Stop modes + /// DMA2 clocks enable during Sleep and Stop modes DMA2SMEN: u1, - /// DMAMUX clock enable during Sleep and Stop modes + /// DMAMUX clock enable during Sleep and Stop modes DMAMUX1SMEN: u1, - /// CORDIC clock enable during sleep mode + /// CORDIC clock enable during sleep mode CORDICSMEN: u1, - /// FMACSM clock enable + /// FMACSM clock enable FMACSMEN: u1, reserved8: u3, - /// Flash memory interface clocks enable during Sleep and Stop modes + /// Flash memory interface clocks enable during Sleep and Stop modes FLASHSMEN: u1, - /// SRAM1 interface clocks enable during Sleep and Stop modes + /// SRAM1 interface clocks enable during Sleep and Stop modes SRAM1SMEN: u1, reserved12: u2, - /// CRCSMEN + /// CRCSMEN CRCSMEN: u1, padding: u19, }), - /// AHB2 peripheral clocks enable in Sleep and Stop modes register + /// AHB2 peripheral clocks enable in Sleep and Stop modes register AHB2SMENR: mmio.Mmio(packed struct(u32) { - /// IO port A clocks enable during Sleep and Stop modes + /// IO port A clocks enable during Sleep and Stop modes GPIOASMEN: u1, - /// IO port B clocks enable during Sleep and Stop modes + /// IO port B clocks enable during Sleep and Stop modes GPIOBSMEN: u1, - /// IO port C clocks enable during Sleep and Stop modes + /// IO port C clocks enable during Sleep and Stop modes GPIOCSMEN: u1, - /// IO port D clocks enable during Sleep and Stop modes + /// IO port D clocks enable during Sleep and Stop modes GPIODSMEN: u1, - /// IO port E clocks enable during Sleep and Stop modes + /// IO port E clocks enable during Sleep and Stop modes GPIOESMEN: u1, - /// IO port F clocks enable during Sleep and Stop modes + /// IO port F clocks enable during Sleep and Stop modes GPIOFSMEN: u1, - /// IO port G clocks enable during Sleep and Stop modes + /// IO port G clocks enable during Sleep and Stop modes GPIOGSMEN: u1, reserved9: u2, - /// CCM SRAM interface clocks enable during Sleep and Stop modes + /// CCM SRAM interface clocks enable during Sleep and Stop modes CCMSRAMSMEN: u1, - /// SRAM2 interface clocks enable during Sleep and Stop modes + /// SRAM2 interface clocks enable during Sleep and Stop modes SRAM2SMEN: u1, reserved13: u2, - /// ADC clocks enable during Sleep and Stop modes + /// ADC clocks enable during Sleep and Stop modes ADC12SMEN: u1, - /// DCMI clock enable during Sleep and Stop modes + /// DCMI clock enable during Sleep and Stop modes ADC345SMEN: u1, reserved16: u1, - /// AES accelerator clocks enable during Sleep and Stop modes + /// AES accelerator clocks enable during Sleep and Stop modes DAC1SMEN: u1, - /// HASH clock enable during Sleep and Stop modes + /// HASH clock enable during Sleep and Stop modes DAC2SMEN: u1, - /// DAC3 clock enable during sleep mode + /// DAC3 clock enable during sleep mode DAC3SMEN: u1, - /// DAC4 clock enable during sleep mode + /// DAC4 clock enable during sleep mode DAC4SMEN: u1, reserved24: u4, - /// Cryptography clock enable during sleep mode + /// Cryptography clock enable during sleep mode AESMEN: u1, reserved26: u1, - /// Random Number Generator clock enable during sleep mode + /// Random Number Generator clock enable during sleep mode RNGEN: u1, padding: u5, }), - /// AHB3 peripheral clocks enable in Sleep and Stop modes register + /// AHB3 peripheral clocks enable in Sleep and Stop modes register AHB3SMENR: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller clocks enable during Sleep and Stop modes + /// Flexible memory controller clocks enable during Sleep and Stop modes FMCSMEN: u1, reserved8: u7, - /// QUADSPI memory interface clock enable during Sleep and Stop modes + /// QUADSPI memory interface clock enable during Sleep and Stop modes QUADSPISMEN: u1, padding: u23, }), reserved120: [4]u8, - /// APB1SMENR1 + /// APB1SMENR1 APB1SMENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clocks enable during Sleep and Stop modes + /// TIM2 timer clocks enable during Sleep and Stop modes TIM2SMEN: u1, - /// TIM3 timer clocks enable during Sleep and Stop modes + /// TIM3 timer clocks enable during Sleep and Stop modes TIM3SMEN: u1, - /// TIM4 timer clocks enable during Sleep and Stop modes + /// TIM4 timer clocks enable during Sleep and Stop modes TIM4SMEN: u1, - /// TIM5 timer clocks enable during Sleep and Stop modes + /// TIM5 timer clocks enable during Sleep and Stop modes TIM5SMEN: u1, - /// TIM6 timer clocks enable during Sleep and Stop modes + /// TIM6 timer clocks enable during Sleep and Stop modes TIM6SMEN: u1, - /// TIM7 timer clocks enable during Sleep and Stop modes + /// TIM7 timer clocks enable during Sleep and Stop modes TIM7SMEN: u1, reserved8: u2, - /// CRS clock enable during sleep mode + /// CRS clock enable during sleep mode CRSSMEN: u1, reserved10: u1, - /// RTC APB clock enable during Sleep and Stop modes + /// RTC APB clock enable during Sleep and Stop modes RTCAPBSMEN: u1, - /// Window watchdog clocks enable during Sleep and Stop modes + /// Window watchdog clocks enable during Sleep and Stop modes WWDGSMEN: u1, reserved14: u2, - /// SPI2 clocks enable during Sleep and Stop modes + /// SPI2 clocks enable during Sleep and Stop modes SPI2SMEN: u1, - /// SPI3 clocks enable during Sleep and Stop modes + /// SPI3 clocks enable during Sleep and Stop modes SP3SMEN: u1, reserved17: u1, - /// USART2 clocks enable during Sleep and Stop modes + /// USART2 clocks enable during Sleep and Stop modes USART2SMEN: u1, - /// USART3 clocks enable during Sleep and Stop modes + /// USART3 clocks enable during Sleep and Stop modes USART3SMEN: u1, - /// UART4 clocks enable during Sleep and Stop modes + /// UART4 clocks enable during Sleep and Stop modes UART4SMEN: u1, - /// UART5 clocks enable during Sleep and Stop modes + /// UART5 clocks enable during Sleep and Stop modes UART5SMEN: u1, - /// I2C1 clocks enable during Sleep and Stop modes + /// I2C1 clocks enable during Sleep and Stop modes I2C1SMEN: u1, - /// I2C2 clocks enable during Sleep and Stop modes + /// I2C2 clocks enable during Sleep and Stop modes I2C2SMEN: u1, - /// USB device clocks enable during Sleep and Stop modes + /// USB device clocks enable during Sleep and Stop modes USBSMEN: u1, reserved25: u1, - /// FDCAN clock enable during sleep mode + /// FDCAN clock enable during sleep mode FDCANSMEN: u1, reserved28: u2, - /// Power interface clocks enable during Sleep and Stop modes + /// Power interface clocks enable during Sleep and Stop modes PWRSMEN: u1, reserved30: u1, - /// I2C3 clocks enable during Sleep and Stop modes + /// I2C3 clocks enable during Sleep and Stop modes I2C3SMEN: u1, - /// Low Power Timer1 clock enable during sleep mode + /// Low Power Timer1 clock enable during sleep mode LPTIM1SMEN: u1, }), - /// APB1 peripheral clocks enable in Sleep and Stop modes register 2 + /// APB1 peripheral clocks enable in Sleep and Stop modes register 2 APB1SMENR2: mmio.Mmio(packed struct(u32) { - /// Low power UART 1 clocks enable during Sleep and Stop modes + /// Low power UART 1 clocks enable during Sleep and Stop modes LPUART1SMEN: u1, - /// I2C4 clocks enable during Sleep and Stop modes + /// I2C4 clocks enable during Sleep and Stop modes I2C4SMEN: u1, reserved8: u6, - /// UCPD1 clocks enable during Sleep and Stop modes + /// UCPD1 clocks enable during Sleep and Stop modes UCPD1SMEN: u1, padding: u23, }), - /// APB2SMENR + /// APB2SMENR APB2SMENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clocks enable during Sleep and Stop modes + /// SYSCFG clocks enable during Sleep and Stop modes SYSCFGSMEN: u1, reserved11: u10, - /// TIM1 timer clocks enable during Sleep and Stop modes + /// TIM1 timer clocks enable during Sleep and Stop modes TIM1SMEN: u1, - /// SPI1 clocks enable during Sleep and Stop modes + /// SPI1 clocks enable during Sleep and Stop modes SPI1SMEN: u1, - /// TIM8 timer clocks enable during Sleep and Stop modes + /// TIM8 timer clocks enable during Sleep and Stop modes TIM8SMEN: u1, - /// USART1clocks enable during Sleep and Stop modes + /// USART1clocks enable during Sleep and Stop modes USART1SMEN: u1, - /// SPI4 timer clocks enable during Sleep and Stop modes + /// SPI4 timer clocks enable during Sleep and Stop modes SPI4SMEN: u1, - /// TIM15 timer clocks enable during Sleep and Stop modes + /// TIM15 timer clocks enable during Sleep and Stop modes TIM15SMEN: u1, - /// TIM16 timer clocks enable during Sleep and Stop modes + /// TIM16 timer clocks enable during Sleep and Stop modes TIM16SMEN: u1, - /// TIM17 timer clocks enable during Sleep and Stop modes + /// TIM17 timer clocks enable during Sleep and Stop modes TIM17SMEN: u1, reserved20: u1, - /// Timer 20clock enable during sleep mode + /// Timer 20clock enable during sleep mode TIM20SMEN: u1, - /// SAI1 clock enable during sleep mode + /// SAI1 clock enable during sleep mode SAI1SMEN: u1, reserved26: u4, - /// HRTIMER clock enable during sleep mode + /// HRTIMER clock enable during sleep mode HRTIM1SMEN: u1, padding: u5, }), reserved136: [4]u8, - /// CCIPR + /// CCIPR CCIPR: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection + /// USART1 clock source selection USART1SEL: u2, - /// USART2 clock source selection + /// USART2 clock source selection USART2SEL: u2, - /// USART3 clock source selection + /// USART3 clock source selection USART3SEL: u2, - /// UART4 clock source selection + /// UART4 clock source selection UART4SEL: u2, - /// UART5 clock source selection + /// UART5 clock source selection UART5SEL: u2, - /// LPUART1 clock source selection + /// LPUART1 clock source selection LPUART1SEL: u2, - /// I2C1 clock source selection + /// I2C1 clock source selection I2C1SEL: u2, - /// I2C2 clock source selection + /// I2C2 clock source selection I2C2SEL: u2, - /// I2C3 clock source selection + /// I2C3 clock source selection I2C3SEL: u2, - /// Low power timer 1 clock source selection + /// Low power timer 1 clock source selection LPTIM1SEL: u2, - /// SAI1 clock source selection + /// SAI1 clock source selection SAI1SEL: u2, - /// I2S23 clock source selection + /// I2S23 clock source selection I2S23SEL: u2, - /// FDCAN clock source selection - FDCANSEL: packed union { - raw: u2, - value: FDCANSEL, - }, - /// 48 MHz clock source selection - CLK48SEL: packed union { - raw: u2, - value: CLK48SEL, - }, - /// ADCs clock source selection - ADC12SEL: packed union { - raw: u2, - value: ADCSEL, - }, - /// ADC3/4/5 clock source selection - ADC345SEL: packed union { - raw: u2, - value: ADCSEL, - }, + /// FDCAN clock source selection + FDCANSEL: FDCANSEL, + /// 48 MHz clock source selection + CLK48SEL: CLK48SEL, + /// ADCs clock source selection + ADC12SEL: ADCSEL, + /// ADC3/4/5 clock source selection + ADC345SEL: ADCSEL, }), reserved144: [4]u8, - /// BDCR + /// BDCR BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enable + /// LSE oscillator enable LSEON: u1, - /// LSE oscillator ready + /// LSE oscillator ready LSERDY: u1, - /// LSE oscillator bypass + /// LSE oscillator bypass LSEBYP: u1, - /// SE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// LSECSSON + /// SE oscillator drive capability + LSEDRV: LSEDRV, + /// LSECSSON LSECSSON: u1, - /// LSECSSD + /// LSECSSD LSECSSD: u1, reserved8: u1, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// RTC domain software reset + /// RTC domain software reset BDRST: u1, reserved24: u7, - /// Low speed clock output enable + /// Low speed clock output enable LSCOEN: u1, - /// Low speed clock output selection + /// Low speed clock output selection LSCOSEL: u1, padding: u6, }), - /// CSR + /// CSR CSR: mmio.Mmio(packed struct(u32) { - /// LSI oscillator enable + /// LSI oscillator enable LSION: u1, - /// LSI oscillator ready + /// LSI oscillator ready LSIRDY: u1, reserved23: u21, - /// Remove reset flag + /// Remove reset flag RMVF: u1, reserved25: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// Pad reset flag + /// Pad reset flag PINRSTF: u1, - /// BOR flag + /// BOR flag BORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent window watchdog reset flag + /// Independent window watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), - /// Clock recovery RC register + /// Clock recovery RC register CRRCR: mmio.Mmio(packed struct(u32) { - /// HSI48 clock enable + /// HSI48 clock enable HSI48ON: u1, - /// HSI48 clock ready flag + /// HSI48 clock ready flag HSI48RDY: u1, reserved7: u5, - /// HSI48 clock calibration + /// HSI48 clock calibration HSI48CAL: u9, padding: u16, }), - /// Peripherals independent clock configuration register + /// Peripherals independent clock configuration register CCIPR2: mmio.Mmio(packed struct(u32) { - /// I2C4 clock source selection + /// I2C4 clock source selection I2C4SEL: u2, reserved20: u18, - /// Octospi clock source selection + /// Octospi clock source selection QUADSPISEL: u2, padding: u10, }), @@ -381423,269 +375489,269 @@ pub const types = struct { pub const rcc_h5 = struct { pub const ADCDACSEL = enum(u3) { - /// rcc_hclk selected as kernel clock (default after reset) + /// rcc_hclk selected as kernel clock (default after reset) HCLK2 = 0x0, - /// sys_ck selected as kernel clock + /// sys_ck selected as kernel clock SYS = 0x1, - /// pll2_r_ck selected as kernel clock + /// pll2_r_ck selected as kernel clock PLL2_R = 0x2, - /// hse_ck selected as kernel clock + /// hse_ck selected as kernel clock HSE = 0x3, - /// hsi_ker_ck selected as kernel clock + /// hsi_ker_ck selected as kernel clock HSI = 0x4, - /// csi_ker_ck selected as kernel clock + /// csi_ker_ck selected as kernel clock CSI = 0x5, _, }; pub const CECSEL = enum(u2) { - /// lse_ck selected as kernel clock (default after reset) + /// lse_ck selected as kernel clock (default after reset) LSE = 0x0, - /// lsi_ker_ck selected as kernel clock + /// lsi_ker_ck selected as kernel clock LSI = 0x1, - /// csi_ker_ck/122 selected as kernel clock + /// csi_ker_ck/122 selected as kernel clock CSI_DIV_122 = 0x2, _, }; pub const DACHOLDSEL = enum(u1) { - /// dac_hold_ck selected as kernel clock (default after reset) + /// dac_hold_ck selected as kernel clock (default after reset) DAC_HOLD = 0x0, - /// dac_hold_ck selected as kernel clock + /// dac_hold_ck selected as kernel clock DAC_HOLD_2 = 0x1, }; pub const FDCANSEL = enum(u2) { - /// hse_ck selected as kernel clock (default after reset) + /// hse_ck selected as kernel clock (default after reset) HSE = 0x0, - /// pll1_q_ck selected as kernel clock + /// pll1_q_ck selected as kernel clock PLL1_Q = 0x1, - /// pll2_q_ck selected as kernel clock + /// pll2_q_ck selected as kernel clock PLL2_Q = 0x2, _, }; pub const HPRE = enum(u4) { - /// sys_ck not divided + /// sys_ck not divided Div1 = 0x0, - /// sys_ck divided by 2 + /// sys_ck divided by 2 Div2 = 0x8, - /// sys_ck divided by 4 + /// sys_ck divided by 4 Div4 = 0x9, - /// sys_ck divided by 8 + /// sys_ck divided by 8 Div8 = 0xa, - /// sys_ck divided by 16 + /// sys_ck divided by 16 Div16 = 0xb, - /// sys_ck divided by 64 + /// sys_ck divided by 64 Div64 = 0xc, - /// sys_ck divided by 128 + /// sys_ck divided by 128 Div128 = 0xd, - /// sys_ck divided by 256 + /// sys_ck divided by 256 Div256 = 0xe, - /// sys_ck divided by 512 + /// sys_ck divided by 512 Div512 = 0xf, _, }; pub const HSEEXT = enum(u1) { - /// HSE in analog mode (default after reset) + /// HSE in analog mode (default after reset) Analog = 0x0, - /// HSE in digital mode + /// HSE in digital mode Digital = 0x1, }; pub const HSIDIV = enum(u2) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x1, - /// Division by 4 + /// Division by 4 Div4 = 0x2, - /// Division by 8 + /// Division by 8 Div8 = 0x3, }; pub const I2C34SEL = enum(u2) { - /// rcc_pclk3 selected as peripheral clock + /// rcc_pclk3 selected as peripheral clock PCLK3 = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x2, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x3, }; pub const I2CSEL = enum(u2) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x2, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x3, }; pub const LPTIM2SEL = enum(u3) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x3, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x4, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x5, _, }; pub const LPTIMSEL = enum(u3) { - /// rcc_pclk3 selected as peripheral clock + /// rcc_pclk3 selected as peripheral clock PCLK3 = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x2, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x3, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x4, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x5, _, }; pub const LPUSARTSEL = enum(u3) { - /// rcc_pclk3 selected as kernel clock (default after reset) + /// rcc_pclk3 selected as kernel clock (default after reset) PCLK3 = 0x0, - /// pll2_q_ck selected as kernel clock + /// pll2_q_ck selected as kernel clock PLL2_Q = 0x1, - /// pll3_q_ck selected as kernel clock + /// pll3_q_ck selected as kernel clock PLL3_Q = 0x2, - /// hsi_ker_ck selected as kernel clock + /// hsi_ker_ck selected as kernel clock HSI = 0x3, - /// csi_ker_ck selected as kernel clock + /// csi_ker_ck selected as kernel clock CSI = 0x4, - /// lse_ck selected as kernel clock + /// lse_ck selected as kernel clock LSE = 0x5, _, }; pub const LSCOSEL = enum(u1) { - /// LSI clock selected + /// LSI clock selected LSI = 0x0, - /// LSE clock selected + /// LSE clock selected LSE = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const LSEEXT = enum(u1) { - /// LSE in analog mode (default after Backup domain reset) + /// LSE in analog mode (default after Backup domain reset) Analog = 0x0, - /// LSE in digital mode (do not use if RTC is active). + /// LSE in digital mode (do not use if RTC is active). Digital = 0x1, }; pub const MCO1SEL = enum(u3) { - /// HSI selected for micro-controller clock output + /// HSI selected for micro-controller clock output HSI = 0x0, - /// LSE selected for micro-controller clock output + /// LSE selected for micro-controller clock output LSE = 0x1, - /// HSE selected for micro-controller clock output + /// HSE selected for micro-controller clock output HSE = 0x2, - /// pll1_q selected for micro-controller clock output + /// pll1_q selected for micro-controller clock output PLL1_Q = 0x3, - /// HSI48 selected for micro-controller clock output + /// HSI48 selected for micro-controller clock output HSI48 = 0x4, _, }; pub const MCO2SEL = enum(u3) { - /// System clock selected for micro-controller clock output + /// System clock selected for micro-controller clock output SYS = 0x0, - /// pll2_p selected for micro-controller clock output + /// pll2_p selected for micro-controller clock output PLL2_P = 0x1, - /// HSE selected for micro-controller clock output + /// HSE selected for micro-controller clock output HSE = 0x2, - /// pll1_p selected for micro-controller clock output + /// pll1_p selected for micro-controller clock output PLL1_P = 0x3, - /// CSI selected for micro-controller clock output + /// CSI selected for micro-controller clock output CSI = 0x4, - /// LSI selected for micro-controller clock output + /// LSI selected for micro-controller clock output LSI = 0x5, _, }; pub const MCOPRE = enum(u4) { - /// Divide by 1 + /// Divide by 1 Div1 = 0x1, - /// Divide by 2 + /// Divide by 2 Div2 = 0x2, - /// Divide by 3 + /// Divide by 3 Div3 = 0x3, - /// Divide by 4 + /// Divide by 4 Div4 = 0x4, - /// Divide by 5 + /// Divide by 5 Div5 = 0x5, - /// Divide by 6 + /// Divide by 6 Div6 = 0x6, - /// Divide by 7 + /// Divide by 7 Div7 = 0x7, - /// Divide by 8 + /// Divide by 8 Div8 = 0x8, - /// Divide by 9 + /// Divide by 9 Div9 = 0x9, - /// Divide by 10 + /// Divide by 10 Div10 = 0xa, - /// Divide by 11 + /// Divide by 11 Div11 = 0xb, - /// Divide by 12 + /// Divide by 12 Div12 = 0xc, - /// Divide by 13 + /// Divide by 13 Div13 = 0xd, - /// Divide by 14 + /// Divide by 14 Div14 = 0xe, - /// Divide by 15 + /// Divide by 15 Div15 = 0xf, _, }; pub const NSPRIV = enum(u1) { - /// Read and write to RCC non-secure functions can be done by privileged or unprivileged access. + /// Read and write to RCC non-secure functions can be done by privileged or unprivileged access. B_0x0 = 0x0, - /// Read and write to RCC non-secure functions can be done by privileged access only + /// Read and write to RCC non-secure functions can be done by privileged access only B_0x1 = 0x1, }; pub const OCTOSPISEL = enum(u2) { - /// rcc_hclk selected as kernel clock (default after reset) + /// rcc_hclk selected as kernel clock (default after reset) HCLK4 = 0x0, - /// pll1_q_ck selected as kernel clock + /// pll1_q_ck selected as kernel clock PLL1_Q = 0x1, - /// pll2_r_ck selected as kernel clock + /// pll2_r_ck selected as kernel clock PLL2_R = 0x2, - /// per_ck selected as kernel clock + /// per_ck selected as kernel clock PER = 0x3, }; pub const PERSEL = enum(u2) { - /// hsi_ker_ck selected as kernel clock (default after reset) + /// hsi_ker_ck selected as kernel clock (default after reset) HSI = 0x0, - /// csi_ker_ck selected as kernel clock + /// csi_ker_ck selected as kernel clock CSI = 0x1, - /// hse_ck selected as kernel clock + /// hse_ck selected as kernel clock HSE = 0x2, _, }; @@ -382401,1648 +376467,1429 @@ pub const types = struct { }; pub const PLLRGE = enum(u2) { - /// Frequency is between 1 and 2 MHz + /// Frequency is between 1 and 2 MHz Range1 = 0x0, - /// Frequency is between 2 and 4 MHz + /// Frequency is between 2 and 4 MHz Range2 = 0x1, - /// Frequency is between 4 and 8 MHz + /// Frequency is between 4 and 8 MHz Range4 = 0x2, - /// Frequency is between 8 and 16 MHz + /// Frequency is between 8 and 16 MHz Range8 = 0x3, }; pub const PLLSRC = enum(u2) { - /// no clock send to DIVMx divider and PLLs (default after reset) + /// no clock send to DIVMx divider and PLLs (default after reset) DISABLE = 0x0, - /// HSI selected as PLL clock (hsi_ck) + /// HSI selected as PLL clock (hsi_ck) HSI = 0x1, - /// CSI selected as PLL clock (csi_ck) + /// CSI selected as PLL clock (csi_ck) CSI = 0x2, - /// HSE selected as PLL clock (hse_ck) + /// HSE selected as PLL clock (hse_ck) HSE = 0x3, }; pub const PLLVCOSEL = enum(u1) { - /// VCO frequency range 192 to 836 MHz + /// VCO frequency range 192 to 836 MHz WideVCO = 0x0, - /// VCO frequency range 150 to 420 MHz + /// VCO frequency range 150 to 420 MHz MediumVCO = 0x1, }; pub const PPRE = enum(u3) { - /// rcc_pclk3 = rcc_hclk1 / 1 + /// rcc_pclk3 = rcc_hclk1 / 1 Div1 = 0x0, - /// rcc_pclk3 = rcc_hclk1 / 2 + /// rcc_pclk3 = rcc_hclk1 / 2 Div2 = 0x4, - /// rcc_pclk3 = rcc_hclk1 / 4 + /// rcc_pclk3 = rcc_hclk1 / 4 Div4 = 0x5, - /// rcc_pclk3 = rcc_hclk1 / 8 + /// rcc_pclk3 = rcc_hclk1 / 8 Div8 = 0x6, - /// rcc_pclk3 = rcc_hclk1 / 16 + /// rcc_pclk3 = rcc_hclk1 / 16 Div16 = 0x7, _, }; pub const RNGSEL = enum(u2) { - /// hsi48_ker_ck selected as kernel clock (default after reset) + /// hsi48_ker_ck selected as kernel clock (default after reset) HSI48 = 0x0, - /// pll1_q_ck selected as kernel clock + /// pll1_q_ck selected as kernel clock PLL1_Q = 0x1, - /// lse_ck selected as kernel clock + /// lse_ck selected as kernel clock LSE = 0x2, - /// lsi_ker_ck selected as kernel clock + /// lsi_ker_ck selected as kernel clock LSI = 0x3, }; pub const RTCSEL = enum(u2) { - /// no clock (default after Backup domain reset) + /// no clock (default after Backup domain reset) DISABLE = 0x0, - /// LSE selected as RTC clock + /// LSE selected as RTC clock LSE = 0x1, - /// LSI selected as RTC clock + /// LSI selected as RTC clock LSI = 0x2, - /// HSE divided by RTCPRE value selected as RTC clock + /// HSE divided by RTCPRE value selected as RTC clock HSE_DIV_RTCPRE = 0x3, }; pub const SAISEL = enum(u3) { - /// pll1_q_ck selected as kernel clock (default after reset) + /// pll1_q_ck selected as kernel clock (default after reset) PLL1_Q = 0x0, - /// pll2_p_ck selected as kernel clock + /// pll2_p_ck selected as kernel clock PLL2_P = 0x1, - /// pll3_p_ck selected as kernel clock + /// pll3_p_ck selected as kernel clock PLL3_P = 0x2, - /// AUDIOCLK selected as kernel clock + /// AUDIOCLK selected as kernel clock AUDIOCLK = 0x3, - /// per_ck selected as kernel clock + /// per_ck selected as kernel clock PER = 0x4, _, }; pub const SDMMCSEL = enum(u1) { - /// pll1_q_ck selected as kernel clock (default after reset) + /// pll1_q_ck selected as kernel clock (default after reset) PLL1_Q = 0x0, - /// pll2_r_ck selected as kernel clock + /// pll2_r_ck selected as kernel clock PLL2_R = 0x1, }; pub const SPI1SEL = enum(u3) { - /// pll1_q_ck selected as kernel clock (default after reset) + /// pll1_q_ck selected as kernel clock (default after reset) PLL1_Q = 0x0, - /// pll2_p_ck selected as kernel clock + /// pll2_p_ck selected as kernel clock PLL2_P = 0x1, - /// pll3_p_ck selected as kernel clock + /// pll3_p_ck selected as kernel clock PLL3_P = 0x2, - /// AUDIOCLK selected as kernel clock + /// AUDIOCLK selected as kernel clock AUDIOCLK = 0x3, - /// per_ck selected as kernel clock + /// per_ck selected as kernel clock PER = 0x4, _, }; pub const SPI2SEL = enum(u3) { - /// pll1_q_ck selected as kernel clock (default after reset) + /// pll1_q_ck selected as kernel clock (default after reset) PLL1_Q = 0x0, - /// pll2_p_ck selected as kernel clock + /// pll2_p_ck selected as kernel clock PLL2_P = 0x1, - /// pll3_p_ck selected as kernel clock + /// pll3_p_ck selected as kernel clock PLL3_P = 0x2, - /// AUDIOCLK selected as kernel clock + /// AUDIOCLK selected as kernel clock AUDIOCLK = 0x3, - /// per_ck selected as kernel clock + /// per_ck selected as kernel clock PER = 0x4, _, }; pub const SPI3SEL = enum(u3) { - /// pll1_q_ck selected as kernel clock (default after reset) + /// pll1_q_ck selected as kernel clock (default after reset) PLL1_Q = 0x0, - /// pll2_p_ck selected as kernel clock + /// pll2_p_ck selected as kernel clock PLL2_P = 0x1, - /// pll3_p_ck selected as kernel clock + /// pll3_p_ck selected as kernel clock PLL3_P = 0x2, - /// AUDIOCLK selected as kernel clock + /// AUDIOCLK selected as kernel clock AUDIOCLK = 0x3, - /// per_ck selected as kernel clock + /// per_ck selected as kernel clock PER = 0x4, _, }; pub const SPI4SEL = enum(u3) { - /// rcc_pclk2 selected as kernel clock (default after reset) + /// rcc_pclk2 selected as kernel clock (default after reset) PCLK2 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x5, _, }; pub const SPI5SEL = enum(u3) { - /// rcc_pclk3 selected as kernel clock (default after reset) + /// rcc_pclk3 selected as kernel clock (default after reset) PCLK3 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x5, _, }; pub const SPI6SEL = enum(u3) { - /// rcc_pclk2 selected as peripheral clock + /// rcc_pclk2 selected as peripheral clock PCLK2 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x5, _, }; pub const SPRIV = enum(u1) { - /// Read and write to RCC secure functions can be done by privileged or unprivileged access. + /// Read and write to RCC secure functions can be done by privileged or unprivileged access. Any = 0x0, - /// Read and write to RCC secure functions can be done by privileged access only + /// Read and write to RCC secure functions can be done by privileged access only Privileged = 0x1, }; pub const STOPKERWUCK = enum(u1) { - /// HSI selected as wakeup clock from system Stop (default after reset) + /// HSI selected as wakeup clock from system Stop (default after reset) HSI = 0x0, - /// CSI selected as wakeup clock from system Stop + /// CSI selected as wakeup clock from system Stop CSI = 0x1, }; pub const STOPWUCK = enum(u1) { - /// CSI selected as wakeup clock from system Stop + /// CSI selected as wakeup clock from system Stop CSI = 0x1, _, }; pub const SW = enum(u3) { - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x0, - /// CSI selected as system clock + /// CSI selected as system clock CSI = 0x1, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x2, - /// PLL1 selected as system clock + /// PLL1 selected as system clock PLL1_P = 0x3, _, }; pub const SYSTICKSEL = enum(u2) { - /// rcc_hclk/8 selected as clock source (default after reset) + /// rcc_hclk/8 selected as clock source (default after reset) HCLK1_DIV_8 = 0x0, - /// lsi_ker_ck[1] selected as clock source + /// lsi_ker_ck[1] selected as clock source LSI = 0x1, - /// lse_ck[1] selected as clock source + /// lse_ck[1] selected as clock source LSE = 0x2, _, }; pub const TIMICSEL = enum(u1) { - /// No internal clock available for timers input capture (default after reset) + /// No internal clock available for timers input capture (default after reset) B_0x0 = 0x0, - /// hsi_ker_ck/1024, hsi_ker_ck/8 and csi_ker_ck/128 selected for timers input capture + /// hsi_ker_ck/1024, hsi_ker_ck/8 and csi_ker_ck/128 selected for timers input capture B_0x1 = 0x1, }; pub const TIMPRE = enum(u1) { - /// The timers kernel clock is equal to rcc_hclk1 if PPRE1 or PPRE2 corresponds to a division by 1 or 2, else it is equal to 2 x Frcc_pclk1 or 2 x Frcc_pclk2 (default after reset) + /// The timers kernel clock is equal to rcc_hclk1 if PPRE1 or PPRE2 corresponds to a division by 1 or 2, else it is equal to 2 x Frcc_pclk1 or 2 x Frcc_pclk2 (default after reset) DefaultX2 = 0x0, - /// The timers kernel clock is equal to 2 x Frcc_pclk1 or 2 x Frcc_pclk2 if PPRE1 or PPRE2 corresponds to a division by 1, 2 or 4, else it is equal to 4 x Frcc_pclk1 or 4 x Frcc_pclk2 + /// The timers kernel clock is equal to 2 x Frcc_pclk1 or 2 x Frcc_pclk2 if PPRE1 or PPRE2 corresponds to a division by 1, 2 or 4, else it is equal to 4 x Frcc_pclk1 or 4 x Frcc_pclk2 DefaultX4 = 0x1, }; pub const USART1SEL = enum(u3) { - /// rcc_pclk2 selected as peripheral clock + /// rcc_pclk2 selected as peripheral clock PCLK2 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const USARTSEL = enum(u3) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const USBSEL = enum(u2) { - /// Disable the kernel clock + /// Disable the kernel clock DISABLE = 0x0, - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// HSI48 selected as peripheral clock + /// HSI48 selected as peripheral clock HSI48 = 0x3, }; - /// Reset and clock controller + /// Reset and clock controller pub const RCC = extern struct { - /// RCC clock control register + /// RCC clock control register CR: mmio.Mmio(packed struct(u32) { - /// HSI clock enable Set and cleared by software. Set by hardware to force the HSI to ON when the product leaves Stop mode, if STOPWUCK = 1 or STOPKERWUCK = 1. Set by hardware to force the HSI to ON when the product leaves Standby mode or in case of a failure of the HSE which is used as the system clock source. This bit cannot be cleared if the HSI is used directly (via SW mux) as system clock, or if the HSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1). + /// HSI clock enable Set and cleared by software. Set by hardware to force the HSI to ON when the product leaves Stop mode, if STOPWUCK = 1 or STOPKERWUCK = 1. Set by hardware to force the HSI to ON when the product leaves Standby mode or in case of a failure of the HSE which is used as the system clock source. This bit cannot be cleared if the HSI is used directly (via SW mux) as system clock, or if the HSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1). HSION: u1, - /// HSI clock ready flag Set by hardware to indicate that the HSI oscillator is stable. + /// HSI clock ready flag Set by hardware to indicate that the HSI oscillator is stable. HSIRDY: u1, - /// HSI clock enable in Stop mode Set and reset by software to force the HSI to ON, even in Stop mode, in order to be quickly available as kernel clock for peripherals. This bit has no effect on the value of HSION. + /// HSI clock enable in Stop mode Set and reset by software to force the HSI to ON, even in Stop mode, in order to be quickly available as kernel clock for peripherals. This bit has no effect on the value of HSION. HSIKERON: u1, - /// HSI clock divider Set and reset by software. These bits allow selecting a division ratio in order to configure the wanted HSI clock frequency. The HSIDIV cannot be changed if the HSI is selected as reference clock for at least one enabled PLL (PLLxON bit set to 1). In that case, the new HSIDIV value is ignored. - HSIDIV: packed union { - raw: u2, - value: HSIDIV, - }, - /// HSI divider flag Set and reset by hardware. As a write operation to HSIDIV has not an immediate effect on the frequency, this flag indicates the current status of the HSI divider. HSIDIVF goes immediately to 0 when HSIDIV value is changed, and is set back to 1 when the output frequency matches the value programmed into HSIDIV. + /// HSI clock divider Set and reset by software. These bits allow selecting a division ratio in order to configure the wanted HSI clock frequency. The HSIDIV cannot be changed if the HSI is selected as reference clock for at least one enabled PLL (PLLxON bit set to 1). In that case, the new HSIDIV value is ignored. + HSIDIV: HSIDIV, + /// HSI divider flag Set and reset by hardware. As a write operation to HSIDIV has not an immediate effect on the frequency, this flag indicates the current status of the HSI divider. HSIDIVF goes immediately to 0 when HSIDIV value is changed, and is set back to 1 when the output frequency matches the value programmed into HSIDIV. HSIDIVF: u1, reserved8: u2, - /// CSI clock enable Set and reset by software to enable/disable CSI clock for system and/or peripheral. Set by hardware to force the CSI to ON when the system leaves Stop mode, if STOPWUCK = 1 or STOPKERWUCK = 1. This bit cannot be cleared if the CSI is used directly (via SW mux) as system clock, or if the CSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1). + /// CSI clock enable Set and reset by software to enable/disable CSI clock for system and/or peripheral. Set by hardware to force the CSI to ON when the system leaves Stop mode, if STOPWUCK = 1 or STOPKERWUCK = 1. This bit cannot be cleared if the CSI is used directly (via SW mux) as system clock, or if the CSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1). CSION: u1, - /// CSI clock ready flag Set by hardware to indicate that the CSI oscillator is stable. This bit is activated only if the RC is enabled by CSION (it is not activated if the CSI is enabled by CSIKERON or by a peripheral request). + /// CSI clock ready flag Set by hardware to indicate that the CSI oscillator is stable. This bit is activated only if the RC is enabled by CSION (it is not activated if the CSI is enabled by CSIKERON or by a peripheral request). CSIRDY: u1, - /// CSI clock enable in Stop mode Set and reset by software to force the CSI to ON, even in Stop mode, in order to be quickly available as kernel clock for some peripherals. This bit has no effect on the value of CSION. + /// CSI clock enable in Stop mode Set and reset by software to force the CSI to ON, even in Stop mode, in order to be quickly available as kernel clock for some peripherals. This bit has no effect on the value of CSION. CSIKERON: u1, reserved12: u1, - /// HSI48 clock enable Set by software and cleared by software or by the hardware when the system enters to Stop or Standby mode. + /// HSI48 clock enable Set by software and cleared by software or by the hardware when the system enters to Stop or Standby mode. HSI48ON: u1, - /// HSI48 clock ready flag Set by hardware to indicate that the HSI48 oscillator is stable. + /// HSI48 clock ready flag Set by hardware to indicate that the HSI48 oscillator is stable. HSI48RDY: u1, reserved16: u2, - /// HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE when entering Stop or Standby mode. This bit cannot be cleared if the HSE is used directly (via SW mux) as system clock, or if the HSE is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1). + /// HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE when entering Stop or Standby mode. This bit cannot be cleared if the HSE is used directly (via SW mux) as system clock, or if the HSE is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1). HSEON: u1, - /// HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable. + /// HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable. HSERDY: u1, - /// HSE clock bypass Set and cleared by software to bypass the oscillator with an external clock. The external clock must be enabled with the HSEON bit to be used by the device. The HSEBYP bit can be written only if the HSE oscillator is disabled. + /// HSE clock bypass Set and cleared by software to bypass the oscillator with an external clock. The external clock must be enabled with the HSEON bit to be used by the device. The HSEBYP bit can be written only if the HSE oscillator is disabled. HSEBYP: u1, - /// HSE clock security system enable Set by software to enable clock security system on HSE. This bit is “set only” (disabled by a system reset or when the system enters in Standby mode). When HSECSSON is set, the clock detector is enabled by hardware when the HSE is ready and disabled by hardware if an oscillator failure is detected. + /// HSE clock security system enable Set by software to enable clock security system on HSE. This bit is “set only” (disabled by a system reset or when the system enters in Standby mode). When HSECSSON is set, the clock detector is enabled by hardware when the HSE is ready and disabled by hardware if an oscillator failure is detected. HSECSSON: u1, - /// external high speed clock type in Bypass mode Set and reset by software to select the external clock type (analog or digital). The external clock must be enabled with the HSEON bit to be used by the device. The HSEEXT bit can be written only if the HSE oscillator is disabled. - HSEEXT: packed union { - raw: u1, - value: HSEEXT, - }, + /// external high speed clock type in Bypass mode Set and reset by software to select the external clock type (analog or digital). The external clock must be enabled with the HSEON bit to be used by the device. The HSEEXT bit can be written only if the HSE oscillator is disabled. + HSEEXT: HSEEXT, reserved24: u3, - /// PLL1 enable Set and cleared by software to enable PLL1. Cleared by hardware when entering Stop or Standby mode. Note that the hardware prevents writing this bit to 0, if the PLL1 output is used as the system clock. + /// PLL1 enable Set and cleared by software to enable PLL1. Cleared by hardware when entering Stop or Standby mode. Note that the hardware prevents writing this bit to 0, if the PLL1 output is used as the system clock. PLLON: u1, - /// PLL1 clock ready flag Set by hardware to indicate that the PLL1 is locked. + /// PLL1 clock ready flag Set by hardware to indicate that the PLL1 is locked. PLLRDY: u1, padding: u6, }), reserved16: [12]u8, - /// RCC HSI calibration register + /// RCC HSI calibration register HSICFGR: mmio.Mmio(packed struct(u32) { - /// HSI clock calibration Set by hardware by option byte loading during system reset nreset. Adjusted by software through trimming bits HSITRIM. This field represents the sum of engineering option byte calibration value and HSITRIM bits value. + /// HSI clock calibration Set by hardware by option byte loading during system reset nreset. Adjusted by software through trimming bits HSITRIM. This field represents the sum of engineering option byte calibration value and HSITRIM bits value. HSICAL: u12, reserved16: u4, - /// HSI clock trimming Set by software to adjust calibration. HSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_HSI_OPT) in order to form the calibration trimming value. HSICAL = HSITRIM + FLASH_HSI_OPT. After a change of HSITRIM it takes one system clock cycle before the new HSITRIM value is updated Note: The reset value of the field is 0x40. + /// HSI clock trimming Set by software to adjust calibration. HSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_HSI_OPT) in order to form the calibration trimming value. HSICAL = HSITRIM + FLASH_HSI_OPT. After a change of HSITRIM it takes one system clock cycle before the new HSITRIM value is updated Note: The reset value of the field is 0x40. HSITRIM: u7, padding: u9, }), - /// RCC clock recovery RC register + /// RCC clock recovery RC register CRRCR: mmio.Mmio(packed struct(u32) { - /// Internal RC 48 MHz clock calibration Set by hardware by option-byte loading during system reset NRESET. Read-only. + /// Internal RC 48 MHz clock calibration Set by hardware by option-byte loading during system reset NRESET. Read-only. HSI48CAL: u10, padding: u22, }), - /// RCC CSI calibration register + /// RCC CSI calibration register CSICFGR: mmio.Mmio(packed struct(u32) { - /// CSI clock calibration Set by hardware by option byte loading during system reset NRESET. Adjusted by software through trimming bits CSITRIM. This field represents the sum of engineering option byte calibration value and CSITRIM bits value. + /// CSI clock calibration Set by hardware by option byte loading during system reset NRESET. Adjusted by software through trimming bits CSITRIM. This field represents the sum of engineering option byte calibration value and CSITRIM bits value. CSICAL: u8, reserved16: u8, - /// CSI clock trimming Set by software to adjust calibration. CSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_CSI_OPT) in order to form the calibration trimming value. CSICAL = CSITRIM + FLASH_CSI_OPT. Note: The reset value of the field is 0x20. + /// CSI clock trimming Set by software to adjust calibration. CSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_CSI_OPT) in order to form the calibration trimming value. CSICAL = CSITRIM + FLASH_CSI_OPT. Note: The reset value of the field is 0x20. CSITRIM: u6, padding: u10, }), - /// RCC clock configuration register + /// RCC clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// system clock and trace clock switch Set and reset by software to select system clock and trace clock sources (sys_ck). Set by hardware in order to: - force the selection of the HSI or CSI (depending on STOPWUCK selection) when leaving a system Stop mode - force the selection of the HSI in case of failure of the HSE when used directly or indirectly as system clock others: reserved - SW: packed union { - raw: u3, - value: SW, - }, - /// system clock switch status Set and reset by hardware to indicate which clock source is used as system clock. 000: HSI used as system clock (hsi_ck) (default after reset). others: reserved - SWS: packed union { - raw: u3, - value: SW, - }, - /// system clock selection after a wakeup from system Stop Set and reset by software to select the system wakeup clock from system Stop. The selected clock is also used as emergency clock for the clock security system (CSS) on HSE. 0: HSI selected as wakeup clock from system Stop (default after reset) STOPWUCK must not be modified when CSS is enabled (by HSECSSON bit) and the system clock is HSE (SWS = 10) or a switch on HSE is requested (SW =10). - STOPWUCK: packed union { - raw: u1, - value: STOPWUCK, - }, - /// kernel clock selection after a wakeup from system Stop Set and reset by software to select the kernel wakeup clock from system Stop. - STOPKERWUCK: packed union { - raw: u1, - value: STOPKERWUCK, - }, - /// HSE division factor for RTC clock Set and cleared by software to divide the HSE to generate a clock for RTC. Caution: The software must set these bits correctly to ensure that the clock supplied to the RTC is lower than 1 MHz. These bits must be configured if needed before selecting the RTC clock source. ... + /// system clock and trace clock switch Set and reset by software to select system clock and trace clock sources (sys_ck). Set by hardware in order to: - force the selection of the HSI or CSI (depending on STOPWUCK selection) when leaving a system Stop mode - force the selection of the HSI in case of failure of the HSE when used directly or indirectly as system clock others: reserved + SW: SW, + /// system clock switch status Set and reset by hardware to indicate which clock source is used as system clock. 000: HSI used as system clock (hsi_ck) (default after reset). others: reserved + SWS: SW, + /// system clock selection after a wakeup from system Stop Set and reset by software to select the system wakeup clock from system Stop. The selected clock is also used as emergency clock for the clock security system (CSS) on HSE. 0: HSI selected as wakeup clock from system Stop (default after reset) STOPWUCK must not be modified when CSS is enabled (by HSECSSON bit) and the system clock is HSE (SWS = 10) or a switch on HSE is requested (SW =10). + STOPWUCK: STOPWUCK, + /// kernel clock selection after a wakeup from system Stop Set and reset by software to select the kernel wakeup clock from system Stop. + STOPKERWUCK: STOPKERWUCK, + /// HSE division factor for RTC clock Set and cleared by software to divide the HSE to generate a clock for RTC. Caution: The software must set these bits correctly to ensure that the clock supplied to the RTC is lower than 1 MHz. These bits must be configured if needed before selecting the RTC clock source. ... RTCPRE: u6, reserved15: u1, - /// timers clocks prescaler selection This bit is set and reset by software to control the clock frequency of all the timers connected to APB1 and APB2 domains. - TIMPRE: packed union { - raw: u1, - value: TIMPRE, - }, + /// timers clocks prescaler selection This bit is set and reset by software to control the clock frequency of all the timers connected to APB1 and APB2 domains. + TIMPRE: TIMPRE, reserved18: u2, - /// MCO1 prescaler Set and cleared by software to configure the prescaler of the MCO1. Modification of this prescaler may generate glitches on MCO1. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs. ... - MCO1PRE: packed union { - raw: u4, - value: MCOPRE, - }, - /// Microcontroller clock output 1 Set and cleared by software. Clock source selection may generate glitches on MCO1. It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs. others: reserved - MCO1SEL: packed union { - raw: u3, - value: MCO1SEL, - }, - /// MCO2 prescaler Set and cleared by software to configure the prescaler of the MCO2. Modification of this prescaler may generate glitches on MCO2. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs. ... - MCO2PRE: packed union { - raw: u4, - value: MCOPRE, - }, - /// microcontroller clock output 2 Set and cleared by software. Clock source selection may generate glitches on MCO2. It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs. others: reserved - MCO2SEL: packed union { - raw: u3, - value: MCO2SEL, - }, - }), - /// RCC CPU domain clock configuration register 2 + /// MCO1 prescaler Set and cleared by software to configure the prescaler of the MCO1. Modification of this prescaler may generate glitches on MCO1. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs. ... + MCO1PRE: MCOPRE, + /// Microcontroller clock output 1 Set and cleared by software. Clock source selection may generate glitches on MCO1. It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs. others: reserved + MCO1SEL: MCO1SEL, + /// MCO2 prescaler Set and cleared by software to configure the prescaler of the MCO2. Modification of this prescaler may generate glitches on MCO2. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs. ... + MCO2PRE: MCOPRE, + /// microcontroller clock output 2 Set and cleared by software. Clock source selection may generate glitches on MCO2. It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs. others: reserved + MCO2SEL: MCO2SEL, + }), + /// RCC CPU domain clock configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// AHB prescaler Set and reset by software to control the division factor of rcc_hclk. Changing this division ratio has an impact on the frequency of all bus matrix clocks 0xxx: rcc_hclk = sys_ck (default after reset) - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB low-speed prescaler (APB1) Set and reset by software to control the division factor of rcc_pclk1. The clock is divided by the new prescaler factor from 1 to 16 cycles of rcc_hclk after PPRE write. 0xx: rcc_pclk1 = rcc_hclk1 (default after reset) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, + /// AHB prescaler Set and reset by software to control the division factor of rcc_hclk. Changing this division ratio has an impact on the frequency of all bus matrix clocks 0xxx: rcc_hclk = sys_ck (default after reset) + HPRE: HPRE, + /// APB low-speed prescaler (APB1) Set and reset by software to control the division factor of rcc_pclk1. The clock is divided by the new prescaler factor from 1 to 16 cycles of rcc_hclk after PPRE write. 0xx: rcc_pclk1 = rcc_hclk1 (default after reset) + PPRE1: PPRE, reserved8: u1, - /// APB high-speed prescaler (APB2) Set and reset by software to control APB high-speed clocks division factor. The clocks are divided with the new prescaler factor from 1 to 16 APB cycles after PPRE2 write. 0xx: rcc_pclk2 = rcc_hclk1 - PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// APB high-speed prescaler (APB2) Set and reset by software to control APB high-speed clocks division factor. The clocks are divided with the new prescaler factor from 1 to 16 APB cycles after PPRE2 write. 0xx: rcc_pclk2 = rcc_hclk1 + PPRE2: PPRE, reserved12: u1, - /// APB low-speed prescaler (APB3) Set and reset by software to control APB low-speed clocks division factor. The clocks are divided with the new prescaler factor from 1 to 16 APB cycles after PPRE3 write. 0xx: rcc_pclk3 = rcc_hclk1 - PPRE3: packed union { - raw: u3, - value: PPRE, - }, + /// APB low-speed prescaler (APB3) Set and reset by software to control APB low-speed clocks division factor. The clocks are divided with the new prescaler factor from 1 to 16 APB cycles after PPRE3 write. 0xx: rcc_pclk3 = rcc_hclk1 + PPRE3: PPRE, reserved16: u1, - /// AHB1 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB1 peripherals from RCC_AHB1ENR are used and when their clocks are disabled in RCC_AHB1ENR. When this bit is set, all the AHB1 peripherals clocks from RCC_AHB1ENR are off. enable control bits + /// AHB1 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB1 peripherals from RCC_AHB1ENR are used and when their clocks are disabled in RCC_AHB1ENR. When this bit is set, all the AHB1 peripherals clocks from RCC_AHB1ENR are off. enable control bits AHB1DIS: u1, - /// AHB2 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB2 peripherals from RCC_AHB2ENR are used and when their clocks are disabled in RCC_AHB2ENR. When this bit is set, all the AHB2 peripherals clocks from RCC_AHB2ENR are off. enable control bits + /// AHB2 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB2 peripherals from RCC_AHB2ENR are used and when their clocks are disabled in RCC_AHB2ENR. When this bit is set, all the AHB2 peripherals clocks from RCC_AHB2ENR are off. enable control bits AHB2DIS: u1, reserved19: u1, - /// AHB4 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB4 peripherals from RCC_AHB4ENR are used and when their clocks are disabled in RCC_AHB4ENR. When this bit is set, all the AHB4 peripherals clocks from RCC_AHB4ENR are off. enable control bits + /// AHB4 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB4 peripherals from RCC_AHB4ENR are used and when their clocks are disabled in RCC_AHB4ENR. When this bit is set, all the AHB4 peripherals clocks from RCC_AHB4ENR are off. enable control bits AHB4DIS: u1, - /// APB1 clock disable value This bit can be set in order to further reduce power consumption, when none of the APB1 peripherals (except IWDG) are used and when their clocks are disabled in RCC_APB1ENR. When this bit is set, all the APB1 peripherals clocks are off, except for IWDG. control bits + /// APB1 clock disable value This bit can be set in order to further reduce power consumption, when none of the APB1 peripherals (except IWDG) are used and when their clocks are disabled in RCC_APB1ENR. When this bit is set, all the APB1 peripherals clocks are off, except for IWDG. control bits APB1DIS: u1, - /// APB2 clock disable value This bit can be set in order to further reduce power consumption, when none of the APB2 peripherals are used and when their clocks are disabled in RCC_APB2ENR. When this bit is set, all the APB2 peripherals clocks are off. control bits + /// APB2 clock disable value This bit can be set in order to further reduce power consumption, when none of the APB2 peripherals are used and when their clocks are disabled in RCC_APB2ENR. When this bit is set, all the APB2 peripherals clocks are off. control bits APB2DIS: u1, - /// APB3 clock disable value.Set and cleared by software This bit can be set in order to further reduce power consumption, when none of the APB3 peripherals are used and when their clocks are disabled in RCC_APB3ENR. When this bit is set, all the APB3 peripherals clocks are off. control bits + /// APB3 clock disable value.Set and cleared by software This bit can be set in order to further reduce power consumption, when none of the APB3 peripherals are used and when their clocks are disabled in RCC_APB3ENR. When this bit is set, all the APB3 peripherals clocks are off. control bits APB3DIS: u1, padding: u9, }), reserved40: [4]u8, - /// RCC PLL clock source selection register + /// RCC PLL clock source selection register PLLCFGR: [3]mmio.Mmio(packed struct(u32) { - /// DIVMx and PLLs clock source selection Set and reset by software to select the PLL clock source. These bits can be written only when all PLLs are disabled. In order to save power, when no PLL is used, the value of PLL1SRC must be set to '00'. 00: no clock send to DIVMx divider and PLLs (default after reset). - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, - /// PLL1 input frequency range Set and reset by software to select the proper reference frequency range used for PLL1. This bit must be written before enabling the PLL1. - PLLRGE: packed union { - raw: u2, - value: PLLRGE, - }, - /// PLL1 fractional latch enable Set and reset by software to latch the content of FRACN1 into the sigma-delta modulator. In order to latch the FRACN1 value into the sigma-delta modulator, PLL1FRACEN must be set to 0, then set to 1. The transition 0 to 1 transfers the content of FRACN1 into the modulator. + /// DIVMx and PLLs clock source selection Set and reset by software to select the PLL clock source. These bits can be written only when all PLLs are disabled. In order to save power, when no PLL is used, the value of PLL1SRC must be set to '00'. 00: no clock send to DIVMx divider and PLLs (default after reset). + PLLSRC: PLLSRC, + /// PLL1 input frequency range Set and reset by software to select the proper reference frequency range used for PLL1. This bit must be written before enabling the PLL1. + PLLRGE: PLLRGE, + /// PLL1 fractional latch enable Set and reset by software to latch the content of FRACN1 into the sigma-delta modulator. In order to latch the FRACN1 value into the sigma-delta modulator, PLL1FRACEN must be set to 0, then set to 1. The transition 0 to 1 transfers the content of FRACN1 into the modulator. PLLFRACEN: u1, - /// PLL1 VCO selection Set and reset by software to select the proper VCO frequency range used for PLL1. This bit must be written before enabling the PLL1. - PLLVCOSEL: packed union { - raw: u1, - value: PLLVCOSEL, - }, + /// PLL1 VCO selection Set and reset by software to select the proper VCO frequency range used for PLL1. This bit must be written before enabling the PLL1. + PLLVCOSEL: PLLVCOSEL, reserved8: u2, - /// prescaler for PLL1 Set and cleared by software to configure the prescaler of the PLL1. The hardware does not allow any modification of this prescaler when PLL1 is enabled (PLL1ON = 1 or PLL1RDY = 1). In order to save power when PLL1 is not used, the value of DIVM1 must be set to 0. ... ... - DIVM: packed union { - raw: u6, - value: PLLM, - }, + /// prescaler for PLL1 Set and cleared by software to configure the prescaler of the PLL1. The hardware does not allow any modification of this prescaler when PLL1 is enabled (PLL1ON = 1 or PLL1RDY = 1). In order to save power when PLL1 is not used, the value of DIVM1 must be set to 0. ... ... + DIVM: PLLM, reserved16: u2, - /// PLL1 DIVP divider output enable Set and reset by software to enable the pll1_p_ck output of the PLL1. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). In order to save power, when the pll1_p_ck output of the PLL1 is not used, the pll1_p_ck must be disabled. + /// PLL1 DIVP divider output enable Set and reset by software to enable the pll1_p_ck output of the PLL1. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). In order to save power, when the pll1_p_ck output of the PLL1 is not used, the pll1_p_ck must be disabled. PLLPEN: u1, - /// PLL1 DIVQ divider output enable Set and reset by software to enable the pll1_q_ck output of the PLL1. In order to save power, when the pll1_q_ck output of the PLL1 is not used, the pll1_q_ck must be disabled. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). + /// PLL1 DIVQ divider output enable Set and reset by software to enable the pll1_q_ck output of the PLL1. In order to save power, when the pll1_q_ck output of the PLL1 is not used, the pll1_q_ck must be disabled. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). PLLQEN: u1, - /// PLL1 DIVR divider output enable Set and reset by software to enable the pll1_r_ck output of the PLL1. To save power, DIVR1EN and DIVR1 bits must be set to 0 when the pll1_r_ck is not used. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). + /// PLL1 DIVR divider output enable Set and reset by software to enable the pll1_r_ck output of the PLL1. To save power, DIVR1EN and DIVR1 bits must be set to 0 when the pll1_r_ck is not used. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). PLLREN: u1, padding: u13, }), - /// RCC PLL1 dividers register + /// RCC PLL1 dividers register PLLDIVR: mmio.Mmio(packed struct(u32) { - /// Multiplication factor for PLL1VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL is disabled (PLL1ON = 0 and PLL1RDY = 0). ... ... Others: reserved - PLLN: packed union { - raw: u9, - value: PLLN, - }, - /// PLL1 DIVP division factor Set and reset by software to control the frequency of the pll1_p_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). Note that odd division factors are not allowed. ... - PLLP: packed union { - raw: u7, - value: PLLDIV, - }, - /// PLL1 DIVQ division factor Set and reset by software to control the frequency of the pll1_q_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... - PLLQ: packed union { - raw: u7, - value: PLLDIV, - }, + /// Multiplication factor for PLL1VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL is disabled (PLL1ON = 0 and PLL1RDY = 0). ... ... Others: reserved + PLLN: PLLN, + /// PLL1 DIVP division factor Set and reset by software to control the frequency of the pll1_p_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). Note that odd division factors are not allowed. ... + PLLP: PLLDIV, + /// PLL1 DIVQ division factor Set and reset by software to control the frequency of the pll1_q_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... + PLLQ: PLLDIV, reserved24: u1, - /// PLL1 DIVR division factor Set and reset by software to control the frequency of the pll1_r_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... - PLLR: packed union { - raw: u7, - value: PLLDIV, - }, + /// PLL1 DIVR division factor Set and reset by software to control the frequency of the pll1_r_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... + PLLR: PLLDIV, padding: u1, }), - /// RCC PLL1 fractional divider register + /// RCC PLL1 fractional divider register PLLFRACR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// fractional part of the multiplication factor for PLL1 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO. The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is: * 128 to 560 MHz if PLL1VCOSEL = 0 * 150 to 420 MHz if PLL1VCOSEL = 1 VCO output frequency = Fref1_ck x (PLL1N + (PLL1FRACN / 213)), with * PLL1N between 8 and 420 * PLL1FRACN can be between 0 and 213- 1 * The input frequency Fref1_ck must be between 1 and 16 MHz. To change the PLL1FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows: * Set the bit PLL1FRACEN to 0 * Write the new fractional value into PLL1FRACN * Set the bit PLL1FRACEN to 1 + /// fractional part of the multiplication factor for PLL1 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO. The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is: * 128 to 560 MHz if PLL1VCOSEL = 0 * 150 to 420 MHz if PLL1VCOSEL = 1 VCO output frequency = Fref1_ck x (PLL1N + (PLL1FRACN / 213)), with * PLL1N between 8 and 420 * PLL1FRACN can be between 0 and 213- 1 * The input frequency Fref1_ck must be between 1 and 16 MHz. To change the PLL1FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows: * Set the bit PLL1FRACEN to 0 * Write the new fractional value into PLL1FRACN * Set the bit PLL1FRACEN to 1 PLLFRACN: u13, padding: u16, }), reserved80: [20]u8, - /// RCC clock source interrupt enable register + /// RCC clock source interrupt enable register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the LSI oscillator stabilization. + /// LSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the LSI oscillator stabilization. LSIRDYIE: u1, - /// LSE ready interrupt enable Set and reset by software to enable/disable interrupt caused by the LSE oscillator stabilization. + /// LSE ready interrupt enable Set and reset by software to enable/disable interrupt caused by the LSE oscillator stabilization. LSERDYIE: u1, - /// CSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the CSI oscillator stabilization. + /// CSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the CSI oscillator stabilization. CSIRDYIE: u1, - /// HSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSI oscillator stabilization. + /// HSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSI oscillator stabilization. HSIRDYIE: u1, - /// HSE ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSE oscillator stabilization. + /// HSE ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSE oscillator stabilization. HSERDYIE: u1, - /// HSI48 ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSI48 oscillator stabilization. + /// HSI48 ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSI48 oscillator stabilization. HSI48RDYIE: u1, - /// PLL1 ready interrupt enable Set and reset by software to enable/disable interrupt caused by PLL1 lock. + /// PLL1 ready interrupt enable Set and reset by software to enable/disable interrupt caused by PLL1 lock. PLLRDYIE: u1, padding: u25, }), - /// RCC clock source interrupt flag register + /// RCC clock source interrupt flag register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag Reset by software by writing LSIRDYC bit. Set by hardware when the LSI clock becomes stable and LSIRDYIE is set. + /// LSI ready interrupt flag Reset by software by writing LSIRDYC bit. Set by hardware when the LSI clock becomes stable and LSIRDYIE is set. LSIRDYF: u1, - /// LSE ready interrupt flag Reset by software by writing LSERDYC bit. Set by hardware when the LSE clock becomes stable and LSERDYIE is set. + /// LSE ready interrupt flag Reset by software by writing LSERDYC bit. Set by hardware when the LSE clock becomes stable and LSERDYIE is set. LSERDYF: u1, - /// CSI ready interrupt flag Reset by software by writing CSIRDYC bit. Set by hardware when the CSI clock becomes stable and CSIRDYIE is set. + /// CSI ready interrupt flag Reset by software by writing CSIRDYC bit. Set by hardware when the CSI clock becomes stable and CSIRDYIE is set. CSIRDYF: u1, - /// HSI ready interrupt flag Reset by software by writing HSIRDYC bit. Set by hardware when the HSI clock becomes stable and HSIRDYIE is set. + /// HSI ready interrupt flag Reset by software by writing HSIRDYC bit. Set by hardware when the HSI clock becomes stable and HSIRDYIE is set. HSIRDYF: u1, - /// HSE ready interrupt flag Reset by software by writing HSERDYC bit. Set by hardware when the HSE clock becomes stable and HSERDYIE is set. + /// HSE ready interrupt flag Reset by software by writing HSERDYC bit. Set by hardware when the HSE clock becomes stable and HSERDYIE is set. HSERDYF: u1, - /// HSI48 ready interrupt flag Reset by software by writing HSI48RDYC bit. Set by hardware when the HSI48 clock becomes stable and HSI48RDYIE is set. + /// HSI48 ready interrupt flag Reset by software by writing HSI48RDYC bit. Set by hardware when the HSI48 clock becomes stable and HSI48RDYIE is set. HSI48RDYF: u1, - /// PLL1 ready interrupt flag Reset by software by writing PLL1RDYC bit. Set by hardware when the PLL1 locks and PLL1RDYIE is set. + /// PLL1 ready interrupt flag Reset by software by writing PLL1RDYC bit. Set by hardware when the PLL1 locks and PLL1RDYIE is set. PLLRDYF: u1, reserved10: u3, - /// HSE clock security system interrupt flag Reset by software by writing HSECSSC bit. Set by hardware in case of HSE clock failure. + /// HSE clock security system interrupt flag Reset by software by writing HSECSSC bit. Set by hardware in case of HSE clock failure. HSECSSF: u1, padding: u21, }), - /// RCC clock source interrupt clear register + /// RCC clock source interrupt clear register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt clear Set by software to clear LSIRDYF. Reset by hardware when clear done. + /// LSI ready interrupt clear Set by software to clear LSIRDYF. Reset by hardware when clear done. LSIRDYC: u1, - /// LSE ready interrupt clear Set by software to clear LSERDYF. Reset by hardware when clear done. + /// LSE ready interrupt clear Set by software to clear LSERDYF. Reset by hardware when clear done. LSERDYC: u1, - /// HSI ready interrupt clear Set by software to clear CSIRDYF. Reset by hardware when clear done. + /// HSI ready interrupt clear Set by software to clear CSIRDYF. Reset by hardware when clear done. CSIRDYC: u1, - /// HSI ready interrupt clear Set by software to clear HSIRDYF. Reset by hardware when clear done. + /// HSI ready interrupt clear Set by software to clear HSIRDYF. Reset by hardware when clear done. HSIRDYC: u1, - /// HSE ready interrupt clear Set by software to clear HSERDYF. Reset by hardware when clear done. + /// HSE ready interrupt clear Set by software to clear HSERDYF. Reset by hardware when clear done. HSERDYC: u1, - /// HSI48 ready interrupt clear Set by software to clear HSI48RDYF. Reset by hardware when clear done. + /// HSI48 ready interrupt clear Set by software to clear HSI48RDYF. Reset by hardware when clear done. HSI48RDYC: u1, - /// PLL1 ready interrupt clear Set by software to clear PLL1RDYF. Reset by hardware when clear done. + /// PLL1 ready interrupt clear Set by software to clear PLL1RDYF. Reset by hardware when clear done. PLLRDYC: u1, reserved10: u3, - /// HSE clock security system interrupt clear Set by software to clear HSECSSF. Reset by hardware when clear done. + /// HSE clock security system interrupt clear Set by software to clear HSECSSF. Reset by hardware when clear done. HSECSSC: u1, padding: u21, }), reserved96: [4]u8, - /// RCC AHB1 reset register + /// RCC AHB1 reset register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// GPDMA1 block reset Set and reset by software. + /// GPDMA1 block reset Set and reset by software. GPDMA1RST: u1, - /// GPDMA2 block reset Set and reset by software. + /// GPDMA2 block reset Set and reset by software. GPDMA2RST: u1, reserved12: u10, - /// CRC block reset Set and reset by software. + /// CRC block reset Set and reset by software. CRCRST: u1, reserved14: u1, - /// CORDIC block reset Set and reset by software. + /// CORDIC block reset Set and reset by software. CORDICRST: u1, - /// FMAC block reset Set and reset by software. + /// FMAC block reset Set and reset by software. FMACRST: u1, reserved17: u1, - /// RAMCFG block reset Set and reset by software. + /// RAMCFG block reset Set and reset by software. RAMCFGRST: u1, reserved19: u1, - /// ETH1 block reset Set and reset by software + /// ETH1 block reset Set and reset by software ETHRST: u1, reserved24: u4, - /// TZSC1 reset Set and reset by software + /// TZSC1 reset Set and reset by software TZSC1RST: u1, padding: u7, }), - /// RCC AHB2 peripheral reset register + /// RCC AHB2 peripheral reset register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// GPIOA block reset Set and reset by software. + /// GPIOA block reset Set and reset by software. GPIOARST: u1, - /// GPIOB block reset Set and reset by software. + /// GPIOB block reset Set and reset by software. GPIOBRST: u1, - /// GPIOC block reset Set and reset by software. + /// GPIOC block reset Set and reset by software. GPIOCRST: u1, - /// GPIOD block reset Set and reset by software. + /// GPIOD block reset Set and reset by software. GPIODRST: u1, - /// GPIOE block reset Set and reset by software. + /// GPIOE block reset Set and reset by software. GPIOERST: u1, - /// GPIOF block reset Set and reset by software. + /// GPIOF block reset Set and reset by software. GPIOFRST: u1, - /// GPIOG block reset Set and reset by software. + /// GPIOG block reset Set and reset by software. GPIOGRST: u1, - /// GPIOH block reset Set and reset by software. + /// GPIOH block reset Set and reset by software. GPIOHRST: u1, - /// GPIOI block reset Set and reset by software. + /// GPIOI block reset Set and reset by software. GPIOIRST: u1, reserved10: u1, - /// ADC1 and 2 blocks reset Set and reset by software. + /// ADC1 and 2 blocks reset Set and reset by software. ADC12RST: u1, - /// DAC block reset Set and reset by software. + /// DAC block reset Set and reset by software. DAC1RST: u1, - /// digital camera interface block reset (DCMI or PSSI depending which interface is active) Set and reset by software. + /// digital camera interface block reset (DCMI or PSSI depending which interface is active) Set and reset by software. DCMI_PSSIRST: u1, reserved16: u3, - /// AES block reset Set and reset by software. + /// AES block reset Set and reset by software. AESRST: u1, - /// HASH block reset Set and reset by software. + /// HASH block reset Set and reset by software. HASHRST: u1, - /// RNG block reset Set and reset by software. + /// RNG block reset Set and reset by software. RNGRST: u1, - /// PKA block reset Set and reset by software. + /// PKA block reset Set and reset by software. PKARST: u1, - /// SAES block reset Set and reset by software. + /// SAES block reset Set and reset by software. SAESRST: u1, padding: u11, }), reserved108: [4]u8, - /// RCC AHB4 peripheral reset register + /// RCC AHB4 peripheral reset register AHB4RSTR: mmio.Mmio(packed struct(u32) { reserved7: u7, - /// OTFDEC1 block reset Set and reset by software. + /// OTFDEC1 block reset Set and reset by software. OTFDEC1RST: u1, reserved11: u3, - /// SDMMC1 and SDMMC1 delay blocks reset Set and reset by software. + /// SDMMC1 and SDMMC1 delay blocks reset Set and reset by software. SDMMC1RST: u1, - /// SDMMC2 and SDMMC2 delay blocks reset Set and reset by software. + /// SDMMC2 and SDMMC2 delay blocks reset Set and reset by software. SDMMC2RST: u1, reserved16: u3, - /// FMC block reset Set and reset by software. + /// FMC block reset Set and reset by software. FMCRST: u1, reserved20: u3, - /// OCTOSPI1 block reset Set and reset by software. + /// OCTOSPI1 block reset Set and reset by software. OCTOSPI1RST: u1, padding: u11, }), reserved116: [4]u8, - /// RCC APB1 peripheral low reset register + /// RCC APB1 peripheral low reset register APB1LRSTR: mmio.Mmio(packed struct(u32) { - /// TIM2 block reset Set and reset by software. + /// TIM2 block reset Set and reset by software. TIM2RST: u1, - /// TIM3 block reset Set and reset by software. + /// TIM3 block reset Set and reset by software. TIM3RST: u1, - /// TIM4 block reset Set and reset by software. + /// TIM4 block reset Set and reset by software. TIM4RST: u1, - /// TIM5 block reset Set and reset by software. + /// TIM5 block reset Set and reset by software. TIM5RST: u1, - /// TIM6 block reset Set and reset by software. + /// TIM6 block reset Set and reset by software. TIM6RST: u1, - /// TIM7 block reset Set and reset by software. + /// TIM7 block reset Set and reset by software. TIM7RST: u1, - /// TIM12 block reset Set and reset by software. + /// TIM12 block reset Set and reset by software. TIM12RST: u1, - /// TIM13 block reset t Set and reset by software. + /// TIM13 block reset t Set and reset by software. TIM13RST: u1, - /// TIM14 block reset Set and reset by software. + /// TIM14 block reset Set and reset by software. TIM14RST: u1, reserved14: u5, - /// SPI2 block reset Set and reset by software. + /// SPI2 block reset Set and reset by software. SPI2RST: u1, - /// SPI3 block reset Set and reset by software. + /// SPI3 block reset Set and reset by software. SPI3RST: u1, reserved17: u1, - /// USART2 block reset Set and reset by software. + /// USART2 block reset Set and reset by software. USART2RST: u1, - /// USART3 block reset Set and reset by software. + /// USART3 block reset Set and reset by software. USART3RST: u1, - /// UART4 block reset Set and reset by software. + /// UART4 block reset Set and reset by software. UART4RST: u1, - /// UART5 block reset Set and reset by software. + /// UART5 block reset Set and reset by software. UART5RST: u1, - /// I2C1 block reset Set and reset by software. + /// I2C1 block reset Set and reset by software. I2C1RST: u1, - /// I2C2 block reset Set and reset by software. + /// I2C2 block reset Set and reset by software. I2C2RST: u1, - /// I3C1 block reset Set and reset by software. + /// I3C1 block reset Set and reset by software. I3C1RST: u1, - /// CRS block reset Set and reset by software. + /// CRS block reset Set and reset by software. CRSRST: u1, - /// USART6 block reset Set and reset by software. + /// USART6 block reset Set and reset by software. USART6RST: u1, - /// USART10 block reset Set and reset by software. + /// USART10 block reset Set and reset by software. USART10RST: u1, - /// USART11 block reset Set and reset by software. + /// USART11 block reset Set and reset by software. USART11RST: u1, - /// HDMI-CEC block reset Set and reset by software. + /// HDMI-CEC block reset Set and reset by software. CECRST: u1, reserved30: u1, - /// UART7 block reset Set and reset by software. + /// UART7 block reset Set and reset by software. UART7RST: u1, - /// UART8 block reset Set and reset by software. + /// UART8 block reset Set and reset by software. UART8RST: u1, }), - /// RCC APB1 peripheral high reset register + /// RCC APB1 peripheral high reset register APB1HRSTR: mmio.Mmio(packed struct(u32) { - /// UART9 block reset Set and reset by software. + /// UART9 block reset Set and reset by software. UART9RST: u1, - /// UART12 block reset Set and reset by software. + /// UART12 block reset Set and reset by software. UART12RST: u1, reserved3: u1, - /// DTS block reset Set and reset by software. + /// DTS block reset Set and reset by software. DTSRST: u1, reserved5: u1, - /// LPTIM2 block reset Set and reset by software. + /// LPTIM2 block reset Set and reset by software. LPTIM2RST: u1, reserved9: u3, - /// FDCAN1 and FDCAN2 blocks reset Set and reset by software. + /// FDCAN1 and FDCAN2 blocks reset Set and reset by software. FDCAN12RST: u1, reserved23: u13, - /// UCPD block reset Set and reset by software. + /// UCPD block reset Set and reset by software. UCPDRST: u1, padding: u8, }), - /// RCC APB2 peripheral reset register + /// RCC APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 block reset Set and reset by software. + /// TIM1 block reset Set and reset by software. TIM1RST: u1, - /// SPI1 block reset Set and reset by software. + /// SPI1 block reset Set and reset by software. SPI1RST: u1, - /// TIM8 block reset Set and reset by software. + /// TIM8 block reset Set and reset by software. TIM8RST: u1, - /// USART1 block reset Set and reset by software. + /// USART1 block reset Set and reset by software. USART1RST: u1, reserved16: u1, - /// TIM15 block reset Set and reset by software. + /// TIM15 block reset Set and reset by software. TIM15RST: u1, - /// TIM16 block reset Set and reset by software. + /// TIM16 block reset Set and reset by software. TIM16RST: u1, - /// TIM17 block reset Set and reset by software. + /// TIM17 block reset Set and reset by software. TIM17RST: u1, - /// SPI4 block reset Set and reset by software. + /// SPI4 block reset Set and reset by software. SPI4RST: u1, - /// SPI6 block reset Set and reset by software. + /// SPI6 block reset Set and reset by software. SPI6RST: u1, - /// SAI1 block reset Set and reset by software. + /// SAI1 block reset Set and reset by software. SAI1RST: u1, - /// SAI2 block reset Set and reset by software. + /// SAI2 block reset Set and reset by software. SAI2RST: u1, reserved24: u1, - /// USB block reset Set and reset by software. + /// USB block reset Set and reset by software. USBRST: u1, padding: u7, }), - /// RCC APB3 peripheral reset register + /// RCC APB3 peripheral reset register APB3RSTR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SBS block reset Set and reset by software. + /// SBS block reset Set and reset by software. SYSCFGRST: u1, reserved5: u3, - /// SPI5 block reset Set and reset by software. + /// SPI5 block reset Set and reset by software. SPI5RST: u1, - /// LPUART1 block reset Set and reset by software. + /// LPUART1 block reset Set and reset by software. LPUART1RST: u1, - /// I2C3 block reset Set and reset by software. + /// I2C3 block reset Set and reset by software. I2C3RST: u1, - /// I2C4 block reset Set and reset by software. + /// I2C4 block reset Set and reset by software. I2C4RST: u1, reserved11: u2, - /// LPTIM1 block reset Set and reset by software. + /// LPTIM1 block reset Set and reset by software. LPTIM1RST: u1, - /// LPTIM3 block reset Set and reset by software. + /// LPTIM3 block reset Set and reset by software. LPTIM3RST: u1, - /// LPTIM4 block reset Set and reset by software. + /// LPTIM4 block reset Set and reset by software. LPTIM4RST: u1, - /// LPTIM5 block reset Set and reset by software. + /// LPTIM5 block reset Set and reset by software. LPTIM5RST: u1, - /// LPTIM6 block reset Set and reset by software. + /// LPTIM6 block reset Set and reset by software. LPTIM6RST: u1, reserved20: u4, - /// VREF block reset Set and reset by software. + /// VREF block reset Set and reset by software. VREFRST: u1, padding: u11, }), reserved136: [4]u8, - /// RCC AHB1 peripherals clock register + /// RCC AHB1 peripherals clock register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// GPDMA1 clock enable Set and reset by software. + /// GPDMA1 clock enable Set and reset by software. GPDMA1EN: u1, - /// GPDMA2 clock enable Set and reset by software. + /// GPDMA2 clock enable Set and reset by software. GPDMA2EN: u1, reserved8: u6, - /// Flash interface clock enable Set and reset by software. + /// Flash interface clock enable Set and reset by software. FLITFEN: u1, reserved12: u3, - /// CRC clock enable Set and reset by software. + /// CRC clock enable Set and reset by software. CRCEN: u1, reserved14: u1, - /// CORDIC clock enable Set and reset by software. + /// CORDIC clock enable Set and reset by software. CORDICEN: u1, - /// FMAC clock enable Set and reset by software. + /// FMAC clock enable Set and reset by software. FMACEN: u1, reserved17: u1, - /// RAMCFG clock enable Set and reset by software. + /// RAMCFG clock enable Set and reset by software. RAMCFGEN: u1, reserved19: u1, - /// ETH clock enable Set and reset by software + /// ETH clock enable Set and reset by software ETHEN: u1, - /// ETHTX clock enable Set and reset by software + /// ETHTX clock enable Set and reset by software ETHTXEN: u1, - /// ETHRX clock enable Set and reset by software + /// ETHRX clock enable Set and reset by software ETHRXEN: u1, reserved24: u2, - /// TZSC1 clock enable Set and reset by software + /// TZSC1 clock enable Set and reset by software TZSC1EN: u1, reserved28: u3, - /// BKPRAM clock enable Set and reset by software + /// BKPRAM clock enable Set and reset by software BKPRAMEN: u1, reserved30: u1, - /// DCACHE clock enable Set and reset by software + /// DCACHE clock enable Set and reset by software DCACHEEN: u1, - /// SRAM1 clock enable Set and reset by software. + /// SRAM1 clock enable Set and reset by software. SRAM1EN: u1, }), - /// RCC AHB2 peripheral clock register + /// RCC AHB2 peripheral clock register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// GPIOA clock enable Set and reset by software. + /// GPIOA clock enable Set and reset by software. GPIOAEN: u1, - /// GPIOB clock enable Set and reset by software. + /// GPIOB clock enable Set and reset by software. GPIOBEN: u1, - /// GPIOC clock enable Set and reset by software. + /// GPIOC clock enable Set and reset by software. GPIOCEN: u1, - /// GPIOD clock enable Set and reset by software. + /// GPIOD clock enable Set and reset by software. GPIODEN: u1, - /// GPIOE clock enable Set and reset by software. + /// GPIOE clock enable Set and reset by software. GPIOEEN: u1, - /// GPIOF clock enable Set and reset by software. + /// GPIOF clock enable Set and reset by software. GPIOFEN: u1, - /// GPIOG clock enable Set and reset by software. + /// GPIOG clock enable Set and reset by software. GPIOGEN: u1, - /// GPIOH clock enable Set and reset by software. + /// GPIOH clock enable Set and reset by software. GPIOHEN: u1, - /// GPIOI clock enable Set and reset by software. + /// GPIOI clock enable Set and reset by software. GPIOIEN: u1, reserved10: u1, - /// ADC1 and 2 peripherals clock enabled Set and reset by software. + /// ADC1 and 2 peripherals clock enabled Set and reset by software. ADC12EN: u1, - /// DAC clock enable Set and reset by software. + /// DAC clock enable Set and reset by software. DAC1EN: u1, - /// digital camera interface clock enable (DCMI or PSSI depending which interface is active) Set and reset by software. + /// digital camera interface clock enable (DCMI or PSSI depending which interface is active) Set and reset by software. DCMI_PSSIEN: u1, reserved16: u3, - /// AES clock enable Set and reset by software. + /// AES clock enable Set and reset by software. AESEN: u1, - /// HASH clock enable Set and reset by software. + /// HASH clock enable Set and reset by software. HASHEN: u1, - /// RNG clock enable Set and reset by software. + /// RNG clock enable Set and reset by software. RNGEN: u1, - /// PKA clock enable Set and reset by software. + /// PKA clock enable Set and reset by software. PKAEN: u1, - /// SAES clock enable Set and reset by software. + /// SAES clock enable Set and reset by software. SAESEN: u1, reserved30: u9, - /// SRAM3 clock enable Set and reset by software. + /// SRAM3 clock enable Set and reset by software. SRAM3EN: u1, - /// SRAM2 clock enable Set and reset by software. + /// SRAM2 clock enable Set and reset by software. SRAM2EN: u1, }), reserved148: [4]u8, - /// RCC AHB4 peripheral clock register + /// RCC AHB4 peripheral clock register AHB4ENR: mmio.Mmio(packed struct(u32) { reserved7: u7, - /// OTFDEC1 clock enable Set and reset by software. + /// OTFDEC1 clock enable Set and reset by software. OTFDEC1EN: u1, reserved11: u3, - /// SDMMC1 and SDMMC1 delay peripheral clock enable reset + /// SDMMC1 and SDMMC1 delay peripheral clock enable reset SDMMC1EN: u1, - /// SDMMC2 and SDMMC2 delay peripheral clock enabled Set and reset by software. + /// SDMMC2 and SDMMC2 delay peripheral clock enabled Set and reset by software. SDMMC2EN: u1, reserved16: u3, - /// FMC clock enable Set and reset by software. + /// FMC clock enable Set and reset by software. FMCEN: u1, reserved20: u3, - /// OCTOSPI1 clock enable Set and reset by software. + /// OCTOSPI1 clock enable Set and reset by software. OCTOSPI1EN: u1, padding: u11, }), reserved156: [4]u8, - /// RCC APB1 peripheral clock register + /// RCC APB1 peripheral clock register APB1LENR: mmio.Mmio(packed struct(u32) { - /// TIM2 clock enable Set and reset by software. + /// TIM2 clock enable Set and reset by software. TIM2EN: u1, - /// TIM3 clock enable Set and reset by software. + /// TIM3 clock enable Set and reset by software. TIM3EN: u1, - /// TIM4 clock enable Set and reset by software. + /// TIM4 clock enable Set and reset by software. TIM4EN: u1, - /// TIM5 clock enable Set and reset by software. + /// TIM5 clock enable Set and reset by software. TIM5EN: u1, - /// TIM6 clock enable Set and reset by software. + /// TIM6 clock enable Set and reset by software. TIM6EN: u1, - /// TIM7 clock enable Set and reset by software. + /// TIM7 clock enable Set and reset by software. TIM7EN: u1, - /// TIM12 clock enable Set and reset by software. + /// TIM12 clock enable Set and reset by software. TIM12EN: u1, - /// TIM13 clock enable Set and reset by software. + /// TIM13 clock enable Set and reset by software. TIM13EN: u1, - /// TIM14 clock enable Set and reset by software. + /// TIM14 clock enable Set and reset by software. TIM14EN: u1, reserved11: u2, - /// WWDG clock enable Set and reset by software. + /// WWDG clock enable Set and reset by software. WWDGEN: u1, reserved14: u2, - /// SPI2 clock enable Set and reset by software. + /// SPI2 clock enable Set and reset by software. SPI2EN: u1, - /// SPI3 clock enable Set and reset by software. + /// SPI3 clock enable Set and reset by software. SPI3EN: u1, reserved17: u1, - /// USART2 clock enable Set and reset by software. + /// USART2 clock enable Set and reset by software. USART2EN: u1, - /// USART3 clock enable Set and reset by software. + /// USART3 clock enable Set and reset by software. USART3EN: u1, - /// UART4 clock enable Set and reset by software. + /// UART4 clock enable Set and reset by software. UART4EN: u1, - /// UART5 clock enable Set and reset by software. + /// UART5 clock enable Set and reset by software. UART5EN: u1, - /// I2C1 clock enable Set and reset by software. + /// I2C1 clock enable Set and reset by software. I2C1EN: u1, - /// I2C2 clock enable Set and reset by software. + /// I2C2 clock enable Set and reset by software. I2C2EN: u1, - /// I3C1 clock enable Set and reset by software. + /// I3C1 clock enable Set and reset by software. I3C1EN: u1, - /// CRS clock enable Set and reset by software. + /// CRS clock enable Set and reset by software. CRSEN: u1, - /// USART6 clock enable Set and reset by software. + /// USART6 clock enable Set and reset by software. USART6EN: u1, - /// USART10 clock enable Set and reset by software. + /// USART10 clock enable Set and reset by software. USART10EN: u1, - /// USART11 clock enable + /// USART11 clock enable USART11EN: u1, - /// HDMI-CEC clock enable Set and reset by software. + /// HDMI-CEC clock enable Set and reset by software. CECEN: u1, reserved30: u1, - /// UART7 clock enable Set and reset by software. + /// UART7 clock enable Set and reset by software. UART7EN: u1, - /// UART8 clock enable Set and reset by software. + /// UART8 clock enable Set and reset by software. UART8EN: u1, }), - /// RCC APB1 peripheral clock register + /// RCC APB1 peripheral clock register APB1HENR: mmio.Mmio(packed struct(u32) { - /// UART9 clock enable Set and reset by software. + /// UART9 clock enable Set and reset by software. UART9EN: u1, - /// UART12 clock enable Set and reset by software. + /// UART12 clock enable Set and reset by software. UART12EN: u1, reserved3: u1, - /// DTS clock enable Set and reset by software. + /// DTS clock enable Set and reset by software. DTSEN: u1, reserved5: u1, - /// LPTIM2 clock enable Set and reset by software. + /// LPTIM2 clock enable Set and reset by software. LPTIM2EN: u1, reserved9: u3, - /// FDCAN1 and FDCAN2 peripheral clock enable Set and reset by software. + /// FDCAN1 and FDCAN2 peripheral clock enable Set and reset by software. FDCAN12EN: u1, reserved23: u13, - /// UCPD clock enable Set and reset by software. + /// UCPD clock enable Set and reset by software. UCPDEN: u1, padding: u8, }), - /// RCC APB2 peripheral clock register + /// RCC APB2 peripheral clock register APB2ENR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 clock enable Set and reset by software. + /// TIM1 clock enable Set and reset by software. TIM1EN: u1, - /// SPI1 clock enable Set and reset by software. + /// SPI1 clock enable Set and reset by software. SPI1EN: u1, - /// TIM8 clock enable Set and reset by software. + /// TIM8 clock enable Set and reset by software. TIM8EN: u1, - /// USART1 clock enable Set and reset by software. + /// USART1 clock enable Set and reset by software. USART1EN: u1, reserved16: u1, - /// TIM15 clock enable Set and reset by software. + /// TIM15 clock enable Set and reset by software. TIM15EN: u1, - /// TIM16 clock enable Set and reset by software. + /// TIM16 clock enable Set and reset by software. TIM16EN: u1, - /// TIM17 clock enable Set and reset by software. + /// TIM17 clock enable Set and reset by software. TIM17EN: u1, - /// SPI4 clock enable Set and reset by software. + /// SPI4 clock enable Set and reset by software. SPI4EN: u1, - /// SPI6 clock enable Set and reset by software. + /// SPI6 clock enable Set and reset by software. SPI6EN: u1, - /// SAI1 clock enable Set and reset by software. + /// SAI1 clock enable Set and reset by software. SAI1EN: u1, - /// SAI2 clock enable Set and cleared by software. + /// SAI2 clock enable Set and cleared by software. SAI2EN: u1, reserved24: u1, - /// USB clock enable Set and reset by software. + /// USB clock enable Set and reset by software. USBEN: u1, padding: u7, }), - /// RCC APB3 peripheral clock register + /// RCC APB3 peripheral clock register APB3ENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SBS clock enable Set and reset by software. + /// SBS clock enable Set and reset by software. SYSCFGEN: u1, reserved5: u3, - /// SPI5 clock enable Set and reset by software. + /// SPI5 clock enable Set and reset by software. SPI5EN: u1, - /// LPUART1 clock enable Set and reset by software. + /// LPUART1 clock enable Set and reset by software. LPUART1EN: u1, - /// I2C3 clock enable Set and reset by software. + /// I2C3 clock enable Set and reset by software. I2C3EN: u1, - /// I2C4 clock enable Set and reset by software. + /// I2C4 clock enable Set and reset by software. I2C4EN: u1, reserved11: u2, - /// LPTIM1 clock enable Set and reset by software. + /// LPTIM1 clock enable Set and reset by software. LPTIM1EN: u1, - /// LPTIM3 clock enable Set and reset by software. + /// LPTIM3 clock enable Set and reset by software. LPTIM3EN: u1, - /// LPTIM4 clock enable Set and reset by software. + /// LPTIM4 clock enable Set and reset by software. LPTIM4EN: u1, - /// LPTIM5 clock enable Set and reset by software. + /// LPTIM5 clock enable Set and reset by software. LPTIM5EN: u1, - /// LPTIM6 clock enable Set and reset by software. + /// LPTIM6 clock enable Set and reset by software. LPTIM6EN: u1, reserved20: u4, - /// VREF clock enable Set and reset by software. + /// VREF clock enable Set and reset by software. VREFEN: u1, - /// RTC APB interface clock enable Set and reset by software. + /// RTC APB interface clock enable Set and reset by software. RTCAPBEN: u1, padding: u10, }), reserved176: [4]u8, - /// RCC AHB1 sleep clock register + /// RCC AHB1 sleep clock register AHB1LPENR: mmio.Mmio(packed struct(u32) { - /// GPDMA1 clock enable during sleep mode Set and reset by software. + /// GPDMA1 clock enable during sleep mode Set and reset by software. GPDMA1LPEN: u1, - /// GPDMA2 clock enable during sleep mode Set and reset by software. + /// GPDMA2 clock enable during sleep mode Set and reset by software. GPDMA2LPEN: u1, reserved8: u6, - /// Flash interface (FLITF) clock enable during sleep mode Set and reset by software. + /// Flash interface (FLITF) clock enable during sleep mode Set and reset by software. FLITFLPEN: u1, reserved12: u3, - /// CRC clock enable during sleep mode Set and reset by software. + /// CRC clock enable during sleep mode Set and reset by software. CRCLPEN: u1, reserved14: u1, - /// CORDIC clock enable during sleep mode Set and reset by software. + /// CORDIC clock enable during sleep mode Set and reset by software. CORDICLPEN: u1, - /// FMAC clock enable during sleep mode Set and reset by software. + /// FMAC clock enable during sleep mode Set and reset by software. FMACLPEN: u1, reserved17: u1, - /// RAMCFG clock enable during sleep mode Set and reset by software. + /// RAMCFG clock enable during sleep mode Set and reset by software. RAMCFGLPEN: u1, reserved19: u1, - /// ETH clock enable during Sleep mode Set and reset by software + /// ETH clock enable during Sleep mode Set and reset by software ETHLPEN: u1, - /// ETHTX clock enable during sleep mode Set and reset by software + /// ETHTX clock enable during sleep mode Set and reset by software ETHTXLPEN: u1, - /// ETHRX clock enable during sleep mode Set and reset by software + /// ETHRX clock enable during sleep mode Set and reset by software ETHRXLPEN: u1, reserved24: u2, - /// TZSC1 clock enable during sleep mode Set and reset by software + /// TZSC1 clock enable during sleep mode Set and reset by software TZSC1LPEN: u1, reserved28: u3, - /// BKPRAM clock enable during sleep mode Set and reset by software + /// BKPRAM clock enable during sleep mode Set and reset by software BKPRAMLPEN: u1, - /// ICACHE clock enable during sleep mode Set and reset by software + /// ICACHE clock enable during sleep mode Set and reset by software ICACHELPEN: u1, - /// DCACHE clock enable during sleep mode Set and reset by software + /// DCACHE clock enable during sleep mode Set and reset by software DCACHELPEN: u1, - /// SRAM1 clock enable during sleep mode Set and reset by software + /// SRAM1 clock enable during sleep mode Set and reset by software SRAM1LPEN: u1, }), - /// RCC AHB2 sleep clock register + /// RCC AHB2 sleep clock register AHB2LPENR: mmio.Mmio(packed struct(u32) { - /// GPIOA clock enable during sleep mode Set and reset by software. + /// GPIOA clock enable during sleep mode Set and reset by software. GPIOALPEN: u1, - /// GPIOB clock enable during sleep mode Set and reset by software. + /// GPIOB clock enable during sleep mode Set and reset by software. GPIOBLPEN: u1, - /// GPIOC clock enable during sleep mode Set and reset by software. + /// GPIOC clock enable during sleep mode Set and reset by software. GPIOCLPEN: u1, - /// GPIOD clock enable during sleep mode Set and reset by software. + /// GPIOD clock enable during sleep mode Set and reset by software. GPIODLPEN: u1, - /// GPIOE clock enable during sleep mode Set and reset by software. + /// GPIOE clock enable during sleep mode Set and reset by software. GPIOELPEN: u1, - /// GPIOF clock enable during sleep mode Set and reset by software. + /// GPIOF clock enable during sleep mode Set and reset by software. GPIOFLPEN: u1, - /// GPIOG clock enable during sleep mode Set and reset by software. + /// GPIOG clock enable during sleep mode Set and reset by software. GPIOGLPEN: u1, - /// GPIOH clock enable during sleep mode Set and reset by software. + /// GPIOH clock enable during sleep mode Set and reset by software. GPIOHLPEN: u1, - /// GPIOI clock enable during sleep mode Set and reset by software. + /// GPIOI clock enable during sleep mode Set and reset by software. GPIOILPEN: u1, reserved10: u1, - /// ADC1 and 2 peripherals clock enable during sleep mode Set and reset by software. + /// ADC1 and 2 peripherals clock enable during sleep mode Set and reset by software. ADC12LPEN: u1, - /// DAC clock enable during sleep mode Set and reset by software. + /// DAC clock enable during sleep mode Set and reset by software. DAC1LPEN: u1, - /// digital camera interface clock enable during sleep mode (DCMI or PSSI depending which interface is active) Set and reset by software. + /// digital camera interface clock enable during sleep mode (DCMI or PSSI depending which interface is active) Set and reset by software. DCMI_PSSILPEN: u1, reserved16: u3, - /// AES clock enable during sleep mode Set and reset by software. + /// AES clock enable during sleep mode Set and reset by software. AESLPEN: u1, - /// HASH clock enable during sleep mode Set and reset by software. + /// HASH clock enable during sleep mode Set and reset by software. HASHLPEN: u1, - /// RNG clock enable during sleep mode Set and reset by software. + /// RNG clock enable during sleep mode Set and reset by software. RNGLPEN: u1, - /// PKA clock enable during sleep mode Set and reset by software. + /// PKA clock enable during sleep mode Set and reset by software. PKALPEN: u1, - /// SAES clock enable during sleep mode Set and reset by software. + /// SAES clock enable during sleep mode Set and reset by software. SAESLPEN: u1, reserved30: u9, - /// SRAM2 clock enable during sleep mode Set and reset by software. + /// SRAM2 clock enable during sleep mode Set and reset by software. SRAM2LPEN: u1, - /// SRAM3 clock enable during sleep mode Set and reset by software. + /// SRAM3 clock enable during sleep mode Set and reset by software. SRAM3LPEN: u1, }), reserved188: [4]u8, - /// RCC AHB4 sleep clock register + /// RCC AHB4 sleep clock register AHB4LPENR: mmio.Mmio(packed struct(u32) { reserved7: u7, - /// OTFDEC1 clock enable during sleep mode Set and reset by software. + /// OTFDEC1 clock enable during sleep mode Set and reset by software. OTFDEC1LPEN: u1, reserved11: u3, - /// SDMMC1 and SDMMC1 delay peripheral clock enable during sleep mode Set and reset by software + /// SDMMC1 and SDMMC1 delay peripheral clock enable during sleep mode Set and reset by software SDMMC1LPEN: u1, - /// SDMMC2 and SDMMC2 delay peripheral clock enable during sleep mode Set and reset by software. + /// SDMMC2 and SDMMC2 delay peripheral clock enable during sleep mode Set and reset by software. SDMMC2LPEN: u1, reserved16: u3, - /// FMC clock enable during sleep mode Set and reset by software. + /// FMC clock enable during sleep mode Set and reset by software. FMCLPEN: u1, reserved20: u3, - /// OCTOSPI1 clock enable during sleep mode Set and reset by software. + /// OCTOSPI1 clock enable during sleep mode Set and reset by software. OCTOSPI1LPEN: u1, padding: u11, }), reserved196: [4]u8, - /// RCC APB1 sleep clock register + /// RCC APB1 sleep clock register APB1LLPENR: mmio.Mmio(packed struct(u32) { - /// TIM2 clock enable during sleep mode Set and reset by software. + /// TIM2 clock enable during sleep mode Set and reset by software. TIM2LPEN: u1, - /// TIM3 clock enable during sleep mode Set and reset by software. + /// TIM3 clock enable during sleep mode Set and reset by software. TIM3LPEN: u1, - /// TIM4 clock enable during sleep mode Set and reset by software. + /// TIM4 clock enable during sleep mode Set and reset by software. TIM4LPEN: u1, - /// TIM5 clock enable during sleep mode Set and reset by software. + /// TIM5 clock enable during sleep mode Set and reset by software. TIM5LPEN: u1, - /// TIM6 clock enable during sleep mode Set and reset by software. + /// TIM6 clock enable during sleep mode Set and reset by software. TIM6LPEN: u1, - /// TIM7 clock enable during sleep mode Set and reset by software. + /// TIM7 clock enable during sleep mode Set and reset by software. TIM7LPEN: u1, - /// TIM12 clock enable during sleep mode Set and reset by software. + /// TIM12 clock enable during sleep mode Set and reset by software. TIM12LPEN: u1, - /// TIM13 clock enable during sleep mode Set and reset by software. + /// TIM13 clock enable during sleep mode Set and reset by software. TIM13LPEN: u1, - /// TIM14 clock enable during sleep mode Set and reset by software. + /// TIM14 clock enable during sleep mode Set and reset by software. TIM14LPEN: u1, reserved11: u2, - /// WWDG clock enable during sleep mode Set and reset by software. + /// WWDG clock enable during sleep mode Set and reset by software. WWDGLPEN: u1, reserved14: u2, - /// SPI2 clock enable during sleep mode Set and reset by software. + /// SPI2 clock enable during sleep mode Set and reset by software. SPI2LPEN: u1, - /// SPI3 clock enable during sleep mode Set and reset by software. + /// SPI3 clock enable during sleep mode Set and reset by software. SPI3LPEN: u1, reserved17: u1, - /// USART2 clock enable during sleep mode Set and reset by software. + /// USART2 clock enable during sleep mode Set and reset by software. USART2LPEN: u1, - /// USART3 clock enable during sleep mode Set and reset by software. + /// USART3 clock enable during sleep mode Set and reset by software. USART3LPEN: u1, - /// UART4 clock enable during sleep mode Set and reset by software. + /// UART4 clock enable during sleep mode Set and reset by software. UART4LPEN: u1, - /// UART5 clock enable during sleep mode Set and reset by software. + /// UART5 clock enable during sleep mode Set and reset by software. UART5LPEN: u1, - /// I2C1 clock enable during sleep mode Set and reset by software. + /// I2C1 clock enable during sleep mode Set and reset by software. I2C1LPEN: u1, - /// I2C2 clock enable during sleep mode Set and reset by software. + /// I2C2 clock enable during sleep mode Set and reset by software. I2C2LPEN: u1, - /// I3C1 clock enable during sleep mode Set and reset by software. + /// I3C1 clock enable during sleep mode Set and reset by software. I3C1LPEN: u1, - /// CRS clock enable during sleep mode Set and reset by software. + /// CRS clock enable during sleep mode Set and reset by software. CRSLPEN: u1, - /// USART6 clock enable during sleep mode Set and reset by software. + /// USART6 clock enable during sleep mode Set and reset by software. USART6LPEN: u1, - /// USART10 clock enable during sleep mode Set and reset by software. + /// USART10 clock enable during sleep mode Set and reset by software. USART10LPEN: u1, - /// USART11 clock enable during sleep mode Set and reset by software. + /// USART11 clock enable during sleep mode Set and reset by software. USART11LPEN: u1, - /// HDMI-CEC clock enable during sleep mode Set and reset by software. + /// HDMI-CEC clock enable during sleep mode Set and reset by software. CECLPEN: u1, reserved30: u1, - /// UART7 clock enable during sleep mode Set and reset by software. + /// UART7 clock enable during sleep mode Set and reset by software. UART7LPEN: u1, - /// UART8 clock enable during sleep mode Set and reset by software. + /// UART8 clock enable during sleep mode Set and reset by software. UART8LPEN: u1, }), - /// RCC APB1 sleep clock register + /// RCC APB1 sleep clock register APB1HLPENR: mmio.Mmio(packed struct(u32) { - /// UART9 clock enable during sleep mode Set and reset by software. + /// UART9 clock enable during sleep mode Set and reset by software. UART9LPEN: u1, - /// UART12 clock enable during sleep mode Set and reset by software. + /// UART12 clock enable during sleep mode Set and reset by software. UART12LPEN: u1, reserved3: u1, - /// DTS clock enable during sleep mode Set and reset by software. + /// DTS clock enable during sleep mode Set and reset by software. DTSLPEN: u1, reserved5: u1, - /// LPTIM2 clock enable during sleep mode Set and reset by software. + /// LPTIM2 clock enable during sleep mode Set and reset by software. LPTIM2LPEN: u1, reserved9: u3, - /// FDCAN1 and FDCAN2 peripheral clock enable during sleep mode Set and reset by software. + /// FDCAN1 and FDCAN2 peripheral clock enable during sleep mode Set and reset by software. FDCAN12LPEN: u1, reserved23: u13, - /// UCPD clock enable during sleep mode Set and reset by software. + /// UCPD clock enable during sleep mode Set and reset by software. UCPDLPEN: u1, padding: u8, }), - /// RCC APB2 sleep clock register + /// RCC APB2 sleep clock register APB2LPENR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 clock enable during sleep mode Set and reset by software. + /// TIM1 clock enable during sleep mode Set and reset by software. TIM1LPEN: u1, - /// SPI1 clock enable during sleep mode Set and reset by software. + /// SPI1 clock enable during sleep mode Set and reset by software. SPI1LPEN: u1, - /// TIM8 clock enable during sleep mode Set and reset by software. + /// TIM8 clock enable during sleep mode Set and reset by software. TIM8LPEN: u1, - /// USART1 clock enable during sleep mode Set and reset by software. + /// USART1 clock enable during sleep mode Set and reset by software. USART1LPEN: u1, reserved16: u1, - /// TIM15 clock enable during sleep mode Set and reset by software. + /// TIM15 clock enable during sleep mode Set and reset by software. TIM15LPEN: u1, - /// TIM16 clock enable during sleep mode Set and reset by software. + /// TIM16 clock enable during sleep mode Set and reset by software. TIM16LPEN: u1, - /// TIM17 clock enable during sleep mode Set and reset by software. + /// TIM17 clock enable during sleep mode Set and reset by software. TIM17LPEN: u1, - /// SPI4 clock enable during sleep mode Set and reset by software. + /// SPI4 clock enable during sleep mode Set and reset by software. SPI4LPEN: u1, - /// SPI6 clock enable during sleep mode Set and reset by software. + /// SPI6 clock enable during sleep mode Set and reset by software. SPI6LPEN: u1, - /// SAI1 clock enable during sleep mode Set and reset by software. + /// SAI1 clock enable during sleep mode Set and reset by software. SAI1LPEN: u1, - /// SAI2 clock enable during sleep mode Set and reset by software. + /// SAI2 clock enable during sleep mode Set and reset by software. SAI2LPEN: u1, reserved24: u1, - /// USB clock enable during sleep mode Set and reset by software. + /// USB clock enable during sleep mode Set and reset by software. USBLPEN: u1, padding: u7, }), - /// RCC APB3 sleep clock register + /// RCC APB3 sleep clock register APB3LPENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SBS clock enable during sleep mode Set and reset by software. + /// SBS clock enable during sleep mode Set and reset by software. SYSCFGLPEN: u1, reserved5: u3, - /// SPI5 clock enable during Slsleepeep mode Set and reset by software. + /// SPI5 clock enable during Slsleepeep mode Set and reset by software. SPI5LPEN: u1, - /// LPUART1 clock enable during sleep mode Set and reset by software. + /// LPUART1 clock enable during sleep mode Set and reset by software. LPUART1LPEN: u1, - /// I2C3 clock enable during sleep mode Set and reset by software. + /// I2C3 clock enable during sleep mode Set and reset by software. I2C3LPEN: u1, - /// I2C4 clock enable during sleep mode Set and reset by software. + /// I2C4 clock enable during sleep mode Set and reset by software. I2C4LPEN: u1, reserved11: u2, - /// LPTIM1 clock enable during sleep mode Set and reset by software. + /// LPTIM1 clock enable during sleep mode Set and reset by software. LPTIM1LPEN: u1, - /// LPTIM3 clock enable during sleep mode Set and reset by software. + /// LPTIM3 clock enable during sleep mode Set and reset by software. LPTIM3LPEN: u1, - /// LPTIM4 clock enable during sleep mode Set and reset by software. + /// LPTIM4 clock enable during sleep mode Set and reset by software. LPTIM4LPEN: u1, - /// LPTIM5 clock enable during sleep mode Set and reset by software. + /// LPTIM5 clock enable during sleep mode Set and reset by software. LPTIM5LPEN: u1, - /// LPTIM6 clock enable during sleep mode Set and reset by software. + /// LPTIM6 clock enable during sleep mode Set and reset by software. LPTIM6LPEN: u1, reserved20: u4, - /// VREF clock enable during sleep mode Set and reset by software. + /// VREF clock enable during sleep mode Set and reset by software. VREFLPEN: u1, - /// RTC APB interface clock enable during sleep mode Set and reset by software. + /// RTC APB interface clock enable during sleep mode Set and reset by software. RTCAPBLPEN: u1, padding: u10, }), reserved216: [4]u8, - /// RCC kernel clock configuration register + /// RCC kernel clock configuration register CCIPR1: mmio.Mmio(packed struct(u32) { - /// USART1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled - USART1SEL: packed union { - raw: u3, - value: USART1SEL, - }, - /// USART2 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled - USART2SEL: packed union { - raw: u3, - value: USARTSEL, - }, - /// USART3 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled - USART3SEL: packed union { - raw: u3, - value: USARTSEL, - }, - /// UART4 kernel clock source selection others: reserved, the kernel clock is disabled - UART4SEL: packed union { - raw: u3, - value: USARTSEL, - }, - /// UART5 kernel clock source selection others: reserved, the kernel clock is disabled - UART5SEL: packed union { - raw: u3, - value: USARTSEL, - }, - /// USART6 kernel clock source selection others: reserved, the kernel clock is disabled - USART6SEL: packed union { - raw: u3, - value: USARTSEL, - }, - /// UART7 kernel clock source selection others: reserved, the kernel clock is disabled - UART7SEL: packed union { - raw: u3, - value: USARTSEL, - }, - /// UART8 kernel clock source selection others: reserved, the kernel clock is disabled - UART8SEL: packed union { - raw: u3, - value: USARTSEL, - }, - /// UART9 kernel clock source selection others: reserved, the kernel clock is disabled - UART9SEL: packed union { - raw: u3, - value: USARTSEL, - }, - /// USART10 kernel clock source selection others: reserved, the kernel clock is disabled - USART10SEL: packed union { - raw: u3, - value: USARTSEL, - }, + /// USART1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled + USART1SEL: USART1SEL, + /// USART2 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled + USART2SEL: USARTSEL, + /// USART3 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled + USART3SEL: USARTSEL, + /// UART4 kernel clock source selection others: reserved, the kernel clock is disabled + UART4SEL: USARTSEL, + /// UART5 kernel clock source selection others: reserved, the kernel clock is disabled + UART5SEL: USARTSEL, + /// USART6 kernel clock source selection others: reserved, the kernel clock is disabled + USART6SEL: USARTSEL, + /// UART7 kernel clock source selection others: reserved, the kernel clock is disabled + UART7SEL: USARTSEL, + /// UART8 kernel clock source selection others: reserved, the kernel clock is disabled + UART8SEL: USARTSEL, + /// UART9 kernel clock source selection others: reserved, the kernel clock is disabled + UART9SEL: USARTSEL, + /// USART10 kernel clock source selection others: reserved, the kernel clock is disabled + USART10SEL: USARTSEL, reserved31: u1, - /// TIM12, TIM15 and LPTIM2 input capture source selection Set and reset by software. - TIMICSEL: packed union { - raw: u1, - value: TIMICSEL, - }, + /// TIM12, TIM15 and LPTIM2 input capture source selection Set and reset by software. + TIMICSEL: TIMICSEL, }), - /// RCC kernel clock configuration register + /// RCC kernel clock configuration register CCIPR2: mmio.Mmio(packed struct(u32) { - /// USART11 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled - USART11SEL: packed union { - raw: u3, - value: USARTSEL, - }, + /// USART11 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled + USART11SEL: USARTSEL, reserved4: u1, - /// USART12 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled - USART12SEL: packed union { - raw: u3, - value: USARTSEL, - }, + /// USART12 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled + USART12SEL: USARTSEL, reserved8: u1, - /// LPTIM1 kernel clock source selection others: reserved, the kernel clock is disabled - LPTIM1SEL: packed union { - raw: u3, - value: LPTIMSEL, - }, + /// LPTIM1 kernel clock source selection others: reserved, the kernel clock is disabled + LPTIM1SEL: LPTIMSEL, reserved12: u1, - /// LPTIM2 kernel clock source selection others: reserved, the kernel clock is disabled - LPTIM2SEL: packed union { - raw: u3, - value: LPTIM2SEL, - }, + /// LPTIM2 kernel clock source selection others: reserved, the kernel clock is disabled + LPTIM2SEL: LPTIM2SEL, reserved16: u1, - /// LPTIM3 kernel clock source selection others: reserved, the kernel clock is disabled - LPTIM3SEL: packed union { - raw: u3, - value: LPTIMSEL, - }, + /// LPTIM3 kernel clock source selection others: reserved, the kernel clock is disabled + LPTIM3SEL: LPTIMSEL, reserved20: u1, - /// LPTIM4 kernel clock source selection others: reserved, the kernel clock is disabled - LPTIM4SEL: packed union { - raw: u3, - value: LPTIMSEL, - }, + /// LPTIM4 kernel clock source selection others: reserved, the kernel clock is disabled + LPTIM4SEL: LPTIMSEL, reserved24: u1, - /// LPTIM5 kernel clock source selection others: reserved, the kernel clock is disabled - LPTIM5SEL: packed union { - raw: u3, - value: LPTIMSEL, - }, + /// LPTIM5 kernel clock source selection others: reserved, the kernel clock is disabled + LPTIM5SEL: LPTIMSEL, reserved28: u1, - /// LPTIM6 kernel clock source selection others: reserved, the kernel clock is disabled - LPTIM6SEL: packed union { - raw: u3, - value: LPTIMSEL, - }, + /// LPTIM6 kernel clock source selection others: reserved, the kernel clock is disabled + LPTIM6SEL: LPTIMSEL, padding: u1, }), - /// RCC kernel clock configuration register + /// RCC kernel clock configuration register CCIPR3: mmio.Mmio(packed struct(u32) { - /// SPI1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled - SPI1SEL: packed union { - raw: u3, - value: SPI1SEL, - }, - /// SPI2 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled - SPI2SEL: packed union { - raw: u3, - value: SPI2SEL, - }, - /// SPI3 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled - SPI3SEL: packed union { - raw: u3, - value: SPI3SEL, - }, - /// SPI4 kernel clock source selection others: reserved, the kernel clock is disabled - SPI4SEL: packed union { - raw: u3, - value: SPI4SEL, - }, - /// SPI5 kernel clock source selection others: reserved, the kernel clock is disabled - SPI5SEL: packed union { - raw: u3, - value: SPI5SEL, - }, - /// SPI6 kernel clock source selection others: reserved, the kernel clock is disabled - SPI6SEL: packed union { - raw: u3, - value: SPI6SEL, - }, + /// SPI1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled + SPI1SEL: SPI1SEL, + /// SPI2 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled + SPI2SEL: SPI2SEL, + /// SPI3 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled + SPI3SEL: SPI3SEL, + /// SPI4 kernel clock source selection others: reserved, the kernel clock is disabled + SPI4SEL: SPI4SEL, + /// SPI5 kernel clock source selection others: reserved, the kernel clock is disabled + SPI5SEL: SPI5SEL, + /// SPI6 kernel clock source selection others: reserved, the kernel clock is disabled + SPI6SEL: SPI6SEL, reserved24: u6, - /// LPUART1 kernel clock source selection others: reserved, the kernel clock is disabled - LPUART1SEL: packed union { - raw: u3, - value: LPUSARTSEL, - }, + /// LPUART1 kernel clock source selection others: reserved, the kernel clock is disabled + LPUART1SEL: LPUSARTSEL, padding: u5, }), - /// RCC kernel clock configuration register + /// RCC kernel clock configuration register CCIPR4: mmio.Mmio(packed struct(u32) { - /// OCTOSPI1 kernel clock source selection Set and reset by software. - OCTOSPI1SEL: packed union { - raw: u2, - value: OCTOSPISEL, - }, - /// SYSTICK clock source selection Note: rcc_hclk frequency must be four times higher than lsi_ker_ck/lse_ck (period (LSI/LSE) ≥ 4 * period (HCLK). - SYSTICKSEL: packed union { - raw: u2, - value: SYSTICKSEL, - }, - /// USB kernel clock source selection - USBSEL: packed union { - raw: u2, - value: USBSEL, - }, - /// SDMMC1 kernel clock source selection - SDMMC1SEL: packed union { - raw: u1, - value: SDMMCSEL, - }, - /// SDMMC2 kernel clock source selection - SDMMC2SEL: packed union { - raw: u1, - value: SDMMCSEL, - }, + /// OCTOSPI1 kernel clock source selection Set and reset by software. + OCTOSPI1SEL: OCTOSPISEL, + /// SYSTICK clock source selection Note: rcc_hclk frequency must be four times higher than lsi_ker_ck/lse_ck (period (LSI/LSE) ≥ 4 * period (HCLK). + SYSTICKSEL: SYSTICKSEL, + /// USB kernel clock source selection + USBSEL: USBSEL, + /// SDMMC1 kernel clock source selection + SDMMC1SEL: SDMMCSEL, + /// SDMMC2 kernel clock source selection + SDMMC2SEL: SDMMCSEL, reserved16: u8, - /// I2C1 kernel clock source selection - I2C1SEL: packed union { - raw: u2, - value: I2CSEL, - }, - /// I2C2 kernel clock source selection - I2C2SEL: packed union { - raw: u2, - value: I2CSEL, - }, - /// I2C3 kernel clock source selection - I2C3SEL: packed union { - raw: u2, - value: I2C34SEL, - }, - /// I2C4 kernel clock source selection - I2C4SEL: packed union { - raw: u2, - value: I2C34SEL, - }, - /// I3C1 kernel clock source selection - I3C1SEL: packed union { - raw: u2, - value: I2CSEL, - }, + /// I2C1 kernel clock source selection + I2C1SEL: I2CSEL, + /// I2C2 kernel clock source selection + I2C2SEL: I2CSEL, + /// I2C3 kernel clock source selection + I2C3SEL: I2C34SEL, + /// I2C4 kernel clock source selection + I2C4SEL: I2C34SEL, + /// I3C1 kernel clock source selection + I3C1SEL: I2CSEL, padding: u6, }), - /// RCC kernel clock configuration register + /// RCC kernel clock configuration register CCIPR5: mmio.Mmio(packed struct(u32) { - /// ADC and DAC kernel clock source selection others: reserved, the kernel clock is disabled - ADCDACSEL: packed union { - raw: u3, - value: ADCDACSEL, - }, - /// DAC hold clock - DACHOLDSEL: packed union { - raw: u1, - value: DACHOLDSEL, - }, - /// RNG kernel clock source selection - RNGSEL: packed union { - raw: u2, - value: RNGSEL, - }, - /// HSMI-CEC kernel clock source selection - CECSEL: packed union { - raw: u2, - value: CECSEL, - }, - /// FDCAN1 and FDCAN2 kernel clock source selection - FDCAN12SEL: packed union { - raw: u2, - value: FDCANSEL, - }, + /// ADC and DAC kernel clock source selection others: reserved, the kernel clock is disabled + ADCDACSEL: ADCDACSEL, + /// DAC hold clock + DACHOLDSEL: DACHOLDSEL, + /// RNG kernel clock source selection + RNGSEL: RNGSEL, + /// HSMI-CEC kernel clock source selection + CECSEL: CECSEL, + /// FDCAN1 and FDCAN2 kernel clock source selection + FDCAN12SEL: FDCANSEL, reserved16: u6, - /// SAI1 kernel clock source selection others: reserved, the kernel clock is disabled - SAI1SEL: packed union { - raw: u3, - value: SAISEL, - }, - /// SAI2 kernel clock source selection others: reserved, the kernel clock is disabled - SAI2SEL: packed union { - raw: u3, - value: SAISEL, - }, + /// SAI1 kernel clock source selection others: reserved, the kernel clock is disabled + SAI1SEL: SAISEL, + /// SAI2 kernel clock source selection others: reserved, the kernel clock is disabled + SAI2SEL: SAISEL, reserved30: u8, - /// per_ck clock source selection - PERSEL: packed union { - raw: u2, - value: PERSEL, - }, + /// per_ck clock source selection + PERSEL: PERSEL, }), reserved240: [4]u8, - /// RCC Backup domain control register + /// RCC Backup domain control register BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enabled Set and reset by software. + /// LSE oscillator enabled Set and reset by software. LSEON: u1, - /// LSE oscillator ready Set and reset by hardware to indicate when the LSE is stable. This bit needs 6 cycles of lse_ck clock to fall down after LSEON has been set to 0. + /// LSE oscillator ready Set and reset by hardware to indicate when the LSE is stable. This bit needs 6 cycles of lse_ck clock to fall down after LSEON has been set to 0. LSERDY: u1, - /// LSE oscillator bypass Set and reset by software to bypass oscillator in debug mode. This bit must not be written when the LSE is enabled (by LSEON) or ready (LSERDY = 1) + /// LSE oscillator bypass Set and reset by software to bypass oscillator in debug mode. This bit must not be written when the LSE is enabled (by LSEON) or ready (LSERDY = 1) LSEBYP: u1, - /// LSE oscillator driving capability Set by software to select the driving capability of the LSE oscillator. These bit can be written only if LSE oscillator is disabled (LSEON = 0 and LSERDY = 0). - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// LSE clock security system enable Set by software to enable the clock security system on 32 kHz oscillator. LSECSSON must be enabled after LSE is enabled (LSEON enabled) and ready (LSERDY set by hardware) and after RTCSEL is selected. Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD = 1). In that case the software must disable LSECSSON. + /// LSE oscillator driving capability Set by software to select the driving capability of the LSE oscillator. These bit can be written only if LSE oscillator is disabled (LSEON = 0 and LSERDY = 0). + LSEDRV: LSEDRV, + /// LSE clock security system enable Set by software to enable the clock security system on 32 kHz oscillator. LSECSSON must be enabled after LSE is enabled (LSEON enabled) and ready (LSERDY set by hardware) and after RTCSEL is selected. Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD = 1). In that case the software must disable LSECSSON. LSECSSON: u1, - /// LSE clock security system failure detection Set by hardware to indicate when a failure has been detected by the clock security system on the external 32 kHz oscillator. + /// LSE clock security system failure detection Set by hardware to indicate when a failure has been detected by the clock security system on the external 32 kHz oscillator. LSECSSD: u1, - /// low-speed external clock type in bypass mode Set and reset by software to select the external clock type (analog or digital). The external clock must be enabled with the LSEON bit, to be used by the device. The LSEEXT bit can be written only if the LSE oscillator is disabled. - LSEEXT: packed union { - raw: u1, - value: LSEEXT, - }, - /// RTC clock source selection Set by software to select the clock source for the RTC. These bits can be written only one time (except in case of failure detection on LSE). These bits must be written before LSECSSON is enabled. The VSWRST bit can be used to reset them, then it can be written one time again. If HSE is selected as RTC clock, this clock is lost when the system is in Stop mode or in case of a pin reset (NRST). - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// low-speed external clock type in bypass mode Set and reset by software to select the external clock type (analog or digital). The external clock must be enabled with the LSEON bit, to be used by the device. The LSEEXT bit can be written only if the LSE oscillator is disabled. + LSEEXT: LSEEXT, + /// RTC clock source selection Set by software to select the clock source for the RTC. These bits can be written only one time (except in case of failure detection on LSE). These bits must be written before LSECSSON is enabled. The VSWRST bit can be used to reset them, then it can be written one time again. If HSE is selected as RTC clock, this clock is lost when the system is in Stop mode or in case of a pin reset (NRST). + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable Set and reset by software. + /// RTC clock enable Set and reset by software. RTCEN: u1, - /// VSwitch domain software reset Set and reset by software. + /// VSwitch domain software reset Set and reset by software. VSWRST: u1, reserved24: u7, - /// Low-speed clock output (LSCO) enable Set and cleared by software. + /// Low-speed clock output (LSCO) enable Set and cleared by software. LSCOEN: u1, - /// Low-speed clock output selection Set and cleared by software. - LSCOSEL: packed union { - raw: u1, - value: LSCOSEL, - }, - /// LSI oscillator enable Set and cleared by software. + /// Low-speed clock output selection Set and cleared by software. + LSCOSEL: LSCOSEL, + /// LSI oscillator enable Set and cleared by software. LSION: u1, - /// LSI oscillator ready Set and cleared by hardware to indicate when the LSI oscillator is stable. After the LSION bit is cleared, LSIRDY goes low after three internal low-speed oscillator clock cycles. This bit is set when the LSI is used by IWDG or RTC, even if LSION = 0. + /// LSI oscillator ready Set and cleared by hardware to indicate when the LSI oscillator is stable. After the LSION bit is cleared, LSIRDY goes low after three internal low-speed oscillator clock cycles. This bit is set when the LSI is used by IWDG or RTC, even if LSION = 0. LSIRDY: u1, padding: u4, }), - /// RCC reset status register + /// RCC reset status register RSR: mmio.Mmio(packed struct(u32) { reserved23: u23, - /// remove reset flag Set and reset by software to reset the value of the reset flags. + /// remove reset flag Set and reset by software to reset the value of the reset flags. RMVF: u1, reserved26: u2, - /// pin reset flag (NRST) Reset by software by writing the RMVF bit. Set by hardware when a reset from pin occurs. + /// pin reset flag (NRST) Reset by software by writing the RMVF bit. Set by hardware when a reset from pin occurs. PINRSTF: u1, - /// BOR reset flag Reset by software by writing the RMVF bit. Set by hardware when a BOR reset occurs (pwr_bor_rst). + /// BOR reset flag Reset by software by writing the RMVF bit. Set by hardware when a BOR reset occurs (pwr_bor_rst). BORRSTF: u1, - /// system reset from CPU reset flag Reset by software by writing the RMVF bit. Set by hardware when the system reset is due to CPU.The CPU can generate a system reset by writing SYSRESETREQ bit of AIRCR register of the core M33. + /// system reset from CPU reset flag Reset by software by writing the RMVF bit. Set by hardware when the system reset is due to CPU.The CPU can generate a system reset by writing SYSRESETREQ bit of AIRCR register of the core M33. SFTRSTF: u1, - /// independent watchdog reset flag Reset by software by writing the RMVF bit. Set by hardware when an independent watchdog reset occurs. + /// independent watchdog reset flag Reset by software by writing the RMVF bit. Set by hardware when an independent watchdog reset occurs. IWDGRSTF: u1, - /// window watchdog reset flag Reset by software by writing the RMVF bit. Set by hardware when a window watchdog reset occurs. + /// window watchdog reset flag Reset by software by writing the RMVF bit. Set by hardware when a window watchdog reset occurs. WWDGRSTF: u1, - /// Low-power reset flag Set by hardware when a reset occurs due to Stop or Standby mode entry, whereas the corresponding nRST_STOP, nRST_STBY option bit is cleared. Cleared by writing to the RMVF bit. + /// Low-power reset flag Set by hardware when a reset occurs due to Stop or Standby mode entry, whereas the corresponding nRST_STOP, nRST_STBY option bit is cleared. Cleared by writing to the RMVF bit. LPWRRSTF: u1, }), reserved272: [24]u8, - /// RCC secure configuration register + /// RCC secure configuration register SECCFGR: mmio.Mmio(packed struct(u32) { - /// HSI clock configuration and status bits security Set and reset by software. + /// HSI clock configuration and status bits security Set and reset by software. HSISEC: u1, - /// HSE clock configuration bits, status bits and HSE_CSS security Set and reset by software. + /// HSE clock configuration bits, status bits and HSE_CSS security Set and reset by software. HSESEC: u1, - /// CSI clock configuration and status bits security Set and reset by software. + /// CSI clock configuration and status bits security Set and reset by software. CSISEC: u1, - /// LSI clock configuration and status bits security Set and reset by software. + /// LSI clock configuration and status bits security Set and reset by software. LSISEC: u1, - /// LSE clock configuration and status bits security Set and reset by software. + /// LSE clock configuration and status bits security Set and reset by software. LSESEC: u1, - /// SYSCLK clock selection, STOPWUCK bit, clock output on MCO configuration security Set and reset by software. + /// SYSCLK clock selection, STOPWUCK bit, clock output on MCO configuration security Set and reset by software. SYSCLKSEC: u1, - /// AHBx/APBx prescaler configuration bits security Set and reset by software. + /// AHBx/APBx prescaler configuration bits security Set and reset by software. PRESCSEC: u1, - /// PLL1 clock configuration and status bits security Set and reset by software. + /// PLL1 clock configuration and status bits security Set and reset by software. PLLSEC: u1, reserved11: u3, - /// HSI48 clock configuration and status bits security Set and reset by software. + /// HSI48 clock configuration and status bits security Set and reset by software. HSI48SEC: u1, - /// Remove reset flag security Set and reset by software. + /// Remove reset flag security Set and reset by software. RMVFSEC: u1, - /// per_ck selection security Set and reset by software. + /// per_ck selection security Set and reset by software. PERSELSEC: u1, padding: u18, }), - /// RCC privilege configuration register + /// RCC privilege configuration register PRIVCFGR: mmio.Mmio(packed struct(u32) { - /// RCC secure functions privilege configuration Set and reset by software. This bit can be written only by a secure privileged access. - SPRIV: packed union { - raw: u1, - value: SPRIV, - }, - /// RCC non-secure functions privilege configuration Set and reset by software. This bit can be written only by privileged access, secure or non-secure. - NSPRIV: packed union { - raw: u1, - value: NSPRIV, - }, + /// RCC secure functions privilege configuration Set and reset by software. This bit can be written only by a secure privileged access. + SPRIV: SPRIV, + /// RCC non-secure functions privilege configuration Set and reset by software. This bit can be written only by privileged access, secure or non-secure. + NSPRIV: NSPRIV, padding: u30, }), }; @@ -384050,237 +377897,237 @@ pub const types = struct { pub const rcc_h50 = struct { pub const ADCDACSEL = enum(u3) { - /// rcc_hclk selected as kernel clock (default after reset) + /// rcc_hclk selected as kernel clock (default after reset) HCLK2 = 0x0, - /// sys_ck selected as kernel clock + /// sys_ck selected as kernel clock SYS = 0x1, - /// pll2_r_ck selected as kernel clock + /// pll2_r_ck selected as kernel clock PLL2_R = 0x2, - /// hse_ck selected as kernel clock + /// hse_ck selected as kernel clock HSE = 0x3, - /// hsi_ker_ck selected as kernel clock + /// hsi_ker_ck selected as kernel clock HSI = 0x4, - /// csi_ker_ck selected as kernel clock + /// csi_ker_ck selected as kernel clock CSI = 0x5, _, }; pub const DACHOLDSEL = enum(u1) { - /// dac_hold_ck selected as kernel clock (default after reset) + /// dac_hold_ck selected as kernel clock (default after reset) DAC_HOLD = 0x0, - /// dac_hold_ck selected as kernel clock + /// dac_hold_ck selected as kernel clock DAC_HOLD_2 = 0x1, }; pub const FDCANSEL = enum(u2) { - /// hse_ck selected as kernel clock (default after reset) + /// hse_ck selected as kernel clock (default after reset) HSE = 0x0, - /// pll1_q_ck selected as kernel clock + /// pll1_q_ck selected as kernel clock PLL1_Q = 0x1, - /// pll2_q_ck selected as kernel clock + /// pll2_q_ck selected as kernel clock PLL2_Q = 0x2, _, }; pub const HPRE = enum(u4) { - /// sys_ck not divided + /// sys_ck not divided Div1 = 0x0, - /// sys_ck divided by 2 + /// sys_ck divided by 2 Div2 = 0x8, - /// sys_ck divided by 4 + /// sys_ck divided by 4 Div4 = 0x9, - /// sys_ck divided by 8 + /// sys_ck divided by 8 Div8 = 0xa, - /// sys_ck divided by 16 + /// sys_ck divided by 16 Div16 = 0xb, - /// sys_ck divided by 64 + /// sys_ck divided by 64 Div64 = 0xc, - /// sys_ck divided by 128 + /// sys_ck divided by 128 Div128 = 0xd, - /// sys_ck divided by 256 + /// sys_ck divided by 256 Div256 = 0xe, - /// sys_ck divided by 512 + /// sys_ck divided by 512 Div512 = 0xf, _, }; pub const HSEEXT = enum(u1) { - /// HSE in analog mode (default after reset) + /// HSE in analog mode (default after reset) Analog = 0x0, - /// HSE in digital mode + /// HSE in digital mode Digital = 0x1, }; pub const HSIDIV = enum(u2) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x1, - /// Division by 4 + /// Division by 4 Div4 = 0x2, - /// Division by 8 + /// Division by 8 Div8 = 0x3, }; pub const I2CSEL = enum(u2) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x2, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x3, }; pub const I3C2SEL = enum(u2) { - /// rcc_pclk3 selected as peripheral clock + /// rcc_pclk3 selected as peripheral clock PCLK3 = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x2, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x3, }; pub const LPTIM1SEL = enum(u3) { - /// rcc_pclk3 selected as peripheral clock + /// rcc_pclk3 selected as peripheral clock PCLK3 = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x3, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x4, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x5, _, }; pub const LPTIM2SEL = enum(u3) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x3, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x4, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x5, _, }; pub const LPUARTSEL = enum(u3) { - /// rcc_pclk3 selected as kernel clock (default after reset) + /// rcc_pclk3 selected as kernel clock (default after reset) PCLK3 = 0x0, - /// pll2_q_ck selected as kernel clock + /// pll2_q_ck selected as kernel clock PLL2_Q = 0x1, - /// hsi_ker_ck selected as kernel clock + /// hsi_ker_ck selected as kernel clock HSI = 0x3, - /// csi_ker_ck selected as kernel clock + /// csi_ker_ck selected as kernel clock CSI = 0x4, - /// lse_ck selected as kernel clock + /// lse_ck selected as kernel clock LSE = 0x5, _, }; pub const LSCOSEL = enum(u1) { - /// LSI clock selected + /// LSI clock selected LSI = 0x0, - /// LSE clock selected + /// LSE clock selected LSE = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const LSEEXT = enum(u1) { - /// LSE in analog mode (default after Backup domain reset) + /// LSE in analog mode (default after Backup domain reset) Analog = 0x0, - /// LSE in digital mode (do not use if RTC is active). + /// LSE in digital mode (do not use if RTC is active). Digital = 0x1, }; pub const MCO1SEL = enum(u3) { - /// HSI selected for micro-controller clock output + /// HSI selected for micro-controller clock output HSI = 0x0, - /// LSE selected for micro-controller clock output + /// LSE selected for micro-controller clock output LSE = 0x1, - /// HSE selected for micro-controller clock output + /// HSE selected for micro-controller clock output HSE = 0x2, - /// pll1_q selected for micro-controller clock output + /// pll1_q selected for micro-controller clock output PLL1_Q = 0x3, - /// HSI48 selected for micro-controller clock output + /// HSI48 selected for micro-controller clock output HSI48 = 0x4, _, }; pub const MCO2SEL = enum(u3) { - /// System clock selected for micro-controller clock output + /// System clock selected for micro-controller clock output SYS = 0x0, - /// pll2_p selected for micro-controller clock output + /// pll2_p selected for micro-controller clock output PLL2_P = 0x1, - /// HSE selected for micro-controller clock output + /// HSE selected for micro-controller clock output HSE = 0x2, - /// pll1_p selected for micro-controller clock output + /// pll1_p selected for micro-controller clock output PLL1_P = 0x3, - /// CSI selected for micro-controller clock output + /// CSI selected for micro-controller clock output CSI = 0x4, - /// LSI selected for micro-controller clock output + /// LSI selected for micro-controller clock output LSI = 0x5, _, }; pub const MCOPRE = enum(u4) { - /// Divide by 1 + /// Divide by 1 Div1 = 0x1, - /// Divide by 2 + /// Divide by 2 Div2 = 0x2, - /// Divide by 3 + /// Divide by 3 Div3 = 0x3, - /// Divide by 4 + /// Divide by 4 Div4 = 0x4, - /// Divide by 5 + /// Divide by 5 Div5 = 0x5, - /// Divide by 6 + /// Divide by 6 Div6 = 0x6, - /// Divide by 7 + /// Divide by 7 Div7 = 0x7, - /// Divide by 8 + /// Divide by 8 Div8 = 0x8, - /// Divide by 9 + /// Divide by 9 Div9 = 0x9, - /// Divide by 10 + /// Divide by 10 Div10 = 0xa, - /// Divide by 11 + /// Divide by 11 Div11 = 0xb, - /// Divide by 12 + /// Divide by 12 Div12 = 0xc, - /// Divide by 13 + /// Divide by 13 Div13 = 0xd, - /// Divide by 14 + /// Divide by 14 Div14 = 0xe, - /// Divide by 15 + /// Divide by 15 Div15 = 0xf, _, }; pub const PERSEL = enum(u2) { - /// hsi_ker_ck selected as kernel clock (default after reset) + /// hsi_ker_ck selected as kernel clock (default after reset) HSI = 0x0, - /// csi_ker_ck selected as kernel clock + /// csi_ker_ck selected as kernel clock CSI = 0x1, - /// hse_ck selected as kernel clock + /// hse_ck selected as kernel clock HSE = 0x2, _, }; @@ -384996,1065 +378843,921 @@ pub const types = struct { }; pub const PLLRGE = enum(u2) { - /// Frequency is between 1 and 2 MHz + /// Frequency is between 1 and 2 MHz Range1 = 0x0, - /// Frequency is between 2 and 4 MHz + /// Frequency is between 2 and 4 MHz Range2 = 0x1, - /// Frequency is between 4 and 8 MHz + /// Frequency is between 4 and 8 MHz Range4 = 0x2, - /// Frequency is between 8 and 16 MHz + /// Frequency is between 8 and 16 MHz Range8 = 0x3, }; pub const PLLSRC = enum(u2) { - /// no clock send to DIVMx divider and PLLs (default after reset) + /// no clock send to DIVMx divider and PLLs (default after reset) DISABLE = 0x0, - /// HSI selected as PLL clock (hsi_ck) + /// HSI selected as PLL clock (hsi_ck) HSI = 0x1, - /// CSI selected as PLL clock (csi_ck) + /// CSI selected as PLL clock (csi_ck) CSI = 0x2, - /// HSE selected as PLL clock (hse_ck) + /// HSE selected as PLL clock (hse_ck) HSE = 0x3, }; pub const PLLVCOSEL = enum(u1) { - /// VCO frequency range 192 to 836 MHz + /// VCO frequency range 192 to 836 MHz WideVCO = 0x0, - /// VCO frequency range 150 to 420 MHz + /// VCO frequency range 150 to 420 MHz MediumVCO = 0x1, }; pub const PPRE = enum(u3) { - /// rcc_pclk3 = rcc_hclk1 / 1 + /// rcc_pclk3 = rcc_hclk1 / 1 Div1 = 0x0, - /// rcc_pclk3 = rcc_hclk1 / 2 + /// rcc_pclk3 = rcc_hclk1 / 2 Div2 = 0x4, - /// rcc_pclk3 = rcc_hclk1 / 4 + /// rcc_pclk3 = rcc_hclk1 / 4 Div4 = 0x5, - /// rcc_pclk3 = rcc_hclk1 / 8 + /// rcc_pclk3 = rcc_hclk1 / 8 Div8 = 0x6, - /// rcc_pclk3 = rcc_hclk1 / 16 + /// rcc_pclk3 = rcc_hclk1 / 16 Div16 = 0x7, _, }; pub const RNGSEL = enum(u2) { - /// hsi48_ker_ck selected as kernel clock (default after reset) + /// hsi48_ker_ck selected as kernel clock (default after reset) HSI48 = 0x0, - /// pll1_q_ck selected as kernel clock + /// pll1_q_ck selected as kernel clock PLL1_Q = 0x1, - /// lse_ck selected as kernel clock + /// lse_ck selected as kernel clock LSE = 0x2, - /// lsi_ker_ck selected as kernel clock + /// lsi_ker_ck selected as kernel clock LSI = 0x3, }; pub const RTCSEL = enum(u2) { - /// no clock (default after Backup domain reset) + /// no clock (default after Backup domain reset) DISABLE = 0x0, - /// LSE selected as RTC clock + /// LSE selected as RTC clock LSE = 0x1, - /// LSI selected as RTC clock + /// LSI selected as RTC clock LSI = 0x2, - /// HSE divided by RTCPRE value selected as RTC clock + /// HSE divided by RTCPRE value selected as RTC clock HSE_DIV_RTCPRE = 0x3, }; pub const SPISEL = enum(u3) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock AUDIOCLK = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock PER = 0x4, _, }; pub const STOPKERWUCK = enum(u1) { - /// HSI selected as wakeup clock from system Stop (default after reset) + /// HSI selected as wakeup clock from system Stop (default after reset) HSI = 0x0, - /// CSI selected as wakeup clock from system Stop + /// CSI selected as wakeup clock from system Stop CSI = 0x1, }; pub const STOPWUCK = enum(u1) { - /// CSI selected as wakeup clock from system Stop + /// CSI selected as wakeup clock from system Stop CSI = 0x1, _, }; pub const SW = enum(u3) { - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x0, - /// CSI selected as system clock + /// CSI selected as system clock CSI = 0x1, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x2, - /// PLL1 selected as system clock + /// PLL1 selected as system clock PLL1_P = 0x3, _, }; pub const SYSTICKSEL = enum(u2) { - /// rcc_hclk/8 selected as clock source (default after reset) + /// rcc_hclk/8 selected as clock source (default after reset) HCLK1_DIV_8 = 0x0, - /// lsi_ker_ck[1] selected as clock source + /// lsi_ker_ck[1] selected as clock source LSI = 0x1, - /// lse_ck[1] selected as clock source + /// lse_ck[1] selected as clock source LSE = 0x2, _, }; pub const TIMICSEL = enum(u1) { - /// No internal clock available for timers input capture (default after reset) + /// No internal clock available for timers input capture (default after reset) B_0x0 = 0x0, - /// hsi_ker_ck/1024, hsi_ker_ck/8 and csi_ker_ck/128 selected for timers input capture + /// hsi_ker_ck/1024, hsi_ker_ck/8 and csi_ker_ck/128 selected for timers input capture B_0x1 = 0x1, }; pub const TIMPRE = enum(u1) { - /// The timers kernel clock is equal to rcc_hclk1 if PPRE1 or PPRE2 corresponds to a division by 1 or 2, else it is equal to 2 x Frcc_pclk1 or 2 x Frcc_pclk2 (default after reset) + /// The timers kernel clock is equal to rcc_hclk1 if PPRE1 or PPRE2 corresponds to a division by 1 or 2, else it is equal to 2 x Frcc_pclk1 or 2 x Frcc_pclk2 (default after reset) DefaultX2 = 0x0, - /// The timers kernel clock is equal to 2 x Frcc_pclk1 or 2 x Frcc_pclk2 if PPRE1 or PPRE2 corresponds to a division by 1, 2 or 4, else it is equal to 4 x Frcc_pclk1 or 4 x Frcc_pclk2 + /// The timers kernel clock is equal to 2 x Frcc_pclk1 or 2 x Frcc_pclk2 if PPRE1 or PPRE2 corresponds to a division by 1, 2 or 4, else it is equal to 4 x Frcc_pclk1 or 4 x Frcc_pclk2 DefaultX4 = 0x1, }; pub const USART1SEL = enum(u3) { - /// rcc_pclk2 selected as peripheral clock + /// rcc_pclk2 selected as peripheral clock PCLK2 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const USARTSEL = enum(u3) { - /// rcc_pclk2 selected as peripheral clock + /// rcc_pclk2 selected as peripheral clock PCLK1 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const USBSEL = enum(u2) { - /// Disable the kernel clock + /// Disable the kernel clock DISABLE = 0x0, - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x1, - /// HSI48 selected as peripheral clock + /// HSI48 selected as peripheral clock HSI48 = 0x3, _, }; - /// Reset and clock controller + /// Reset and clock controller pub const RCC = extern struct { - /// RCC clock control register + /// RCC clock control register CR: mmio.Mmio(packed struct(u32) { - /// HSI clock enable Set and cleared by software. Set by hardware to force the HSI to ON when the product leaves Stop mode, if STOPWUCK = 1 or STOPKERWUCK = 1. Set by hardware to force the HSI to ON when the product leaves Standby mode or in case of a failure of the HSE which is used as the system clock source. This bit cannot be cleared if the HSI is used directly (via SW mux) as system clock, or if the HSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1). + /// HSI clock enable Set and cleared by software. Set by hardware to force the HSI to ON when the product leaves Stop mode, if STOPWUCK = 1 or STOPKERWUCK = 1. Set by hardware to force the HSI to ON when the product leaves Standby mode or in case of a failure of the HSE which is used as the system clock source. This bit cannot be cleared if the HSI is used directly (via SW mux) as system clock, or if the HSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1). HSION: u1, - /// HSI clock ready flag Set by hardware to indicate that the HSI oscillator is stable. + /// HSI clock ready flag Set by hardware to indicate that the HSI oscillator is stable. HSIRDY: u1, - /// HSI clock enable in Stop mode Set and reset by software to force the HSI to ON, even in Stop mode, in order to be quickly available as kernel clock for peripherals. This bit has no effect on the value of HSION. + /// HSI clock enable in Stop mode Set and reset by software to force the HSI to ON, even in Stop mode, in order to be quickly available as kernel clock for peripherals. This bit has no effect on the value of HSION. HSIKERON: u1, - /// HSI clock divider Set and reset by software. These bits allow selecting a division ratio in order to configure the wanted HSI clock frequency. The HSIDIV cannot be changed if the HSI is selected as reference clock for at least one enabled PLL (PLLxON bit set to 1). In that case, the new HSIDIV value is ignored. - HSIDIV: packed union { - raw: u2, - value: HSIDIV, - }, - /// HSI divider flag Set and reset by hardware. As a write operation to HSIDIV has not an immediate effect on the frequency, this flag indicates the current status of the HSI divider. HSIDIVF goes immediately to 0 when HSIDIV value is changed, and is set back to 1 when the output frequency matches the value programmed into HSIDIV. + /// HSI clock divider Set and reset by software. These bits allow selecting a division ratio in order to configure the wanted HSI clock frequency. The HSIDIV cannot be changed if the HSI is selected as reference clock for at least one enabled PLL (PLLxON bit set to 1). In that case, the new HSIDIV value is ignored. + HSIDIV: HSIDIV, + /// HSI divider flag Set and reset by hardware. As a write operation to HSIDIV has not an immediate effect on the frequency, this flag indicates the current status of the HSI divider. HSIDIVF goes immediately to 0 when HSIDIV value is changed, and is set back to 1 when the output frequency matches the value programmed into HSIDIV. HSIDIVF: u1, reserved8: u2, - /// CSI clock enable Set and reset by software to enable/disable CSI clock for system and/or peripheral. Set by hardware to force the CSI to ON when the system leaves Stop mode, if STOPWUCK = 1 or STOPKERWUCK = 1. This bit cannot be cleared if the CSI is used directly (via SW mux) as system clock, or if the CSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1). + /// CSI clock enable Set and reset by software to enable/disable CSI clock for system and/or peripheral. Set by hardware to force the CSI to ON when the system leaves Stop mode, if STOPWUCK = 1 or STOPKERWUCK = 1. This bit cannot be cleared if the CSI is used directly (via SW mux) as system clock, or if the CSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1). CSION: u1, - /// CSI clock ready flag Set by hardware to indicate that the CSI oscillator is stable. This bit is activated only if the RC is enabled by CSION (it is not activated if the CSI is enabled by CSIKERON or by a peripheral request). + /// CSI clock ready flag Set by hardware to indicate that the CSI oscillator is stable. This bit is activated only if the RC is enabled by CSION (it is not activated if the CSI is enabled by CSIKERON or by a peripheral request). CSIRDY: u1, - /// CSI clock enable in Stop mode Set and reset by software to force the CSI to ON, even in Stop mode, in order to be quickly available as kernel clock for some peripherals. This bit has no effect on the value of CSION. + /// CSI clock enable in Stop mode Set and reset by software to force the CSI to ON, even in Stop mode, in order to be quickly available as kernel clock for some peripherals. This bit has no effect on the value of CSION. CSIKERON: u1, reserved12: u1, - /// HSI48 clock enable Set by software and cleared by software or by the hardware when the system enters to Stop or Standby mode. + /// HSI48 clock enable Set by software and cleared by software or by the hardware when the system enters to Stop or Standby mode. HSI48ON: u1, - /// HSI48 clock ready flag Set by hardware to indicate that the HSI48 oscillator is stable. + /// HSI48 clock ready flag Set by hardware to indicate that the HSI48 oscillator is stable. HSI48RDY: u1, reserved16: u2, - /// HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE when entering Stop or Standby mode. This bit cannot be cleared if the HSE is used directly (via SW mux) as system clock, or if the HSE is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1). + /// HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE when entering Stop or Standby mode. This bit cannot be cleared if the HSE is used directly (via SW mux) as system clock, or if the HSE is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1). HSEON: u1, - /// HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable. + /// HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable. HSERDY: u1, - /// HSE clock bypass Set and cleared by software to bypass the oscillator with an external clock. The external clock must be enabled with the HSEON bit to be used by the device. The HSEBYP bit can be written only if the HSE oscillator is disabled. + /// HSE clock bypass Set and cleared by software to bypass the oscillator with an external clock. The external clock must be enabled with the HSEON bit to be used by the device. The HSEBYP bit can be written only if the HSE oscillator is disabled. HSEBYP: u1, - /// HSE clock security system enable Set by software to enable clock security system on HSE. This bit is “set only” (disabled by a system reset or when the system enters in Standby mode). When HSECSSON is set, the clock detector is enabled by hardware when the HSE is ready and disabled by hardware if an oscillator failure is detected. + /// HSE clock security system enable Set by software to enable clock security system on HSE. This bit is “set only” (disabled by a system reset or when the system enters in Standby mode). When HSECSSON is set, the clock detector is enabled by hardware when the HSE is ready and disabled by hardware if an oscillator failure is detected. HSECSSON: u1, - /// external high speed clock type in Bypass mode Set and reset by software to select the external clock type (analog or digital). The external clock must be enabled with the HSEON bit to be used by the device. The HSEEXT bit can be written only if the HSE oscillator is disabled. - HSEEXT: packed union { - raw: u1, - value: HSEEXT, - }, + /// external high speed clock type in Bypass mode Set and reset by software to select the external clock type (analog or digital). The external clock must be enabled with the HSEON bit to be used by the device. The HSEEXT bit can be written only if the HSE oscillator is disabled. + HSEEXT: HSEEXT, reserved24: u3, - /// PLL1 enable Set and cleared by software to enable PLL1. Cleared by hardware when entering Stop or Standby mode. Note that the hardware prevents writing this bit to 0, if the PLL1 output is used as the system clock. + /// PLL1 enable Set and cleared by software to enable PLL1. Cleared by hardware when entering Stop or Standby mode. Note that the hardware prevents writing this bit to 0, if the PLL1 output is used as the system clock. PLLON: u1, - /// PLL1 clock ready flag Set by hardware to indicate that the PLL1 is locked. + /// PLL1 clock ready flag Set by hardware to indicate that the PLL1 is locked. PLLRDY: u1, padding: u6, }), reserved16: [12]u8, - /// RCC HSI calibration register + /// RCC HSI calibration register HSICFGR: mmio.Mmio(packed struct(u32) { - /// HSI clock calibration Set by hardware by option byte loading during system reset nreset. Adjusted by software through trimming bits HSITRIM. This field represents the sum of engineering option byte calibration value and HSITRIM bits value. + /// HSI clock calibration Set by hardware by option byte loading during system reset nreset. Adjusted by software through trimming bits HSITRIM. This field represents the sum of engineering option byte calibration value and HSITRIM bits value. HSICAL: u12, reserved16: u4, - /// HSI clock trimming Set by software to adjust calibration. HSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_HSI_OPT) in order to form the calibration trimming value. HSICAL = HSITRIM + FLASH_HSI_OPT. After a change of HSITRIM it takes one system clock cycle before the new HSITRIM value is updated Note: The reset value of the field is 0x40. + /// HSI clock trimming Set by software to adjust calibration. HSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_HSI_OPT) in order to form the calibration trimming value. HSICAL = HSITRIM + FLASH_HSI_OPT. After a change of HSITRIM it takes one system clock cycle before the new HSITRIM value is updated Note: The reset value of the field is 0x40. HSITRIM: u7, padding: u9, }), - /// RCC clock recovery RC register + /// RCC clock recovery RC register CRRCR: mmio.Mmio(packed struct(u32) { - /// Internal RC 48 MHz clock calibration Set by hardware by option-byte loading during system reset NRESET. Read-only. + /// Internal RC 48 MHz clock calibration Set by hardware by option-byte loading during system reset NRESET. Read-only. HSI48CAL: u10, padding: u22, }), - /// RCC CSI calibration register + /// RCC CSI calibration register CSICFGR: mmio.Mmio(packed struct(u32) { - /// CSI clock calibration Set by hardware by option byte loading during system reset NRESET. Adjusted by software through trimming bits CSITRIM. This field represents the sum of engineering option byte calibration value and CSITRIM bits value. + /// CSI clock calibration Set by hardware by option byte loading during system reset NRESET. Adjusted by software through trimming bits CSITRIM. This field represents the sum of engineering option byte calibration value and CSITRIM bits value. CSICAL: u8, reserved16: u8, - /// CSI clock trimming Set by software to adjust calibration. CSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_CSI_OPT) in order to form the calibration trimming value. CSICAL = CSITRIM + FLASH_CSI_OPT. Note: The reset value of the field is 0x20. + /// CSI clock trimming Set by software to adjust calibration. CSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_CSI_OPT) in order to form the calibration trimming value. CSICAL = CSITRIM + FLASH_CSI_OPT. Note: The reset value of the field is 0x20. CSITRIM: u6, padding: u10, }), - /// RCC clock configuration register + /// RCC clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// system clock and trace clock switch Set and reset by software to select system clock and trace clock sources (sys_ck). Set by hardware in order to: - force the selection of the HSI or CSI (depending on STOPWUCK selection) when leaving a system Stop mode - force the selection of the HSI in case of failure of the HSE when used directly or indirectly as system clock others: reserved - SW: packed union { - raw: u3, - value: SW, - }, - /// system clock switch status Set and reset by hardware to indicate which clock source is used as system clock. 000: HSI used as system clock (hsi_ck) (default after reset). others: reserved - SWS: packed union { - raw: u3, - value: SW, - }, - /// system clock selection after a wakeup from system Stop Set and reset by software to select the system wakeup clock from system Stop. The selected clock is also used as emergency clock for the clock security system (CSS) on HSE. 0: HSI selected as wakeup clock from system Stop (default after reset) STOPWUCK must not be modified when CSS is enabled (by HSECSSON bit) and the system clock is HSE (SWS = 10) or a switch on HSE is requested (SW =10). - STOPWUCK: packed union { - raw: u1, - value: STOPWUCK, - }, - /// kernel clock selection after a wakeup from system Stop Set and reset by software to select the kernel wakeup clock from system Stop. - STOPKERWUCK: packed union { - raw: u1, - value: STOPKERWUCK, - }, - /// HSE division factor for RTC clock Set and cleared by software to divide the HSE to generate a clock for RTC. Caution: The software must set these bits correctly to ensure that the clock supplied to the RTC is lower than 1 MHz. These bits must be configured if needed before selecting the RTC clock source. ... + /// system clock and trace clock switch Set and reset by software to select system clock and trace clock sources (sys_ck). Set by hardware in order to: - force the selection of the HSI or CSI (depending on STOPWUCK selection) when leaving a system Stop mode - force the selection of the HSI in case of failure of the HSE when used directly or indirectly as system clock others: reserved + SW: SW, + /// system clock switch status Set and reset by hardware to indicate which clock source is used as system clock. 000: HSI used as system clock (hsi_ck) (default after reset). others: reserved + SWS: SW, + /// system clock selection after a wakeup from system Stop Set and reset by software to select the system wakeup clock from system Stop. The selected clock is also used as emergency clock for the clock security system (CSS) on HSE. 0: HSI selected as wakeup clock from system Stop (default after reset) STOPWUCK must not be modified when CSS is enabled (by HSECSSON bit) and the system clock is HSE (SWS = 10) or a switch on HSE is requested (SW =10). + STOPWUCK: STOPWUCK, + /// kernel clock selection after a wakeup from system Stop Set and reset by software to select the kernel wakeup clock from system Stop. + STOPKERWUCK: STOPKERWUCK, + /// HSE division factor for RTC clock Set and cleared by software to divide the HSE to generate a clock for RTC. Caution: The software must set these bits correctly to ensure that the clock supplied to the RTC is lower than 1 MHz. These bits must be configured if needed before selecting the RTC clock source. ... RTCPRE: u6, reserved15: u1, - /// timers clocks prescaler selection This bit is set and reset by software to control the clock frequency of all the timers connected to APB1 and APB2 domains. - TIMPRE: packed union { - raw: u1, - value: TIMPRE, - }, + /// timers clocks prescaler selection This bit is set and reset by software to control the clock frequency of all the timers connected to APB1 and APB2 domains. + TIMPRE: TIMPRE, reserved18: u2, - /// MCO1 prescaler Set and cleared by software to configure the prescaler of the MCO1. Modification of this prescaler may generate glitches on MCO1. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs. ... - MCO1PRE: packed union { - raw: u4, - value: MCOPRE, - }, - /// Microcontroller clock output 1 Set and cleared by software. Clock source selection may generate glitches on MCO1. It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs. others: reserved - MCO1SEL: packed union { - raw: u3, - value: MCO1SEL, - }, - /// MCO2 prescaler Set and cleared by software to configure the prescaler of the MCO2. Modification of this prescaler may generate glitches on MCO2. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs. ... - MCO2PRE: packed union { - raw: u4, - value: MCOPRE, - }, - /// microcontroller clock output 2 Set and cleared by software. Clock source selection may generate glitches on MCO2. It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs. others: reserved - MCO2SEL: packed union { - raw: u3, - value: MCO2SEL, - }, - }), - /// RCC CPU domain clock configuration register 2 + /// MCO1 prescaler Set and cleared by software to configure the prescaler of the MCO1. Modification of this prescaler may generate glitches on MCO1. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs. ... + MCO1PRE: MCOPRE, + /// Microcontroller clock output 1 Set and cleared by software. Clock source selection may generate glitches on MCO1. It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs. others: reserved + MCO1SEL: MCO1SEL, + /// MCO2 prescaler Set and cleared by software to configure the prescaler of the MCO2. Modification of this prescaler may generate glitches on MCO2. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs. ... + MCO2PRE: MCOPRE, + /// microcontroller clock output 2 Set and cleared by software. Clock source selection may generate glitches on MCO2. It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs. others: reserved + MCO2SEL: MCO2SEL, + }), + /// RCC CPU domain clock configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// AHB prescaler Set and reset by software to control the division factor of rcc_hclk. Changing this division ratio has an impact on the frequency of all bus matrix clocks 0xxx: rcc_hclk = sys_ck (default after reset) - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB low-speed prescaler (APB1) Set and reset by software to control the division factor of rcc_pclk1. The clock is divided by the new prescaler factor from 1 to 16 cycles of rcc_hclk after PPRE write. 0xx: rcc_pclk1 = rcc_hclk1 (default after reset) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, + /// AHB prescaler Set and reset by software to control the division factor of rcc_hclk. Changing this division ratio has an impact on the frequency of all bus matrix clocks 0xxx: rcc_hclk = sys_ck (default after reset) + HPRE: HPRE, + /// APB low-speed prescaler (APB1) Set and reset by software to control the division factor of rcc_pclk1. The clock is divided by the new prescaler factor from 1 to 16 cycles of rcc_hclk after PPRE write. 0xx: rcc_pclk1 = rcc_hclk1 (default after reset) + PPRE1: PPRE, reserved8: u1, - /// APB high-speed prescaler (APB2) Set and reset by software to control APB high-speed clocks division factor. The clocks are divided with the new prescaler factor from 1 to 16 APB cycles after PPRE2 write. 0xx: rcc_pclk2 = rcc_hclk1 - PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// APB high-speed prescaler (APB2) Set and reset by software to control APB high-speed clocks division factor. The clocks are divided with the new prescaler factor from 1 to 16 APB cycles after PPRE2 write. 0xx: rcc_pclk2 = rcc_hclk1 + PPRE2: PPRE, reserved12: u1, - /// APB low-speed prescaler (APB3) Set and reset by software to control APB low-speed clocks division factor. The clocks are divided with the new prescaler factor from 1 to 16 APB cycles after PPRE3 write. 0xx: rcc_pclk3 = rcc_hclk1 - PPRE3: packed union { - raw: u3, - value: PPRE, - }, + /// APB low-speed prescaler (APB3) Set and reset by software to control APB low-speed clocks division factor. The clocks are divided with the new prescaler factor from 1 to 16 APB cycles after PPRE3 write. 0xx: rcc_pclk3 = rcc_hclk1 + PPRE3: PPRE, reserved16: u1, - /// AHB1 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB1 peripherals from RCC_AHB1ENR are used and when their clocks are disabled in RCC_AHB1ENR. When this bit is set, all the AHB1 peripherals clocks from RCC_AHB1ENR are off. enable control bits + /// AHB1 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB1 peripherals from RCC_AHB1ENR are used and when their clocks are disabled in RCC_AHB1ENR. When this bit is set, all the AHB1 peripherals clocks from RCC_AHB1ENR are off. enable control bits AHB1DIS: u1, - /// AHB2 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB2 peripherals from RCC_AHB2ENR are used and when their clocks are disabled in RCC_AHB2ENR. When this bit is set, all the AHB2 peripherals clocks from RCC_AHB2ENR are off. enable control bits + /// AHB2 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB2 peripherals from RCC_AHB2ENR are used and when their clocks are disabled in RCC_AHB2ENR. When this bit is set, all the AHB2 peripherals clocks from RCC_AHB2ENR are off. enable control bits AHB2DIS: u1, reserved19: u1, - /// AHB4 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB4 peripherals from RCC_AHB4ENR are used and when their clocks are disabled in RCC_AHB4ENR. When this bit is set, all the AHB4 peripherals clocks from RCC_AHB4ENR are off. enable control bits + /// AHB4 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB4 peripherals from RCC_AHB4ENR are used and when their clocks are disabled in RCC_AHB4ENR. When this bit is set, all the AHB4 peripherals clocks from RCC_AHB4ENR are off. enable control bits AHB4DIS: u1, - /// APB1 clock disable value This bit can be set in order to further reduce power consumption, when none of the APB1 peripherals (except IWDG) are used and when their clocks are disabled in RCC_APB1ENR. When this bit is set, all the APB1 peripherals clocks are off, except for IWDG. control bits + /// APB1 clock disable value This bit can be set in order to further reduce power consumption, when none of the APB1 peripherals (except IWDG) are used and when their clocks are disabled in RCC_APB1ENR. When this bit is set, all the APB1 peripherals clocks are off, except for IWDG. control bits APB1DIS: u1, - /// APB2 clock disable value This bit can be set in order to further reduce power consumption, when none of the APB2 peripherals are used and when their clocks are disabled in RCC_APB2ENR. When this bit is set, all the APB2 peripherals clocks are off. control bits + /// APB2 clock disable value This bit can be set in order to further reduce power consumption, when none of the APB2 peripherals are used and when their clocks are disabled in RCC_APB2ENR. When this bit is set, all the APB2 peripherals clocks are off. control bits APB2DIS: u1, - /// APB3 clock disable value.Set and cleared by software This bit can be set in order to further reduce power consumption, when none of the APB3 peripherals are used and when their clocks are disabled in RCC_APB3ENR. When this bit is set, all the APB3 peripherals clocks are off. control bits + /// APB3 clock disable value.Set and cleared by software This bit can be set in order to further reduce power consumption, when none of the APB3 peripherals are used and when their clocks are disabled in RCC_APB3ENR. When this bit is set, all the APB3 peripherals clocks are off. control bits APB3DIS: u1, padding: u9, }), reserved40: [4]u8, - /// RCC PLL clock source selection register + /// RCC PLL clock source selection register PLLCFGR: [2]mmio.Mmio(packed struct(u32) { - /// DIVMx and PLLs clock source selection Set and reset by software to select the PLL clock source. These bits can be written only when all PLLs are disabled. In order to save power, when no PLL is used, the value of PLL1SRC must be set to '00'. 00: no clock send to DIVMx divider and PLLs (default after reset). - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, - /// PLL1 input frequency range Set and reset by software to select the proper reference frequency range used for PLL1. This bit must be written before enabling the PLL1. - PLLRGE: packed union { - raw: u2, - value: PLLRGE, - }, - /// PLL1 fractional latch enable Set and reset by software to latch the content of FRACN1 into the sigma-delta modulator. In order to latch the FRACN1 value into the sigma-delta modulator, PLL1FRACEN must be set to 0, then set to 1. The transition 0 to 1 transfers the content of FRACN1 into the modulator. + /// DIVMx and PLLs clock source selection Set and reset by software to select the PLL clock source. These bits can be written only when all PLLs are disabled. In order to save power, when no PLL is used, the value of PLL1SRC must be set to '00'. 00: no clock send to DIVMx divider and PLLs (default after reset). + PLLSRC: PLLSRC, + /// PLL1 input frequency range Set and reset by software to select the proper reference frequency range used for PLL1. This bit must be written before enabling the PLL1. + PLLRGE: PLLRGE, + /// PLL1 fractional latch enable Set and reset by software to latch the content of FRACN1 into the sigma-delta modulator. In order to latch the FRACN1 value into the sigma-delta modulator, PLL1FRACEN must be set to 0, then set to 1. The transition 0 to 1 transfers the content of FRACN1 into the modulator. PLLFRACEN: u1, - /// PLL1 VCO selection Set and reset by software to select the proper VCO frequency range used for PLL1. This bit must be written before enabling the PLL1. - PLLVCOSEL: packed union { - raw: u1, - value: PLLVCOSEL, - }, + /// PLL1 VCO selection Set and reset by software to select the proper VCO frequency range used for PLL1. This bit must be written before enabling the PLL1. + PLLVCOSEL: PLLVCOSEL, reserved8: u2, - /// prescaler for PLL1 Set and cleared by software to configure the prescaler of the PLL1. The hardware does not allow any modification of this prescaler when PLL1 is enabled (PLL1ON = 1 or PLL1RDY = 1). In order to save power when PLL1 is not used, the value of DIVM1 must be set to 0. ... ... - DIVM: packed union { - raw: u6, - value: PLLM, - }, + /// prescaler for PLL1 Set and cleared by software to configure the prescaler of the PLL1. The hardware does not allow any modification of this prescaler when PLL1 is enabled (PLL1ON = 1 or PLL1RDY = 1). In order to save power when PLL1 is not used, the value of DIVM1 must be set to 0. ... ... + DIVM: PLLM, reserved16: u2, - /// PLL1 DIVP divider output enable Set and reset by software to enable the pll1_p_ck output of the PLL1. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). In order to save power, when the pll1_p_ck output of the PLL1 is not used, the pll1_p_ck must be disabled. + /// PLL1 DIVP divider output enable Set and reset by software to enable the pll1_p_ck output of the PLL1. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). In order to save power, when the pll1_p_ck output of the PLL1 is not used, the pll1_p_ck must be disabled. PLLPEN: u1, - /// PLL1 DIVQ divider output enable Set and reset by software to enable the pll1_q_ck output of the PLL1. In order to save power, when the pll1_q_ck output of the PLL1 is not used, the pll1_q_ck must be disabled. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). + /// PLL1 DIVQ divider output enable Set and reset by software to enable the pll1_q_ck output of the PLL1. In order to save power, when the pll1_q_ck output of the PLL1 is not used, the pll1_q_ck must be disabled. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). PLLQEN: u1, - /// PLL1 DIVR divider output enable Set and reset by software to enable the pll1_r_ck output of the PLL1. To save power, DIVR1EN and DIVR1 bits must be set to 0 when the pll1_r_ck is not used. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). + /// PLL1 DIVR divider output enable Set and reset by software to enable the pll1_r_ck output of the PLL1. To save power, DIVR1EN and DIVR1 bits must be set to 0 when the pll1_r_ck is not used. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). PLLREN: u1, padding: u13, }), reserved52: [4]u8, - /// RCC PLL1 dividers register + /// RCC PLL1 dividers register PLLDIVR: mmio.Mmio(packed struct(u32) { - /// Multiplication factor for PLL1VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL is disabled (PLL1ON = 0 and PLL1RDY = 0). ... ... Others: reserved - PLLN: packed union { - raw: u9, - value: PLLN, - }, - /// PLL1 DIVP division factor Set and reset by software to control the frequency of the pll1_p_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). Note that odd division factors are not allowed. ... - PLLP: packed union { - raw: u7, - value: PLLDIV, - }, - /// PLL1 DIVQ division factor Set and reset by software to control the frequency of the pll1_q_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... - PLLQ: packed union { - raw: u7, - value: PLLDIV, - }, + /// Multiplication factor for PLL1VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL is disabled (PLL1ON = 0 and PLL1RDY = 0). ... ... Others: reserved + PLLN: PLLN, + /// PLL1 DIVP division factor Set and reset by software to control the frequency of the pll1_p_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). Note that odd division factors are not allowed. ... + PLLP: PLLDIV, + /// PLL1 DIVQ division factor Set and reset by software to control the frequency of the pll1_q_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... + PLLQ: PLLDIV, reserved24: u1, - /// PLL1 DIVR division factor Set and reset by software to control the frequency of the pll1_r_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... - PLLR: packed union { - raw: u7, - value: PLLDIV, - }, + /// PLL1 DIVR division factor Set and reset by software to control the frequency of the pll1_r_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... + PLLR: PLLDIV, padding: u1, }), - /// RCC PLL1 fractional divider register + /// RCC PLL1 fractional divider register PLLFRACR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// fractional part of the multiplication factor for PLL1 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO. The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is: * 128 to 560 MHz if PLL1VCOSEL = 0 * 150 to 420 MHz if PLL1VCOSEL = 1 VCO output frequency = Fref1_ck x (PLL1N + (PLL1FRACN / 213)), with * PLL1N between 8 and 420 * PLL1FRACN can be between 0 and 213- 1 * The input frequency Fref1_ck must be between 1 and 16 MHz. To change the PLL1FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows: * Set the bit PLL1FRACEN to 0 * Write the new fractional value into PLL1FRACN * Set the bit PLL1FRACEN to 1 + /// fractional part of the multiplication factor for PLL1 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO. The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is: * 128 to 560 MHz if PLL1VCOSEL = 0 * 150 to 420 MHz if PLL1VCOSEL = 1 VCO output frequency = Fref1_ck x (PLL1N + (PLL1FRACN / 213)), with * PLL1N between 8 and 420 * PLL1FRACN can be between 0 and 213- 1 * The input frequency Fref1_ck must be between 1 and 16 MHz. To change the PLL1FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows: * Set the bit PLL1FRACEN to 0 * Write the new fractional value into PLL1FRACN * Set the bit PLL1FRACEN to 1 PLLFRACN: u13, padding: u16, }), reserved80: [20]u8, - /// RCC clock source interrupt enable register + /// RCC clock source interrupt enable register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the LSI oscillator stabilization. + /// LSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the LSI oscillator stabilization. LSIRDYIE: u1, - /// LSE ready interrupt enable Set and reset by software to enable/disable interrupt caused by the LSE oscillator stabilization. + /// LSE ready interrupt enable Set and reset by software to enable/disable interrupt caused by the LSE oscillator stabilization. LSERDYIE: u1, - /// CSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the CSI oscillator stabilization. + /// CSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the CSI oscillator stabilization. CSIRDYIE: u1, - /// HSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSI oscillator stabilization. + /// HSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSI oscillator stabilization. HSIRDYIE: u1, - /// HSE ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSE oscillator stabilization. + /// HSE ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSE oscillator stabilization. HSERDYIE: u1, - /// HSI48 ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSI48 oscillator stabilization. + /// HSI48 ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSI48 oscillator stabilization. HSI48RDYIE: u1, - /// PLL1 ready interrupt enable Set and reset by software to enable/disable interrupt caused by PLL1 lock. + /// PLL1 ready interrupt enable Set and reset by software to enable/disable interrupt caused by PLL1 lock. PLLRDYIE: u1, padding: u25, }), - /// RCC clock source interrupt flag register + /// RCC clock source interrupt flag register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag Reset by software by writing LSIRDYC bit. Set by hardware when the LSI clock becomes stable and LSIRDYIE is set. + /// LSI ready interrupt flag Reset by software by writing LSIRDYC bit. Set by hardware when the LSI clock becomes stable and LSIRDYIE is set. LSIRDYF: u1, - /// LSE ready interrupt flag Reset by software by writing LSERDYC bit. Set by hardware when the LSE clock becomes stable and LSERDYIE is set. + /// LSE ready interrupt flag Reset by software by writing LSERDYC bit. Set by hardware when the LSE clock becomes stable and LSERDYIE is set. LSERDYF: u1, - /// CSI ready interrupt flag Reset by software by writing CSIRDYC bit. Set by hardware when the CSI clock becomes stable and CSIRDYIE is set. + /// CSI ready interrupt flag Reset by software by writing CSIRDYC bit. Set by hardware when the CSI clock becomes stable and CSIRDYIE is set. CSIRDYF: u1, - /// HSI ready interrupt flag Reset by software by writing HSIRDYC bit. Set by hardware when the HSI clock becomes stable and HSIRDYIE is set. + /// HSI ready interrupt flag Reset by software by writing HSIRDYC bit. Set by hardware when the HSI clock becomes stable and HSIRDYIE is set. HSIRDYF: u1, - /// HSE ready interrupt flag Reset by software by writing HSERDYC bit. Set by hardware when the HSE clock becomes stable and HSERDYIE is set. + /// HSE ready interrupt flag Reset by software by writing HSERDYC bit. Set by hardware when the HSE clock becomes stable and HSERDYIE is set. HSERDYF: u1, - /// HSI48 ready interrupt flag Reset by software by writing HSI48RDYC bit. Set by hardware when the HSI48 clock becomes stable and HSI48RDYIE is set. + /// HSI48 ready interrupt flag Reset by software by writing HSI48RDYC bit. Set by hardware when the HSI48 clock becomes stable and HSI48RDYIE is set. HSI48RDYF: u1, - /// PLL1 ready interrupt flag Reset by software by writing PLL1RDYC bit. Set by hardware when the PLL1 locks and PLL1RDYIE is set. + /// PLL1 ready interrupt flag Reset by software by writing PLL1RDYC bit. Set by hardware when the PLL1 locks and PLL1RDYIE is set. PLLRDYF: u1, reserved10: u3, - /// HSE clock security system interrupt flag Reset by software by writing HSECSSC bit. Set by hardware in case of HSE clock failure. + /// HSE clock security system interrupt flag Reset by software by writing HSECSSC bit. Set by hardware in case of HSE clock failure. HSECSSF: u1, padding: u21, }), - /// RCC clock source interrupt clear register + /// RCC clock source interrupt clear register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt clear Set by software to clear LSIRDYF. Reset by hardware when clear done. + /// LSI ready interrupt clear Set by software to clear LSIRDYF. Reset by hardware when clear done. LSIRDYC: u1, - /// LSE ready interrupt clear Set by software to clear LSERDYF. Reset by hardware when clear done. + /// LSE ready interrupt clear Set by software to clear LSERDYF. Reset by hardware when clear done. LSERDYC: u1, - /// HSI ready interrupt clear Set by software to clear CSIRDYF. Reset by hardware when clear done. + /// HSI ready interrupt clear Set by software to clear CSIRDYF. Reset by hardware when clear done. CSIRDYC: u1, - /// HSI ready interrupt clear Set by software to clear HSIRDYF. Reset by hardware when clear done. + /// HSI ready interrupt clear Set by software to clear HSIRDYF. Reset by hardware when clear done. HSIRDYC: u1, - /// HSE ready interrupt clear Set by software to clear HSERDYF. Reset by hardware when clear done. + /// HSE ready interrupt clear Set by software to clear HSERDYF. Reset by hardware when clear done. HSERDYC: u1, - /// HSI48 ready interrupt clear Set by software to clear HSI48RDYF. Reset by hardware when clear done. + /// HSI48 ready interrupt clear Set by software to clear HSI48RDYF. Reset by hardware when clear done. HSI48RDYC: u1, - /// PLL1 ready interrupt clear Set by software to clear PLL1RDYF. Reset by hardware when clear done. + /// PLL1 ready interrupt clear Set by software to clear PLL1RDYF. Reset by hardware when clear done. PLLRDYC: u1, reserved10: u3, - /// HSE clock security system interrupt clear Set by software to clear HSECSSF. Reset by hardware when clear done. + /// HSE clock security system interrupt clear Set by software to clear HSECSSF. Reset by hardware when clear done. HSECSSC: u1, padding: u21, }), reserved96: [4]u8, - /// RCC AHB1 reset register + /// RCC AHB1 reset register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// GPDMA1 block reset Set and reset by software. + /// GPDMA1 block reset Set and reset by software. GPDMA1RST: u1, - /// GPDMA2 block reset Set and reset by software. + /// GPDMA2 block reset Set and reset by software. GPDMA2RST: u1, reserved12: u10, - /// CRC block reset Set and reset by software. + /// CRC block reset Set and reset by software. CRCRST: u1, reserved17: u4, - /// RAMCFG block reset Set and reset by software. + /// RAMCFG block reset Set and reset by software. RAMCFGRST: u1, padding: u14, }), - /// RCC AHB2 peripheral reset register + /// RCC AHB2 peripheral reset register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// GPIOA block reset Set and reset by software. + /// GPIOA block reset Set and reset by software. GPIOARST: u1, - /// GPIOB block reset Set and reset by software. + /// GPIOB block reset Set and reset by software. GPIOBRST: u1, - /// GPIOC block reset Set and reset by software. + /// GPIOC block reset Set and reset by software. GPIOCRST: u1, - /// GPIOD block reset Set and reset by software. + /// GPIOD block reset Set and reset by software. GPIODRST: u1, reserved7: u3, - /// GPIOH block reset Set and reset by software. + /// GPIOH block reset Set and reset by software. GPIOHRST: u1, reserved10: u2, - /// ADC1 block reset Set and reset by software. + /// ADC1 block reset Set and reset by software. ADC1RST: u1, - /// DAC block reset Set and reset by software. + /// DAC block reset Set and reset by software. DAC1RST: u1, reserved17: u5, - /// HASH block reset Set and reset by software. + /// HASH block reset Set and reset by software. HASHRST: u1, - /// RNG block reset Set and reset by software. + /// RNG block reset Set and reset by software. RNGRST: u1, padding: u13, }), reserved116: [12]u8, - /// RCC APB1 peripheral low reset register + /// RCC APB1 peripheral low reset register APB1LRSTR: mmio.Mmio(packed struct(u32) { - /// TIM2 block reset Set and reset by software. + /// TIM2 block reset Set and reset by software. TIM2RST: u1, - /// TIM3 block reset Set and reset by software. + /// TIM3 block reset Set and reset by software. TIM3RST: u1, reserved4: u2, - /// TIM6 block reset Set and reset by software. + /// TIM6 block reset Set and reset by software. TIM6RST: u1, - /// TIM7 block reset Set and reset by software. + /// TIM7 block reset Set and reset by software. TIM7RST: u1, reserved13: u7, - /// OPAMP block reset Set and reset by software. + /// OPAMP block reset Set and reset by software. OPAMPRST: u1, - /// SPI2 block reset Set and reset by software. + /// SPI2 block reset Set and reset by software. SPI2RST: u1, - /// SPI3 block reset Set and reset by software. + /// SPI3 block reset Set and reset by software. SPI3RST: u1, - /// COMP block reset Set and reset by software. + /// COMP block reset Set and reset by software. COMPRST: u1, - /// USART2 block reset Set and reset by software. + /// USART2 block reset Set and reset by software. USART2RST: u1, - /// USART3 block reset Set and reset by software. + /// USART3 block reset Set and reset by software. USART3RST: u1, reserved21: u2, - /// I2C1 block reset Set and reset by software. + /// I2C1 block reset Set and reset by software. I2C1RST: u1, - /// I2C2 block reset Set and reset by software. + /// I2C2 block reset Set and reset by software. I2C2RST: u1, - /// I3C1 block reset Set and reset by software. + /// I3C1 block reset Set and reset by software. I3C1RST: u1, - /// CRS block reset Set and reset by software. + /// CRS block reset Set and reset by software. CRSRST: u1, padding: u7, }), - /// RCC APB1 peripheral high reset register + /// RCC APB1 peripheral high reset register APB1HRSTR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// DTS block reset Set and reset by software. + /// DTS block reset Set and reset by software. DTSRST: u1, reserved5: u1, - /// LPTIM2 block reset Set and reset by software. + /// LPTIM2 block reset Set and reset by software. LPTIM2RST: u1, reserved9: u3, - /// FDCAN1 block reset Set and reset by software. + /// FDCAN1 block reset Set and reset by software. FDCAN12RST: u1, padding: u22, }), - /// RCC APB2 peripheral reset register + /// RCC APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 block reset Set and reset by software. + /// TIM1 block reset Set and reset by software. TIM1RST: u1, - /// SPI1 block reset Set and reset by software. + /// SPI1 block reset Set and reset by software. SPI1RST: u1, reserved14: u1, - /// USART1 block reset Set and reset by software. + /// USART1 block reset Set and reset by software. USART1RST: u1, reserved24: u9, - /// USB block reset Set and reset by software. + /// USB block reset Set and reset by software. USBRST: u1, padding: u7, }), - /// RCC APB3 peripheral reset register + /// RCC APB3 peripheral reset register APB3RSTR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SBS block reset Set and reset by software. + /// SBS block reset Set and reset by software. SYSCFGRST: u1, reserved6: u4, - /// LPUART1 block reset Set and reset by software. + /// LPUART1 block reset Set and reset by software. LPUART1RST: u1, reserved9: u2, - /// I3C2RST block reset Set and reset by software. + /// I3C2RST block reset Set and reset by software. I3C2RST: u1, reserved11: u1, - /// LPTIM1 block reset Set and reset by software. + /// LPTIM1 block reset Set and reset by software. LPTIM1RST: u1, reserved20: u8, - /// VREF block reset Set and reset by software. + /// VREF block reset Set and reset by software. VREFRST: u1, padding: u11, }), reserved136: [4]u8, - /// RCC AHB1 peripherals clock register + /// RCC AHB1 peripherals clock register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// GPDMA1 clock enable Set and reset by software. + /// GPDMA1 clock enable Set and reset by software. GPDMA1EN: u1, - /// GPDMA2 clock enable Set and reset by software. + /// GPDMA2 clock enable Set and reset by software. GPDMA2EN: u1, reserved8: u6, - /// Flash interface clock enable Set and reset by software. + /// Flash interface clock enable Set and reset by software. FLITFEN: u1, reserved12: u3, - /// CRC clock enable Set and reset by software. + /// CRC clock enable Set and reset by software. CRCEN: u1, reserved17: u4, - /// RAMCFG clock enable Set and reset by software. + /// RAMCFG clock enable Set and reset by software. RAMCFGEN: u1, reserved28: u10, - /// BKPRAM clock enable Set and reset by software + /// BKPRAM clock enable Set and reset by software BKPRAMEN: u1, reserved31: u2, - /// SRAM1 clock enable Set and reset by software. + /// SRAM1 clock enable Set and reset by software. SRAM1EN: u1, }), - /// RCC AHB2 peripheral clock register + /// RCC AHB2 peripheral clock register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// GPIOA clock enable Set and reset by software. + /// GPIOA clock enable Set and reset by software. GPIOAEN: u1, - /// GPIOB clock enable Set and reset by software. + /// GPIOB clock enable Set and reset by software. GPIOBEN: u1, - /// GPIOC clock enable Set and reset by software. + /// GPIOC clock enable Set and reset by software. GPIOCEN: u1, - /// GPIOD clock enable Set and reset by software. + /// GPIOD clock enable Set and reset by software. GPIODEN: u1, reserved7: u3, - /// GPIOH clock enable Set and reset by software. + /// GPIOH clock enable Set and reset by software. GPIOHEN: u1, reserved10: u2, - /// ADC1 peripherals clock enabled Set and reset by software. + /// ADC1 peripherals clock enabled Set and reset by software. ADC1EN: u1, - /// DAC clock enable Set and reset by software. + /// DAC clock enable Set and reset by software. DAC1EN: u1, reserved17: u5, - /// HASH clock enable Set and reset by software. + /// HASH clock enable Set and reset by software. HASHEN: u1, - /// RNG clock enable Set and reset by software. + /// RNG clock enable Set and reset by software. RNGEN: u1, reserved30: u11, - /// SRAM2 clock enable Set and reset by software. + /// SRAM2 clock enable Set and reset by software. SRAM2EN: u1, padding: u1, }), reserved156: [12]u8, - /// RCC APB1 peripheral clock register + /// RCC APB1 peripheral clock register APB1LENR: mmio.Mmio(packed struct(u32) { - /// TIM2 clock enable Set and reset by software. + /// TIM2 clock enable Set and reset by software. TIM2EN: u1, - /// TIM3 clock enable Set and reset by software. + /// TIM3 clock enable Set and reset by software. TIM3EN: u1, reserved4: u2, - /// TIM6 clock enable Set and reset by software. + /// TIM6 clock enable Set and reset by software. TIM6EN: u1, - /// TIM7 clock enable Set and reset by software. + /// TIM7 clock enable Set and reset by software. TIM7EN: u1, reserved11: u5, - /// WWDG clock enable Set and reset by software. + /// WWDG clock enable Set and reset by software. WWDGEN: u1, reserved13: u1, - /// OPAMP clock enable Set and reset by software. + /// OPAMP clock enable Set and reset by software. OPAMPEN: u1, - /// SPI2 clock enable Set and reset by software. + /// SPI2 clock enable Set and reset by software. SPI2EN: u1, - /// SPI3 clock enable Set and reset by software. + /// SPI3 clock enable Set and reset by software. SPI3EN: u1, - /// COMP clock enable Set and reset by software. + /// COMP clock enable Set and reset by software. COMPEN: u1, - /// USART2 clock enable Set and reset by software. + /// USART2 clock enable Set and reset by software. USART2EN: u1, - /// USART3 clock enable Set and reset by software. + /// USART3 clock enable Set and reset by software. USART3EN: u1, reserved21: u2, - /// I2C1 clock enable Set and reset by software. + /// I2C1 clock enable Set and reset by software. I2C1EN: u1, - /// I2C2 clock enable Set and reset by software. + /// I2C2 clock enable Set and reset by software. I2C2EN: u1, - /// I3C1 clock enable Set and reset by software. + /// I3C1 clock enable Set and reset by software. I3C1EN: u1, - /// CRS clock enable Set and reset by software. + /// CRS clock enable Set and reset by software. CRSEN: u1, padding: u7, }), - /// RCC APB1 peripheral clock register + /// RCC APB1 peripheral clock register APB1HENR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// DTS clock enable Set and reset by software. + /// DTS clock enable Set and reset by software. DTSEN: u1, reserved5: u1, - /// LPTIM2 clock enable Set and reset by software. + /// LPTIM2 clock enable Set and reset by software. LPTIM2EN: u1, reserved9: u3, - /// FDCAN1 peripheral clock enable Set and reset by software. + /// FDCAN1 peripheral clock enable Set and reset by software. FDCAN12EN: u1, padding: u22, }), - /// RCC APB2 peripheral clock register + /// RCC APB2 peripheral clock register APB2ENR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 clock enable Set and reset by software. + /// TIM1 clock enable Set and reset by software. TIM1EN: u1, - /// SPI1 clock enable Set and reset by software. + /// SPI1 clock enable Set and reset by software. SPI1EN: u1, reserved14: u1, - /// USART1 clock enable Set and reset by software. + /// USART1 clock enable Set and reset by software. USART1EN: u1, reserved24: u9, - /// USB clock enable Set and reset by software. + /// USB clock enable Set and reset by software. USBEN: u1, padding: u7, }), - /// RCC APB3 peripheral clock register + /// RCC APB3 peripheral clock register APB3ENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SBS clock enable Set and reset by software. + /// SBS clock enable Set and reset by software. SYSCFGEN: u1, reserved6: u4, - /// LPUART1 clock enable Set and reset by software. + /// LPUART1 clock enable Set and reset by software. LPUART1EN: u1, reserved9: u2, - /// I3C2EN clock enable Set and reset by software. + /// I3C2EN clock enable Set and reset by software. I3C2EN: u1, reserved11: u1, - /// LPTIM1 clock enable Set and reset by software. + /// LPTIM1 clock enable Set and reset by software. LPTIM1EN: u1, reserved20: u8, - /// VREF clock enable Set and reset by software. + /// VREF clock enable Set and reset by software. VREFEN: u1, - /// RTC APB interface clock enable Set and reset by software. + /// RTC APB interface clock enable Set and reset by software. RTCAPBEN: u1, padding: u10, }), reserved176: [4]u8, - /// RCC AHB1 sleep clock register + /// RCC AHB1 sleep clock register AHB1LPENR: mmio.Mmio(packed struct(u32) { - /// GPDMA1 clock enable during sleep mode Set and reset by software. + /// GPDMA1 clock enable during sleep mode Set and reset by software. GPDMA1LPEN: u1, - /// GPDMA2 clock enable during sleep mode Set and reset by software. + /// GPDMA2 clock enable during sleep mode Set and reset by software. GPDMA2LPEN: u1, reserved8: u6, - /// Flash interface (FLITF) clock enable during sleep mode Set and reset by software. + /// Flash interface (FLITF) clock enable during sleep mode Set and reset by software. FLITFLPEN: u1, reserved12: u3, - /// CRC clock enable during sleep mode Set and reset by software. + /// CRC clock enable during sleep mode Set and reset by software. CRCLPEN: u1, reserved17: u4, - /// RAMCFG clock enable during sleep mode Set and reset by software. + /// RAMCFG clock enable during sleep mode Set and reset by software. RAMCFGLPEN: u1, reserved28: u10, - /// BKPRAM clock enable during sleep mode Set and reset by software + /// BKPRAM clock enable during sleep mode Set and reset by software BKPRAMLPEN: u1, - /// ICACHE clock enable during sleep mode Set and reset by software + /// ICACHE clock enable during sleep mode Set and reset by software ICACHELPEN: u1, reserved31: u1, - /// SRAM1 clock enable during sleep mode Set and reset by software + /// SRAM1 clock enable during sleep mode Set and reset by software SRAM1LPEN: u1, }), - /// RCC AHB2 sleep clock register + /// RCC AHB2 sleep clock register AHB2LPENR: mmio.Mmio(packed struct(u32) { - /// GPIOA clock enable during sleep mode Set and reset by software. + /// GPIOA clock enable during sleep mode Set and reset by software. GPIOALPEN: u1, - /// GPIOB clock enable during sleep mode Set and reset by software. + /// GPIOB clock enable during sleep mode Set and reset by software. GPIOBLPEN: u1, - /// GPIOC clock enable during sleep mode Set and reset by software. + /// GPIOC clock enable during sleep mode Set and reset by software. GPIOCLPEN: u1, - /// GPIOD clock enable during sleep mode Set and reset by software. + /// GPIOD clock enable during sleep mode Set and reset by software. GPIODLPEN: u1, reserved7: u3, - /// GPIOH clock enable during sleep mode Set and reset by software. + /// GPIOH clock enable during sleep mode Set and reset by software. GPIOHLPEN: u1, reserved10: u2, - /// ADC1 peripherals clock enable during sleep mode Set and reset by software. + /// ADC1 peripherals clock enable during sleep mode Set and reset by software. ADC1LPEN: u1, - /// DAC clock enable during sleep mode Set and reset by software. + /// DAC clock enable during sleep mode Set and reset by software. DAC1LPEN: u1, reserved17: u5, - /// HASH clock enable during sleep mode Set and reset by software. + /// HASH clock enable during sleep mode Set and reset by software. HASHLPEN: u1, - /// RNG clock enable during sleep mode Set and reset by software. + /// RNG clock enable during sleep mode Set and reset by software. RNGLPEN: u1, reserved30: u11, - /// SRAM2 clock enable during sleep mode Set and reset by software. + /// SRAM2 clock enable during sleep mode Set and reset by software. SRAM2LPEN: u1, padding: u1, }), reserved196: [12]u8, - /// RCC APB1 sleep clock register + /// RCC APB1 sleep clock register APB1LLPENR: mmio.Mmio(packed struct(u32) { - /// TIM2 clock enable during sleep mode Set and reset by software. + /// TIM2 clock enable during sleep mode Set and reset by software. TIM2LPEN: u1, - /// TIM3 clock enable during sleep mode Set and reset by software. + /// TIM3 clock enable during sleep mode Set and reset by software. TIM3LPEN: u1, reserved4: u2, - /// TIM6 clock enable during sleep mode Set and reset by software. + /// TIM6 clock enable during sleep mode Set and reset by software. TIM6LPEN: u1, - /// TIM7 clock enable during sleep mode Set and reset by software. + /// TIM7 clock enable during sleep mode Set and reset by software. TIM7LPEN: u1, reserved11: u5, - /// WWDG clock enable during sleep mode Set and reset by software. + /// WWDG clock enable during sleep mode Set and reset by software. WWDGLPEN: u1, reserved13: u1, - /// OPAMP clock enable during sleep mode Set and reset by software. + /// OPAMP clock enable during sleep mode Set and reset by software. OPAMPLPEN: u1, - /// SPI2 clock enable during sleep mode Set and reset by software. + /// SPI2 clock enable during sleep mode Set and reset by software. SPI2LPEN: u1, - /// SPI3 clock enable during sleep mode Set and reset by software. + /// SPI3 clock enable during sleep mode Set and reset by software. SPI3LPEN: u1, - /// COMP clock enable during sleep mode Set and reset by software. + /// COMP clock enable during sleep mode Set and reset by software. COMPLPEN: u1, - /// USART2 clock enable during sleep mode Set and reset by software. + /// USART2 clock enable during sleep mode Set and reset by software. USART2LPEN: u1, - /// USART3 clock enable during sleep mode Set and reset by software. + /// USART3 clock enable during sleep mode Set and reset by software. USART3LPEN: u1, reserved21: u2, - /// I2C1 clock enable during sleep mode Set and reset by software. + /// I2C1 clock enable during sleep mode Set and reset by software. I2C1LPEN: u1, - /// I2C2 clock enable during sleep mode Set and reset by software. + /// I2C2 clock enable during sleep mode Set and reset by software. I2C2LPEN: u1, - /// I3C1 clock enable during sleep mode Set and reset by software. + /// I3C1 clock enable during sleep mode Set and reset by software. I3C1LPEN: u1, - /// CRS clock enable during sleep mode Set and reset by software. + /// CRS clock enable during sleep mode Set and reset by software. CRSLPEN: u1, padding: u7, }), - /// RCC APB1 sleep clock register + /// RCC APB1 sleep clock register APB1HLPENR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// DTS clock enable during sleep mode Set and reset by software. + /// DTS clock enable during sleep mode Set and reset by software. DTSLPEN: u1, reserved5: u1, - /// LPTIM2 clock enable during sleep mode Set and reset by software. + /// LPTIM2 clock enable during sleep mode Set and reset by software. LPTIM2LPEN: u1, reserved9: u3, - /// FDCAN1 peripheral clock enable during sleep mode Set and reset by software. + /// FDCAN1 peripheral clock enable during sleep mode Set and reset by software. FDCAN12LPEN: u1, padding: u22, }), - /// RCC APB2 sleep clock register + /// RCC APB2 sleep clock register APB2LPENR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 clock enable during sleep mode Set and reset by software. + /// TIM1 clock enable during sleep mode Set and reset by software. TIM1LPEN: u1, - /// SPI1 clock enable during sleep mode Set and reset by software. + /// SPI1 clock enable during sleep mode Set and reset by software. SPI1LPEN: u1, reserved14: u1, - /// USART1 clock enable during sleep mode Set and reset by software. + /// USART1 clock enable during sleep mode Set and reset by software. USART1LPEN: u1, reserved24: u9, - /// USB clock enable during sleep mode Set and reset by software. + /// USB clock enable during sleep mode Set and reset by software. USBLPEN: u1, padding: u7, }), - /// RCC APB3 sleep clock register + /// RCC APB3 sleep clock register APB3LPENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SBS clock enable during sleep mode Set and reset by software. + /// SBS clock enable during sleep mode Set and reset by software. SYSCFGLPEN: u1, reserved6: u4, - /// LPUART1 clock enable during sleep mode Set and reset by software. + /// LPUART1 clock enable during sleep mode Set and reset by software. LPUART1LPEN: u1, reserved9: u2, - /// I3C2 clock enable during sleep mode Set and reset by software. + /// I3C2 clock enable during sleep mode Set and reset by software. I3C2LPEN: u1, reserved11: u1, - /// LPTIM1 clock enable during sleep mode Set and reset by software. + /// LPTIM1 clock enable during sleep mode Set and reset by software. LPTIM1LPEN: u1, reserved20: u8, - /// VREF clock enable during sleep mode Set and reset by software. + /// VREF clock enable during sleep mode Set and reset by software. VREFLPEN: u1, - /// RTC APB interface clock enable during sleep mode Set and reset by software. + /// RTC APB interface clock enable during sleep mode Set and reset by software. RTCAPBLPEN: u1, padding: u10, }), reserved216: [4]u8, - /// RCC kernel clock configuration register + /// RCC kernel clock configuration register CCIPR1: mmio.Mmio(packed struct(u32) { - /// USART1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled - USART1SEL: packed union { - raw: u3, - value: USART1SEL, - }, - /// USART2 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled - USART2SEL: packed union { - raw: u3, - value: USARTSEL, - }, - /// USART3 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled - USART3SEL: packed union { - raw: u3, - value: USARTSEL, - }, + /// USART1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled + USART1SEL: USART1SEL, + /// USART2 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled + USART2SEL: USARTSEL, + /// USART3 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled + USART3SEL: USARTSEL, reserved31: u22, - /// TIM2, TIM3 and LPTIM2 input capture source selection Set and reset by software. - TIMICSEL: packed union { - raw: u1, - value: TIMICSEL, - }, + /// TIM2, TIM3 and LPTIM2 input capture source selection Set and reset by software. + TIMICSEL: TIMICSEL, }), - /// RCC kernel clock configuration register + /// RCC kernel clock configuration register CCIPR2: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// LPTIM1 kernel clock source selection others: reserved, the kernel clock is disabled - LPTIM1SEL: packed union { - raw: u3, - value: LPTIM1SEL, - }, + /// LPTIM1 kernel clock source selection others: reserved, the kernel clock is disabled + LPTIM1SEL: LPTIM1SEL, reserved12: u1, - /// LPTIM2 kernel clock source selection others: reserved, the kernel clock is disabled - LPTIM2SEL: packed union { - raw: u3, - value: LPTIM2SEL, - }, + /// LPTIM2 kernel clock source selection others: reserved, the kernel clock is disabled + LPTIM2SEL: LPTIM2SEL, padding: u17, }), - /// RCC kernel clock configuration register + /// RCC kernel clock configuration register CCIPR3: mmio.Mmio(packed struct(u32) { - /// SPI1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled - SPI1SEL: packed union { - raw: u3, - value: SPISEL, - }, - /// SPI2 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled - SPI2SEL: packed union { - raw: u3, - value: SPISEL, - }, - /// SPI3 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled - SPI3SEL: packed union { - raw: u3, - value: SPISEL, - }, + /// SPI1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled + SPI1SEL: SPISEL, + /// SPI2 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled + SPI2SEL: SPISEL, + /// SPI3 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled + SPI3SEL: SPISEL, reserved24: u15, - /// LPUART1 kernel clock source selection others: reserved, the kernel clock is disabled - LPUART1SEL: packed union { - raw: u3, - value: LPUARTSEL, - }, + /// LPUART1 kernel clock source selection others: reserved, the kernel clock is disabled + LPUART1SEL: LPUARTSEL, padding: u5, }), - /// RCC kernel clock configuration register + /// RCC kernel clock configuration register CCIPR4: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// SYSTICK clock source selection Note: rcc_hclk frequency must be four times higher than lsi_ker_ck/lse_ck (period (LSI/LSE) ≥ 4 * period (HCLK). - SYSTICKSEL: packed union { - raw: u2, - value: SYSTICKSEL, - }, - /// USB kernel clock source selection - USBSEL: packed union { - raw: u2, - value: USBSEL, - }, + /// SYSTICK clock source selection Note: rcc_hclk frequency must be four times higher than lsi_ker_ck/lse_ck (period (LSI/LSE) ≥ 4 * period (HCLK). + SYSTICKSEL: SYSTICKSEL, + /// USB kernel clock source selection + USBSEL: USBSEL, reserved16: u10, - /// I2C1 kernel clock source selection - I2C1SEL: packed union { - raw: u2, - value: I2CSEL, - }, - /// I2C2 kernel clock source selection - I2C2SEL: packed union { - raw: u2, - value: I2CSEL, - }, + /// I2C1 kernel clock source selection + I2C1SEL: I2CSEL, + /// I2C2 kernel clock source selection + I2C2SEL: I2CSEL, reserved24: u4, - /// I3C1 kernel clock source selection - I3C1SEL: packed union { - raw: u2, - value: I2CSEL, - }, - /// I3C2 kernel clock source selection - I3C2SEL: packed union { - raw: u2, - value: I3C2SEL, - }, + /// I3C1 kernel clock source selection + I3C1SEL: I2CSEL, + /// I3C2 kernel clock source selection + I3C2SEL: I3C2SEL, padding: u4, }), - /// RCC kernel clock configuration register + /// RCC kernel clock configuration register CCIPR5: mmio.Mmio(packed struct(u32) { - /// ADC and DAC kernel clock source selection others: reserved, the kernel clock is disabled - ADCDACSEL: packed union { - raw: u3, - value: ADCDACSEL, - }, - /// DAC hold clock - DACHOLDSEL: packed union { - raw: u1, - value: DACHOLDSEL, - }, - /// RNG kernel clock source selection - RNGSEL: packed union { - raw: u2, - value: RNGSEL, - }, + /// ADC and DAC kernel clock source selection others: reserved, the kernel clock is disabled + ADCDACSEL: ADCDACSEL, + /// DAC hold clock + DACHOLDSEL: DACHOLDSEL, + /// RNG kernel clock source selection + RNGSEL: RNGSEL, reserved8: u2, - /// FDCAN1 kernel clock source selection - FDCAN12SEL: packed union { - raw: u2, - value: FDCANSEL, - }, + /// FDCAN1 kernel clock source selection + FDCAN12SEL: FDCANSEL, reserved30: u20, - /// per_ck clock source selection - PERSEL: packed union { - raw: u2, - value: PERSEL, - }, + /// per_ck clock source selection + PERSEL: PERSEL, }), reserved240: [4]u8, - /// RCC Backup domain control register + /// RCC Backup domain control register BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enabled Set and reset by software. + /// LSE oscillator enabled Set and reset by software. LSEON: u1, - /// LSE oscillator ready Set and reset by hardware to indicate when the LSE is stable. This bit needs 6 cycles of lse_ck clock to fall down after LSEON has been set to 0. + /// LSE oscillator ready Set and reset by hardware to indicate when the LSE is stable. This bit needs 6 cycles of lse_ck clock to fall down after LSEON has been set to 0. LSERDY: u1, - /// LSE oscillator bypass Set and reset by software to bypass oscillator in debug mode. This bit must not be written when the LSE is enabled (by LSEON) or ready (LSERDY = 1) + /// LSE oscillator bypass Set and reset by software to bypass oscillator in debug mode. This bit must not be written when the LSE is enabled (by LSEON) or ready (LSERDY = 1) LSEBYP: u1, - /// LSE oscillator driving capability Set by software to select the driving capability of the LSE oscillator. These bit can be written only if LSE oscillator is disabled (LSEON = 0 and LSERDY = 0). - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// LSE clock security system enable Set by software to enable the clock security system on 32 kHz oscillator. LSECSSON must be enabled after LSE is enabled (LSEON enabled) and ready (LSERDY set by hardware) and after RTCSEL is selected. Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD = 1). In that case the software must disable LSECSSON. + /// LSE oscillator driving capability Set by software to select the driving capability of the LSE oscillator. These bit can be written only if LSE oscillator is disabled (LSEON = 0 and LSERDY = 0). + LSEDRV: LSEDRV, + /// LSE clock security system enable Set by software to enable the clock security system on 32 kHz oscillator. LSECSSON must be enabled after LSE is enabled (LSEON enabled) and ready (LSERDY set by hardware) and after RTCSEL is selected. Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD = 1). In that case the software must disable LSECSSON. LSECSSON: u1, - /// LSE clock security system failure detection Set by hardware to indicate when a failure has been detected by the clock security system on the external 32 kHz oscillator. + /// LSE clock security system failure detection Set by hardware to indicate when a failure has been detected by the clock security system on the external 32 kHz oscillator. LSECSSD: u1, - /// low-speed external clock type in bypass mode Set and reset by software to select the external clock type (analog or digital). The external clock must be enabled with the LSEON bit, to be used by the device. The LSEEXT bit can be written only if the LSE oscillator is disabled. - LSEEXT: packed union { - raw: u1, - value: LSEEXT, - }, - /// RTC clock source selection Set by software to select the clock source for the RTC. These bits can be written only one time (except in case of failure detection on LSE). These bits must be written before LSECSSON is enabled. The VSWRST bit can be used to reset them, then it can be written one time again. If HSE is selected as RTC clock, this clock is lost when the system is in Stop mode or in case of a pin reset (NRST). - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// low-speed external clock type in bypass mode Set and reset by software to select the external clock type (analog or digital). The external clock must be enabled with the LSEON bit, to be used by the device. The LSEEXT bit can be written only if the LSE oscillator is disabled. + LSEEXT: LSEEXT, + /// RTC clock source selection Set by software to select the clock source for the RTC. These bits can be written only one time (except in case of failure detection on LSE). These bits must be written before LSECSSON is enabled. The VSWRST bit can be used to reset them, then it can be written one time again. If HSE is selected as RTC clock, this clock is lost when the system is in Stop mode or in case of a pin reset (NRST). + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable Set and reset by software. + /// RTC clock enable Set and reset by software. RTCEN: u1, - /// VSwitch domain software reset Set and reset by software. + /// VSwitch domain software reset Set and reset by software. VSWRST: u1, reserved24: u7, - /// Low-speed clock output (LSCO) enable Set and cleared by software. + /// Low-speed clock output (LSCO) enable Set and cleared by software. LSCOEN: u1, - /// Low-speed clock output selection Set and cleared by software. - LSCOSEL: packed union { - raw: u1, - value: LSCOSEL, - }, - /// LSI oscillator enable Set and cleared by software. + /// Low-speed clock output selection Set and cleared by software. + LSCOSEL: LSCOSEL, + /// LSI oscillator enable Set and cleared by software. LSION: u1, - /// LSI oscillator ready Set and cleared by hardware to indicate when the LSI oscillator is stable. After the LSION bit is cleared, LSIRDY goes low after three internal low-speed oscillator clock cycles. This bit is set when the LSI is used by IWDG or RTC, even if LSION = 0. + /// LSI oscillator ready Set and cleared by hardware to indicate when the LSI oscillator is stable. After the LSION bit is cleared, LSIRDY goes low after three internal low-speed oscillator clock cycles. This bit is set when the LSI is used by IWDG or RTC, even if LSION = 0. LSIRDY: u1, padding: u4, }), - /// RCC reset status register + /// RCC reset status register RSR: mmio.Mmio(packed struct(u32) { reserved23: u23, - /// remove reset flag Set and reset by software to reset the value of the reset flags. + /// remove reset flag Set and reset by software to reset the value of the reset flags. RMVF: u1, reserved26: u2, - /// pin reset flag (NRST) Reset by software by writing the RMVF bit. Set by hardware when a reset from pin occurs. + /// pin reset flag (NRST) Reset by software by writing the RMVF bit. Set by hardware when a reset from pin occurs. PINRSTF: u1, - /// BOR reset flag Reset by software by writing the RMVF bit. Set by hardware when a BOR reset occurs (pwr_bor_rst). + /// BOR reset flag Reset by software by writing the RMVF bit. Set by hardware when a BOR reset occurs (pwr_bor_rst). BORRSTF: u1, - /// system reset from CPU reset flag Reset by software by writing the RMVF bit. Set by hardware when the system reset is due to CPU.The CPU can generate a system reset by writing SYSRESETREQ bit of AIRCR register of the core M33. + /// system reset from CPU reset flag Reset by software by writing the RMVF bit. Set by hardware when the system reset is due to CPU.The CPU can generate a system reset by writing SYSRESETREQ bit of AIRCR register of the core M33. SFTRSTF: u1, - /// independent watchdog reset flag Reset by software by writing the RMVF bit. Set by hardware when an independent watchdog reset occurs. + /// independent watchdog reset flag Reset by software by writing the RMVF bit. Set by hardware when an independent watchdog reset occurs. IWDGRSTF: u1, - /// window watchdog reset flag Reset by software by writing the RMVF bit. Set by hardware when a window watchdog reset occurs. + /// window watchdog reset flag Reset by software by writing the RMVF bit. Set by hardware when a window watchdog reset occurs. WWDGRSTF: u1, - /// Low-power reset flag Set by hardware when a reset occurs due to Stop or Standby mode entry, whereas the corresponding nRST_STOP, nRST_STBY option bit is cleared. Cleared by writing to the RMVF bit. + /// Low-power reset flag Set by hardware when a reset occurs due to Stop or Standby mode entry, whereas the corresponding nRST_STOP, nRST_STBY option bit is cleared. Cleared by writing to the RMVF bit. LPWRRSTF: u1, }), }; @@ -386062,251 +379765,251 @@ pub const types = struct { pub const rcc_h7 = struct { pub const ADCSEL = enum(u2) { - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x2, _, }; pub const CECSEL = enum(u2) { - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x0, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x1, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x2, _, }; pub const DFSDMSEL = enum(u1) { - /// rcc_pclk2 selected as peripheral clock + /// rcc_pclk2 selected as peripheral clock PCLK2 = 0x0, - /// System clock selected as peripheral clock + /// System clock selected as peripheral clock SYS = 0x1, }; pub const DSISEL = enum(u1) { - /// DSI-PHY used as DSI byte lane clock source (usual case) + /// DSI-PHY used as DSI byte lane clock source (usual case) DSI_PHY = 0x0, - /// PLL2_Q used as DSI byte lane clock source, used in case DSI PLL and DSI-PHY are off (low power mode) + /// PLL2_Q used as DSI byte lane clock source, used in case DSI PLL and DSI-PHY are off (low power mode) PLL2_Q = 0x1, }; pub const FDCANSEL = enum(u2) { - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x0, - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x1, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x2, _, }; pub const FMCSEL = enum(u2) { - /// AHB3 selected as peripheral clock + /// AHB3 selected as peripheral clock HCLK3 = 0x0, - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x1, - /// pll2_r selected as peripheral clock + /// pll2_r selected as peripheral clock PLL2_R = 0x2, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x3, }; pub const HPRE = enum(u4) { - /// sys_ck not divided + /// sys_ck not divided Div1 = 0x0, - /// sys_ck divided by 2 + /// sys_ck divided by 2 Div2 = 0x8, - /// sys_ck divided by 4 + /// sys_ck divided by 4 Div4 = 0x9, - /// sys_ck divided by 8 + /// sys_ck divided by 8 Div8 = 0xa, - /// sys_ck divided by 16 + /// sys_ck divided by 16 Div16 = 0xb, - /// sys_ck divided by 64 + /// sys_ck divided by 64 Div64 = 0xc, - /// sys_ck divided by 128 + /// sys_ck divided by 128 Div128 = 0xd, - /// sys_ck divided by 256 + /// sys_ck divided by 256 Div256 = 0xe, - /// sys_ck divided by 512 + /// sys_ck divided by 512 Div512 = 0xf, _, }; pub const HRTIMSEL = enum(u1) { - /// The HRTIM prescaler clock source is the same as other timers (rcc_timy_ker_ck) + /// The HRTIM prescaler clock source is the same as other timers (rcc_timy_ker_ck) TIMY_KER = 0x0, - /// The HRTIM prescaler clock source is the CPU clock (c_ck) + /// The HRTIM prescaler clock source is the CPU clock (c_ck) C_CK = 0x1, }; pub const HSIDIV = enum(u2) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x1, - /// Division by 4 + /// Division by 4 Div4 = 0x2, - /// Division by 8 + /// Division by 8 Div8 = 0x3, }; pub const I2C1235SEL = enum(u2) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x2, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x3, }; pub const I2C4SEL = enum(u2) { - /// rcc_pclk4 selected as peripheral clock + /// rcc_pclk4 selected as peripheral clock PCLK4 = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x2, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x3, }; pub const LPTIM1SEL = enum(u3) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x2, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x3, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x4, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x5, _, }; pub const LPTIM2SEL = enum(u3) { - /// rcc_pclk4 selected as peripheral clock + /// rcc_pclk4 selected as peripheral clock PCLK4 = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x2, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x3, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x4, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x5, _, }; pub const LPUARTSEL = enum(u3) { - /// rcc_pclk_d4 selected as peripheral clock + /// rcc_pclk_d4 selected as peripheral clock PCLK4 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCO1SEL = enum(u3) { - /// HSI selected for micro-controller clock output + /// HSI selected for micro-controller clock output HSI = 0x0, - /// LSE selected for micro-controller clock output + /// LSE selected for micro-controller clock output LSE = 0x1, - /// HSE selected for micro-controller clock output + /// HSE selected for micro-controller clock output HSE = 0x2, - /// pll1_q selected for micro-controller clock output + /// pll1_q selected for micro-controller clock output PLL1_Q = 0x3, - /// HSI48 selected for micro-controller clock output + /// HSI48 selected for micro-controller clock output HSI48 = 0x4, _, }; pub const MCO2SEL = enum(u3) { - /// System clock selected for micro-controller clock output + /// System clock selected for micro-controller clock output SYS = 0x0, - /// pll2_p selected for micro-controller clock output + /// pll2_p selected for micro-controller clock output PLL2_P = 0x1, - /// HSE selected for micro-controller clock output + /// HSE selected for micro-controller clock output HSE = 0x2, - /// pll1_p selected for micro-controller clock output + /// pll1_p selected for micro-controller clock output PLL1_P = 0x3, - /// CSI selected for micro-controller clock output + /// CSI selected for micro-controller clock output CSI = 0x4, - /// LSI selected for micro-controller clock output + /// LSI selected for micro-controller clock output LSI = 0x5, _, }; pub const MCOPRE = enum(u4) { - /// Divide by 1 + /// Divide by 1 Div1 = 0x1, - /// Divide by 2 + /// Divide by 2 Div2 = 0x2, - /// Divide by 3 + /// Divide by 3 Div3 = 0x3, - /// Divide by 4 + /// Divide by 4 Div4 = 0x4, - /// Divide by 5 + /// Divide by 5 Div5 = 0x5, - /// Divide by 6 + /// Divide by 6 Div6 = 0x6, - /// Divide by 7 + /// Divide by 7 Div7 = 0x7, - /// Divide by 8 + /// Divide by 8 Div8 = 0x8, - /// Divide by 9 + /// Divide by 9 Div9 = 0x9, - /// Divide by 10 + /// Divide by 10 Div10 = 0xa, - /// Divide by 11 + /// Divide by 11 Div11 = 0xb, - /// Divide by 12 + /// Divide by 12 Div12 = 0xc, - /// Divide by 13 + /// Divide by 13 Div13 = 0xd, - /// Divide by 14 + /// Divide by 14 Div14 = 0xe, - /// Divide by 15 + /// Divide by 15 Div15 = 0xf, _, }; pub const PERSEL = enum(u2) { - /// HSI selected as peripheral clock + /// HSI selected as peripheral clock HSI = 0x0, - /// CSI selected as peripheral clock + /// CSI selected as peripheral clock CSI = 0x1, - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x2, _, }; @@ -387022,2368 +380725,2203 @@ pub const types = struct { }; pub const PLLRGE = enum(u2) { - /// Frequency is between 1 and 2 MHz + /// Frequency is between 1 and 2 MHz Range1 = 0x0, - /// Frequency is between 2 and 4 MHz + /// Frequency is between 2 and 4 MHz Range2 = 0x1, - /// Frequency is between 4 and 8 MHz + /// Frequency is between 4 and 8 MHz Range4 = 0x2, - /// Frequency is between 8 and 16 MHz + /// Frequency is between 8 and 16 MHz Range8 = 0x3, }; pub const PLLSRC = enum(u2) { - /// HSI selected as PLL clock + /// HSI selected as PLL clock HSI = 0x0, - /// CSI selected as PLL clock + /// CSI selected as PLL clock CSI = 0x1, - /// HSE selected as PLL clock + /// HSE selected as PLL clock HSE = 0x2, - /// No clock sent to DIVMx dividers and PLLs + /// No clock sent to DIVMx dividers and PLLs DISABLE = 0x3, }; pub const PLLVCOSEL = enum(u1) { - /// VCO frequency range 192 to 836 MHz + /// VCO frequency range 192 to 836 MHz WideVCO = 0x0, - /// VCO frequency range 150 to 420 MHz + /// VCO frequency range 150 to 420 MHz MediumVCO = 0x1, }; pub const PPRE = enum(u3) { - /// rcc_hclk not divided + /// rcc_hclk not divided Div1 = 0x0, - /// rcc_hclk divided by 2 + /// rcc_hclk divided by 2 Div2 = 0x4, - /// rcc_hclk divided by 4 + /// rcc_hclk divided by 4 Div4 = 0x5, - /// rcc_hclk divided by 8 + /// rcc_hclk divided by 8 Div8 = 0x6, - /// rcc_hclk divided by 16 + /// rcc_hclk divided by 16 Div16 = 0x7, _, }; pub const RNGSEL = enum(u2) { - /// HSI48 selected as peripheral clock + /// HSI48 selected as peripheral clock HSI48 = 0x0, - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x1, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x2, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x3, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SAIASEL = enum(u3) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_p selected as peripheral clock + /// pll3_p selected as peripheral clock PLL3_P = 0x2, - /// i2s_ckin selected as peripheral clock + /// i2s_ckin selected as peripheral clock I2S_CKIN = 0x3, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x4, _, }; pub const SAISEL = enum(u3) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_p selected as peripheral clock + /// pll3_p selected as peripheral clock PLL3_P = 0x2, - /// I2S_CKIN selected as peripheral clock + /// I2S_CKIN selected as peripheral clock I2S_CKIN = 0x3, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x4, _, }; pub const SDMMCSEL = enum(u1) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_r selected as peripheral clock + /// pll2_r selected as peripheral clock PLL2_R = 0x1, }; pub const SPDIFRXSEL = enum(u2) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_r selected as peripheral clock + /// pll2_r selected as peripheral clock PLL2_R = 0x1, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, }; pub const SPI45SEL = enum(u3) { - /// APB2 clock selected as peripheral clock + /// APB2 clock selected as peripheral clock PCLK2 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x5, _, }; pub const SPI6SEL = enum(u3) { - /// rcc_pclk4 selected as peripheral clock + /// rcc_pclk4 selected as peripheral clock PCLK4 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x5, _, }; pub const STOPWUCK = enum(u1) { - /// HSI selected as wake up clock from system Stop + /// HSI selected as wake up clock from system Stop HSI = 0x0, - /// CSI selected as wake up clock from system Stop + /// CSI selected as wake up clock from system Stop CSI = 0x1, }; pub const SW = enum(u3) { - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x0, - /// CSI selected as system clock + /// CSI selected as system clock CSI = 0x1, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x2, - /// PLL1 selected as system clock + /// PLL1 selected as system clock PLL1_P = 0x3, _, }; pub const SWPMISEL = enum(u1) { - /// pclk selected as peripheral clock + /// pclk selected as peripheral clock PCLK1 = 0x0, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x1, }; pub const TIMPRE = enum(u1) { - /// Timer kernel clock equal to 2x pclk by default + /// Timer kernel clock equal to 2x pclk by default DefaultX2 = 0x0, - /// Timer kernel clock equal to 4x pclk by default + /// Timer kernel clock equal to 4x pclk by default DefaultX4 = 0x1, }; pub const USART16910SEL = enum(u3) { - /// rcc_pclk2 selected as peripheral clock + /// rcc_pclk2 selected as peripheral clock PCLK2 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const USART234578SEL = enum(u3) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const USBSEL = enum(u2) { - /// Disable the kernel clock + /// Disable the kernel clock DISABLE = 0x0, - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// HSI48 selected as peripheral clock + /// HSI48 selected as peripheral clock HSI48 = 0x3, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// clock control register + /// clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal high-speed clock enable + /// Internal high-speed clock enable HSION: u1, - /// High Speed Internal clock enable in Stop mode + /// High Speed Internal clock enable in Stop mode HSIKERON: u1, - /// HSI clock ready flag + /// HSI clock ready flag HSIRDY: u1, - /// HSI clock divider - HSIDIV: packed union { - raw: u2, - value: HSIDIV, - }, - /// HSI divider flag + /// HSI clock divider + HSIDIV: HSIDIV, + /// HSI divider flag HSIDIVF: u1, reserved7: u1, - /// CSI clock enable + /// CSI clock enable CSION: u1, - /// CSI clock ready flag + /// CSI clock ready flag CSIRDY: u1, - /// CSI clock enable in Stop mode + /// CSI clock enable in Stop mode CSIKERON: u1, reserved12: u2, - /// RC48 clock enable + /// RC48 clock enable HSI48ON: u1, - /// RC48 clock ready flag + /// RC48 clock ready flag HSI48RDY: u1, - /// D1 domain clocks ready flag + /// D1 domain clocks ready flag D1CKRDY: u1, - /// D2 domain clocks ready flag + /// D2 domain clocks ready flag D2CKRDY: u1, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE clock bypass + /// HSE clock bypass HSEBYP: u1, - /// HSE Clock Security System enable + /// HSE Clock Security System enable HSECSSON: u1, reserved24: u4, - /// PLL1 enable + /// PLL1 enable PLLON: u1, - /// PLL1 clock ready flag + /// PLL1 clock ready flag PLLRDY: u1, padding: u6, }), - /// RCC HSI configuration register + /// RCC HSI configuration register HSICFGR: mmio.Mmio(packed struct(u32) { - /// HSI clock calibration + /// HSI clock calibration HSICAL: u12, reserved24: u12, - /// HSI clock trimming + /// HSI clock trimming HSITRIM: u7, padding: u1, }), - /// RCC Clock Recovery RC Register + /// RCC Clock Recovery RC Register CRRCR: mmio.Mmio(packed struct(u32) { - /// Internal RC 48 MHz clock calibration + /// Internal RC 48 MHz clock calibration HSI48CAL: u10, padding: u22, }), - /// RCC CSI configuration register + /// RCC CSI configuration register CSICFGR: mmio.Mmio(packed struct(u32) { - /// CSI clock calibration + /// CSI clock calibration CSICAL: u9, reserved24: u15, - /// CSI clock trimming + /// CSI clock trimming CSITRIM: u6, padding: u2, }), - /// RCC Clock Configuration Register + /// RCC Clock Configuration Register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u3, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u3, - value: SW, - }, - /// System clock selection after a wake up from system Stop - STOPWUCK: packed union { - raw: u1, - value: STOPWUCK, - }, - /// Kernel clock selection after a wake up from system Stop - STOPKERWUCK: packed union { - raw: u1, - value: STOPWUCK, - }, - /// HSE division factor for RTC clock + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// System clock selection after a wake up from system Stop + STOPWUCK: STOPWUCK, + /// Kernel clock selection after a wake up from system Stop + STOPKERWUCK: STOPWUCK, + /// HSE division factor for RTC clock RTCPRE: u6, - /// High Resolution Timer clock prescaler selection - HRTIMSEL: packed union { - raw: u1, - value: HRTIMSEL, - }, - /// Timers clocks prescaler selection - TIMPRE: packed union { - raw: u1, - value: TIMPRE, - }, + /// High Resolution Timer clock prescaler selection + HRTIMSEL: HRTIMSEL, + /// Timers clocks prescaler selection + TIMPRE: TIMPRE, reserved18: u2, - /// MCO1 prescaler - MCO1PRE: packed union { - raw: u4, - value: MCOPRE, - }, - /// Micro-controller clock output 1 - MCO1SEL: packed union { - raw: u3, - value: MCO1SEL, - }, - /// MCO2 prescaler - MCO2PRE: packed union { - raw: u4, - value: MCOPRE, - }, - /// Micro-controller clock output 2 - MCO2SEL: packed union { - raw: u3, - value: MCO2SEL, - }, + /// MCO1 prescaler + MCO1PRE: MCOPRE, + /// Micro-controller clock output 1 + MCO1SEL: MCO1SEL, + /// MCO2 prescaler + MCO2PRE: MCOPRE, + /// Micro-controller clock output 2 + MCO2SEL: MCO2SEL, }), reserved24: [4]u8, - /// RCC Domain 1 Clock Configuration Register + /// RCC Domain 1 Clock Configuration Register D1CFGR: mmio.Mmio(packed struct(u32) { - /// D1 domain AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// D1 domain APB3 prescaler - D1PPRE: packed union { - raw: u3, - value: PPRE, - }, + /// D1 domain AHB prescaler + HPRE: HPRE, + /// D1 domain APB3 prescaler + D1PPRE: PPRE, reserved8: u1, - /// D1 domain Core prescaler - D1CPRE: packed union { - raw: u4, - value: HPRE, - }, + /// D1 domain Core prescaler + D1CPRE: HPRE, padding: u20, }), - /// RCC Domain 2 Clock Configuration Register + /// RCC Domain 2 Clock Configuration Register D2CFGR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// D2 domain APB1 prescaler - D2PPRE1: packed union { - raw: u3, - value: PPRE, - }, + /// D2 domain APB1 prescaler + D2PPRE1: PPRE, reserved8: u1, - /// D2 domain APB2 prescaler - D2PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// D2 domain APB2 prescaler + D2PPRE2: PPRE, padding: u21, }), - /// RCC Domain 3 Clock Configuration Register + /// RCC Domain 3 Clock Configuration Register D3CFGR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// D3 domain APB4 prescaler - D3PPRE: packed union { - raw: u3, - value: PPRE, - }, + /// D3 domain APB4 prescaler + D3PPRE: PPRE, padding: u25, }), reserved40: [4]u8, - /// RCC PLLs Clock Source Selection Register + /// RCC PLLs Clock Source Selection Register PLLCKSELR: mmio.Mmio(packed struct(u32) { - /// DIVMx and PLLs clock source selection - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, + /// DIVMx and PLLs clock source selection + PLLSRC: PLLSRC, reserved4: u2, - /// Prescaler for PLL1 - DIVM: packed union { - raw: u6, - value: PLLM, - }, + /// Prescaler for PLL1 + DIVM: PLLM, padding: u22, }), - /// RCC PLLs Configuration Register + /// RCC PLLs Configuration Register PLLCFGR: mmio.Mmio(packed struct(u32) { - /// PLL1 fractional latch enable + /// PLL1 fractional latch enable PLLFRACEN: u1, - /// PLL1 VCO selection - PLLVCOSEL: packed union { - raw: u1, - value: PLLVCOSEL, - }, - /// PLL1 input frequency range - PLLRGE: packed union { - raw: u2, - value: PLLRGE, - }, + /// PLL1 VCO selection + PLLVCOSEL: PLLVCOSEL, + /// PLL1 input frequency range + PLLRGE: PLLRGE, reserved16: u12, - /// PLL1 DIVP divider output enable + /// PLL1 DIVP divider output enable DIVPEN: u1, - /// PLL1 DIVQ divider output enable + /// PLL1 DIVQ divider output enable DIVQEN: u1, - /// PLL1 DIVR divider output enable + /// PLL1 DIVR divider output enable DIVREN: u1, padding: u13, }), - /// RCC PLL1 Dividers Configuration Register + /// RCC PLL1 Dividers Configuration Register PLLDIVR: mmio.Mmio(packed struct(u32) { - /// Multiplication factor for PLL1 VCO - PLLN: packed union { - raw: u9, - value: PLLN, - }, - /// PLL DIVP division factor - PLLP: packed union { - raw: u7, - value: PLLDIV, - }, - /// PLL DIVQ division factor - PLLQ: packed union { - raw: u7, - value: PLLDIV, - }, + /// Multiplication factor for PLL1 VCO + PLLN: PLLN, + /// PLL DIVP division factor + PLLP: PLLDIV, + /// PLL DIVQ division factor + PLLQ: PLLDIV, reserved24: u1, - /// PLL DIVR division factor - PLLR: packed union { - raw: u7, - value: PLLDIV, - }, + /// PLL DIVR division factor + PLLR: PLLDIV, padding: u1, }), - /// RCC PLL1 Fractional Divider Register + /// RCC PLL1 Fractional Divider Register PLLFRACR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Fractional part of the multiplication factor for PLL VCO + /// Fractional part of the multiplication factor for PLL VCO FRACN: u13, padding: u16, }), reserved76: [20]u8, - /// RCC Domain 1 Kernel Clock Configuration Register + /// RCC Domain 1 Kernel Clock Configuration Register D1CCIPR: mmio.Mmio(packed struct(u32) { - /// FMC kernel clock source selection - FMCSEL: packed union { - raw: u2, - value: FMCSEL, - }, + /// FMC kernel clock source selection + FMCSEL: FMCSEL, reserved4: u2, - /// OCTOSPI kernel clock source selection - OCTOSPISEL: packed union { - raw: u2, - value: FMCSEL, - }, + /// OCTOSPI kernel clock source selection + OCTOSPISEL: FMCSEL, reserved8: u2, - /// DSI clock source selection (not available on all chips) - DSISEL: packed union { - raw: u1, - value: DSISEL, - }, + /// DSI clock source selection (not available on all chips) + DSISEL: DSISEL, reserved16: u7, - /// SDMMC kernel clock source selection - SDMMCSEL: packed union { - raw: u1, - value: SDMMCSEL, - }, + /// SDMMC kernel clock source selection + SDMMCSEL: SDMMCSEL, reserved28: u11, - /// per_ck clock source selection - PERSEL: packed union { - raw: u2, - value: PERSEL, - }, + /// per_ck clock source selection + PERSEL: PERSEL, padding: u2, }), - /// RCC Domain 2 Kernel Clock Configuration Register + /// RCC Domain 2 Kernel Clock Configuration Register D2CCIP1R: mmio.Mmio(packed struct(u32) { - /// SAI1 and DFSDM1 kernel Aclk clock source selection - SAI1SEL: packed union { - raw: u3, - value: SAISEL, - }, + /// SAI1 and DFSDM1 kernel Aclk clock source selection + SAI1SEL: SAISEL, reserved6: u3, - /// SAI2 and SAI3 kernel clock source selection - SAI23SEL: packed union { - raw: u3, - value: SAISEL, - }, + /// SAI2 and SAI3 kernel clock source selection + SAI23SEL: SAISEL, reserved12: u3, - /// SPI/I2S1,2 and 3 kernel clock source selection - SPI123SEL: packed union { - raw: u3, - value: SAISEL, - }, + /// SPI/I2S1,2 and 3 kernel clock source selection + SPI123SEL: SAISEL, reserved16: u1, - /// SPI4 and 5 kernel clock source selection - SPI45SEL: packed union { - raw: u3, - value: SPI45SEL, - }, + /// SPI4 and 5 kernel clock source selection + SPI45SEL: SPI45SEL, reserved20: u1, - /// SPDIFRX kernel clock source selection - SPDIFRXSEL: packed union { - raw: u2, - value: SPDIFRXSEL, - }, + /// SPDIFRX kernel clock source selection + SPDIFRXSEL: SPDIFRXSEL, reserved24: u2, - /// DFSDM1 kernel Clk clock source selection - DFSDM1SEL: packed union { - raw: u1, - value: DFSDMSEL, - }, + /// DFSDM1 kernel Clk clock source selection + DFSDM1SEL: DFSDMSEL, reserved28: u3, - /// FDCAN kernel clock source selection - FDCANSEL: packed union { - raw: u2, - value: FDCANSEL, - }, + /// FDCAN kernel clock source selection + FDCANSEL: FDCANSEL, reserved31: u1, - /// SWPMI kernel clock source selection - SWPMISEL: packed union { - raw: u1, - value: SWPMISEL, - }, + /// SWPMI kernel clock source selection + SWPMISEL: SWPMISEL, }), - /// RCC Domain 2 Kernel Clock Configuration Register + /// RCC Domain 2 Kernel Clock Configuration Register D2CCIP2R: mmio.Mmio(packed struct(u32) { - /// USART2/3, UART4,5, 7/8 (APB1) kernel clock source selection - USART234578SEL: packed union { - raw: u3, - value: USART234578SEL, - }, - /// USART1, 6, 9 and 10 kernel clock source selection - USART16910SEL: packed union { - raw: u3, - value: USART16910SEL, - }, + /// USART2/3, UART4,5, 7/8 (APB1) kernel clock source selection + USART234578SEL: USART234578SEL, + /// USART1, 6, 9 and 10 kernel clock source selection + USART16910SEL: USART16910SEL, reserved8: u2, - /// RNG kernel clock source selection - RNGSEL: packed union { - raw: u2, - value: RNGSEL, - }, + /// RNG kernel clock source selection + RNGSEL: RNGSEL, reserved12: u2, - /// I2C1,2,3 kernel clock source selection - I2C1235SEL: packed union { - raw: u2, - value: I2C1235SEL, - }, + /// I2C1,2,3 kernel clock source selection + I2C1235SEL: I2C1235SEL, reserved20: u6, - /// USBOTG 1 and 2 kernel clock source selection - USBSEL: packed union { - raw: u2, - value: USBSEL, - }, - /// HDMI-CEC kernel clock source selection - CECSEL: packed union { - raw: u2, - value: CECSEL, - }, + /// USBOTG 1 and 2 kernel clock source selection + USBSEL: USBSEL, + /// HDMI-CEC kernel clock source selection + CECSEL: CECSEL, reserved28: u4, - /// LPTIM1 kernel clock source selection - LPTIM1SEL: packed union { - raw: u3, - value: LPTIM1SEL, - }, + /// LPTIM1 kernel clock source selection + LPTIM1SEL: LPTIM1SEL, padding: u1, }), - /// RCC Domain 3 Kernel Clock Configuration Register + /// RCC Domain 3 Kernel Clock Configuration Register D3CCIPR: mmio.Mmio(packed struct(u32) { - /// LPUART1 kernel clock source selection - LPUART1SEL: packed union { - raw: u3, - value: LPUARTSEL, - }, + /// LPUART1 kernel clock source selection + LPUART1SEL: LPUARTSEL, reserved8: u5, - /// I2C4 kernel clock source selection - I2C4SEL: packed union { - raw: u2, - value: I2C4SEL, - }, - /// LPTIM2 kernel clock source selection - LPTIM2SEL: packed union { - raw: u3, - value: LPTIM2SEL, - }, - /// LPTIM3,4,5 kernel clock source selection - LPTIM345SEL: packed union { - raw: u3, - value: LPTIM2SEL, - }, - /// SAR ADC kernel clock source selection - ADCSEL: packed union { - raw: u2, - value: ADCSEL, - }, + /// I2C4 kernel clock source selection + I2C4SEL: I2C4SEL, + /// LPTIM2 kernel clock source selection + LPTIM2SEL: LPTIM2SEL, + /// LPTIM3,4,5 kernel clock source selection + LPTIM345SEL: LPTIM2SEL, + /// SAR ADC kernel clock source selection + ADCSEL: ADCSEL, reserved21: u3, - /// Sub-Block A of SAI4 kernel clock source selection - SAI4ASEL: packed union { - raw: u3, - value: SAIASEL, - }, - /// Sub-Block B of SAI4 kernel clock source selection - SAI4BSEL: packed union { - raw: u3, - value: SAIASEL, - }, - /// DFSDM2 kernel clock source selection + /// Sub-Block A of SAI4 kernel clock source selection + SAI4ASEL: SAIASEL, + /// Sub-Block B of SAI4 kernel clock source selection + SAI4BSEL: SAIASEL, + /// DFSDM2 kernel clock source selection DFSDM2SEL: u1, - /// SPI6 kernel clock source selection - SPI6SEL: packed union { - raw: u3, - value: SPI6SEL, - }, + /// SPI6 kernel clock source selection + SPI6SEL: SPI6SEL, padding: u1, }), reserved96: [4]u8, - /// RCC Clock Source Interrupt Enable Register + /// RCC Clock Source Interrupt Enable Register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready Interrupt Enable + /// LSI ready Interrupt Enable LSIRDYIE: u1, - /// LSE ready Interrupt Enable + /// LSE ready Interrupt Enable LSERDYIE: u1, - /// HSI ready Interrupt Enable + /// HSI ready Interrupt Enable HSIRDYIE: u1, - /// HSE ready Interrupt Enable + /// HSE ready Interrupt Enable HSERDYIE: u1, - /// CSI ready Interrupt Enable + /// CSI ready Interrupt Enable CSIRDYIE: u1, - /// RC48 ready Interrupt Enable + /// RC48 ready Interrupt Enable HSI48RDYIE: u1, - /// PLL1 ready Interrupt Enable + /// PLL1 ready Interrupt Enable PLLRDYIE: u1, reserved9: u2, - /// LSE clock security system Interrupt Enable + /// LSE clock security system Interrupt Enable LSECSSIE: u1, padding: u22, }), - /// RCC Clock Source Interrupt Flag Register + /// RCC Clock Source Interrupt Flag Register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready Interrupt Flag + /// LSI ready Interrupt Flag LSIRDYF: u1, - /// LSE ready Interrupt Flag + /// LSE ready Interrupt Flag LSERDYF: u1, - /// HSI ready Interrupt Flag + /// HSI ready Interrupt Flag HSIRDYF: u1, - /// HSE ready Interrupt Flag + /// HSE ready Interrupt Flag HSERDYF: u1, - /// CSI ready Interrupt Flag + /// CSI ready Interrupt Flag CSIRDY: u1, - /// RC48 ready Interrupt Flag + /// RC48 ready Interrupt Flag HSI48RDYF: u1, - /// PLL1 ready Interrupt Flag + /// PLL1 ready Interrupt Flag PLLRDYF: u1, reserved9: u2, - /// LSE clock security system Interrupt Flag + /// LSE clock security system Interrupt Flag LSECSSF: u1, - /// HSE clock security system Interrupt Flag + /// HSE clock security system Interrupt Flag HSECSSF: u1, padding: u21, }), - /// RCC Clock Source Interrupt Clear Register + /// RCC Clock Source Interrupt Clear Register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready Interrupt Clear + /// LSI ready Interrupt Clear LSIRDYC: u1, - /// LSE ready Interrupt Clear + /// LSE ready Interrupt Clear LSERDYC: u1, - /// HSI ready Interrupt Clear + /// HSI ready Interrupt Clear HSIRDYC: u1, - /// HSE ready Interrupt Clear + /// HSE ready Interrupt Clear HSERDYC: u1, - /// CSI ready Interrupt Clear + /// CSI ready Interrupt Clear HSE_ready_Interrupt_Clear: u1, - /// RC48 ready Interrupt Clear + /// RC48 ready Interrupt Clear HSI48RDYC: u1, - /// PLL1 ready Interrupt Clear + /// PLL1 ready Interrupt Clear PLLRDYC: u1, reserved9: u2, - /// LSE clock security system Interrupt Clear + /// LSE clock security system Interrupt Clear LSECSSC: u1, - /// HSE clock security system Interrupt Clear + /// HSE clock security system Interrupt Clear HSECSSC: u1, padding: u21, }), reserved112: [4]u8, - /// RCC Backup Domain Control Register + /// RCC Backup Domain Control Register BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enabled + /// LSE oscillator enabled LSEON: u1, - /// LSE oscillator ready + /// LSE oscillator ready LSERDY: u1, - /// LSE oscillator bypass + /// LSE oscillator bypass LSEBYP: u1, - /// LSE oscillator driving capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// LSE clock security system enable + /// LSE oscillator driving capability + LSEDRV: LSEDRV, + /// LSE clock security system enable LSECSSON: u1, - /// LSE clock security system failure detection + /// LSE clock security system failure detection LSECSSD: u1, reserved8: u1, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// VSwitch domain software reset + /// VSwitch domain software reset BDRST: u1, padding: u15, }), - /// RCC Clock Control and Status Register + /// RCC Clock Control and Status Register CSR: mmio.Mmio(packed struct(u32) { - /// LSI oscillator enable + /// LSI oscillator enable LSION: u1, - /// LSI oscillator ready + /// LSI oscillator ready LSIRDY: u1, padding: u30, }), reserved124: [4]u8, - /// RCC AHB3 Reset Register + /// RCC AHB3 Reset Register AHB3RSTR: mmio.Mmio(packed struct(u32) { - /// MDMA block reset + /// MDMA block reset MDMARST: u1, reserved4: u3, - /// DMA2D block reset + /// DMA2D block reset DMA2DRST: u1, - /// JPGDEC block reset + /// JPGDEC block reset JPGDECRST: u1, reserved12: u6, - /// FMC block reset + /// FMC block reset FMCRST: u1, reserved14: u1, - /// OCTOSPI1 and OCTOSPI1 delay block reset + /// OCTOSPI1 and OCTOSPI1 delay block reset OCTOSPI1RST: u1, reserved16: u1, - /// SDMMC1 and SDMMC1 delay block reset + /// SDMMC1 and SDMMC1 delay block reset SDMMC1RST: u1, reserved19: u2, - /// OCTOSPI2 and OCTOSPI2 delay block reset + /// OCTOSPI2 and OCTOSPI2 delay block reset OCTOSPI2RST: u1, reserved21: u1, - /// OCTOSPI IO manager reset + /// OCTOSPI IO manager reset IOMNGRRST: u1, - /// OTFDEC1 reset + /// OTFDEC1 reset OTFD1RST: u1, - /// OTFDEC2 reset + /// OTFDEC2 reset OTFD2RST: u1, reserved31: u7, - /// CPU reset + /// CPU reset CPURST: u1, }), - /// RCC AHB1 Peripheral Reset Register + /// RCC AHB1 Peripheral Reset Register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// DMA1 block reset + /// DMA1 block reset DMA1RST: u1, - /// DMA2 block reset + /// DMA2 block reset DMA2RST: u1, reserved5: u3, - /// ADC1&2 block reset + /// ADC1&2 block reset ADC12RST: u1, reserved14: u8, - /// ART block reset + /// ART block reset ARTRST: u1, - /// ETH block reset + /// ETH block reset ETHRST: u1, reserved25: u9, - /// USB_OTG_HS block reset + /// USB_OTG_HS block reset USB_OTG_HSRST: u1, reserved27: u1, - /// USB_OTG_FS block reset + /// USB_OTG_FS block reset USB_OTG_FSRST: u1, padding: u4, }), - /// RCC AHB2 Peripheral Reset Register + /// RCC AHB2 Peripheral Reset Register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// DCMI block reset + /// DCMI block reset DCMIRST: u1, reserved4: u3, - /// CRYPography block reset + /// CRYPography block reset CRYPRST: u1, - /// Hash block reset + /// Hash block reset HASHRST: u1, - /// Random Number Generator block reset + /// Random Number Generator block reset RNGRST: u1, reserved9: u2, - /// SDMMC2 and SDMMC2 Delay block reset + /// SDMMC2 and SDMMC2 Delay block reset SDMMC2RST: u1, reserved16: u6, - /// FMAC reset + /// FMAC reset FMACRST: u1, - /// CORDIC reset + /// CORDIC reset CORDICRST: u1, padding: u14, }), - /// RCC AHB4 Peripheral Reset Register + /// RCC AHB4 Peripheral Reset Register AHB4RSTR: mmio.Mmio(packed struct(u32) { - /// GPIO block reset + /// GPIO block reset GPIOARST: u1, - /// GPIO block reset + /// GPIO block reset GPIOBRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOCRST: u1, - /// GPIO block reset + /// GPIO block reset GPIODRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOERST: u1, - /// GPIO block reset + /// GPIO block reset GPIOFRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOGRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOHRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOIRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOJRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOKRST: u1, reserved19: u8, - /// CRC block reset + /// CRC block reset CRCRST: u1, reserved21: u1, - /// BDMA block reset + /// BDMA block reset BDMARST: u1, reserved24: u2, - /// ADC3 block reset + /// ADC3 block reset ADC3RST: u1, - /// HSEM block reset + /// HSEM block reset HSEMRST: u1, padding: u6, }), - /// RCC APB3 Peripheral Reset Register + /// RCC APB3 Peripheral Reset Register APB3RSTR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// LTDC block reset + /// LTDC block reset LTDCRST: u1, - /// DSI block reset + /// DSI block reset DSIRST: u1, padding: u27, }), - /// RCC APB1 Peripheral Reset Register + /// RCC APB1 Peripheral Reset Register APB1LRSTR: mmio.Mmio(packed struct(u32) { - /// TIM block reset + /// TIM block reset TIM2RST: u1, - /// TIM block reset + /// TIM block reset TIM3RST: u1, - /// TIM block reset + /// TIM block reset TIM4RST: u1, - /// TIM block reset + /// TIM block reset TIM5RST: u1, - /// TIM block reset + /// TIM block reset TIM6RST: u1, - /// TIM block reset + /// TIM block reset TIM7RST: u1, - /// TIM block reset + /// TIM block reset TIM12RST: u1, - /// TIM block reset + /// TIM block reset TIM13RST: u1, - /// TIM block reset + /// TIM block reset TIM14RST: u1, - /// TIM block reset + /// TIM block reset LPTIM1RST: u1, reserved14: u4, - /// SPI2 block reset + /// SPI2 block reset SPI2RST: u1, - /// SPI3 block reset + /// SPI3 block reset SPI3RST: u1, - /// SPDIFRX block reset + /// SPDIFRX block reset SPDIFRXRST: u1, - /// USART2 block reset + /// USART2 block reset USART2RST: u1, - /// USART3 block reset + /// USART3 block reset USART3RST: u1, - /// UART4 block reset + /// UART4 block reset UART4RST: u1, - /// UART5 block reset + /// UART5 block reset UART5RST: u1, - /// I2C1 block reset + /// I2C1 block reset I2C1RST: u1, - /// I2C2 block reset + /// I2C2 block reset I2C2RST: u1, - /// I2C3 block reset + /// I2C3 block reset I2C3RST: u1, reserved25: u1, - /// I2C5 block reset + /// I2C5 block reset I2C5RST: u1, reserved27: u1, - /// HDMI-CEC block reset + /// HDMI-CEC block reset CECRST: u1, reserved29: u1, - /// DAC1 and 2 Blocks Reset + /// DAC1 and 2 Blocks Reset DAC12RST: u1, - /// UART7 block reset + /// UART7 block reset UART7RST: u1, - /// UART8 block reset + /// UART8 block reset UART8RST: u1, }), - /// RCC APB1 Peripheral Reset Register + /// RCC APB1 Peripheral Reset Register APB1HRSTR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clock Recovery System reset + /// Clock Recovery System reset CRSRST: u1, - /// SWPMI block reset + /// SWPMI block reset SWPMIRST: u1, reserved4: u1, - /// OPAMP block reset + /// OPAMP block reset OPAMPRST: u1, - /// MDIOS block reset + /// MDIOS block reset MDIOSRST: u1, reserved8: u2, - /// FDCAN block reset + /// FDCAN block reset FDCANRST: u1, reserved24: u15, - /// TIM23 block reset + /// TIM23 block reset TIM23RST: u1, - /// TIM24 block reset + /// TIM24 block reset TIM24RST: u1, padding: u6, }), - /// RCC APB2 Peripheral Reset Register + /// RCC APB2 Peripheral Reset Register APB2RSTR: mmio.Mmio(packed struct(u32) { - /// TIM1 block reset + /// TIM1 block reset TIM1RST: u1, - /// TIM8 block reset + /// TIM8 block reset TIM8RST: u1, reserved4: u2, - /// USART1 block reset + /// USART1 block reset USART1RST: u1, - /// USART6 block reset + /// USART6 block reset USART6RST: u1, - /// UART9 block reset + /// UART9 block reset UART9RST: u1, - /// USART10 block reset + /// USART10 block reset USART10RST: u1, reserved12: u4, - /// SPI1 block reset + /// SPI1 block reset SPI1RST: u1, - /// SPI4 block reset + /// SPI4 block reset SPI4RST: u1, reserved16: u2, - /// TIM15 block reset + /// TIM15 block reset TIM15RST: u1, - /// TIM16 block reset + /// TIM16 block reset TIM16RST: u1, - /// TIM17 block reset + /// TIM17 block reset TIM17RST: u1, reserved20: u1, - /// SPI5 block reset + /// SPI5 block reset SPI5RST: u1, reserved22: u1, - /// SAI1 block reset + /// SAI1 block reset SAI1RST: u1, - /// SAI2 block reset + /// SAI2 block reset SAI2RST: u1, - /// SAI3 block reset + /// SAI3 block reset SAI3RST: u1, reserved28: u3, - /// DFSDM1 block reset + /// DFSDM1 block reset DFSDM1RST: u1, - /// HRTIM block reset + /// HRTIM block reset HRTIMRST: u1, padding: u2, }), - /// RCC APB4 Peripheral Reset Register + /// RCC APB4 Peripheral Reset Register APB4RSTR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG block reset + /// SYSCFG block reset SYSCFGRST: u1, reserved3: u1, - /// LPUART1 block reset + /// LPUART1 block reset LPUART1RST: u1, reserved5: u1, - /// SPI6 block reset + /// SPI6 block reset SPI6RST: u1, reserved7: u1, - /// I2C4 block reset + /// I2C4 block reset I2C4RST: u1, reserved9: u1, - /// LPTIM2 block reset + /// LPTIM2 block reset LPTIM2RST: u1, - /// LPTIM3 block reset + /// LPTIM3 block reset LPTIM3RST: u1, - /// LPTIM4 block reset + /// LPTIM4 block reset LPTIM4RST: u1, - /// LPTIM5 block reset + /// LPTIM5 block reset LPTIM5RST: u1, - /// DAC2 (containing one converter) reset + /// DAC2 (containing one converter) reset DAC2RST: u1, - /// COMP12 Blocks Reset + /// COMP12 Blocks Reset COMP12RST: u1, - /// VREF block reset + /// VREF block reset VREFRST: u1, reserved21: u5, - /// SAI4 block reset + /// SAI4 block reset SAI4RST: u1, reserved26: u4, - /// Digital temperature sensor block reset + /// Digital temperature sensor block reset DTSRST: u1, padding: u5, }), - /// Global Control Register + /// Global Control Register GCR: mmio.Mmio(packed struct(u32) { - /// WWDG1 reset scope control + /// WWDG1 reset scope control WW1RSC: u1, - /// WWDG2 reset scope control + /// WWDG2 reset scope control WW2RSC: u1, - /// Force allow CPU1 to boot + /// Force allow CPU1 to boot BOOT_C1: u1, - /// Force allow CPU2 to boot + /// Force allow CPU2 to boot BOOT_C2: u1, padding: u28, }), reserved168: [4]u8, - /// RCC D3 Autonomous mode Register + /// RCC D3 Autonomous mode Register D3AMR: mmio.Mmio(packed struct(u32) { - /// BDMA and DMAMUX Autonomous mode enable + /// BDMA and DMAMUX Autonomous mode enable BDMAAMEN: u1, reserved3: u2, - /// LPUART1 Autonomous mode enable + /// LPUART1 Autonomous mode enable LPUART1AMEN: u1, reserved5: u1, - /// SPI6 Autonomous mode enable + /// SPI6 Autonomous mode enable SPI6AMEN: u1, reserved7: u1, - /// I2C4 Autonomous mode enable + /// I2C4 Autonomous mode enable I2C4AMEN: u1, reserved9: u1, - /// LPTIM2 Autonomous mode enable + /// LPTIM2 Autonomous mode enable LPTIM2AMEN: u1, - /// LPTIM3 Autonomous mode enable + /// LPTIM3 Autonomous mode enable LPTIM3AMEN: u1, - /// LPTIM4 Autonomous mode enable + /// LPTIM4 Autonomous mode enable LPTIM4AMEN: u1, - /// LPTIM5 Autonomous mode enable + /// LPTIM5 Autonomous mode enable LPTIM5AMEN: u1, - /// DAC2 (containing one converter) Autonomous mode enable + /// DAC2 (containing one converter) Autonomous mode enable DAC2AMEN: u1, - /// COMP12 Autonomous mode enable + /// COMP12 Autonomous mode enable COMP12AMEN: u1, - /// VREF Autonomous mode enable + /// VREF Autonomous mode enable VREFAMEN: u1, - /// RTC Autonomous mode enable + /// RTC Autonomous mode enable RTCAMEN: u1, reserved19: u2, - /// CRC Autonomous mode enable + /// CRC Autonomous mode enable CRCAMEN: u1, reserved21: u1, - /// SAI4 Autonomous mode enable + /// SAI4 Autonomous mode enable SAI4AMEN: u1, reserved24: u2, - /// ADC3 Autonomous mode enable + /// ADC3 Autonomous mode enable ADC3AMEN: u1, reserved26: u1, - /// Digital temperature sensor Autonomous mode enable + /// Digital temperature sensor Autonomous mode enable DTSAMEN: u1, reserved28: u1, - /// Backup RAM Autonomous mode enable + /// Backup RAM Autonomous mode enable BKPSRAMAMEN: u1, - /// SRAM4 Autonomous mode enable + /// SRAM4 Autonomous mode enable SRAM4AMEN: u1, padding: u2, }), reserved208: [36]u8, - /// RCC Reset Status Register + /// RCC Reset Status Register RSR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// CPU reset flag + /// CPU reset flag CPURSTF: u1, reserved19: u1, - /// D1 domain power switch reset flag + /// D1 domain power switch reset flag D1RSTF: u1, - /// D2 domain power switch reset flag + /// D2 domain power switch reset flag D2RSTF: u1, - /// BOR reset flag + /// BOR reset flag BORRSTF: u1, - /// Pin reset flag (NRST) + /// Pin reset flag (NRST) PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// System reset from CPU reset flag + /// System reset from CPU reset flag SFTRSTF: u1, reserved26: u1, - /// Independent Watchdog reset flag + /// Independent Watchdog reset flag IWDG1RSTF: u1, reserved28: u1, - /// Window Watchdog reset flag + /// Window Watchdog reset flag WWDG1RSTF: u1, reserved30: u1, - /// Reset due to illegal D1 DStandby or CPU CStop flag + /// Reset due to illegal D1 DStandby or CPU CStop flag LPWRRSTF: u1, padding: u1, }), - /// RCC AHB3 Clock Register + /// RCC AHB3 Clock Register AHB3ENR: mmio.Mmio(packed struct(u32) { - /// MDMA Peripheral Clock Enable + /// MDMA Peripheral Clock Enable MDMAEN: u1, reserved4: u3, - /// DMA2D Peripheral Clock Enable + /// DMA2D Peripheral Clock Enable DMA2DEN: u1, - /// JPGDEC Peripheral Clock Enable + /// JPGDEC Peripheral Clock Enable JPGDECEN: u1, reserved12: u6, - /// FMC Peripheral Clocks Enable + /// FMC Peripheral Clocks Enable FMCEN: u1, reserved14: u1, - /// OCTOSPI2 and OCTOSPI2 delay block enable + /// OCTOSPI2 and OCTOSPI2 delay block enable OCTOSPI1EN: u1, reserved16: u1, - /// SDMMC1 and SDMMC1 Delay Clock Enable + /// SDMMC1 and SDMMC1 Delay Clock Enable SDMMC1EN: u1, reserved19: u2, - /// OCTOSPI2 and OCTOSPI2 delay block enable + /// OCTOSPI2 and OCTOSPI2 delay block enable OCTOSPI2EN: u1, reserved21: u1, - /// OCTOSPI IO manager enable + /// OCTOSPI IO manager enable IOMNGREN: u1, - /// OTFDEC1 enable + /// OTFDEC1 enable OTFD1EN: u1, - /// OTFDEC2 enable + /// OTFDEC2 enable OTFD2EN: u1, reserved28: u4, - /// D1 DTCM1 block enable + /// D1 DTCM1 block enable DTCM1EN: u1, - /// D1 DTCM2 block enable + /// D1 DTCM2 block enable DTCM2EN: u1, - /// D1 ITCM block enable + /// D1 ITCM block enable ITCM1EN: u1, - /// AXISRAM block enable + /// AXISRAM block enable AXISRAMEN: u1, }), - /// RCC AHB1 Clock Register + /// RCC AHB1 Clock Register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// DMA1 Clock Enable + /// DMA1 Clock Enable DMA1EN: u1, - /// DMA2 Clock Enable + /// DMA2 Clock Enable DMA2EN: u1, reserved5: u3, - /// ADC1/2 Peripheral Clocks Enable + /// ADC1/2 Peripheral Clocks Enable ADC12EN: u1, reserved14: u8, - /// ART Clock Enable + /// ART Clock Enable ARTEN: u1, - /// Ethernet MAC bus interface Clock Enable + /// Ethernet MAC bus interface Clock Enable ETHEN: u1, - /// Ethernet Transmission Clock Enable + /// Ethernet Transmission Clock Enable ETHTXEN: u1, - /// Ethernet Reception Clock Enable + /// Ethernet Reception Clock Enable ETHRXEN: u1, reserved25: u7, - /// USB_OTG_HS Peripheral Clocks Enable + /// USB_OTG_HS Peripheral Clocks Enable USB_OTG_HSEN: u1, - /// USB_OTG_HS ULPI clock enable + /// USB_OTG_HS ULPI clock enable USB_OTG_HS_ULPIEN: u1, - /// USB_OTG_FS Peripheral Clocks Enable + /// USB_OTG_FS Peripheral Clocks Enable USB_OTG_FSEN: u1, - /// USB_OTG_FS ULPI clock enable + /// USB_OTG_FS ULPI clock enable USB_OTG_FS_ULPIEN: u1, padding: u3, }), - /// RCC AHB2 Clock Register + /// RCC AHB2 Clock Register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// DCMI peripheral clock + /// DCMI peripheral clock DCMIEN: u1, reserved4: u3, - /// CRYP peripheral clock enable + /// CRYP peripheral clock enable CRYPEN: u1, - /// HASH peripheral clock enable + /// HASH peripheral clock enable HASHEN: u1, - /// RNG peripheral clocks enable + /// RNG peripheral clocks enable RNGEN: u1, reserved9: u2, - /// SDMMC2 and SDMMC2 delay clock enable + /// SDMMC2 and SDMMC2 delay clock enable SDMMC2EN: u1, reserved16: u6, - /// FMAC enable + /// FMAC enable FMACEN: u1, - /// CORDIC enable + /// CORDIC enable CORDICEN: u1, reserved29: u11, - /// SRAM1 block enable + /// SRAM1 block enable SRAM1EN: u1, - /// SRAM2 block enable + /// SRAM2 block enable SRAM2EN: u1, - /// SRAM3 block enable + /// SRAM3 block enable SRAM3EN: u1, }), - /// RCC AHB4 Clock Register + /// RCC AHB4 Clock Register AHB4ENR: mmio.Mmio(packed struct(u32) { - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOAEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOBEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOCEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIODEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOEEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOFEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOGEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOHEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOIEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOJEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOKEN: u1, reserved19: u8, - /// CRC peripheral clock enable + /// CRC peripheral clock enable CRCEN: u1, reserved21: u1, - /// BDMA and DMAMUX2 Clock Enable + /// BDMA and DMAMUX2 Clock Enable BDMAEN: u1, reserved24: u2, - /// ADC3 Peripheral Clocks Enable + /// ADC3 Peripheral Clocks Enable ADC3EN: u1, - /// HSEM peripheral clock enable + /// HSEM peripheral clock enable HSEMEN: u1, reserved28: u2, - /// Backup RAM Clock Enable + /// Backup RAM Clock Enable BKPSRAMEN: u1, padding: u3, }), - /// RCC APB3 Clock Register + /// RCC APB3 Clock Register APB3ENR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// LTDC peripheral clock enable + /// LTDC peripheral clock enable LTDCEN: u1, - /// DSI Peripheral clocks enable + /// DSI Peripheral clocks enable DSIEN: u1, reserved6: u1, - /// WWDG1 Clock Enable + /// WWDG1 Clock Enable WWDG1EN: u1, padding: u25, }), - /// RCC APB1 Clock Register + /// RCC APB1 Clock Register APB1LENR: mmio.Mmio(packed struct(u32) { - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM2EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM3EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM4EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM5EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM6EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM7EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM12EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM13EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM14EN: u1, - /// LPTIM1 Peripheral Clocks Enable + /// LPTIM1 Peripheral Clocks Enable LPTIM1EN: u1, reserved11: u1, - /// WWDG2 peripheral clock enable + /// WWDG2 peripheral clock enable WWDG2EN: u1, reserved14: u2, - /// SPI2 Peripheral Clocks Enable + /// SPI2 Peripheral Clocks Enable SPI2EN: u1, - /// SPI3 Peripheral Clocks Enable + /// SPI3 Peripheral Clocks Enable SPI3EN: u1, - /// SPDIFRX Peripheral Clocks Enable + /// SPDIFRX Peripheral Clocks Enable SPDIFRXEN: u1, - /// USART2 Peripheral Clocks Enable + /// USART2 Peripheral Clocks Enable USART2EN: u1, - /// USART3 Peripheral Clocks Enable + /// USART3 Peripheral Clocks Enable USART3EN: u1, - /// UART4 Peripheral Clocks Enable + /// UART4 Peripheral Clocks Enable UART4EN: u1, - /// UART5 Peripheral Clocks Enable + /// UART5 Peripheral Clocks Enable UART5EN: u1, - /// I2C1 Peripheral Clocks Enable + /// I2C1 Peripheral Clocks Enable I2C1EN: u1, - /// I2C2 Peripheral Clocks Enable + /// I2C2 Peripheral Clocks Enable I2C2EN: u1, - /// I2C3 Peripheral Clocks Enable + /// I2C3 Peripheral Clocks Enable I2C3EN: u1, reserved25: u1, - /// I2C5 Peripheral Clocks Enable + /// I2C5 Peripheral Clocks Enable I2C5EN: u1, reserved27: u1, - /// HDMI-CEC peripheral clock enable + /// HDMI-CEC peripheral clock enable CECEN: u1, reserved29: u1, - /// DAC1&2 peripheral clock enable + /// DAC1&2 peripheral clock enable DAC12EN: u1, - /// UART7 Peripheral Clocks Enable + /// UART7 Peripheral Clocks Enable UART7EN: u1, - /// UART8 Peripheral Clocks Enable + /// UART8 Peripheral Clocks Enable UART8EN: u1, }), - /// RCC APB1 Clock Register + /// RCC APB1 Clock Register APB1HENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clock Recovery System peripheral clock enable + /// Clock Recovery System peripheral clock enable CRSEN: u1, - /// SWPMI Peripheral Clocks Enable + /// SWPMI Peripheral Clocks Enable SWPMIEN: u1, reserved4: u1, - /// OPAMP peripheral clock enable + /// OPAMP peripheral clock enable OPAMPEN: u1, - /// MDIOS peripheral clock enable + /// MDIOS peripheral clock enable MDIOSEN: u1, reserved8: u2, - /// FDCAN Peripheral Clocks Enable + /// FDCAN Peripheral Clocks Enable FDCANEN: u1, reserved24: u15, - /// TIM23 block enable + /// TIM23 block enable TIM23EN: u1, - /// TIM24 block enable + /// TIM24 block enable TIM24EN: u1, padding: u6, }), - /// RCC APB2 Clock Register + /// RCC APB2 Clock Register APB2ENR: mmio.Mmio(packed struct(u32) { - /// TIM1 peripheral clock enable + /// TIM1 peripheral clock enable TIM1EN: u1, - /// TIM8 peripheral clock enable + /// TIM8 peripheral clock enable TIM8EN: u1, reserved4: u2, - /// USART1 Peripheral Clocks Enable + /// USART1 Peripheral Clocks Enable USART1EN: u1, - /// USART6 Peripheral Clocks Enable + /// USART6 Peripheral Clocks Enable USART6EN: u1, - /// UART9 Peripheral Clocks Enable + /// UART9 Peripheral Clocks Enable UART9EN: u1, - /// USART10 Peripheral Clocks Enable + /// USART10 Peripheral Clocks Enable USART10EN: u1, reserved12: u4, - /// SPI1 Peripheral Clocks Enable + /// SPI1 Peripheral Clocks Enable SPI1EN: u1, - /// SPI4 Peripheral Clocks Enable + /// SPI4 Peripheral Clocks Enable SPI4EN: u1, reserved16: u2, - /// TIM15 peripheral clock enable + /// TIM15 peripheral clock enable TIM15EN: u1, - /// TIM16 peripheral clock enable + /// TIM16 peripheral clock enable TIM16EN: u1, - /// TIM17 peripheral clock enable + /// TIM17 peripheral clock enable TIM17EN: u1, reserved20: u1, - /// SPI5 Peripheral Clocks Enable + /// SPI5 Peripheral Clocks Enable SPI5EN: u1, reserved22: u1, - /// SAI1 Peripheral Clocks Enable + /// SAI1 Peripheral Clocks Enable SAI1EN: u1, - /// SAI2 Peripheral Clocks Enable + /// SAI2 Peripheral Clocks Enable SAI2EN: u1, - /// SAI3 Peripheral Clocks Enable + /// SAI3 Peripheral Clocks Enable SAI3EN: u1, reserved28: u3, - /// DFSDM1 Peripheral Clocks Enable + /// DFSDM1 Peripheral Clocks Enable DFSDM1EN: u1, - /// HRTIM peripheral clock enable + /// HRTIM peripheral clock enable HRTIMEN: u1, padding: u2, }), - /// RCC APB4 Clock Register + /// RCC APB4 Clock Register APB4ENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG peripheral clock enable + /// SYSCFG peripheral clock enable SYSCFGEN: u1, reserved3: u1, - /// LPUART1 Peripheral Clocks Enable + /// LPUART1 Peripheral Clocks Enable LPUART1EN: u1, reserved5: u1, - /// SPI6 Peripheral Clocks Enable + /// SPI6 Peripheral Clocks Enable SPI6EN: u1, reserved7: u1, - /// I2C4 Peripheral Clocks Enable + /// I2C4 Peripheral Clocks Enable I2C4EN: u1, reserved9: u1, - /// LPTIM2 Peripheral Clocks Enable + /// LPTIM2 Peripheral Clocks Enable LPTIM2EN: u1, - /// LPTIM3 Peripheral Clocks Enable + /// LPTIM3 Peripheral Clocks Enable LPTIM3EN: u1, - /// LPTIM4 Peripheral Clocks Enable + /// LPTIM4 Peripheral Clocks Enable LPTIM4EN: u1, - /// LPTIM5 Peripheral Clocks Enable + /// LPTIM5 Peripheral Clocks Enable LPTIM5EN: u1, - /// DAC2 (containing one converter) peripheral clock enable + /// DAC2 (containing one converter) peripheral clock enable DAC2EN: u1, - /// COMP1/2 peripheral clock enable + /// COMP1/2 peripheral clock enable COMP12EN: u1, - /// VREF peripheral clock enable + /// VREF peripheral clock enable VREFEN: u1, - /// RTC APB Clock Enable + /// RTC APB Clock Enable RTCAPBEN: u1, reserved21: u4, - /// SAI4 Peripheral Clocks Enable + /// SAI4 Peripheral Clocks Enable SAI4EN: u1, reserved26: u4, - /// Digital temperature sensor block enable + /// Digital temperature sensor block enable DTSEN: u1, padding: u5, }), reserved252: [4]u8, - /// RCC AHB3 Sleep Clock Register + /// RCC AHB3 Sleep Clock Register AHB3LPENR: mmio.Mmio(packed struct(u32) { - /// MDMA Clock Enable During CSleep Mode + /// MDMA Clock Enable During CSleep Mode MDMALPEN: u1, reserved4: u3, - /// DMA2D Clock Enable During CSleep Mode + /// DMA2D Clock Enable During CSleep Mode DMA2DLPEN: u1, - /// JPGDEC Clock Enable During CSleep Mode + /// JPGDEC Clock Enable During CSleep Mode JPGDECLPEN: u1, reserved8: u2, - /// FLASH Clock Enable During CSleep Mode + /// FLASH Clock Enable During CSleep Mode FLASHLPEN: u1, reserved12: u3, - /// FMC Peripheral Clocks Enable During CSleep Mode + /// FMC Peripheral Clocks Enable During CSleep Mode FMCLPEN: u1, reserved14: u1, - /// OCTOSPI1 and OCTOSPI1 delay block enable during CSleep Mode + /// OCTOSPI1 and OCTOSPI1 delay block enable during CSleep Mode OCTOSPI1LPEN: u1, reserved16: u1, - /// SDMMC1 and SDMMC1 Delay Clock Enable During CSleep Mode + /// SDMMC1 and SDMMC1 Delay Clock Enable During CSleep Mode SDMMC1LPEN: u1, reserved19: u2, - /// OCTOSPI2 and OCTOSPI2 delay block enable during CSleep Mode + /// OCTOSPI2 and OCTOSPI2 delay block enable during CSleep Mode OCTOSPI2LPEN: u1, reserved21: u1, - /// OCTOSPI IO manager enable during CSleep Mode + /// OCTOSPI IO manager enable during CSleep Mode IOMNGRLPEN: u1, - /// OTFDEC1 enable during CSleep Mode + /// OTFDEC1 enable during CSleep Mode OTFD1LPEN: u1, - /// OTFDEC2 enable during CSleep Mode + /// OTFDEC2 enable during CSleep Mode OTFD2LPEN: u1, reserved28: u4, - /// D1DTCM1 Block Clock Enable During CSleep mode + /// D1DTCM1 Block Clock Enable During CSleep mode D1DTCM1LPEN: u1, - /// D1 DTCM2 Block Clock Enable During CSleep mode + /// D1 DTCM2 Block Clock Enable During CSleep mode DTCM2LPEN: u1, - /// D1ITCM Block Clock Enable During CSleep mode + /// D1ITCM Block Clock Enable During CSleep mode ITCMLPEN: u1, - /// AXISRAM Block Clock Enable During CSleep mode + /// AXISRAM Block Clock Enable During CSleep mode AXISRAMLPEN: u1, }), - /// RCC AHB1 Sleep Clock Register + /// RCC AHB1 Sleep Clock Register AHB1LPENR: mmio.Mmio(packed struct(u32) { - /// DMA1 Clock Enable During CSleep Mode + /// DMA1 Clock Enable During CSleep Mode DMA1LPEN: u1, - /// DMA2 Clock Enable During CSleep Mode + /// DMA2 Clock Enable During CSleep Mode DMA2LPEN: u1, reserved5: u3, - /// ADC1/2 Peripheral Clocks Enable During CSleep Mode + /// ADC1/2 Peripheral Clocks Enable During CSleep Mode ADC12LPEN: u1, reserved14: u8, - /// ART Clock Enable During CSleep Mode + /// ART Clock Enable During CSleep Mode ARTLPEN: u1, - /// Ethernet MAC bus interface Clock Enable During CSleep Mode + /// Ethernet MAC bus interface Clock Enable During CSleep Mode ETHLPEN: u1, - /// Ethernet Transmission Clock Enable During CSleep Mode + /// Ethernet Transmission Clock Enable During CSleep Mode ETHTXLPEN: u1, - /// Ethernet Reception Clock Enable During CSleep Mode + /// Ethernet Reception Clock Enable During CSleep Mode ETHRXLPEN: u1, reserved25: u7, - /// USB_OTG_HS peripheral clock enable during CSleep mode + /// USB_OTG_HS peripheral clock enable during CSleep mode USB_OTG_HSLPEN: u1, - /// USB_PHY1 clock enable during CSleep mode + /// USB_PHY1 clock enable during CSleep mode USB_OTG_HS_ULPILPEN: u1, - /// USB_OTG_FS peripheral clock enable during CSleep mode + /// USB_OTG_FS peripheral clock enable during CSleep mode USB_OTG_FSLPEN: u1, - /// USB_PHY2 clocks enable during CSleep mode + /// USB_PHY2 clocks enable during CSleep mode USB_OTG_FS_ULPILPEN: u1, padding: u3, }), - /// RCC AHB2 Sleep Clock Register + /// RCC AHB2 Sleep Clock Register AHB2LPENR: mmio.Mmio(packed struct(u32) { - /// DCMI peripheral clock enable during csleep mode + /// DCMI peripheral clock enable during csleep mode DCMILPEN: u1, reserved4: u3, - /// CRYP peripheral clock enable during CSleep mode + /// CRYP peripheral clock enable during CSleep mode CRYPLPEN: u1, - /// HASH peripheral clock enable during CSleep mode + /// HASH peripheral clock enable during CSleep mode HASHLPEN: u1, - /// RNG peripheral clock enable during CSleep mode + /// RNG peripheral clock enable during CSleep mode RNGLPEN: u1, reserved9: u2, - /// SDMMC2 and SDMMC2 Delay Clock Enable During CSleep Mode + /// SDMMC2 and SDMMC2 Delay Clock Enable During CSleep Mode SDMMC2LPEN: u1, reserved16: u6, - /// FMAC enable during CSleep Mode + /// FMAC enable during CSleep Mode FMACLPEN: u1, - /// CORDIC enable during CSleep Mode + /// CORDIC enable during CSleep Mode CORDICLPEN: u1, reserved29: u11, - /// SRAM1 Clock Enable During CSleep Mode + /// SRAM1 Clock Enable During CSleep Mode SRAM1LPEN: u1, - /// SRAM2 Clock Enable During CSleep Mode + /// SRAM2 Clock Enable During CSleep Mode SRAM2LPEN: u1, - /// SRAM3 Clock Enable During CSleep Mode + /// SRAM3 Clock Enable During CSleep Mode SRAM3LPEN: u1, }), - /// RCC AHB4 Sleep Clock Register + /// RCC AHB4 Sleep Clock Register AHB4LPENR: mmio.Mmio(packed struct(u32) { - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOALPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOBLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOCLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIODLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOELPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOFLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOGLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOHLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOILPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOJLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOKLPEN: u1, reserved19: u8, - /// CRC peripheral clock enable during CSleep mode + /// CRC peripheral clock enable during CSleep mode CRCLPEN: u1, reserved21: u1, - /// BDMA Clock Enable During CSleep Mode + /// BDMA Clock Enable During CSleep Mode BDMALPEN: u1, reserved24: u2, - /// ADC3 Peripheral Clocks Enable During CSleep Mode + /// ADC3 Peripheral Clocks Enable During CSleep Mode ADC3LPEN: u1, reserved28: u3, - /// Backup RAM Clock Enable During CSleep Mode + /// Backup RAM Clock Enable During CSleep Mode BKPSRAMLPEN: u1, - /// SRAM4 Clock Enable During CSleep Mode + /// SRAM4 Clock Enable During CSleep Mode SRAM4LPEN: u1, padding: u2, }), - /// RCC APB3 Sleep Clock Register + /// RCC APB3 Sleep Clock Register APB3LPENR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// LTDC peripheral clock enable during CSleep mode + /// LTDC peripheral clock enable during CSleep mode LTDCLPEN: u1, - /// DSI Peripheral Clock Enable During CSleep Mode + /// DSI Peripheral Clock Enable During CSleep Mode DSILPEN: u1, reserved6: u1, - /// WWDG1 Clock Enable During CSleep Mode + /// WWDG1 Clock Enable During CSleep Mode WWDG1LPEN: u1, padding: u25, }), - /// RCC APB1 Low Sleep Clock Register + /// RCC APB1 Low Sleep Clock Register APB1LLPENR: mmio.Mmio(packed struct(u32) { - /// TIM2 peripheral clock enable during CSleep mode + /// TIM2 peripheral clock enable during CSleep mode TIM2LPEN: u1, - /// TIM3 peripheral clock enable during CSleep mode + /// TIM3 peripheral clock enable during CSleep mode TIM3LPEN: u1, - /// TIM4 peripheral clock enable during CSleep mode + /// TIM4 peripheral clock enable during CSleep mode TIM4LPEN: u1, - /// TIM5 peripheral clock enable during CSleep mode + /// TIM5 peripheral clock enable during CSleep mode TIM5LPEN: u1, - /// TIM6 peripheral clock enable during CSleep mode + /// TIM6 peripheral clock enable during CSleep mode TIM6LPEN: u1, - /// TIM7 peripheral clock enable during CSleep mode + /// TIM7 peripheral clock enable during CSleep mode TIM7LPEN: u1, - /// TIM12 peripheral clock enable during CSleep mode + /// TIM12 peripheral clock enable during CSleep mode TIM12LPEN: u1, - /// TIM13 peripheral clock enable during CSleep mode + /// TIM13 peripheral clock enable during CSleep mode TIM13LPEN: u1, - /// TIM14 peripheral clock enable during CSleep mode + /// TIM14 peripheral clock enable during CSleep mode TIM14LPEN: u1, - /// LPTIM1 Peripheral Clocks Enable During CSleep Mode + /// LPTIM1 Peripheral Clocks Enable During CSleep Mode LPTIM1LPEN: u1, reserved11: u1, - /// WWDG2 peripheral Clocks Enable During CSleep Mode + /// WWDG2 peripheral Clocks Enable During CSleep Mode WWDG2LPEN: u1, reserved14: u2, - /// SPI2 Peripheral Clocks Enable During CSleep Mode + /// SPI2 Peripheral Clocks Enable During CSleep Mode SPI2LPEN: u1, - /// SPI3 Peripheral Clocks Enable During CSleep Mode + /// SPI3 Peripheral Clocks Enable During CSleep Mode SPI3LPEN: u1, - /// SPDIFRX Peripheral Clocks Enable During CSleep Mode + /// SPDIFRX Peripheral Clocks Enable During CSleep Mode SPDIFRXLPEN: u1, - /// USART2 Peripheral Clocks Enable During CSleep Mode + /// USART2 Peripheral Clocks Enable During CSleep Mode USART2LPEN: u1, - /// USART3 Peripheral Clocks Enable During CSleep Mode + /// USART3 Peripheral Clocks Enable During CSleep Mode USART3LPEN: u1, - /// UART4 Peripheral Clocks Enable During CSleep Mode + /// UART4 Peripheral Clocks Enable During CSleep Mode UART4LPEN: u1, - /// UART5 Peripheral Clocks Enable During CSleep Mode + /// UART5 Peripheral Clocks Enable During CSleep Mode UART5LPEN: u1, - /// I2C1 Peripheral Clocks Enable During CSleep Mode + /// I2C1 Peripheral Clocks Enable During CSleep Mode I2C1LPEN: u1, - /// I2C2 Peripheral Clocks Enable During CSleep Mode + /// I2C2 Peripheral Clocks Enable During CSleep Mode I2C2LPEN: u1, - /// I2C3 Peripheral Clocks Enable During CSleep Mode + /// I2C3 Peripheral Clocks Enable During CSleep Mode I2C3LPEN: u1, reserved25: u1, - /// I2C5 block enable during CSleep Mode + /// I2C5 block enable during CSleep Mode I2C5LPEN: u1, reserved27: u1, - /// HDMI-CEC Peripheral Clocks Enable During CSleep Mode + /// HDMI-CEC Peripheral Clocks Enable During CSleep Mode CECLPEN: u1, reserved29: u1, - /// DAC1/2 peripheral clock enable during CSleep mode + /// DAC1/2 peripheral clock enable during CSleep mode DAC12LPEN: u1, - /// UART7 Peripheral Clocks Enable During CSleep Mode + /// UART7 Peripheral Clocks Enable During CSleep Mode UART7LPEN: u1, - /// UART8 Peripheral Clocks Enable During CSleep Mode + /// UART8 Peripheral Clocks Enable During CSleep Mode UART8LPEN: u1, }), - /// RCC APB1 High Sleep Clock Register + /// RCC APB1 High Sleep Clock Register APB1HLPENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clock Recovery System peripheral clock enable during CSleep mode + /// Clock Recovery System peripheral clock enable during CSleep mode CRSLPEN: u1, - /// SWPMI Peripheral Clocks Enable During CSleep Mode + /// SWPMI Peripheral Clocks Enable During CSleep Mode SWPMILPEN: u1, reserved4: u1, - /// OPAMP peripheral clock enable during CSleep mode + /// OPAMP peripheral clock enable during CSleep mode OPAMPLPEN: u1, - /// MDIOS peripheral clock enable during CSleep mode + /// MDIOS peripheral clock enable during CSleep mode MDIOSLPEN: u1, reserved8: u2, - /// FDCAN Peripheral Clocks Enable During CSleep Mode + /// FDCAN Peripheral Clocks Enable During CSleep Mode FDCANLPEN: u1, reserved24: u15, - /// TIM23 block enable during CSleep Mode + /// TIM23 block enable during CSleep Mode TIM23LPEN: u1, - /// TIM24 block enable during CSleep Mode + /// TIM24 block enable during CSleep Mode TIM24LPEN: u1, padding: u6, }), - /// RCC APB2 Sleep Clock Register + /// RCC APB2 Sleep Clock Register APB2LPENR: mmio.Mmio(packed struct(u32) { - /// TIM1 peripheral clock enable during CSleep mode + /// TIM1 peripheral clock enable during CSleep mode TIM1LPEN: u1, - /// TIM8 peripheral clock enable during CSleep mode + /// TIM8 peripheral clock enable during CSleep mode TIM8LPEN: u1, reserved4: u2, - /// USART1 Peripheral Clocks Enable During CSleep Mode + /// USART1 Peripheral Clocks Enable During CSleep Mode USART1LPEN: u1, - /// USART6 Peripheral Clocks Enable During CSleep Mode + /// USART6 Peripheral Clocks Enable During CSleep Mode USART6LPEN: u1, reserved12: u6, - /// SPI1 Peripheral Clocks Enable During CSleep Mode + /// SPI1 Peripheral Clocks Enable During CSleep Mode SPI1LPEN: u1, - /// SPI4 Peripheral Clocks Enable During CSleep Mode + /// SPI4 Peripheral Clocks Enable During CSleep Mode SPI4LPEN: u1, reserved16: u2, - /// TIM15 peripheral clock enable during CSleep mode + /// TIM15 peripheral clock enable during CSleep mode TIM15LPEN: u1, - /// TIM16 peripheral clock enable during CSleep mode + /// TIM16 peripheral clock enable during CSleep mode TIM16LPEN: u1, - /// TIM17 peripheral clock enable during CSleep mode + /// TIM17 peripheral clock enable during CSleep mode TIM17LPEN: u1, reserved20: u1, - /// SPI5 Peripheral Clocks Enable During CSleep Mode + /// SPI5 Peripheral Clocks Enable During CSleep Mode SPI5LPEN: u1, reserved22: u1, - /// SAI1 Peripheral Clocks Enable During CSleep Mode + /// SAI1 Peripheral Clocks Enable During CSleep Mode SAI1LPEN: u1, - /// SAI2 Peripheral Clocks Enable During CSleep Mode + /// SAI2 Peripheral Clocks Enable During CSleep Mode SAI2LPEN: u1, - /// SAI3 Peripheral Clocks Enable During CSleep Mode + /// SAI3 Peripheral Clocks Enable During CSleep Mode SAI3LPEN: u1, reserved28: u3, - /// DFSDM1 Peripheral Clocks Enable During CSleep Mode + /// DFSDM1 Peripheral Clocks Enable During CSleep Mode DFSDM1LPEN: u1, - /// HRTIM peripheral clock enable during CSleep mode + /// HRTIM peripheral clock enable during CSleep mode HRTIMLPEN: u1, padding: u2, }), - /// RCC APB4 Sleep Clock Register + /// RCC APB4 Sleep Clock Register APB4LPENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG peripheral clock enable during CSleep mode + /// SYSCFG peripheral clock enable during CSleep mode SYSCFGLPEN: u1, reserved3: u1, - /// LPUART1 Peripheral Clocks Enable During CSleep Mode + /// LPUART1 Peripheral Clocks Enable During CSleep Mode LPUART1LPEN: u1, reserved5: u1, - /// SPI6 Peripheral Clocks Enable During CSleep Mode + /// SPI6 Peripheral Clocks Enable During CSleep Mode SPI6LPEN: u1, reserved7: u1, - /// I2C4 Peripheral Clocks Enable During CSleep Mode + /// I2C4 Peripheral Clocks Enable During CSleep Mode I2C4LPEN: u1, reserved9: u1, - /// LPTIM2 Peripheral Clocks Enable During CSleep Mode + /// LPTIM2 Peripheral Clocks Enable During CSleep Mode LPTIM2LPEN: u1, - /// LPTIM3 Peripheral Clocks Enable During CSleep Mode + /// LPTIM3 Peripheral Clocks Enable During CSleep Mode LPTIM3LPEN: u1, - /// LPTIM4 Peripheral Clocks Enable During CSleep Mode + /// LPTIM4 Peripheral Clocks Enable During CSleep Mode LPTIM4LPEN: u1, - /// LPTIM5 Peripheral Clocks Enable During CSleep Mode + /// LPTIM5 Peripheral Clocks Enable During CSleep Mode LPTIM5LPEN: u1, - /// DAC2 (containing one converter) peripheral clock enable during CSleep mode + /// DAC2 (containing one converter) peripheral clock enable during CSleep mode DAC2LPEN: u1, - /// COMP1/2 peripheral clock enable during CSleep mode + /// COMP1/2 peripheral clock enable during CSleep mode COMP12LPEN: u1, - /// VREF peripheral clock enable during CSleep mode + /// VREF peripheral clock enable during CSleep mode VREFLPEN: u1, - /// RTC APB Clock Enable During CSleep Mode + /// RTC APB Clock Enable During CSleep Mode RTCAPBLPEN: u1, reserved21: u4, - /// SAI4 Peripheral Clocks Enable During CSleep Mode + /// SAI4 Peripheral Clocks Enable During CSleep Mode SAI4LPEN: u1, reserved26: u4, - /// Digital temperature sensor block enable during CSleep Mode + /// Digital temperature sensor block enable during CSleep Mode DTSLPEN: u1, padding: u5, }), reserved304: [16]u8, - /// RCC Reset Status Register + /// RCC Reset Status Register C1_RSR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// CPU reset flag + /// CPU reset flag CPURSTF: u1, reserved19: u1, - /// D1 domain power switch reset flag + /// D1 domain power switch reset flag D1RSTF: u1, - /// D2 domain power switch reset flag + /// D2 domain power switch reset flag D2RSTF: u1, - /// BOR reset flag + /// BOR reset flag BORRSTF: u1, - /// Pin reset flag (NRST) + /// Pin reset flag (NRST) PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// System reset from CPU reset flag + /// System reset from CPU reset flag SFTRSTF: u1, reserved26: u1, - /// Independent Watchdog reset flag + /// Independent Watchdog reset flag IWDG1RSTF: u1, reserved28: u1, - /// Window Watchdog reset flag + /// Window Watchdog reset flag WWDG1RSTF: u1, reserved30: u1, - /// Reset due to illegal D1 DStandby or CPU CStop flag + /// Reset due to illegal D1 DStandby or CPU CStop flag LPWRRSTF: u1, padding: u1, }), - /// RCC AHB3 Clock Register + /// RCC AHB3 Clock Register C1_AHB3ENR: mmio.Mmio(packed struct(u32) { - /// MDMA Peripheral Clock Enable + /// MDMA Peripheral Clock Enable MDMAEN: u1, reserved4: u3, - /// DMA2D Peripheral Clock Enable + /// DMA2D Peripheral Clock Enable DMA2DEN: u1, - /// JPGDEC Peripheral Clock Enable + /// JPGDEC Peripheral Clock Enable JPGDECEN: u1, reserved12: u6, - /// FMC Peripheral Clocks Enable + /// FMC Peripheral Clocks Enable FMCEN: u1, reserved14: u1, - /// QUADSPI and QUADSPI Delay Clock Enable + /// QUADSPI and QUADSPI Delay Clock Enable QUADSPIEN: u1, reserved16: u1, - /// SDMMC1 and SDMMC1 Delay Clock Enable + /// SDMMC1 and SDMMC1 Delay Clock Enable SDMMC1EN: u1, padding: u15, }), - /// RCC AHB1 Clock Register + /// RCC AHB1 Clock Register C1_AHB1ENR: mmio.Mmio(packed struct(u32) { - /// DMA1 Clock Enable + /// DMA1 Clock Enable DMA1EN: u1, - /// DMA2 Clock Enable + /// DMA2 Clock Enable DMA2EN: u1, reserved5: u3, - /// ADC1/2 Peripheral Clocks Enable + /// ADC1/2 Peripheral Clocks Enable ADC12EN: u1, reserved14: u8, - /// ART Clock Enable + /// ART Clock Enable ARTEN: u1, - /// Ethernet MAC bus interface Clock Enable + /// Ethernet MAC bus interface Clock Enable ETHEN: u1, - /// Ethernet Transmission Clock Enable + /// Ethernet Transmission Clock Enable ETHTXEN: u1, - /// Ethernet Reception Clock Enable + /// Ethernet Reception Clock Enable ETHRXEN: u1, reserved25: u7, - /// USB_OTG_HS Peripheral Clocks Enable + /// USB_OTG_HS Peripheral Clocks Enable USB_OTG_HSEN: u1, - /// USB_PHY1 Clocks Enable + /// USB_PHY1 Clocks Enable USB_OTG_HS_ULPIEN: u1, - /// USB_OTG_FS Peripheral Clocks Enable + /// USB_OTG_FS Peripheral Clocks Enable USB_OTG_FSEN: u1, - /// USB_PHY2 Clocks Enable + /// USB_PHY2 Clocks Enable USB_OTG_FS_ULPIEN: u1, padding: u3, }), - /// RCC AHB2 Clock Register + /// RCC AHB2 Clock Register C1_AHB2ENR: mmio.Mmio(packed struct(u32) { - /// DCMI peripheral clock + /// DCMI peripheral clock DCMIEN: u1, reserved4: u3, - /// CRYP peripheral clock enable + /// CRYP peripheral clock enable CRYPEN: u1, - /// HASH peripheral clock enable + /// HASH peripheral clock enable HASHEN: u1, - /// RNG peripheral clocks enable + /// RNG peripheral clocks enable RNGEN: u1, reserved9: u2, - /// SDMMC2 and SDMMC2 delay clock enable + /// SDMMC2 and SDMMC2 delay clock enable SDMMC2EN: u1, reserved29: u19, - /// SRAM1 block enable + /// SRAM1 block enable SRAM1EN: u1, - /// SRAM2 block enable + /// SRAM2 block enable SRAM2EN: u1, - /// SRAM3 block enable + /// SRAM3 block enable SRAM3EN: u1, }), - /// RCC AHB4 Clock Register + /// RCC AHB4 Clock Register C1_AHB4ENR: mmio.Mmio(packed struct(u32) { - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOAEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOBEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOCEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIODEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOEEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOFEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOGEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOHEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOIEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOJEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOKEN: u1, reserved19: u8, - /// CRC peripheral clock enable + /// CRC peripheral clock enable CRCEN: u1, reserved21: u1, - /// BDMA and DMAMUX2 Clock Enable + /// BDMA and DMAMUX2 Clock Enable BDMAEN: u1, reserved24: u2, - /// ADC3 Peripheral Clocks Enable + /// ADC3 Peripheral Clocks Enable ADC3EN: u1, - /// HSEM peripheral clock enable + /// HSEM peripheral clock enable HSEMEN: u1, reserved28: u2, - /// Backup RAM Clock Enable + /// Backup RAM Clock Enable BKPSRAMEN: u1, padding: u3, }), - /// RCC APB3 Clock Register + /// RCC APB3 Clock Register C1_APB3ENR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// LTDC peripheral clock enable + /// LTDC peripheral clock enable LTDCEN: u1, - /// DSI Peripheral clocks enable + /// DSI Peripheral clocks enable DSIEN: u1, reserved6: u1, - /// WWDG1 Clock Enable + /// WWDG1 Clock Enable WWDG1EN: u1, padding: u25, }), - /// RCC APB1 Clock Register + /// RCC APB1 Clock Register C1_APB1LENR: mmio.Mmio(packed struct(u32) { - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM2EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM3EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM4EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM5EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM6EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM7EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM12EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM13EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM14EN: u1, - /// LPTIM1 Peripheral Clocks Enable + /// LPTIM1 Peripheral Clocks Enable LPTIM1EN: u1, reserved11: u1, - /// WWDG2 peripheral clock enable + /// WWDG2 peripheral clock enable WWDG2EN: u1, reserved14: u2, - /// SPI2 Peripheral Clocks Enable + /// SPI2 Peripheral Clocks Enable SPI2EN: u1, - /// SPI3 Peripheral Clocks Enable + /// SPI3 Peripheral Clocks Enable SPI3EN: u1, - /// SPDIFRX Peripheral Clocks Enable + /// SPDIFRX Peripheral Clocks Enable SPDIFRXEN: u1, - /// USART2 Peripheral Clocks Enable + /// USART2 Peripheral Clocks Enable USART2EN: u1, - /// USART3 Peripheral Clocks Enable + /// USART3 Peripheral Clocks Enable USART3EN: u1, - /// UART4 Peripheral Clocks Enable + /// UART4 Peripheral Clocks Enable UART4EN: u1, - /// UART5 Peripheral Clocks Enable + /// UART5 Peripheral Clocks Enable UART5EN: u1, - /// I2C1 Peripheral Clocks Enable + /// I2C1 Peripheral Clocks Enable I2C1EN: u1, - /// I2C2 Peripheral Clocks Enable + /// I2C2 Peripheral Clocks Enable I2C2EN: u1, - /// I2C3 Peripheral Clocks Enable + /// I2C3 Peripheral Clocks Enable I2C3EN: u1, reserved25: u1, - /// I2C5 Peripheral Clocks Enable + /// I2C5 Peripheral Clocks Enable I2C5EN: u1, reserved27: u1, - /// HDMI-CEC peripheral clock enable + /// HDMI-CEC peripheral clock enable CECEN: u1, reserved29: u1, - /// DAC1&2 peripheral clock enable + /// DAC1&2 peripheral clock enable DAC12EN: u1, - /// UART7 Peripheral Clocks Enable + /// UART7 Peripheral Clocks Enable UART7EN: u1, - /// UART8 Peripheral Clocks Enable + /// UART8 Peripheral Clocks Enable UART8EN: u1, }), - /// RCC APB1 Clock Register + /// RCC APB1 Clock Register C1_APB1HENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clock Recovery System peripheral clock enable + /// Clock Recovery System peripheral clock enable CRSEN: u1, - /// SWPMI Peripheral Clocks Enable + /// SWPMI Peripheral Clocks Enable SWPMIEN: u1, reserved4: u1, - /// OPAMP peripheral clock enable + /// OPAMP peripheral clock enable OPAMPEN: u1, - /// MDIOS peripheral clock enable + /// MDIOS peripheral clock enable MDIOSEN: u1, reserved8: u2, - /// FDCAN Peripheral Clocks Enable + /// FDCAN Peripheral Clocks Enable FDCANEN: u1, padding: u23, }), - /// RCC APB2 Clock Register + /// RCC APB2 Clock Register C1_APB2ENR: mmio.Mmio(packed struct(u32) { - /// TIM1 peripheral clock enable + /// TIM1 peripheral clock enable TIM1EN: u1, - /// TIM8 peripheral clock enable + /// TIM8 peripheral clock enable TIM8EN: u1, reserved4: u2, - /// USART1 Peripheral Clocks Enable + /// USART1 Peripheral Clocks Enable USART1EN: u1, - /// USART6 Peripheral Clocks Enable + /// USART6 Peripheral Clocks Enable USART6EN: u1, - /// UART9 Peripheral Clocks Enable + /// UART9 Peripheral Clocks Enable UART9EN: u1, - /// USART10 Peripheral Clocks Enable + /// USART10 Peripheral Clocks Enable USART10EN: u1, reserved12: u4, - /// SPI1 Peripheral Clocks Enable + /// SPI1 Peripheral Clocks Enable SPI1EN: u1, - /// SPI4 Peripheral Clocks Enable + /// SPI4 Peripheral Clocks Enable SPI4EN: u1, reserved16: u2, - /// TIM15 peripheral clock enable + /// TIM15 peripheral clock enable TIM15EN: u1, - /// TIM16 peripheral clock enable + /// TIM16 peripheral clock enable TIM16EN: u1, - /// TIM17 peripheral clock enable + /// TIM17 peripheral clock enable TIM17EN: u1, reserved20: u1, - /// SPI5 Peripheral Clocks Enable + /// SPI5 Peripheral Clocks Enable SPI5EN: u1, reserved22: u1, - /// SAI1 Peripheral Clocks Enable + /// SAI1 Peripheral Clocks Enable SAI1EN: u1, - /// SAI2 Peripheral Clocks Enable + /// SAI2 Peripheral Clocks Enable SAI2EN: u1, - /// SAI3 Peripheral Clocks Enable + /// SAI3 Peripheral Clocks Enable SAI3EN: u1, reserved28: u3, - /// DFSDM1 Peripheral Clocks Enable + /// DFSDM1 Peripheral Clocks Enable DFSDM1EN: u1, - /// HRTIM peripheral clock enable + /// HRTIM peripheral clock enable HRTIMEN: u1, padding: u2, }), - /// RCC APB4 Clock Register + /// RCC APB4 Clock Register C1_APB4ENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG peripheral clock enable + /// SYSCFG peripheral clock enable SYSCFGEN: u1, reserved3: u1, - /// LPUART1 Peripheral Clocks Enable + /// LPUART1 Peripheral Clocks Enable LPUART1EN: u1, reserved5: u1, - /// SPI6 Peripheral Clocks Enable + /// SPI6 Peripheral Clocks Enable SPI6EN: u1, reserved7: u1, - /// I2C4 Peripheral Clocks Enable + /// I2C4 Peripheral Clocks Enable I2C4EN: u1, reserved9: u1, - /// LPTIM2 Peripheral Clocks Enable + /// LPTIM2 Peripheral Clocks Enable LPTIM2EN: u1, - /// LPTIM3 Peripheral Clocks Enable + /// LPTIM3 Peripheral Clocks Enable LPTIM3EN: u1, - /// LPTIM4 Peripheral Clocks Enable + /// LPTIM4 Peripheral Clocks Enable LPTIM4EN: u1, - /// LPTIM5 Peripheral Clocks Enable + /// LPTIM5 Peripheral Clocks Enable LPTIM5EN: u1, reserved14: u1, - /// COMP1/2 peripheral clock enable + /// COMP1/2 peripheral clock enable COMP12EN: u1, - /// VREF peripheral clock enable + /// VREF peripheral clock enable VREFEN: u1, - /// RTC APB Clock Enable + /// RTC APB Clock Enable RTCAPBEN: u1, reserved21: u4, - /// SAI4 Peripheral Clocks Enable + /// SAI4 Peripheral Clocks Enable SAI4EN: u1, padding: u10, }), reserved348: [4]u8, - /// RCC AHB3 Sleep Clock Register + /// RCC AHB3 Sleep Clock Register C1_AHB3LPENR: mmio.Mmio(packed struct(u32) { - /// MDMA Clock Enable During CSleep Mode + /// MDMA Clock Enable During CSleep Mode MDMALPEN: u1, reserved4: u3, - /// DMA2D Clock Enable During CSleep Mode + /// DMA2D Clock Enable During CSleep Mode DMA2DLPEN: u1, - /// JPGDEC Clock Enable During CSleep Mode + /// JPGDEC Clock Enable During CSleep Mode JPGDECLPEN: u1, reserved8: u2, - /// Flash interface clock enable during csleep mode + /// Flash interface clock enable during csleep mode FLASHPREN: u1, reserved12: u3, - /// FMC Peripheral Clocks Enable During CSleep Mode + /// FMC Peripheral Clocks Enable During CSleep Mode FMCLPEN: u1, reserved14: u1, - /// QUADSPI and QUADSPI Delay Clock Enable During CSleep Mode + /// QUADSPI and QUADSPI Delay Clock Enable During CSleep Mode QUADSPILPEN: u1, reserved16: u1, - /// SDMMC1 and SDMMC1 Delay Clock Enable During CSleep Mode + /// SDMMC1 and SDMMC1 Delay Clock Enable During CSleep Mode SDMMC1LPEN: u1, reserved19: u2, - /// OCTOSPI2 and OCTOSPI2 delay block enable during CSleep Mode + /// OCTOSPI2 and OCTOSPI2 delay block enable during CSleep Mode OCTOSPI2LPEN: u1, reserved21: u1, - /// OCTOSPI IO manager enable during CSleep Mode + /// OCTOSPI IO manager enable during CSleep Mode IOMNGRLPEN: u1, - /// OTFDEC1 enable during CSleep Mode + /// OTFDEC1 enable during CSleep Mode OTFD1LPEN: u1, - /// OTFDEC2 enable during CSleep Mode + /// OTFDEC2 enable during CSleep Mode OTFD2LPEN: u1, reserved28: u4, - /// D1DTCM1 Block Clock Enable During CSleep mode + /// D1DTCM1 Block Clock Enable During CSleep mode D1DTCM1LPEN: u1, - /// D1 DTCM2 Block Clock Enable During CSleep mode + /// D1 DTCM2 Block Clock Enable During CSleep mode DTCM2LPEN: u1, - /// D1ITCM Block Clock Enable During CSleep mode + /// D1ITCM Block Clock Enable During CSleep mode ITCMLPEN: u1, - /// AXISRAM Block Clock Enable During CSleep mode + /// AXISRAM Block Clock Enable During CSleep mode AXISRAMLPEN: u1, }), - /// RCC AHB1 Sleep Clock Register + /// RCC AHB1 Sleep Clock Register C1_AHB1LPENR: mmio.Mmio(packed struct(u32) { - /// DMA1 Clock Enable During CSleep Mode + /// DMA1 Clock Enable During CSleep Mode DMA1LPEN: u1, - /// DMA2 Clock Enable During CSleep Mode + /// DMA2 Clock Enable During CSleep Mode DMA2LPEN: u1, reserved5: u3, - /// ADC1/2 Peripheral Clocks Enable During CSleep Mode + /// ADC1/2 Peripheral Clocks Enable During CSleep Mode ADC12LPEN: u1, reserved14: u8, - /// ART Clock Enable During CSleep Mode + /// ART Clock Enable During CSleep Mode ARTLPEN: u1, - /// Ethernet MAC bus interface Clock Enable During CSleep Mode + /// Ethernet MAC bus interface Clock Enable During CSleep Mode ETHLPEN: u1, - /// Ethernet Transmission Clock Enable During CSleep Mode + /// Ethernet Transmission Clock Enable During CSleep Mode ETHTXLPEN: u1, - /// Ethernet Reception Clock Enable During CSleep Mode + /// Ethernet Reception Clock Enable During CSleep Mode ETHRXLPEN: u1, reserved25: u7, - /// USB_OTG_HS peripheral clock enable during CSleep mode + /// USB_OTG_HS peripheral clock enable during CSleep mode USB_OTG_HSLPEN: u1, - /// USB_PHY1 clock enable during CSleep mode + /// USB_PHY1 clock enable during CSleep mode USB_OTG_HS_ULPILPEN: u1, - /// USB_OTG_FS peripheral clock enable during CSleep mode + /// USB_OTG_FS peripheral clock enable during CSleep mode USB_OTG_FSLPEN: u1, - /// USB_PHY2 clocks enable during CSleep mode + /// USB_PHY2 clocks enable during CSleep mode USB_OTG_FS_ULPILPEN: u1, padding: u3, }), - /// RCC AHB2 Sleep Clock Register + /// RCC AHB2 Sleep Clock Register C1_AHB2LPENR: mmio.Mmio(packed struct(u32) { - /// DCMI peripheral clock enable during csleep mode + /// DCMI peripheral clock enable during csleep mode DCMILPEN: u1, reserved4: u3, - /// CRYP peripheral clock enable during CSleep mode + /// CRYP peripheral clock enable during CSleep mode CRYPLPEN: u1, - /// HASH peripheral clock enable during CSleep mode + /// HASH peripheral clock enable during CSleep mode HASHLPEN: u1, - /// RNG peripheral clock enable during CSleep mode + /// RNG peripheral clock enable during CSleep mode RNGLPEN: u1, reserved9: u2, - /// SDMMC2 and SDMMC2 Delay Clock Enable During CSleep Mode + /// SDMMC2 and SDMMC2 Delay Clock Enable During CSleep Mode SDMMC2LPEN: u1, reserved16: u6, - /// FMAC enable during CSleep Mode + /// FMAC enable during CSleep Mode FMACLPEN: u1, - /// CORDIC enable during CSleep Mode + /// CORDIC enable during CSleep Mode CORDICLPEN: u1, reserved29: u11, - /// SRAM1 Clock Enable During CSleep Mode + /// SRAM1 Clock Enable During CSleep Mode SRAM1LPEN: u1, - /// SRAM2 Clock Enable During CSleep Mode + /// SRAM2 Clock Enable During CSleep Mode SRAM2LPEN: u1, - /// SRAM3 Clock Enable During CSleep Mode + /// SRAM3 Clock Enable During CSleep Mode SRAM3LPEN: u1, }), - /// RCC AHB4 Sleep Clock Register + /// RCC AHB4 Sleep Clock Register C1_AHB4LPENR: mmio.Mmio(packed struct(u32) { - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOALPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOBLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOCLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIODLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOELPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOFLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOGLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOHLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOILPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOJLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOKLPEN: u1, reserved19: u8, - /// CRC peripheral clock enable during CSleep mode + /// CRC peripheral clock enable during CSleep mode CRCLPEN: u1, reserved21: u1, - /// BDMA Clock Enable During CSleep Mode + /// BDMA Clock Enable During CSleep Mode BDMALPEN: u1, reserved24: u2, - /// ADC3 Peripheral Clocks Enable During CSleep Mode + /// ADC3 Peripheral Clocks Enable During CSleep Mode ADC3LPEN: u1, reserved28: u3, - /// Backup RAM Clock Enable During CSleep Mode + /// Backup RAM Clock Enable During CSleep Mode BKPSRAMLPEN: u1, - /// SRAM4 Clock Enable During CSleep Mode + /// SRAM4 Clock Enable During CSleep Mode SRAM4LPEN: u1, padding: u2, }), - /// RCC APB3 Sleep Clock Register + /// RCC APB3 Sleep Clock Register C1_APB3LPENR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// LTDC peripheral clock enable during CSleep mode + /// LTDC peripheral clock enable during CSleep mode LTDCLPEN: u1, - /// DSI Peripheral Clock Enable During CSleep Mode + /// DSI Peripheral Clock Enable During CSleep Mode DSILPEN: u1, reserved6: u1, - /// WWDG1 Clock Enable During CSleep Mode + /// WWDG1 Clock Enable During CSleep Mode WWDG1LPEN: u1, padding: u25, }), - /// RCC APB1 Low Sleep Clock Register + /// RCC APB1 Low Sleep Clock Register C1_APB1LLPENR: mmio.Mmio(packed struct(u32) { - /// TIM2 peripheral clock enable during CSleep mode + /// TIM2 peripheral clock enable during CSleep mode TIM2LPEN: u1, - /// TIM3 peripheral clock enable during CSleep mode + /// TIM3 peripheral clock enable during CSleep mode TIM3LPEN: u1, - /// TIM4 peripheral clock enable during CSleep mode + /// TIM4 peripheral clock enable during CSleep mode TIM4LPEN: u1, - /// TIM5 peripheral clock enable during CSleep mode + /// TIM5 peripheral clock enable during CSleep mode TIM5LPEN: u1, - /// TIM6 peripheral clock enable during CSleep mode + /// TIM6 peripheral clock enable during CSleep mode TIM6LPEN: u1, - /// TIM7 peripheral clock enable during CSleep mode + /// TIM7 peripheral clock enable during CSleep mode TIM7LPEN: u1, - /// TIM12 peripheral clock enable during CSleep mode + /// TIM12 peripheral clock enable during CSleep mode TIM12LPEN: u1, - /// TIM13 peripheral clock enable during CSleep mode + /// TIM13 peripheral clock enable during CSleep mode TIM13LPEN: u1, - /// TIM14 peripheral clock enable during CSleep mode + /// TIM14 peripheral clock enable during CSleep mode TIM14LPEN: u1, - /// LPTIM1 Peripheral Clocks Enable During CSleep Mode + /// LPTIM1 Peripheral Clocks Enable During CSleep Mode LPTIM1LPEN: u1, reserved11: u1, - /// WWDG2 peripheral Clocks Enable During CSleep Mode + /// WWDG2 peripheral Clocks Enable During CSleep Mode WWDG2LPEN: u1, reserved14: u2, - /// SPI2 Peripheral Clocks Enable During CSleep Mode + /// SPI2 Peripheral Clocks Enable During CSleep Mode SPI2LPEN: u1, - /// SPI3 Peripheral Clocks Enable During CSleep Mode + /// SPI3 Peripheral Clocks Enable During CSleep Mode SPI3LPEN: u1, - /// SPDIFRX Peripheral Clocks Enable During CSleep Mode + /// SPDIFRX Peripheral Clocks Enable During CSleep Mode SPDIFRXLPEN: u1, - /// USART2 Peripheral Clocks Enable During CSleep Mode + /// USART2 Peripheral Clocks Enable During CSleep Mode USART2LPEN: u1, - /// USART3 Peripheral Clocks Enable During CSleep Mode + /// USART3 Peripheral Clocks Enable During CSleep Mode USART3LPEN: u1, - /// UART4 Peripheral Clocks Enable During CSleep Mode + /// UART4 Peripheral Clocks Enable During CSleep Mode UART4LPEN: u1, - /// UART5 Peripheral Clocks Enable During CSleep Mode + /// UART5 Peripheral Clocks Enable During CSleep Mode UART5LPEN: u1, - /// I2C1 Peripheral Clocks Enable During CSleep Mode + /// I2C1 Peripheral Clocks Enable During CSleep Mode I2C1LPEN: u1, - /// I2C2 Peripheral Clocks Enable During CSleep Mode + /// I2C2 Peripheral Clocks Enable During CSleep Mode I2C2LPEN: u1, - /// I2C3 Peripheral Clocks Enable During CSleep Mode + /// I2C3 Peripheral Clocks Enable During CSleep Mode I2C3LPEN: u1, reserved25: u1, - /// I2C5 block enable during CSleep Mode + /// I2C5 block enable during CSleep Mode I2C5LPEN: u1, reserved27: u1, - /// HDMI-CEC Peripheral Clocks Enable During CSleep Mode + /// HDMI-CEC Peripheral Clocks Enable During CSleep Mode CECLPEN: u1, reserved29: u1, - /// DAC1/2 peripheral clock enable during CSleep mode + /// DAC1/2 peripheral clock enable during CSleep mode DAC12LPEN: u1, - /// UART7 Peripheral Clocks Enable During CSleep Mode + /// UART7 Peripheral Clocks Enable During CSleep Mode UART7LPEN: u1, - /// UART8 Peripheral Clocks Enable During CSleep Mode + /// UART8 Peripheral Clocks Enable During CSleep Mode UART8LPEN: u1, }), - /// RCC APB1 High Sleep Clock Register + /// RCC APB1 High Sleep Clock Register C1_APB1HLPENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clock Recovery System peripheral clock enable during CSleep mode + /// Clock Recovery System peripheral clock enable during CSleep mode CRSLPEN: u1, - /// SWPMI Peripheral Clocks Enable During CSleep Mode + /// SWPMI Peripheral Clocks Enable During CSleep Mode SWPMILPEN: u1, reserved4: u1, - /// OPAMP peripheral clock enable during CSleep mode + /// OPAMP peripheral clock enable during CSleep mode OPAMPLPEN: u1, - /// MDIOS peripheral clock enable during CSleep mode + /// MDIOS peripheral clock enable during CSleep mode MDIOSLPEN: u1, reserved8: u2, - /// FDCAN Peripheral Clocks Enable During CSleep Mode + /// FDCAN Peripheral Clocks Enable During CSleep Mode FDCANLPEN: u1, reserved24: u15, - /// TIM23 block enable during CSleep Mode + /// TIM23 block enable during CSleep Mode TIM23LPEN: u1, - /// TIM24 block enable during CSleep Mode + /// TIM24 block enable during CSleep Mode TIM24LPEN: u1, padding: u6, }), - /// RCC APB2 Sleep Clock Register + /// RCC APB2 Sleep Clock Register C1_APB2LPENR: mmio.Mmio(packed struct(u32) { - /// TIM1 peripheral clock enable during CSleep mode + /// TIM1 peripheral clock enable during CSleep mode TIM1LPEN: u1, - /// TIM8 peripheral clock enable during CSleep mode + /// TIM8 peripheral clock enable during CSleep mode TIM8LPEN: u1, reserved4: u2, - /// USART1 Peripheral Clocks Enable During CSleep Mode + /// USART1 Peripheral Clocks Enable During CSleep Mode USART1LPEN: u1, - /// USART6 Peripheral Clocks Enable During CSleep Mode + /// USART6 Peripheral Clocks Enable During CSleep Mode USART6LPEN: u1, reserved12: u6, - /// SPI1 Peripheral Clocks Enable During CSleep Mode + /// SPI1 Peripheral Clocks Enable During CSleep Mode SPI1LPEN: u1, - /// SPI4 Peripheral Clocks Enable During CSleep Mode + /// SPI4 Peripheral Clocks Enable During CSleep Mode SPI4LPEN: u1, reserved16: u2, - /// TIM15 peripheral clock enable during CSleep mode + /// TIM15 peripheral clock enable during CSleep mode TIM15LPEN: u1, - /// TIM16 peripheral clock enable during CSleep mode + /// TIM16 peripheral clock enable during CSleep mode TIM16LPEN: u1, - /// TIM17 peripheral clock enable during CSleep mode + /// TIM17 peripheral clock enable during CSleep mode TIM17LPEN: u1, reserved20: u1, - /// SPI5 Peripheral Clocks Enable During CSleep Mode + /// SPI5 Peripheral Clocks Enable During CSleep Mode SPI5LPEN: u1, reserved22: u1, - /// SAI1 Peripheral Clocks Enable During CSleep Mode + /// SAI1 Peripheral Clocks Enable During CSleep Mode SAI1LPEN: u1, - /// SAI2 Peripheral Clocks Enable During CSleep Mode + /// SAI2 Peripheral Clocks Enable During CSleep Mode SAI2LPEN: u1, - /// SAI3 Peripheral Clocks Enable During CSleep Mode + /// SAI3 Peripheral Clocks Enable During CSleep Mode SAI3LPEN: u1, reserved28: u3, - /// DFSDM1 Peripheral Clocks Enable During CSleep Mode + /// DFSDM1 Peripheral Clocks Enable During CSleep Mode DFSDM1LPEN: u1, - /// HRTIM peripheral clock enable during CSleep mode + /// HRTIM peripheral clock enable during CSleep mode HRTIMLPEN: u1, padding: u2, }), - /// RCC APB4 Sleep Clock Register + /// RCC APB4 Sleep Clock Register C1_APB4LPENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG peripheral clock enable during CSleep mode + /// SYSCFG peripheral clock enable during CSleep mode SYSCFGLPEN: u1, reserved3: u1, - /// LPUART1 Peripheral Clocks Enable During CSleep Mode + /// LPUART1 Peripheral Clocks Enable During CSleep Mode LPUART1LPEN: u1, reserved5: u1, - /// SPI6 Peripheral Clocks Enable During CSleep Mode + /// SPI6 Peripheral Clocks Enable During CSleep Mode SPI6LPEN: u1, reserved7: u1, - /// I2C4 Peripheral Clocks Enable During CSleep Mode + /// I2C4 Peripheral Clocks Enable During CSleep Mode I2C4LPEN: u1, reserved9: u1, - /// LPTIM2 Peripheral Clocks Enable During CSleep Mode + /// LPTIM2 Peripheral Clocks Enable During CSleep Mode LPTIM2LPEN: u1, - /// LPTIM3 Peripheral Clocks Enable During CSleep Mode + /// LPTIM3 Peripheral Clocks Enable During CSleep Mode LPTIM3LPEN: u1, - /// LPTIM4 Peripheral Clocks Enable During CSleep Mode + /// LPTIM4 Peripheral Clocks Enable During CSleep Mode LPTIM4LPEN: u1, - /// LPTIM5 Peripheral Clocks Enable During CSleep Mode + /// LPTIM5 Peripheral Clocks Enable During CSleep Mode LPTIM5LPEN: u1, reserved14: u1, - /// COMP1/2 peripheral clock enable during CSleep mode + /// COMP1/2 peripheral clock enable during CSleep mode COMP12LPEN: u1, - /// VREF peripheral clock enable during CSleep mode + /// VREF peripheral clock enable during CSleep mode VREFLPEN: u1, - /// RTC APB Clock Enable During CSleep Mode + /// RTC APB Clock Enable During CSleep Mode RTCAPBLPEN: u1, reserved21: u4, - /// SAI4 Peripheral Clocks Enable During CSleep Mode + /// SAI4 Peripheral Clocks Enable During CSleep Mode SAI4LPEN: u1, reserved26: u4, - /// Digital temperature sensor block enable during CSleep Mode + /// Digital temperature sensor block enable during CSleep Mode DTSLPEN: u1, padding: u5, }), @@ -389392,244 +382930,244 @@ pub const types = struct { pub const rcc_h7ab = struct { pub const ADCSEL = enum(u2) { - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x2, _, }; pub const CECSEL = enum(u2) { - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x0, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x1, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x2, _, }; pub const DFSDMSEL = enum(u1) { - /// rcc_pclk2 selected as peripheral clock + /// rcc_pclk2 selected as peripheral clock PCLK2 = 0x0, - /// System clock selected as peripheral clock + /// System clock selected as peripheral clock SYS = 0x1, }; pub const FDCANSEL = enum(u2) { - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x0, - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x1, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x2, _, }; pub const FMCSEL = enum(u2) { - /// rcc_hclk3 selected as peripheral clock + /// rcc_hclk3 selected as peripheral clock HCLK3 = 0x0, - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x1, - /// pll2_r selected as peripheral clock + /// pll2_r selected as peripheral clock PLL2_R = 0x2, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x3, }; pub const HPRE = enum(u4) { - /// sys_ck not divided + /// sys_ck not divided Div1 = 0x0, - /// sys_ck divided by 2 + /// sys_ck divided by 2 Div2 = 0x8, - /// sys_ck divided by 4 + /// sys_ck divided by 4 Div4 = 0x9, - /// sys_ck divided by 8 + /// sys_ck divided by 8 Div8 = 0xa, - /// sys_ck divided by 16 + /// sys_ck divided by 16 Div16 = 0xb, - /// sys_ck divided by 64 + /// sys_ck divided by 64 Div64 = 0xc, - /// sys_ck divided by 128 + /// sys_ck divided by 128 Div128 = 0xd, - /// sys_ck divided by 256 + /// sys_ck divided by 256 Div256 = 0xe, - /// sys_ck divided by 512 + /// sys_ck divided by 512 Div512 = 0xf, _, }; pub const HRTIMSEL = enum(u1) { - /// The HRTIM prescaler clock source is the same as other timers (rcc_timy_ker_ck) + /// The HRTIM prescaler clock source is the same as other timers (rcc_timy_ker_ck) TIMY_KER = 0x0, - /// The HRTIM prescaler clock source is the CPU clock (c_ck) + /// The HRTIM prescaler clock source is the CPU clock (c_ck) C_CK = 0x1, }; pub const HSIDIV = enum(u2) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x1, - /// Division by 4 + /// Division by 4 Div4 = 0x2, - /// Division by 8 + /// Division by 8 Div8 = 0x3, }; pub const I2C1235SEL = enum(u2) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x2, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x3, }; pub const I2C4SEL = enum(u2) { - /// rcc_pclk4 selected as peripheral clock + /// rcc_pclk4 selected as peripheral clock PCLK4 = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x2, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x3, }; pub const LPTIM1SEL = enum(u3) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x2, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x3, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x4, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x5, _, }; pub const LPTIM2SEL = enum(u3) { - /// rcc_pclk4 selected as peripheral clock + /// rcc_pclk4 selected as peripheral clock PCLK4 = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x2, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x3, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x4, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x5, _, }; pub const LPUARTSEL = enum(u3) { - /// rcc_pclk_d4 selected as peripheral clock + /// rcc_pclk_d4 selected as peripheral clock PCLK4 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCO1SEL = enum(u3) { - /// HSI selected for micro-controller clock output + /// HSI selected for micro-controller clock output HSI = 0x0, - /// LSE selected for micro-controller clock output + /// LSE selected for micro-controller clock output LSE = 0x1, - /// HSE selected for micro-controller clock output + /// HSE selected for micro-controller clock output HSE = 0x2, - /// pll1_q selected for micro-controller clock output + /// pll1_q selected for micro-controller clock output PLL1_Q = 0x3, - /// HSI48 selected for micro-controller clock output + /// HSI48 selected for micro-controller clock output HSI48 = 0x4, _, }; pub const MCO2SEL = enum(u3) { - /// System clock selected for micro-controller clock output + /// System clock selected for micro-controller clock output SYS = 0x0, - /// pll2_p selected for micro-controller clock output + /// pll2_p selected for micro-controller clock output PLL2_P = 0x1, - /// HSE selected for micro-controller clock output + /// HSE selected for micro-controller clock output HSE = 0x2, - /// pll1_p selected for micro-controller clock output + /// pll1_p selected for micro-controller clock output PLL1_P = 0x3, - /// CSI selected for micro-controller clock output + /// CSI selected for micro-controller clock output CSI = 0x4, - /// LSI selected for micro-controller clock output + /// LSI selected for micro-controller clock output LSI = 0x5, _, }; pub const MCOPRE = enum(u4) { - /// Divide by 1 + /// Divide by 1 Div1 = 0x1, - /// Divide by 2 + /// Divide by 2 Div2 = 0x2, - /// Divide by 3 + /// Divide by 3 Div3 = 0x3, - /// Divide by 4 + /// Divide by 4 Div4 = 0x4, - /// Divide by 5 + /// Divide by 5 Div5 = 0x5, - /// Divide by 6 + /// Divide by 6 Div6 = 0x6, - /// Divide by 7 + /// Divide by 7 Div7 = 0x7, - /// Divide by 8 + /// Divide by 8 Div8 = 0x8, - /// Divide by 9 + /// Divide by 9 Div9 = 0x9, - /// Divide by 10 + /// Divide by 10 Div10 = 0xa, - /// Divide by 11 + /// Divide by 11 Div11 = 0xb, - /// Divide by 12 + /// Divide by 12 Div12 = 0xc, - /// Divide by 13 + /// Divide by 13 Div13 = 0xd, - /// Divide by 14 + /// Divide by 14 Div14 = 0xe, - /// Divide by 15 + /// Divide by 15 Div15 = 0xf, _, }; pub const PERSEL = enum(u2) { - /// HSI selected as peripheral clock + /// HSI selected as peripheral clock HSI = 0x0, - /// CSI selected as peripheral clock + /// CSI selected as peripheral clock CSI = 0x1, - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x2, _, }; @@ -390345,1738 +383883,1579 @@ pub const types = struct { }; pub const PLLRGE = enum(u2) { - /// Frequency is between 1 and 2 MHz + /// Frequency is between 1 and 2 MHz Range1 = 0x0, - /// Frequency is between 2 and 4 MHz + /// Frequency is between 2 and 4 MHz Range2 = 0x1, - /// Frequency is between 4 and 8 MHz + /// Frequency is between 4 and 8 MHz Range4 = 0x2, - /// Frequency is between 8 and 16 MHz + /// Frequency is between 8 and 16 MHz Range8 = 0x3, }; pub const PLLSRC = enum(u2) { - /// HSI selected as PLL clock + /// HSI selected as PLL clock HSI = 0x0, - /// CSI selected as PLL clock + /// CSI selected as PLL clock CSI = 0x1, - /// HSE selected as PLL clock + /// HSE selected as PLL clock HSE = 0x2, - /// No clock sent to DIVMx dividers and PLLs + /// No clock sent to DIVMx dividers and PLLs DISABLE = 0x3, }; pub const PLLVCOSEL = enum(u1) { - /// VCO frequency range 192 to 836 MHz + /// VCO frequency range 192 to 836 MHz WideVCO = 0x0, - /// VCO frequency range 150 to 420 MHz + /// VCO frequency range 150 to 420 MHz MediumVCO = 0x1, }; pub const PPRE = enum(u3) { - /// rcc_hclk not divided + /// rcc_hclk not divided Div1 = 0x0, - /// rcc_hclk divided by 2 + /// rcc_hclk divided by 2 Div2 = 0x4, - /// rcc_hclk divided by 4 + /// rcc_hclk divided by 4 Div4 = 0x5, - /// rcc_hclk divided by 8 + /// rcc_hclk divided by 8 Div8 = 0x6, - /// rcc_hclk divided by 16 + /// rcc_hclk divided by 16 Div16 = 0x7, _, }; pub const RNGSEL = enum(u2) { - /// HSI48 selected as peripheral clock + /// HSI48 selected as peripheral clock HSI48 = 0x0, - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x1, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x2, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x3, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SAIASEL = enum(u3) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_p selected as peripheral clock + /// pll3_p selected as peripheral clock PLL3_P = 0x2, - /// i2s_ckin selected as peripheral clock + /// i2s_ckin selected as peripheral clock I2S_CKIN = 0x3, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x4, _, }; pub const SAISEL = enum(u3) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_p selected as peripheral clock + /// pll3_p selected as peripheral clock PLL3_P = 0x2, - /// I2S_CKIN selected as peripheral clock + /// I2S_CKIN selected as peripheral clock I2S_CKIN = 0x3, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x4, _, }; pub const SDMMCSEL = enum(u1) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_r selected as peripheral clock + /// pll2_r selected as peripheral clock PLL2_R = 0x1, }; pub const SPDIFRXSEL = enum(u2) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_r selected as peripheral clock + /// pll2_r selected as peripheral clock PLL2_R = 0x1, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, }; pub const SPI45SEL = enum(u3) { - /// APB2 clock selected as peripheral clock + /// APB2 clock selected as peripheral clock PCLK2 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x5, _, }; pub const SPI6SEL = enum(u3) { - /// rcc_pclk4 selected as peripheral clock + /// rcc_pclk4 selected as peripheral clock PCLK4 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x5, _, }; pub const STOPWUCK = enum(u1) { - /// HSI selected as wake up clock from system Stop + /// HSI selected as wake up clock from system Stop HSI = 0x0, - /// CSI selected as wake up clock from system Stop + /// CSI selected as wake up clock from system Stop CSI = 0x1, }; pub const SW = enum(u3) { - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x0, - /// CSI selected as system clock + /// CSI selected as system clock CSI = 0x1, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x2, - /// PLL1 selected as system clock + /// PLL1 selected as system clock PLL1_P = 0x3, _, }; pub const SWPMISEL = enum(u1) { - /// pclk selected as peripheral clock + /// pclk selected as peripheral clock PCLK1 = 0x0, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x1, }; pub const TIMPRE = enum(u1) { - /// Timer kernel clock equal to 2x pclk by default + /// Timer kernel clock equal to 2x pclk by default DefaultX2 = 0x0, - /// Timer kernel clock equal to 4x pclk by default + /// Timer kernel clock equal to 4x pclk by default DefaultX4 = 0x1, }; pub const USART16910SEL = enum(u3) { - /// rcc_pclk2 selected as peripheral clock + /// rcc_pclk2 selected as peripheral clock PCLK2 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const USART234578SEL = enum(u3) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const USBSEL = enum(u2) { - /// Disable the kernel clock + /// Disable the kernel clock DISABLE = 0x0, - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// HSI48 selected as peripheral clock + /// HSI48 selected as peripheral clock HSI48 = 0x3, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// clock control register + /// clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal high-speed clock enable + /// Internal high-speed clock enable HSION: u1, - /// High Speed Internal clock enable in Stop mode + /// High Speed Internal clock enable in Stop mode HSIKERON: u1, - /// HSI clock ready flag + /// HSI clock ready flag HSIRDY: u1, - /// HSI clock divider - HSIDIV: packed union { - raw: u2, - value: HSIDIV, - }, - /// HSI divider flag + /// HSI clock divider + HSIDIV: HSIDIV, + /// HSI divider flag HSIDIVF: u1, reserved7: u1, - /// CSI clock enable + /// CSI clock enable CSION: u1, - /// CSI clock ready flag + /// CSI clock ready flag CSIRDY: u1, - /// CSI clock enable in Stop mode + /// CSI clock enable in Stop mode CSIKERON: u1, reserved12: u2, - /// RC48 clock enable + /// RC48 clock enable HSI48ON: u1, - /// RC48 clock ready flag + /// RC48 clock ready flag HSI48RDY: u1, - /// D1 domain clocks ready flag + /// D1 domain clocks ready flag D1CKRDY: u1, - /// D2 domain clocks ready flag + /// D2 domain clocks ready flag D2CKRDY: u1, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE clock bypass + /// HSE clock bypass HSEBYP: u1, - /// HSE Clock Security System enable + /// HSE Clock Security System enable HSECSSON: u1, reserved24: u4, - /// PLL1 enable + /// PLL1 enable PLLON: u1, - /// PLL1 clock ready flag + /// PLL1 clock ready flag PLLRDY: u1, padding: u6, }), - /// RCC HSI configuration register + /// RCC HSI configuration register HSICFGR: mmio.Mmio(packed struct(u32) { - /// HSI clock calibration + /// HSI clock calibration HSICAL: u12, reserved24: u12, - /// HSI clock trimming + /// HSI clock trimming HSITRIM: u7, padding: u1, }), - /// RCC Clock Recovery RC Register + /// RCC Clock Recovery RC Register CRRCR: mmio.Mmio(packed struct(u32) { - /// Internal RC 48 MHz clock calibration + /// Internal RC 48 MHz clock calibration HSI48CAL: u10, padding: u22, }), - /// RCC CSI configuration register + /// RCC CSI configuration register CSICFGR: mmio.Mmio(packed struct(u32) { - /// CSI clock calibration + /// CSI clock calibration CSICAL: u9, reserved24: u15, - /// CSI clock trimming + /// CSI clock trimming CSITRIM: u6, padding: u2, }), - /// RCC Clock Configuration Register + /// RCC Clock Configuration Register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u3, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u3, - value: SW, - }, - /// System clock selection after a wake up from system Stop - STOPWUCK: packed union { - raw: u1, - value: STOPWUCK, - }, - /// Kernel clock selection after a wake up from system Stop - STOPKERWUCK: packed union { - raw: u1, - value: STOPWUCK, - }, - /// HSE division factor for RTC clock + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// System clock selection after a wake up from system Stop + STOPWUCK: STOPWUCK, + /// Kernel clock selection after a wake up from system Stop + STOPKERWUCK: STOPWUCK, + /// HSE division factor for RTC clock RTCPRE: u6, - /// High Resolution Timer clock prescaler selection - HRTIMSEL: packed union { - raw: u1, - value: HRTIMSEL, - }, - /// Timers clocks prescaler selection - TIMPRE: packed union { - raw: u1, - value: TIMPRE, - }, + /// High Resolution Timer clock prescaler selection + HRTIMSEL: HRTIMSEL, + /// Timers clocks prescaler selection + TIMPRE: TIMPRE, reserved18: u2, - /// MCO1 prescaler - MCO1PRE: packed union { - raw: u4, - value: MCOPRE, - }, - /// Micro-controller clock output 1 - MCO1SEL: packed union { - raw: u3, - value: MCO1SEL, - }, - /// MCO2 prescaler - MCO2PRE: packed union { - raw: u4, - value: MCOPRE, - }, - /// Micro-controller clock output 2 - MCO2SEL: packed union { - raw: u3, - value: MCO2SEL, - }, + /// MCO1 prescaler + MCO1PRE: MCOPRE, + /// Micro-controller clock output 1 + MCO1SEL: MCO1SEL, + /// MCO2 prescaler + MCO2PRE: MCOPRE, + /// Micro-controller clock output 2 + MCO2SEL: MCO2SEL, }), reserved24: [4]u8, - /// RCC Domain 1 Clock Configuration Register + /// RCC Domain 1 Clock Configuration Register D1CFGR: mmio.Mmio(packed struct(u32) { - /// D1 domain AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// D1 domain APB3 prescaler - D1PPRE: packed union { - raw: u3, - value: PPRE, - }, + /// D1 domain AHB prescaler + HPRE: HPRE, + /// D1 domain APB3 prescaler + D1PPRE: PPRE, reserved8: u1, - /// D1 domain Core prescaler - D1CPRE: packed union { - raw: u4, - value: HPRE, - }, + /// D1 domain Core prescaler + D1CPRE: HPRE, padding: u20, }), - /// RCC Domain 2 Clock Configuration Register + /// RCC Domain 2 Clock Configuration Register D2CFGR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// D2 domain APB1 prescaler - D2PPRE1: packed union { - raw: u3, - value: PPRE, - }, + /// D2 domain APB1 prescaler + D2PPRE1: PPRE, reserved8: u1, - /// D2 domain APB2 prescaler - D2PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// D2 domain APB2 prescaler + D2PPRE2: PPRE, padding: u21, }), - /// RCC Domain 3 Clock Configuration Register + /// RCC Domain 3 Clock Configuration Register D3CFGR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// D3 domain APB4 prescaler - D3PPRE: packed union { - raw: u3, - value: PPRE, - }, + /// D3 domain APB4 prescaler + D3PPRE: PPRE, padding: u25, }), reserved40: [4]u8, - /// RCC PLLs Clock Source Selection Register + /// RCC PLLs Clock Source Selection Register PLLCKSELR: mmio.Mmio(packed struct(u32) { - /// DIVMx and PLLs clock source selection - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, + /// DIVMx and PLLs clock source selection + PLLSRC: PLLSRC, reserved4: u2, - /// Prescaler for PLL1 - DIVM: packed union { - raw: u6, - value: PLLM, - }, + /// Prescaler for PLL1 + DIVM: PLLM, padding: u22, }), - /// RCC PLLs Configuration Register + /// RCC PLLs Configuration Register PLLCFGR: mmio.Mmio(packed struct(u32) { - /// PLL1 fractional latch enable + /// PLL1 fractional latch enable PLLFRACEN: u1, - /// PLL1 VCO selection - PLLVCOSEL: packed union { - raw: u1, - value: PLLVCOSEL, - }, - /// PLL1 input frequency range - PLLRGE: packed union { - raw: u2, - value: PLLRGE, - }, + /// PLL1 VCO selection + PLLVCOSEL: PLLVCOSEL, + /// PLL1 input frequency range + PLLRGE: PLLRGE, reserved16: u12, - /// PLL1 DIVP divider output enable + /// PLL1 DIVP divider output enable DIVPEN: u1, - /// PLL1 DIVQ divider output enable + /// PLL1 DIVQ divider output enable DIVQEN: u1, - /// PLL1 DIVR divider output enable + /// PLL1 DIVR divider output enable DIVREN: u1, padding: u13, }), - /// RCC PLL1 Dividers Configuration Register + /// RCC PLL1 Dividers Configuration Register PLLDIVR: mmio.Mmio(packed struct(u32) { - /// Multiplication factor for PLL1 VCO - PLLN: packed union { - raw: u9, - value: PLLN, - }, - /// PLL DIVP division factor - PLLP: packed union { - raw: u7, - value: PLLDIV, - }, - /// PLL DIVQ division factor - PLLQ: packed union { - raw: u7, - value: PLLDIV, - }, + /// Multiplication factor for PLL1 VCO + PLLN: PLLN, + /// PLL DIVP division factor + PLLP: PLLDIV, + /// PLL DIVQ division factor + PLLQ: PLLDIV, reserved24: u1, - /// PLL DIVR division factor - PLLR: packed union { - raw: u7, - value: PLLDIV, - }, + /// PLL DIVR division factor + PLLR: PLLDIV, padding: u1, }), - /// RCC PLL1 Fractional Divider Register + /// RCC PLL1 Fractional Divider Register PLLFRACR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Fractional part of the multiplication factor for PLL VCO + /// Fractional part of the multiplication factor for PLL VCO FRACN: u13, padding: u16, }), reserved76: [20]u8, - /// RCC Domain 1 Kernel Clock Configuration Register + /// RCC Domain 1 Kernel Clock Configuration Register D1CCIPR: mmio.Mmio(packed struct(u32) { - /// FMC kernel clock source selection - FMCSEL: packed union { - raw: u2, - value: FMCSEL, - }, + /// FMC kernel clock source selection + FMCSEL: FMCSEL, reserved4: u2, - /// OCTOSPI kernel clock source selection - OCTOSPISEL: packed union { - raw: u2, - value: FMCSEL, - }, + /// OCTOSPI kernel clock source selection + OCTOSPISEL: FMCSEL, reserved16: u10, - /// SDMMC kernel clock source selection - SDMMCSEL: packed union { - raw: u1, - value: SDMMCSEL, - }, + /// SDMMC kernel clock source selection + SDMMCSEL: SDMMCSEL, reserved28: u11, - /// per_ck clock source selection - PERSEL: packed union { - raw: u2, - value: PERSEL, - }, + /// per_ck clock source selection + PERSEL: PERSEL, padding: u2, }), - /// RCC Domain 2 Kernel Clock Configuration Register + /// RCC Domain 2 Kernel Clock Configuration Register D2CCIP1R: mmio.Mmio(packed struct(u32) { - /// SAI1 and DFSDM1 kernel Aclk clock source selection - SAI1SEL: packed union { - raw: u3, - value: SAISEL, - }, + /// SAI1 and DFSDM1 kernel Aclk clock source selection + SAI1SEL: SAISEL, reserved6: u3, - /// SAI2 kernel clock source A source selection - SAI2ASEL: packed union { - raw: u3, - value: SAIASEL, - }, - /// SAI2 kernel clock source B source selection - SAI2BSEL: packed union { - raw: u3, - value: SAIASEL, - }, - /// SPI/I2S1,2 and 3 kernel clock source selection - SPI123SEL: packed union { - raw: u3, - value: SAISEL, - }, + /// SAI2 kernel clock source A source selection + SAI2ASEL: SAIASEL, + /// SAI2 kernel clock source B source selection + SAI2BSEL: SAIASEL, + /// SPI/I2S1,2 and 3 kernel clock source selection + SPI123SEL: SAISEL, reserved16: u1, - /// SPI4 and 5 kernel clock source selection - SPI45SEL: packed union { - raw: u3, - value: SPI45SEL, - }, + /// SPI4 and 5 kernel clock source selection + SPI45SEL: SPI45SEL, reserved20: u1, - /// SPDIFRX kernel clock source selection - SPDIFRXSEL: packed union { - raw: u2, - value: SPDIFRXSEL, - }, + /// SPDIFRX kernel clock source selection + SPDIFRXSEL: SPDIFRXSEL, reserved24: u2, - /// DFSDM1 kernel Clk clock source selection - DFSDM1SEL: packed union { - raw: u1, - value: DFSDMSEL, - }, + /// DFSDM1 kernel Clk clock source selection + DFSDM1SEL: DFSDMSEL, reserved28: u3, - /// FDCAN kernel clock source selection - FDCANSEL: packed union { - raw: u2, - value: FDCANSEL, - }, + /// FDCAN kernel clock source selection + FDCANSEL: FDCANSEL, reserved31: u1, - /// SWPMI kernel clock source selection - SWPMISEL: packed union { - raw: u1, - value: SWPMISEL, - }, + /// SWPMI kernel clock source selection + SWPMISEL: SWPMISEL, }), - /// RCC Domain 2 Kernel Clock Configuration Register + /// RCC Domain 2 Kernel Clock Configuration Register D2CCIP2R: mmio.Mmio(packed struct(u32) { - /// USART2/3, UART4,5, 7/8 (APB1) kernel clock source selection - USART234578SEL: packed union { - raw: u3, - value: USART234578SEL, - }, - /// USART1, 6, 9 and 10 kernel clock source selection - USART16910SEL: packed union { - raw: u3, - value: USART16910SEL, - }, + /// USART2/3, UART4,5, 7/8 (APB1) kernel clock source selection + USART234578SEL: USART234578SEL, + /// USART1, 6, 9 and 10 kernel clock source selection + USART16910SEL: USART16910SEL, reserved8: u2, - /// RNG kernel clock source selection - RNGSEL: packed union { - raw: u2, - value: RNGSEL, - }, + /// RNG kernel clock source selection + RNGSEL: RNGSEL, reserved12: u2, - /// I2C1,2,3 kernel clock source selection - I2C1235SEL: packed union { - raw: u2, - value: I2C1235SEL, - }, + /// I2C1,2,3 kernel clock source selection + I2C1235SEL: I2C1235SEL, reserved20: u6, - /// USBOTG 1 and 2 kernel clock source selection - USBSEL: packed union { - raw: u2, - value: USBSEL, - }, - /// HDMI-CEC kernel clock source selection - CECSEL: packed union { - raw: u2, - value: CECSEL, - }, + /// USBOTG 1 and 2 kernel clock source selection + USBSEL: USBSEL, + /// HDMI-CEC kernel clock source selection + CECSEL: CECSEL, reserved28: u4, - /// LPTIM1 kernel clock source selection - LPTIM1SEL: packed union { - raw: u3, - value: LPTIM1SEL, - }, + /// LPTIM1 kernel clock source selection + LPTIM1SEL: LPTIM1SEL, padding: u1, }), - /// RCC Domain 3 Kernel Clock Configuration Register + /// RCC Domain 3 Kernel Clock Configuration Register D3CCIPR: mmio.Mmio(packed struct(u32) { - /// LPUART1 kernel clock source selection - LPUART1SEL: packed union { - raw: u3, - value: LPUARTSEL, - }, + /// LPUART1 kernel clock source selection + LPUART1SEL: LPUARTSEL, reserved8: u5, - /// I2C4 kernel clock source selection - I2C4SEL: packed union { - raw: u2, - value: I2C4SEL, - }, - /// LPTIM2 kernel clock source selection - LPTIM2SEL: packed union { - raw: u3, - value: LPTIM2SEL, - }, - /// LPTIM3,4,5 kernel clock source selection - LPTIM345SEL: packed union { - raw: u3, - value: LPTIM2SEL, - }, - /// SAR ADC kernel clock source selection - ADCSEL: packed union { - raw: u2, - value: ADCSEL, - }, + /// I2C4 kernel clock source selection + I2C4SEL: I2C4SEL, + /// LPTIM2 kernel clock source selection + LPTIM2SEL: LPTIM2SEL, + /// LPTIM3,4,5 kernel clock source selection + LPTIM345SEL: LPTIM2SEL, + /// SAR ADC kernel clock source selection + ADCSEL: ADCSEL, reserved27: u9, - /// DFSDM2 kernel clock source selection + /// DFSDM2 kernel clock source selection DFSDM2SEL: u1, - /// SPI6 kernel clock source selection - SPI6SEL: packed union { - raw: u3, - value: SPI6SEL, - }, + /// SPI6 kernel clock source selection + SPI6SEL: SPI6SEL, padding: u1, }), reserved96: [4]u8, - /// RCC Clock Source Interrupt Enable Register + /// RCC Clock Source Interrupt Enable Register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready Interrupt Enable + /// LSI ready Interrupt Enable LSIRDYIE: u1, - /// LSE ready Interrupt Enable + /// LSE ready Interrupt Enable LSERDYIE: u1, - /// HSI ready Interrupt Enable + /// HSI ready Interrupt Enable HSIRDYIE: u1, - /// HSE ready Interrupt Enable + /// HSE ready Interrupt Enable HSERDYIE: u1, - /// CSI ready Interrupt Enable + /// CSI ready Interrupt Enable CSIRDYIE: u1, - /// RC48 ready Interrupt Enable + /// RC48 ready Interrupt Enable HSI48RDYIE: u1, - /// PLL1 ready Interrupt Enable + /// PLL1 ready Interrupt Enable PLLRDYIE: u1, reserved9: u2, - /// LSE clock security system Interrupt Enable + /// LSE clock security system Interrupt Enable LSECSSIE: u1, padding: u22, }), - /// RCC Clock Source Interrupt Flag Register + /// RCC Clock Source Interrupt Flag Register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready Interrupt Flag + /// LSI ready Interrupt Flag LSIRDYF: u1, - /// LSE ready Interrupt Flag + /// LSE ready Interrupt Flag LSERDYF: u1, - /// HSI ready Interrupt Flag + /// HSI ready Interrupt Flag HSIRDYF: u1, - /// HSE ready Interrupt Flag + /// HSE ready Interrupt Flag HSERDYF: u1, - /// CSI ready Interrupt Flag + /// CSI ready Interrupt Flag CSIRDYF: u1, - /// RC48 ready Interrupt Flag + /// RC48 ready Interrupt Flag HSI48RDYF: u1, - /// PLL1 ready Interrupt Flag + /// PLL1 ready Interrupt Flag PLLRDYF: u1, reserved9: u2, - /// LSE clock security system Interrupt Flag + /// LSE clock security system Interrupt Flag LSECSSF: u1, - /// HSE clock security system Interrupt Flag + /// HSE clock security system Interrupt Flag HSECSSF: u1, padding: u21, }), - /// RCC Clock Source Interrupt Clear Register + /// RCC Clock Source Interrupt Clear Register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready Interrupt Clear + /// LSI ready Interrupt Clear LSIRDYC: u1, - /// LSE ready Interrupt Clear + /// LSE ready Interrupt Clear LSERDYC: u1, - /// HSI ready Interrupt Clear + /// HSI ready Interrupt Clear HSIRDYC: u1, - /// HSE ready Interrupt Clear + /// HSE ready Interrupt Clear HSERDYC: u1, - /// CSI ready Interrupt Clear + /// CSI ready Interrupt Clear HSE_ready_Interrupt_Clear: u1, - /// RC48 ready Interrupt Clear + /// RC48 ready Interrupt Clear HSI48RDYC: u1, - /// PLL1 ready Interrupt Clear + /// PLL1 ready Interrupt Clear PLLRDYC: u1, reserved9: u2, - /// LSE clock security system Interrupt Clear + /// LSE clock security system Interrupt Clear LSECSSC: u1, - /// HSE clock security system Interrupt Clear + /// HSE clock security system Interrupt Clear HSECSSC: u1, padding: u21, }), reserved112: [4]u8, - /// RCC Backup Domain Control Register + /// RCC Backup Domain Control Register BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enabled + /// LSE oscillator enabled LSEON: u1, - /// LSE oscillator ready + /// LSE oscillator ready LSERDY: u1, - /// LSE oscillator bypass + /// LSE oscillator bypass LSEBYP: u1, - /// LSE oscillator driving capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// LSE clock security system enable + /// LSE oscillator driving capability + LSEDRV: LSEDRV, + /// LSE clock security system enable LSECSSON: u1, - /// LSE clock security system failure detection + /// LSE clock security system failure detection LSECSSD: u1, reserved8: u1, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// VSwitch domain software reset + /// VSwitch domain software reset BDRST: u1, padding: u15, }), - /// RCC Clock Control and Status Register + /// RCC Clock Control and Status Register CSR: mmio.Mmio(packed struct(u32) { - /// LSI oscillator enable + /// LSI oscillator enable LSION: u1, - /// LSI oscillator ready + /// LSI oscillator ready LSIRDY: u1, padding: u30, }), reserved124: [4]u8, - /// RCC AHB3 Reset Register + /// RCC AHB3 Reset Register AHB3RSTR: mmio.Mmio(packed struct(u32) { - /// MDMA block reset + /// MDMA block reset MDMARST: u1, reserved4: u3, - /// DMA2D block reset + /// DMA2D block reset DMA2DRST: u1, - /// JPGDEC block reset + /// JPGDEC block reset JPGDECRST: u1, reserved12: u6, - /// FMC block reset + /// FMC block reset FMCRST: u1, reserved14: u1, - /// OCTOSPI1 and OCTOSPI1 delay block reset + /// OCTOSPI1 and OCTOSPI1 delay block reset OCTOSPI1RST: u1, reserved16: u1, - /// SDMMC1 and SDMMC1 delay block reset + /// SDMMC1 and SDMMC1 delay block reset SDMMC1RST: u1, reserved19: u2, - /// OCTOSPI2 and OCTOSPI2 delay block reset + /// OCTOSPI2 and OCTOSPI2 delay block reset OCTOSPI2RST: u1, reserved21: u1, - /// OCTOSPI IO manager reset + /// OCTOSPI IO manager reset IOMNGRRST: u1, - /// OTFDEC1 reset + /// OTFDEC1 reset OTFD1RST: u1, - /// OTFDEC2 reset + /// OTFDEC2 reset OTFD2RST: u1, reserved31: u7, - /// CPU reset + /// CPU reset CPURST: u1, }), - /// RCC AHB1 Peripheral Reset Register + /// RCC AHB1 Peripheral Reset Register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// DMA1 block reset + /// DMA1 block reset DMA1RST: u1, - /// DMA2 block reset + /// DMA2 block reset DMA2RST: u1, reserved5: u3, - /// ADC1&2 block reset + /// ADC1&2 block reset ADC12RST: u1, reserved14: u8, - /// ART block reset + /// ART block reset ARTRST: u1, - /// ETH block reset + /// ETH block reset ETHRST: u1, reserved25: u9, - /// USB_OTG_HS block reset + /// USB_OTG_HS block reset USB_OTG_HSRST: u1, reserved27: u1, - /// USB_OTG_FS block reset + /// USB_OTG_FS block reset USB_OTG_FSRST: u1, padding: u4, }), - /// RCC AHB2 Peripheral Reset Register + /// RCC AHB2 Peripheral Reset Register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// DCMI block reset + /// DCMI block reset DCMIRST: u1, reserved4: u3, - /// CRYPography block reset + /// CRYPography block reset CRYPRST: u1, - /// Hash block reset + /// Hash block reset HASHRST: u1, - /// Random Number Generator block reset + /// Random Number Generator block reset RNGRST: u1, reserved9: u2, - /// SDMMC2 and SDMMC2 Delay block reset + /// SDMMC2 and SDMMC2 Delay block reset SDMMC2RST: u1, reserved11: u1, - /// BDMA1 block reset + /// BDMA1 block reset BDMA1RST: u1, reserved16: u4, - /// FMAC reset + /// FMAC reset FMACRST: u1, - /// CORDIC reset + /// CORDIC reset CORDICRST: u1, padding: u14, }), - /// RCC AHB4 Peripheral Reset Register + /// RCC AHB4 Peripheral Reset Register AHB4RSTR: mmio.Mmio(packed struct(u32) { - /// GPIO block reset + /// GPIO block reset GPIOARST: u1, - /// GPIO block reset + /// GPIO block reset GPIOBRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOCRST: u1, - /// GPIO block reset + /// GPIO block reset GPIODRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOERST: u1, - /// GPIO block reset + /// GPIO block reset GPIOFRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOGRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOHRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOIRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOJRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOKRST: u1, reserved19: u8, - /// CRC block reset + /// CRC block reset CRCRST: u1, reserved21: u1, - /// BDMA2 block reset + /// BDMA2 block reset BDMA2RST: u1, reserved24: u2, - /// ADC3 block reset + /// ADC3 block reset ADC3RST: u1, - /// HSEM block reset + /// HSEM block reset HSEMRST: u1, padding: u6, }), - /// RCC APB3 Peripheral Reset Register + /// RCC APB3 Peripheral Reset Register APB3RSTR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// LTDC block reset + /// LTDC block reset LTDCRST: u1, - /// DSI block reset + /// DSI block reset DSIRST: u1, padding: u27, }), - /// RCC APB1 Peripheral Reset Register + /// RCC APB1 Peripheral Reset Register APB1LRSTR: mmio.Mmio(packed struct(u32) { - /// TIM block reset + /// TIM block reset TIM2RST: u1, - /// TIM block reset + /// TIM block reset TIM3RST: u1, - /// TIM block reset + /// TIM block reset TIM4RST: u1, - /// TIM block reset + /// TIM block reset TIM5RST: u1, - /// TIM block reset + /// TIM block reset TIM6RST: u1, - /// TIM block reset + /// TIM block reset TIM7RST: u1, - /// TIM block reset + /// TIM block reset TIM12RST: u1, - /// TIM block reset + /// TIM block reset TIM13RST: u1, - /// TIM block reset + /// TIM block reset TIM14RST: u1, - /// TIM block reset + /// TIM block reset LPTIM1RST: u1, reserved14: u4, - /// SPI2 block reset + /// SPI2 block reset SPI2RST: u1, - /// SPI3 block reset + /// SPI3 block reset SPI3RST: u1, - /// SPDIFRX block reset + /// SPDIFRX block reset SPDIFRXRST: u1, - /// USART2 block reset + /// USART2 block reset USART2RST: u1, - /// USART3 block reset + /// USART3 block reset USART3RST: u1, - /// UART4 block reset + /// UART4 block reset UART4RST: u1, - /// UART5 block reset + /// UART5 block reset UART5RST: u1, - /// I2C1 block reset + /// I2C1 block reset I2C1RST: u1, - /// I2C2 block reset + /// I2C2 block reset I2C2RST: u1, - /// I2C3 block reset + /// I2C3 block reset I2C3RST: u1, reserved25: u1, - /// I2C5 block reset + /// I2C5 block reset I2C5RST: u1, reserved27: u1, - /// HDMI-CEC block reset + /// HDMI-CEC block reset CECRST: u1, reserved29: u1, - /// DAC1 (containing two converters) reset + /// DAC1 (containing two converters) reset DAC1RST: u1, - /// UART7 block reset + /// UART7 block reset UART7RST: u1, - /// UART8 block reset + /// UART8 block reset UART8RST: u1, }), - /// RCC APB1 Peripheral Reset Register + /// RCC APB1 Peripheral Reset Register APB1HRSTR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clock Recovery System reset + /// Clock Recovery System reset CRSRST: u1, - /// SWPMI block reset + /// SWPMI block reset SWPMIRST: u1, reserved4: u1, - /// OPAMP block reset + /// OPAMP block reset OPAMPRST: u1, - /// MDIOS block reset + /// MDIOS block reset MDIOSRST: u1, reserved8: u2, - /// FDCAN block reset + /// FDCAN block reset FDCANRST: u1, reserved24: u15, - /// TIM23 block reset + /// TIM23 block reset TIM23RST: u1, - /// TIM24 block reset + /// TIM24 block reset TIM24RST: u1, padding: u6, }), - /// RCC APB2 Peripheral Reset Register + /// RCC APB2 Peripheral Reset Register APB2RSTR: mmio.Mmio(packed struct(u32) { - /// TIM1 block reset + /// TIM1 block reset TIM1RST: u1, - /// TIM8 block reset + /// TIM8 block reset TIM8RST: u1, reserved4: u2, - /// USART1 block reset + /// USART1 block reset USART1RST: u1, - /// USART6 block reset + /// USART6 block reset USART6RST: u1, - /// UART9 block reset + /// UART9 block reset UART9RST: u1, - /// USART10 block reset + /// USART10 block reset USART10RST: u1, reserved12: u4, - /// SPI1 block reset + /// SPI1 block reset SPI1RST: u1, - /// SPI4 block reset + /// SPI4 block reset SPI4RST: u1, reserved16: u2, - /// TIM15 block reset + /// TIM15 block reset TIM15RST: u1, - /// TIM16 block reset + /// TIM16 block reset TIM16RST: u1, - /// TIM17 block reset + /// TIM17 block reset TIM17RST: u1, reserved20: u1, - /// SPI5 block reset + /// SPI5 block reset SPI5RST: u1, reserved22: u1, - /// SAI1 block reset + /// SAI1 block reset SAI1RST: u1, - /// SAI2 block reset + /// SAI2 block reset SAI2RST: u1, - /// SAI3 block reset + /// SAI3 block reset SAI3RST: u1, reserved28: u3, - /// DFSDM1 block reset + /// DFSDM1 block reset DFSDM1RST: u1, - /// HRTIM block reset + /// HRTIM block reset HRTIMRST: u1, padding: u2, }), - /// RCC APB4 Peripheral Reset Register + /// RCC APB4 Peripheral Reset Register APB4RSTR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG block reset + /// SYSCFG block reset SYSCFGRST: u1, reserved3: u1, - /// LPUART1 block reset + /// LPUART1 block reset LPUART1RST: u1, reserved5: u1, - /// SPI6 block reset + /// SPI6 block reset SPI6RST: u1, reserved7: u1, - /// I2C4 block reset + /// I2C4 block reset I2C4RST: u1, reserved9: u1, - /// LPTIM2 block reset + /// LPTIM2 block reset LPTIM2RST: u1, - /// LPTIM3 block reset + /// LPTIM3 block reset LPTIM3RST: u1, - /// LPTIM4 block reset + /// LPTIM4 block reset LPTIM4RST: u1, - /// LPTIM5 block reset + /// LPTIM5 block reset LPTIM5RST: u1, - /// DAC2 (containing one converter) reset + /// DAC2 (containing one converter) reset DAC2RST: u1, - /// COMP12 Blocks Reset + /// COMP12 Blocks Reset COMP12RST: u1, - /// VREF block reset + /// VREF block reset VREFRST: u1, reserved21: u5, - /// SAI4 block reset + /// SAI4 block reset SAI4RST: u1, reserved26: u4, - /// Digital temperature sensor block reset + /// Digital temperature sensor block reset DTSRST: u1, padding: u5, }), - /// Global Control Register + /// Global Control Register GCR: mmio.Mmio(packed struct(u32) { - /// WWDG1 reset scope control + /// WWDG1 reset scope control WW1RSC: u1, padding: u31, }), reserved168: [4]u8, - /// RCC D3 Autonomous mode Register + /// RCC D3 Autonomous mode Register D3AMR: mmio.Mmio(packed struct(u32) { - /// BDMA2 and DMAMUX Autonomous mode enable + /// BDMA2 and DMAMUX Autonomous mode enable BDMA2AMEN: u1, reserved3: u2, - /// LPUART1 Autonomous mode enable + /// LPUART1 Autonomous mode enable LPUART1AMEN: u1, reserved5: u1, - /// SPI6 Autonomous mode enable + /// SPI6 Autonomous mode enable SPI6AMEN: u1, reserved7: u1, - /// I2C4 Autonomous mode enable + /// I2C4 Autonomous mode enable I2C4AMEN: u1, reserved9: u1, - /// LPTIM2 Autonomous mode enable + /// LPTIM2 Autonomous mode enable LPTIM2AMEN: u1, - /// LPTIM3 Autonomous mode enable + /// LPTIM3 Autonomous mode enable LPTIM3AMEN: u1, - /// LPTIM4 Autonomous mode enable + /// LPTIM4 Autonomous mode enable LPTIM4AMEN: u1, - /// LPTIM5 Autonomous mode enable + /// LPTIM5 Autonomous mode enable LPTIM5AMEN: u1, - /// DAC2 (containing one converter) Autonomous mode enable + /// DAC2 (containing one converter) Autonomous mode enable DAC2AMEN: u1, - /// COMP12 Autonomous mode enable + /// COMP12 Autonomous mode enable COMP12AMEN: u1, - /// VREF Autonomous mode enable + /// VREF Autonomous mode enable VREFAMEN: u1, - /// RTC Autonomous mode enable + /// RTC Autonomous mode enable RTCAMEN: u1, reserved19: u2, - /// CRC Autonomous mode enable + /// CRC Autonomous mode enable CRCAMEN: u1, reserved21: u1, - /// SAI4 Autonomous mode enable + /// SAI4 Autonomous mode enable SAI4AMEN: u1, reserved24: u2, - /// ADC3 Autonomous mode enable + /// ADC3 Autonomous mode enable ADC3AMEN: u1, reserved26: u1, - /// Digital temperature sensor Autonomous mode enable + /// Digital temperature sensor Autonomous mode enable DTSAMEN: u1, reserved28: u1, - /// Backup RAM Autonomous mode enable + /// Backup RAM Autonomous mode enable BKPSRAMAMEN: u1, - /// SRAM4 Autonomous mode enable + /// SRAM4 Autonomous mode enable SRAM4AMEN: u1, padding: u2, }), reserved304: [132]u8, - /// RCC Reset Status Register + /// RCC Reset Status Register RSR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// CPU reset flag + /// CPU reset flag CPURSTF: u1, reserved19: u1, - /// D1 domain power switch reset flag + /// D1 domain power switch reset flag D1RSTF: u1, - /// D2 domain power switch reset flag + /// D2 domain power switch reset flag D2RSTF: u1, - /// BOR reset flag + /// BOR reset flag BORRSTF: u1, - /// Pin reset flag (NRST) + /// Pin reset flag (NRST) PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// System reset from CPU reset flag + /// System reset from CPU reset flag SFTRSTF: u1, reserved26: u1, - /// Independent Watchdog reset flag + /// Independent Watchdog reset flag IWDG1RSTF: u1, reserved28: u1, - /// Window Watchdog reset flag + /// Window Watchdog reset flag WWDG1RSTF: u1, reserved30: u1, - /// Reset due to illegal D1 DStandby or CPU CStop flag + /// Reset due to illegal D1 DStandby or CPU CStop flag LPWRRSTF: u1, padding: u1, }), - /// RCC AHB3 Clock Register + /// RCC AHB3 Clock Register AHB3ENR: mmio.Mmio(packed struct(u32) { - /// MDMA Peripheral Clock Enable + /// MDMA Peripheral Clock Enable MDMAEN: u1, reserved4: u3, - /// DMA2D Peripheral Clock Enable + /// DMA2D Peripheral Clock Enable DMA2DEN: u1, - /// JPGDEC Peripheral Clock Enable + /// JPGDEC Peripheral Clock Enable JPGDECEN: u1, reserved12: u6, - /// FMC Peripheral Clocks Enable + /// FMC Peripheral Clocks Enable FMCEN: u1, reserved14: u1, - /// OCTOSPI1 and OCTOSPI1 Delay Clock Enable + /// OCTOSPI1 and OCTOSPI1 Delay Clock Enable OCTOSPI1EN: u1, reserved16: u1, - /// SDMMC1 and SDMMC1 Delay Clock Enable + /// SDMMC1 and SDMMC1 Delay Clock Enable SDMMC1EN: u1, reserved19: u2, - /// OCTOSPI2 and OCTOSPI2 delay block enable + /// OCTOSPI2 and OCTOSPI2 delay block enable OCTOSPI2EN: u1, reserved21: u1, - /// OCTOSPI IO manager enable + /// OCTOSPI IO manager enable IOMNGREN: u1, - /// OTFDEC1 enable + /// OTFDEC1 enable OTFD1EN: u1, - /// OTFDEC2 enable + /// OTFDEC2 enable OTFD2EN: u1, reserved28: u4, - /// D1 DTCM1 block enable + /// D1 DTCM1 block enable DTCM1EN: u1, - /// D1 DTCM2 block enable + /// D1 DTCM2 block enable DTCM2EN: u1, - /// D1 ITCM block enable + /// D1 ITCM block enable ITCM1EN: u1, - /// AXISRAM block enable + /// AXISRAM block enable AXISRAMEN: u1, }), - /// RCC AHB1 Clock Register + /// RCC AHB1 Clock Register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// DMA1 Clock Enable + /// DMA1 Clock Enable DMA1EN: u1, - /// DMA2 Clock Enable + /// DMA2 Clock Enable DMA2EN: u1, reserved5: u3, - /// ADC1/2 Peripheral Clocks Enable + /// ADC1/2 Peripheral Clocks Enable ADC12EN: u1, reserved14: u8, - /// ART Clock Enable + /// ART Clock Enable ARTEN: u1, - /// Ethernet MAC bus interface Clock Enable + /// Ethernet MAC bus interface Clock Enable ETHEN: u1, - /// Ethernet Transmission Clock Enable + /// Ethernet Transmission Clock Enable ETHTXEN: u1, - /// Ethernet Reception Clock Enable + /// Ethernet Reception Clock Enable ETHRXEN: u1, reserved25: u7, - /// USB_OTG_HS Peripheral Clocks Enable + /// USB_OTG_HS Peripheral Clocks Enable USB_OTG_HSEN: u1, - /// USB_OTG_HS ULPI clock enable + /// USB_OTG_HS ULPI clock enable USB_OTG_HS_ULPIEN: u1, - /// USB_OTG_FS Peripheral Clocks Enable + /// USB_OTG_FS Peripheral Clocks Enable USB_OTG_FSEN: u1, - /// USB_OTG_FS ULPI clock enable + /// USB_OTG_FS ULPI clock enable USB_OTG_FS_ULPIEN: u1, padding: u3, }), - /// RCC AHB2 Clock Register + /// RCC AHB2 Clock Register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// DCMI peripheral clock + /// DCMI peripheral clock DCMIEN: u1, reserved4: u3, - /// CRYP peripheral clock enable + /// CRYP peripheral clock enable CRYPEN: u1, - /// HASH peripheral clock enable + /// HASH peripheral clock enable HASHEN: u1, - /// RNG peripheral clocks enable + /// RNG peripheral clocks enable RNGEN: u1, reserved9: u2, - /// SDMMC2 and SDMMC2 delay clock enable + /// SDMMC2 and SDMMC2 delay clock enable SDMMC2EN: u1, reserved11: u1, - /// BDMA1 clock enable + /// BDMA1 clock enable BDMA1EN: u1, reserved16: u4, - /// FMAC enable + /// FMAC enable FMACEN: u1, - /// CORDIC enable + /// CORDIC enable CORDICEN: u1, reserved29: u11, - /// SRAM1 block enable + /// SRAM1 block enable SRAM1EN: u1, - /// SRAM2 block enable + /// SRAM2 block enable SRAM2EN: u1, - /// SRAM3 block enable + /// SRAM3 block enable SRAM3EN: u1, }), - /// RCC AHB4 Clock Register + /// RCC AHB4 Clock Register AHB4ENR: mmio.Mmio(packed struct(u32) { - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOAEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOBEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOCEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIODEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOEEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOFEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOGEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOHEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOIEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOJEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOKEN: u1, reserved19: u8, - /// CRC peripheral clock enable + /// CRC peripheral clock enable CRCEN: u1, reserved21: u1, - /// BDMA2 and DMAMUX2 Clock Enable + /// BDMA2 and DMAMUX2 Clock Enable BDMA2EN: u1, reserved24: u2, - /// ADC3 Peripheral Clocks Enable + /// ADC3 Peripheral Clocks Enable ADC3EN: u1, - /// HSEM peripheral clock enable + /// HSEM peripheral clock enable HSEMEN: u1, reserved28: u2, - /// Backup RAM Clock Enable + /// Backup RAM Clock Enable BKPSRAMEN: u1, padding: u3, }), - /// RCC APB3 Clock Register + /// RCC APB3 Clock Register APB3ENR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// LTDC peripheral clock enable + /// LTDC peripheral clock enable LTDCEN: u1, - /// DSI Peripheral clocks enable + /// DSI Peripheral clocks enable DSIEN: u1, reserved6: u1, - /// WWDG1 Clock Enable + /// WWDG1 Clock Enable WWDG1EN: u1, padding: u25, }), - /// RCC APB1 Clock Register + /// RCC APB1 Clock Register APB1LENR: mmio.Mmio(packed struct(u32) { - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM2EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM3EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM4EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM5EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM6EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM7EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM12EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM13EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM14EN: u1, - /// LPTIM1 Peripheral Clocks Enable + /// LPTIM1 Peripheral Clocks Enable LPTIM1EN: u1, reserved11: u1, - /// WWDG2 peripheral clock enable + /// WWDG2 peripheral clock enable WWDG2EN: u1, reserved14: u2, - /// SPI2 Peripheral Clocks Enable + /// SPI2 Peripheral Clocks Enable SPI2EN: u1, - /// SPI3 Peripheral Clocks Enable + /// SPI3 Peripheral Clocks Enable SPI3EN: u1, - /// SPDIFRX Peripheral Clocks Enable + /// SPDIFRX Peripheral Clocks Enable SPDIFRXEN: u1, - /// USART2 Peripheral Clocks Enable + /// USART2 Peripheral Clocks Enable USART2EN: u1, - /// USART3 Peripheral Clocks Enable + /// USART3 Peripheral Clocks Enable USART3EN: u1, - /// UART4 Peripheral Clocks Enable + /// UART4 Peripheral Clocks Enable UART4EN: u1, - /// UART5 Peripheral Clocks Enable + /// UART5 Peripheral Clocks Enable UART5EN: u1, - /// I2C1 Peripheral Clocks Enable + /// I2C1 Peripheral Clocks Enable I2C1EN: u1, - /// I2C2 Peripheral Clocks Enable + /// I2C2 Peripheral Clocks Enable I2C2EN: u1, - /// I2C3 Peripheral Clocks Enable + /// I2C3 Peripheral Clocks Enable I2C3EN: u1, reserved25: u1, - /// I2C5 Peripheral Clocks Enable + /// I2C5 Peripheral Clocks Enable I2C5EN: u1, reserved27: u1, - /// HDMI-CEC peripheral clock enable + /// HDMI-CEC peripheral clock enable CECEN: u1, reserved29: u1, - /// DAC1 (containing two converters) peripheral clock enable + /// DAC1 (containing two converters) peripheral clock enable DAC1EN: u1, - /// UART7 Peripheral Clocks Enable + /// UART7 Peripheral Clocks Enable UART7EN: u1, - /// UART8 Peripheral Clocks Enable + /// UART8 Peripheral Clocks Enable UART8EN: u1, }), - /// RCC APB1 Clock Register + /// RCC APB1 Clock Register APB1HENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clock Recovery System peripheral clock enable + /// Clock Recovery System peripheral clock enable CRSEN: u1, - /// SWPMI Peripheral Clocks Enable + /// SWPMI Peripheral Clocks Enable SWPMIEN: u1, reserved4: u1, - /// OPAMP peripheral clock enable + /// OPAMP peripheral clock enable OPAMPEN: u1, - /// MDIOS peripheral clock enable + /// MDIOS peripheral clock enable MDIOSEN: u1, reserved8: u2, - /// FDCAN Peripheral Clocks Enable + /// FDCAN Peripheral Clocks Enable FDCANEN: u1, reserved24: u15, - /// TIM23 block enable + /// TIM23 block enable TIM23EN: u1, - /// TIM24 block enable + /// TIM24 block enable TIM24EN: u1, padding: u6, }), - /// RCC APB2 Clock Register + /// RCC APB2 Clock Register APB2ENR: mmio.Mmio(packed struct(u32) { - /// TIM1 peripheral clock enable + /// TIM1 peripheral clock enable TIM1EN: u1, - /// TIM8 peripheral clock enable + /// TIM8 peripheral clock enable TIM8EN: u1, reserved4: u2, - /// USART1 Peripheral Clocks Enable + /// USART1 Peripheral Clocks Enable USART1EN: u1, - /// USART6 Peripheral Clocks Enable + /// USART6 Peripheral Clocks Enable USART6EN: u1, - /// UART9 Peripheral Clocks Enable + /// UART9 Peripheral Clocks Enable UART9EN: u1, - /// USART10 Peripheral Clocks Enable + /// USART10 Peripheral Clocks Enable USART10EN: u1, reserved12: u4, - /// SPI1 Peripheral Clocks Enable + /// SPI1 Peripheral Clocks Enable SPI1EN: u1, - /// SPI4 Peripheral Clocks Enable + /// SPI4 Peripheral Clocks Enable SPI4EN: u1, reserved16: u2, - /// TIM15 peripheral clock enable + /// TIM15 peripheral clock enable TIM15EN: u1, - /// TIM16 peripheral clock enable + /// TIM16 peripheral clock enable TIM16EN: u1, - /// TIM17 peripheral clock enable + /// TIM17 peripheral clock enable TIM17EN: u1, reserved20: u1, - /// SPI5 Peripheral Clocks Enable + /// SPI5 Peripheral Clocks Enable SPI5EN: u1, reserved22: u1, - /// SAI1 Peripheral Clocks Enable + /// SAI1 Peripheral Clocks Enable SAI1EN: u1, - /// SAI2 Peripheral Clocks Enable + /// SAI2 Peripheral Clocks Enable SAI2EN: u1, - /// SAI3 Peripheral Clocks Enable + /// SAI3 Peripheral Clocks Enable SAI3EN: u1, reserved28: u3, - /// DFSDM1 Peripheral Clocks Enable + /// DFSDM1 Peripheral Clocks Enable DFSDM1EN: u1, - /// HRTIM peripheral clock enable + /// HRTIM peripheral clock enable HRTIMEN: u1, padding: u2, }), - /// RCC APB4 Clock Register + /// RCC APB4 Clock Register APB4ENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG peripheral clock enable + /// SYSCFG peripheral clock enable SYSCFGEN: u1, reserved3: u1, - /// LPUART1 Peripheral Clocks Enable + /// LPUART1 Peripheral Clocks Enable LPUART1EN: u1, reserved5: u1, - /// SPI6 Peripheral Clocks Enable + /// SPI6 Peripheral Clocks Enable SPI6EN: u1, reserved7: u1, - /// I2C4 Peripheral Clocks Enable + /// I2C4 Peripheral Clocks Enable I2C4EN: u1, reserved9: u1, - /// LPTIM2 Peripheral Clocks Enable + /// LPTIM2 Peripheral Clocks Enable LPTIM2EN: u1, - /// LPTIM3 Peripheral Clocks Enable + /// LPTIM3 Peripheral Clocks Enable LPTIM3EN: u1, - /// LPTIM4 Peripheral Clocks Enable + /// LPTIM4 Peripheral Clocks Enable LPTIM4EN: u1, - /// LPTIM5 Peripheral Clocks Enable + /// LPTIM5 Peripheral Clocks Enable LPTIM5EN: u1, - /// DAC2 (containing one converter) peripheral clock enable + /// DAC2 (containing one converter) peripheral clock enable DAC2EN: u1, - /// COMP1/2 peripheral clock enable + /// COMP1/2 peripheral clock enable COMP12EN: u1, - /// VREF peripheral clock enable + /// VREF peripheral clock enable VREFEN: u1, - /// RTC APB Clock Enable + /// RTC APB Clock Enable RTCAPBEN: u1, reserved21: u4, - /// SAI4 Peripheral Clocks Enable + /// SAI4 Peripheral Clocks Enable SAI4EN: u1, reserved26: u4, - /// Digital temperature sensor block enable + /// Digital temperature sensor block enable DTSEN: u1, padding: u5, }), reserved348: [4]u8, - /// RCC AHB3 Sleep Clock Register + /// RCC AHB3 Sleep Clock Register AHB3LPENR: mmio.Mmio(packed struct(u32) { - /// MDMA Clock Enable During CSleep Mode + /// MDMA Clock Enable During CSleep Mode MDMALPEN: u1, reserved4: u3, - /// DMA2D Clock Enable During CSleep Mode + /// DMA2D Clock Enable During CSleep Mode DMA2DLPEN: u1, - /// JPGDEC Clock Enable During CSleep Mode + /// JPGDEC Clock Enable During CSleep Mode JPGDECLPEN: u1, reserved8: u2, - /// FLASH Clock Enable During CSleep Mode + /// FLASH Clock Enable During CSleep Mode FLASHLPEN: u1, reserved12: u3, - /// FMC Peripheral Clocks Enable During CSleep Mode + /// FMC Peripheral Clocks Enable During CSleep Mode FMCLPEN: u1, reserved14: u1, - /// OCTOSPI1 and OCTOSPI1 Delay Clock Enable During CSleep Mode + /// OCTOSPI1 and OCTOSPI1 Delay Clock Enable During CSleep Mode OCTOSPI1LPEN: u1, reserved16: u1, - /// SDMMC1 and SDMMC1 Delay Clock Enable During CSleep Mode + /// SDMMC1 and SDMMC1 Delay Clock Enable During CSleep Mode SDMMC1LPEN: u1, reserved19: u2, - /// OCTOSPI2 and OCTOSPI2 delay block enable during CSleep Mode + /// OCTOSPI2 and OCTOSPI2 delay block enable during CSleep Mode OCTOSPI2LPEN: u1, reserved21: u1, - /// OCTOSPI IO manager enable during CSleep Mode + /// OCTOSPI IO manager enable during CSleep Mode IOMNGRLPEN: u1, - /// OTFDEC1 enable during CSleep Mode + /// OTFDEC1 enable during CSleep Mode OTFD1LPEN: u1, - /// OTFDEC2 enable during CSleep Mode + /// OTFDEC2 enable during CSleep Mode OTFD2LPEN: u1, reserved28: u4, - /// D1DTCM1 Block Clock Enable During CSleep mode + /// D1DTCM1 Block Clock Enable During CSleep mode D1DTCM1LPEN: u1, - /// D1 DTCM2 Block Clock Enable During CSleep mode + /// D1 DTCM2 Block Clock Enable During CSleep mode DTCM2LPEN: u1, - /// D1ITCM Block Clock Enable During CSleep mode + /// D1ITCM Block Clock Enable During CSleep mode ITCMLPEN: u1, - /// AXISRAM Block Clock Enable During CSleep mode + /// AXISRAM Block Clock Enable During CSleep mode AXISRAMLPEN: u1, }), - /// RCC AHB1 Sleep Clock Register + /// RCC AHB1 Sleep Clock Register AHB1LPENR: mmio.Mmio(packed struct(u32) { - /// DMA1 Clock Enable During CSleep Mode + /// DMA1 Clock Enable During CSleep Mode DMA1LPEN: u1, - /// DMA2 Clock Enable During CSleep Mode + /// DMA2 Clock Enable During CSleep Mode DMA2LPEN: u1, reserved5: u3, - /// ADC1/2 Peripheral Clocks Enable During CSleep Mode + /// ADC1/2 Peripheral Clocks Enable During CSleep Mode ADC12LPEN: u1, reserved14: u8, - /// ART Clock Enable During CSleep Mode + /// ART Clock Enable During CSleep Mode ARTLPEN: u1, - /// Ethernet MAC bus interface Clock Enable During CSleep Mode + /// Ethernet MAC bus interface Clock Enable During CSleep Mode ETHLPEN: u1, - /// Ethernet Transmission Clock Enable During CSleep Mode + /// Ethernet Transmission Clock Enable During CSleep Mode ETHTXLPEN: u1, - /// Ethernet Reception Clock Enable During CSleep Mode + /// Ethernet Reception Clock Enable During CSleep Mode ETHRXLPEN: u1, reserved25: u7, - /// USB_OTG_HS peripheral clock enable during CSleep mode + /// USB_OTG_HS peripheral clock enable during CSleep mode USB_OTG_HSLPEN: u1, - /// USB_PHY1 clock enable during CSleep mode + /// USB_PHY1 clock enable during CSleep mode USB_OTG_HS_ULPILPEN: u1, - /// USB_OTG_FS peripheral clock enable during CSleep mode + /// USB_OTG_FS peripheral clock enable during CSleep mode USB_OTG_FSLPEN: u1, - /// USB_PHY2 clocks enable during CSleep mode + /// USB_PHY2 clocks enable during CSleep mode USB_OTG_FS_ULPILPEN: u1, padding: u3, }), - /// RCC AHB2 Sleep Clock Register + /// RCC AHB2 Sleep Clock Register AHB2LPENR: mmio.Mmio(packed struct(u32) { - /// DCMI peripheral clock enable during csleep mode + /// DCMI peripheral clock enable during csleep mode DCMILPEN: u1, reserved4: u3, - /// CRYP peripheral clock enable during CSleep mode + /// CRYP peripheral clock enable during CSleep mode CRYPLPEN: u1, - /// HASH peripheral clock enable during CSleep mode + /// HASH peripheral clock enable during CSleep mode HASHLPEN: u1, - /// RNG peripheral clock enable during CSleep mode + /// RNG peripheral clock enable during CSleep mode RNGLPEN: u1, reserved9: u2, - /// SDMMC2 and SDMMC2 Delay Clock Enable During CSleep Mode + /// SDMMC2 and SDMMC2 Delay Clock Enable During CSleep Mode SDMMC2LPEN: u1, reserved11: u1, - /// BDMA1 Clock Enable During CSleep Mode + /// BDMA1 Clock Enable During CSleep Mode BDMA1LPEN: u1, reserved16: u4, - /// FMAC enable during CSleep Mode + /// FMAC enable during CSleep Mode FMACLPEN: u1, - /// CORDIC enable during CSleep Mode + /// CORDIC enable during CSleep Mode CORDICLPEN: u1, reserved29: u11, - /// SRAM1 Clock Enable During CSleep Mode + /// SRAM1 Clock Enable During CSleep Mode SRAM1LPEN: u1, - /// SRAM2 Clock Enable During CSleep Mode + /// SRAM2 Clock Enable During CSleep Mode SRAM2LPEN: u1, - /// SRAM3 Clock Enable During CSleep Mode + /// SRAM3 Clock Enable During CSleep Mode SRAM3LPEN: u1, }), - /// RCC AHB4 Sleep Clock Register + /// RCC AHB4 Sleep Clock Register AHB4LPENR: mmio.Mmio(packed struct(u32) { - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOALPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOBLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOCLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIODLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOELPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOFLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOGLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOHLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOILPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOJLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOKLPEN: u1, reserved19: u8, - /// CRC peripheral clock enable during CSleep mode + /// CRC peripheral clock enable during CSleep mode CRCLPEN: u1, reserved21: u1, - /// BDMA2 Clock Enable During CSleep Mode + /// BDMA2 Clock Enable During CSleep Mode BDMA2LPEN: u1, reserved24: u2, - /// ADC3 Peripheral Clocks Enable During CSleep Mode + /// ADC3 Peripheral Clocks Enable During CSleep Mode ADC3LPEN: u1, reserved28: u3, - /// Backup RAM Clock Enable During CSleep Mode + /// Backup RAM Clock Enable During CSleep Mode BKPSRAMLPEN: u1, - /// SRAM4 Clock Enable During CSleep Mode + /// SRAM4 Clock Enable During CSleep Mode SRAM4LPEN: u1, padding: u2, }), - /// RCC APB3 Sleep Clock Register + /// RCC APB3 Sleep Clock Register APB3LPENR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// LTDC peripheral clock enable during CSleep mode + /// LTDC peripheral clock enable during CSleep mode LTDCLPEN: u1, - /// DSI Peripheral Clock Enable During CSleep Mode + /// DSI Peripheral Clock Enable During CSleep Mode DSILPEN: u1, reserved6: u1, - /// WWDG1 Clock Enable During CSleep Mode + /// WWDG1 Clock Enable During CSleep Mode WWDG1LPEN: u1, padding: u25, }), - /// RCC APB1 Low Sleep Clock Register + /// RCC APB1 Low Sleep Clock Register APB1LLPENR: mmio.Mmio(packed struct(u32) { - /// TIM2 peripheral clock enable during CSleep mode + /// TIM2 peripheral clock enable during CSleep mode TIM2LPEN: u1, - /// TIM3 peripheral clock enable during CSleep mode + /// TIM3 peripheral clock enable during CSleep mode TIM3LPEN: u1, - /// TIM4 peripheral clock enable during CSleep mode + /// TIM4 peripheral clock enable during CSleep mode TIM4LPEN: u1, - /// TIM5 peripheral clock enable during CSleep mode + /// TIM5 peripheral clock enable during CSleep mode TIM5LPEN: u1, - /// TIM6 peripheral clock enable during CSleep mode + /// TIM6 peripheral clock enable during CSleep mode TIM6LPEN: u1, - /// TIM7 peripheral clock enable during CSleep mode + /// TIM7 peripheral clock enable during CSleep mode TIM7LPEN: u1, - /// TIM12 peripheral clock enable during CSleep mode + /// TIM12 peripheral clock enable during CSleep mode TIM12LPEN: u1, - /// TIM13 peripheral clock enable during CSleep mode + /// TIM13 peripheral clock enable during CSleep mode TIM13LPEN: u1, - /// TIM14 peripheral clock enable during CSleep mode + /// TIM14 peripheral clock enable during CSleep mode TIM14LPEN: u1, - /// LPTIM1 Peripheral Clocks Enable During CSleep Mode + /// LPTIM1 Peripheral Clocks Enable During CSleep Mode LPTIM1LPEN: u1, reserved11: u1, - /// WWDG2 peripheral Clocks Enable During CSleep Mode + /// WWDG2 peripheral Clocks Enable During CSleep Mode WWDG2LPEN: u1, reserved14: u2, - /// SPI2 Peripheral Clocks Enable During CSleep Mode + /// SPI2 Peripheral Clocks Enable During CSleep Mode SPI2LPEN: u1, - /// SPI3 Peripheral Clocks Enable During CSleep Mode + /// SPI3 Peripheral Clocks Enable During CSleep Mode SPI3LPEN: u1, - /// SPDIFRX Peripheral Clocks Enable During CSleep Mode + /// SPDIFRX Peripheral Clocks Enable During CSleep Mode SPDIFRXLPEN: u1, - /// USART2 Peripheral Clocks Enable During CSleep Mode + /// USART2 Peripheral Clocks Enable During CSleep Mode USART2LPEN: u1, - /// USART3 Peripheral Clocks Enable During CSleep Mode + /// USART3 Peripheral Clocks Enable During CSleep Mode USART3LPEN: u1, - /// UART4 Peripheral Clocks Enable During CSleep Mode + /// UART4 Peripheral Clocks Enable During CSleep Mode UART4LPEN: u1, - /// UART5 Peripheral Clocks Enable During CSleep Mode + /// UART5 Peripheral Clocks Enable During CSleep Mode UART5LPEN: u1, - /// I2C1 Peripheral Clocks Enable During CSleep Mode + /// I2C1 Peripheral Clocks Enable During CSleep Mode I2C1LPEN: u1, - /// I2C2 Peripheral Clocks Enable During CSleep Mode + /// I2C2 Peripheral Clocks Enable During CSleep Mode I2C2LPEN: u1, - /// I2C3 Peripheral Clocks Enable During CSleep Mode + /// I2C3 Peripheral Clocks Enable During CSleep Mode I2C3LPEN: u1, reserved25: u1, - /// I2C5 block enable during CSleep Mode + /// I2C5 block enable during CSleep Mode I2C5LPEN: u1, reserved27: u1, - /// HDMI-CEC Peripheral Clocks Enable During CSleep Mode + /// HDMI-CEC Peripheral Clocks Enable During CSleep Mode CECLPEN: u1, reserved29: u1, - /// DAC1 (containing two converters) peripheral clock enable during CSleep mode + /// DAC1 (containing two converters) peripheral clock enable during CSleep mode DAC1LPEN: u1, - /// UART7 Peripheral Clocks Enable During CSleep Mode + /// UART7 Peripheral Clocks Enable During CSleep Mode UART7LPEN: u1, - /// UART8 Peripheral Clocks Enable During CSleep Mode + /// UART8 Peripheral Clocks Enable During CSleep Mode UART8LPEN: u1, }), - /// RCC APB1 High Sleep Clock Register + /// RCC APB1 High Sleep Clock Register APB1HLPENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clock Recovery System peripheral clock enable during CSleep mode + /// Clock Recovery System peripheral clock enable during CSleep mode CRSLPEN: u1, - /// SWPMI Peripheral Clocks Enable During CSleep Mode + /// SWPMI Peripheral Clocks Enable During CSleep Mode SWPMILPEN: u1, reserved4: u1, - /// OPAMP peripheral clock enable during CSleep mode + /// OPAMP peripheral clock enable during CSleep mode OPAMPLPEN: u1, - /// MDIOS peripheral clock enable during CSleep mode + /// MDIOS peripheral clock enable during CSleep mode MDIOSLPEN: u1, reserved8: u2, - /// FDCAN Peripheral Clocks Enable During CSleep Mode + /// FDCAN Peripheral Clocks Enable During CSleep Mode FDCANLPEN: u1, reserved24: u15, - /// TIM23 block enable during CSleep Mode + /// TIM23 block enable during CSleep Mode TIM23LPEN: u1, - /// TIM24 block enable during CSleep Mode + /// TIM24 block enable during CSleep Mode TIM24LPEN: u1, padding: u6, }), - /// RCC APB2 Sleep Clock Register + /// RCC APB2 Sleep Clock Register APB2LPENR: mmio.Mmio(packed struct(u32) { - /// TIM1 peripheral clock enable during CSleep mode + /// TIM1 peripheral clock enable during CSleep mode TIM1LPEN: u1, - /// TIM8 peripheral clock enable during CSleep mode + /// TIM8 peripheral clock enable during CSleep mode TIM8LPEN: u1, reserved4: u2, - /// USART1 Peripheral Clocks Enable During CSleep Mode + /// USART1 Peripheral Clocks Enable During CSleep Mode USART1LPEN: u1, - /// USART6 Peripheral Clocks Enable During CSleep Mode + /// USART6 Peripheral Clocks Enable During CSleep Mode USART6LPEN: u1, reserved12: u6, - /// SPI1 Peripheral Clocks Enable During CSleep Mode + /// SPI1 Peripheral Clocks Enable During CSleep Mode SPI1LPEN: u1, - /// SPI4 Peripheral Clocks Enable During CSleep Mode + /// SPI4 Peripheral Clocks Enable During CSleep Mode SPI4LPEN: u1, reserved16: u2, - /// TIM15 peripheral clock enable during CSleep mode + /// TIM15 peripheral clock enable during CSleep mode TIM15LPEN: u1, - /// TIM16 peripheral clock enable during CSleep mode + /// TIM16 peripheral clock enable during CSleep mode TIM16LPEN: u1, - /// TIM17 peripheral clock enable during CSleep mode + /// TIM17 peripheral clock enable during CSleep mode TIM17LPEN: u1, reserved20: u1, - /// SPI5 Peripheral Clocks Enable During CSleep Mode + /// SPI5 Peripheral Clocks Enable During CSleep Mode SPI5LPEN: u1, reserved22: u1, - /// SAI1 Peripheral Clocks Enable During CSleep Mode + /// SAI1 Peripheral Clocks Enable During CSleep Mode SAI1LPEN: u1, - /// SAI2 Peripheral Clocks Enable During CSleep Mode + /// SAI2 Peripheral Clocks Enable During CSleep Mode SAI2LPEN: u1, - /// SAI3 Peripheral Clocks Enable During CSleep Mode + /// SAI3 Peripheral Clocks Enable During CSleep Mode SAI3LPEN: u1, reserved28: u3, - /// DFSDM1 Peripheral Clocks Enable During CSleep Mode + /// DFSDM1 Peripheral Clocks Enable During CSleep Mode DFSDM1LPEN: u1, - /// HRTIM peripheral clock enable during CSleep mode + /// HRTIM peripheral clock enable during CSleep mode HRTIMLPEN: u1, padding: u2, }), - /// RCC APB4 Sleep Clock Register + /// RCC APB4 Sleep Clock Register APB4LPENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG peripheral clock enable during CSleep mode + /// SYSCFG peripheral clock enable during CSleep mode SYSCFGLPEN: u1, reserved3: u1, - /// LPUART1 Peripheral Clocks Enable During CSleep Mode + /// LPUART1 Peripheral Clocks Enable During CSleep Mode LPUART1LPEN: u1, reserved5: u1, - /// SPI6 Peripheral Clocks Enable During CSleep Mode + /// SPI6 Peripheral Clocks Enable During CSleep Mode SPI6LPEN: u1, reserved7: u1, - /// I2C4 Peripheral Clocks Enable During CSleep Mode + /// I2C4 Peripheral Clocks Enable During CSleep Mode I2C4LPEN: u1, reserved9: u1, - /// LPTIM2 Peripheral Clocks Enable During CSleep Mode + /// LPTIM2 Peripheral Clocks Enable During CSleep Mode LPTIM2LPEN: u1, - /// LPTIM3 Peripheral Clocks Enable During CSleep Mode + /// LPTIM3 Peripheral Clocks Enable During CSleep Mode LPTIM3LPEN: u1, - /// LPTIM4 Peripheral Clocks Enable During CSleep Mode + /// LPTIM4 Peripheral Clocks Enable During CSleep Mode LPTIM4LPEN: u1, - /// LPTIM5 Peripheral Clocks Enable During CSleep Mode + /// LPTIM5 Peripheral Clocks Enable During CSleep Mode LPTIM5LPEN: u1, - /// DAC2 (containing one converter) peripheral clock enable during CSleep mode + /// DAC2 (containing one converter) peripheral clock enable during CSleep mode DAC2LPEN: u1, - /// COMP1/2 peripheral clock enable during CSleep mode + /// COMP1/2 peripheral clock enable during CSleep mode COMP12LPEN: u1, - /// VREF peripheral clock enable during CSleep mode + /// VREF peripheral clock enable during CSleep mode VREFLPEN: u1, - /// RTC APB Clock Enable During CSleep Mode + /// RTC APB Clock Enable During CSleep Mode RTCAPBLPEN: u1, reserved21: u4, - /// SAI4 Peripheral Clocks Enable During CSleep Mode + /// SAI4 Peripheral Clocks Enable During CSleep Mode SAI4LPEN: u1, reserved26: u4, - /// Digital temperature sensor block enable during CSleep Mode + /// Digital temperature sensor block enable during CSleep Mode DTSLPEN: u1, padding: u5, }), @@ -392085,244 +385464,244 @@ pub const types = struct { pub const rcc_h7rm0433 = struct { pub const ADCSEL = enum(u2) { - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x2, _, }; pub const CECSEL = enum(u2) { - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x0, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x1, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x2, _, }; pub const DFSDMSEL = enum(u1) { - /// rcc_pclk2 selected as peripheral clock + /// rcc_pclk2 selected as peripheral clock PCLK2 = 0x0, - /// System clock selected as peripheral clock + /// System clock selected as peripheral clock SYS = 0x1, }; pub const FDCANSEL = enum(u2) { - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x0, - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x1, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x2, _, }; pub const FMCSEL = enum(u2) { - /// rcc_hclk3 selected as peripheral clock + /// rcc_hclk3 selected as peripheral clock HCLK3 = 0x0, - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x1, - /// pll2_r selected as peripheral clock + /// pll2_r selected as peripheral clock PLL2_R = 0x2, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x3, }; pub const HPRE = enum(u4) { - /// sys_ck not divided + /// sys_ck not divided Div1 = 0x0, - /// sys_ck divided by 2 + /// sys_ck divided by 2 Div2 = 0x8, - /// sys_ck divided by 4 + /// sys_ck divided by 4 Div4 = 0x9, - /// sys_ck divided by 8 + /// sys_ck divided by 8 Div8 = 0xa, - /// sys_ck divided by 16 + /// sys_ck divided by 16 Div16 = 0xb, - /// sys_ck divided by 64 + /// sys_ck divided by 64 Div64 = 0xc, - /// sys_ck divided by 128 + /// sys_ck divided by 128 Div128 = 0xd, - /// sys_ck divided by 256 + /// sys_ck divided by 256 Div256 = 0xe, - /// sys_ck divided by 512 + /// sys_ck divided by 512 Div512 = 0xf, _, }; pub const HRTIMSEL = enum(u1) { - /// The HRTIM prescaler clock source is the same as other timers (rcc_timy_ker_ck) + /// The HRTIM prescaler clock source is the same as other timers (rcc_timy_ker_ck) TIMY_KER = 0x0, - /// The HRTIM prescaler clock source is the CPU clock (c_ck) + /// The HRTIM prescaler clock source is the CPU clock (c_ck) C_CK = 0x1, }; pub const HSIDIV = enum(u2) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x1, - /// Division by 4 + /// Division by 4 Div4 = 0x2, - /// Division by 8 + /// Division by 8 Div8 = 0x3, }; pub const I2C1235SEL = enum(u2) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x2, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x3, }; pub const I2C4SEL = enum(u2) { - /// rcc_pclk4 selected as peripheral clock + /// rcc_pclk4 selected as peripheral clock PCLK4 = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x2, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x3, }; pub const LPTIM1SEL = enum(u3) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x2, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x3, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x4, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x5, _, }; pub const LPTIM2SEL = enum(u3) { - /// rcc_pclk4 selected as peripheral clock + /// rcc_pclk4 selected as peripheral clock PCLK4 = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x2, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x3, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x4, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x5, _, }; pub const LPUARTSEL = enum(u3) { - /// rcc_pclk_d4 selected as peripheral clock + /// rcc_pclk_d4 selected as peripheral clock PCLK4 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x1, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCO1SEL = enum(u3) { - /// HSI selected for micro-controller clock output + /// HSI selected for micro-controller clock output HSI = 0x0, - /// LSE selected for micro-controller clock output + /// LSE selected for micro-controller clock output LSE = 0x1, - /// HSE selected for micro-controller clock output + /// HSE selected for micro-controller clock output HSE = 0x2, - /// pll1_q selected for micro-controller clock output + /// pll1_q selected for micro-controller clock output PLL1_Q = 0x3, - /// HSI48 selected for micro-controller clock output + /// HSI48 selected for micro-controller clock output HSI48 = 0x4, _, }; pub const MCO2SEL = enum(u3) { - /// System clock selected for micro-controller clock output + /// System clock selected for micro-controller clock output SYS = 0x0, - /// pll2_p selected for micro-controller clock output + /// pll2_p selected for micro-controller clock output PLL2_P = 0x1, - /// HSE selected for micro-controller clock output + /// HSE selected for micro-controller clock output HSE = 0x2, - /// pll1_p selected for micro-controller clock output + /// pll1_p selected for micro-controller clock output PLL1_P = 0x3, - /// CSI selected for micro-controller clock output + /// CSI selected for micro-controller clock output CSI = 0x4, - /// LSI selected for micro-controller clock output + /// LSI selected for micro-controller clock output LSI = 0x5, _, }; pub const MCOPRE = enum(u4) { - /// Divide by 1 + /// Divide by 1 Div1 = 0x1, - /// Divide by 2 + /// Divide by 2 Div2 = 0x2, - /// Divide by 3 + /// Divide by 3 Div3 = 0x3, - /// Divide by 4 + /// Divide by 4 Div4 = 0x4, - /// Divide by 5 + /// Divide by 5 Div5 = 0x5, - /// Divide by 6 + /// Divide by 6 Div6 = 0x6, - /// Divide by 7 + /// Divide by 7 Div7 = 0x7, - /// Divide by 8 + /// Divide by 8 Div8 = 0x8, - /// Divide by 9 + /// Divide by 9 Div9 = 0x9, - /// Divide by 10 + /// Divide by 10 Div10 = 0xa, - /// Divide by 11 + /// Divide by 11 Div11 = 0xb, - /// Divide by 12 + /// Divide by 12 Div12 = 0xc, - /// Divide by 13 + /// Divide by 13 Div13 = 0xd, - /// Divide by 14 + /// Divide by 14 Div14 = 0xe, - /// Divide by 15 + /// Divide by 15 Div15 = 0xf, _, }; pub const PERSEL = enum(u2) { - /// HSI selected as peripheral clock + /// HSI selected as peripheral clock HSI = 0x0, - /// CSI selected as peripheral clock + /// CSI selected as peripheral clock CSI = 0x1, - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x2, _, }; @@ -393038,2362 +386417,2200 @@ pub const types = struct { }; pub const PLLRGE = enum(u2) { - /// Frequency is between 1 and 2 MHz + /// Frequency is between 1 and 2 MHz Range1 = 0x0, - /// Frequency is between 2 and 4 MHz + /// Frequency is between 2 and 4 MHz Range2 = 0x1, - /// Frequency is between 4 and 8 MHz + /// Frequency is between 4 and 8 MHz Range4 = 0x2, - /// Frequency is between 8 and 16 MHz + /// Frequency is between 8 and 16 MHz Range8 = 0x3, }; pub const PLLSRC = enum(u2) { - /// HSI selected as PLL clock + /// HSI selected as PLL clock HSI = 0x0, - /// CSI selected as PLL clock + /// CSI selected as PLL clock CSI = 0x1, - /// HSE selected as PLL clock + /// HSE selected as PLL clock HSE = 0x2, - /// No clock sent to DIVMx dividers and PLLs + /// No clock sent to DIVMx dividers and PLLs DISABLE = 0x3, }; pub const PLLVCOSEL = enum(u1) { - /// VCO frequency range 192 to 836 MHz + /// VCO frequency range 192 to 836 MHz WideVCO = 0x0, - /// VCO frequency range 150 to 420 MHz + /// VCO frequency range 150 to 420 MHz MediumVCO = 0x1, }; pub const PPRE = enum(u3) { - /// rcc_hclk not divided + /// rcc_hclk not divided Div1 = 0x0, - /// rcc_hclk divided by 2 + /// rcc_hclk divided by 2 Div2 = 0x4, - /// rcc_hclk divided by 4 + /// rcc_hclk divided by 4 Div4 = 0x5, - /// rcc_hclk divided by 8 + /// rcc_hclk divided by 8 Div8 = 0x6, - /// rcc_hclk divided by 16 + /// rcc_hclk divided by 16 Div16 = 0x7, _, }; pub const RNGSEL = enum(u2) { - /// HSI48 selected as peripheral clock + /// HSI48 selected as peripheral clock HSI48 = 0x0, - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x1, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x2, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x3, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SAIASEL = enum(u3) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_p selected as peripheral clock + /// pll3_p selected as peripheral clock PLL3_P = 0x2, - /// i2s_ckin selected as peripheral clock + /// i2s_ckin selected as peripheral clock I2S_CKIN = 0x3, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x4, _, }; pub const SAISEL = enum(u3) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_p selected as peripheral clock + /// pll3_p selected as peripheral clock PLL3_P = 0x2, - /// I2S_CKIN selected as peripheral clock + /// I2S_CKIN selected as peripheral clock I2S_CKIN = 0x3, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x4, _, }; pub const SDMMCSEL = enum(u1) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_r selected as peripheral clock + /// pll2_r selected as peripheral clock PLL2_R = 0x1, }; pub const SPDIFRXSEL = enum(u2) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_r selected as peripheral clock + /// pll2_r selected as peripheral clock PLL2_R = 0x1, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, }; pub const SPI45SEL = enum(u3) { - /// APB2 clock selected as peripheral clock + /// APB2 clock selected as peripheral clock PCLK2 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x5, _, }; pub const SPI6SEL = enum(u3) { - /// rcc_pclk4 selected as peripheral clock + /// rcc_pclk4 selected as peripheral clock PCLK4 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x5, _, }; pub const STOPWUCK = enum(u1) { - /// HSI selected as wake up clock from system Stop + /// HSI selected as wake up clock from system Stop HSI = 0x0, - /// CSI selected as wake up clock from system Stop + /// CSI selected as wake up clock from system Stop CSI = 0x1, }; pub const SW = enum(u3) { - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x0, - /// CSI selected as system clock + /// CSI selected as system clock CSI = 0x1, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x2, - /// PLL1 selected as system clock + /// PLL1 selected as system clock PLL1_P = 0x3, _, }; pub const SWPMISEL = enum(u1) { - /// pclk selected as peripheral clock + /// pclk selected as peripheral clock PCLK1 = 0x0, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x1, }; pub const TIMPRE = enum(u1) { - /// Timer kernel clock equal to 2x pclk by default + /// Timer kernel clock equal to 2x pclk by default DefaultX2 = 0x0, - /// Timer kernel clock equal to 4x pclk by default + /// Timer kernel clock equal to 4x pclk by default DefaultX4 = 0x1, }; pub const USART16910SEL = enum(u3) { - /// rcc_pclk2 selected as peripheral clock + /// rcc_pclk2 selected as peripheral clock PCLK2 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const USART234578SEL = enum(u3) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const USBSEL = enum(u2) { - /// Disable the kernel clock + /// Disable the kernel clock DISABLE = 0x0, - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// HSI48 selected as peripheral clock + /// HSI48 selected as peripheral clock HSI48 = 0x3, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// clock control register + /// clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal high-speed clock enable + /// Internal high-speed clock enable HSION: u1, - /// High Speed Internal clock enable in Stop mode + /// High Speed Internal clock enable in Stop mode HSIKERON: u1, - /// HSI clock ready flag + /// HSI clock ready flag HSIRDY: u1, - /// HSI clock divider - HSIDIV: packed union { - raw: u2, - value: HSIDIV, - }, - /// HSI divider flag + /// HSI clock divider + HSIDIV: HSIDIV, + /// HSI divider flag HSIDIVF: u1, reserved7: u1, - /// CSI clock enable + /// CSI clock enable CSION: u1, - /// CSI clock ready flag + /// CSI clock ready flag CSIRDY: u1, - /// CSI clock enable in Stop mode + /// CSI clock enable in Stop mode CSIKERON: u1, reserved12: u2, - /// RC48 clock enable + /// RC48 clock enable HSI48ON: u1, - /// RC48 clock ready flag + /// RC48 clock ready flag HSI48RDY: u1, - /// D1 domain clocks ready flag + /// D1 domain clocks ready flag D1CKRDY: u1, - /// D2 domain clocks ready flag + /// D2 domain clocks ready flag D2CKRDY: u1, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE clock bypass + /// HSE clock bypass HSEBYP: u1, - /// HSE Clock Security System enable + /// HSE Clock Security System enable HSECSSON: u1, reserved24: u4, - /// PLL1 enable + /// PLL1 enable PLLON: u1, - /// PLL1 clock ready flag + /// PLL1 clock ready flag PLLRDY: u1, padding: u6, }), - /// RCC HSI configuration register + /// RCC HSI configuration register HSICFGR: mmio.Mmio(packed struct(u32) { - /// HSI clock calibration + /// HSI clock calibration HSICAL: u12, reserved24: u12, - /// HSI clock trimming + /// HSI clock trimming HSITRIM: u7, padding: u1, }), - /// RCC Clock Recovery RC Register + /// RCC Clock Recovery RC Register CRRCR: mmio.Mmio(packed struct(u32) { - /// Internal RC 48 MHz clock calibration + /// Internal RC 48 MHz clock calibration HSI48CAL: u10, padding: u22, }), - /// RCC CSI configuration register + /// RCC CSI configuration register CSICFGR: mmio.Mmio(packed struct(u32) { - /// CSI clock calibration + /// CSI clock calibration CSICAL: u9, reserved24: u15, - /// CSI clock trimming + /// CSI clock trimming CSITRIM: u6, padding: u2, }), - /// RCC Clock Configuration Register + /// RCC Clock Configuration Register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u3, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u3, - value: SW, - }, - /// System clock selection after a wake up from system Stop - STOPWUCK: packed union { - raw: u1, - value: STOPWUCK, - }, - /// Kernel clock selection after a wake up from system Stop - STOPKERWUCK: packed union { - raw: u1, - value: STOPWUCK, - }, - /// HSE division factor for RTC clock + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// System clock selection after a wake up from system Stop + STOPWUCK: STOPWUCK, + /// Kernel clock selection after a wake up from system Stop + STOPKERWUCK: STOPWUCK, + /// HSE division factor for RTC clock RTCPRE: u6, - /// High Resolution Timer clock prescaler selection - HRTIMSEL: packed union { - raw: u1, - value: HRTIMSEL, - }, - /// Timers clocks prescaler selection - TIMPRE: packed union { - raw: u1, - value: TIMPRE, - }, + /// High Resolution Timer clock prescaler selection + HRTIMSEL: HRTIMSEL, + /// Timers clocks prescaler selection + TIMPRE: TIMPRE, reserved18: u2, - /// MCO1 prescaler - MCO1PRE: packed union { - raw: u4, - value: MCOPRE, - }, - /// Micro-controller clock output 1 - MCO1SEL: packed union { - raw: u3, - value: MCO1SEL, - }, - /// MCO2 prescaler - MCO2PRE: packed union { - raw: u4, - value: MCOPRE, - }, - /// Micro-controller clock output 2 - MCO2SEL: packed union { - raw: u3, - value: MCO2SEL, - }, + /// MCO1 prescaler + MCO1PRE: MCOPRE, + /// Micro-controller clock output 1 + MCO1SEL: MCO1SEL, + /// MCO2 prescaler + MCO2PRE: MCOPRE, + /// Micro-controller clock output 2 + MCO2SEL: MCO2SEL, }), reserved24: [4]u8, - /// RCC Domain 1 Clock Configuration Register + /// RCC Domain 1 Clock Configuration Register D1CFGR: mmio.Mmio(packed struct(u32) { - /// D1 domain AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// D1 domain APB3 prescaler - D1PPRE: packed union { - raw: u3, - value: PPRE, - }, + /// D1 domain AHB prescaler + HPRE: HPRE, + /// D1 domain APB3 prescaler + D1PPRE: PPRE, reserved8: u1, - /// D1 domain Core prescaler - D1CPRE: packed union { - raw: u4, - value: HPRE, - }, + /// D1 domain Core prescaler + D1CPRE: HPRE, padding: u20, }), - /// RCC Domain 2 Clock Configuration Register + /// RCC Domain 2 Clock Configuration Register D2CFGR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// D2 domain APB1 prescaler - D2PPRE1: packed union { - raw: u3, - value: PPRE, - }, + /// D2 domain APB1 prescaler + D2PPRE1: PPRE, reserved8: u1, - /// D2 domain APB2 prescaler - D2PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// D2 domain APB2 prescaler + D2PPRE2: PPRE, padding: u21, }), - /// RCC Domain 3 Clock Configuration Register + /// RCC Domain 3 Clock Configuration Register D3CFGR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// D3 domain APB4 prescaler - D3PPRE: packed union { - raw: u3, - value: PPRE, - }, + /// D3 domain APB4 prescaler + D3PPRE: PPRE, padding: u25, }), reserved40: [4]u8, - /// RCC PLLs Clock Source Selection Register + /// RCC PLLs Clock Source Selection Register PLLCKSELR: mmio.Mmio(packed struct(u32) { - /// DIVMx and PLLs clock source selection - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, + /// DIVMx and PLLs clock source selection + PLLSRC: PLLSRC, reserved4: u2, - /// Prescaler for PLLx - DIVM: packed union { - raw: u6, - value: PLLM, - }, + /// Prescaler for PLLx + DIVM: PLLM, padding: u22, }), - /// RCC PLLs Configuration Register + /// RCC PLLs Configuration Register PLLCFGR: mmio.Mmio(packed struct(u32) { - /// PLL1 fractional latch enable + /// PLL1 fractional latch enable PLLFRACEN: u1, - /// PLL1 VCO selection - PLLVCOSEL: packed union { - raw: u1, - value: PLLVCOSEL, - }, - /// PLL1 input frequency range - PLLRGE: packed union { - raw: u2, - value: PLLRGE, - }, + /// PLL1 VCO selection + PLLVCOSEL: PLLVCOSEL, + /// PLL1 input frequency range + PLLRGE: PLLRGE, reserved16: u12, - /// PLL1 DIVP divider output enable + /// PLL1 DIVP divider output enable DIVPEN: u1, - /// PLL1 DIVQ divider output enable + /// PLL1 DIVQ divider output enable DIVQEN: u1, - /// PLL1 DIVR divider output enable + /// PLL1 DIVR divider output enable DIVREN: u1, padding: u13, }), - /// RCC PLL1 Dividers Configuration Register + /// RCC PLL1 Dividers Configuration Register PLLDIVR: mmio.Mmio(packed struct(u32) { - /// Multiplication factor for PLL1 VCO - PLLN: packed union { - raw: u9, - value: PLLN, - }, - /// PLL DIVP division factor - PLLP: packed union { - raw: u7, - value: PLLDIV, - }, - /// PLL DIVQ division factor - PLLQ: packed union { - raw: u7, - value: PLLDIV, - }, + /// Multiplication factor for PLL1 VCO + PLLN: PLLN, + /// PLL DIVP division factor + PLLP: PLLDIV, + /// PLL DIVQ division factor + PLLQ: PLLDIV, reserved24: u1, - /// PLL DIVR division factor - PLLR: packed union { - raw: u7, - value: PLLDIV, - }, + /// PLL DIVR division factor + PLLR: PLLDIV, padding: u1, }), - /// RCC PLL1 Fractional Divider Register + /// RCC PLL1 Fractional Divider Register PLLFRACR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Fractional part of the multiplication factor for PLL VCO + /// Fractional part of the multiplication factor for PLL VCO FRACN: u13, padding: u16, }), reserved76: [20]u8, - /// RCC Domain 1 Kernel Clock Configuration Register + /// RCC Domain 1 Kernel Clock Configuration Register D1CCIPR: mmio.Mmio(packed struct(u32) { - /// FMC kernel clock source selection - FMCSEL: packed union { - raw: u2, - value: FMCSEL, - }, + /// FMC kernel clock source selection + FMCSEL: FMCSEL, reserved4: u2, - /// QUADSPI kernel clock source selection - QUADSPISEL: packed union { - raw: u2, - value: FMCSEL, - }, + /// QUADSPI kernel clock source selection + QUADSPISEL: FMCSEL, reserved16: u10, - /// SDMMC kernel clock source selection - SDMMCSEL: packed union { - raw: u1, - value: SDMMCSEL, - }, + /// SDMMC kernel clock source selection + SDMMCSEL: SDMMCSEL, reserved28: u11, - /// per_ck clock source selection - PERSEL: packed union { - raw: u2, - value: PERSEL, - }, + /// per_ck clock source selection + PERSEL: PERSEL, padding: u2, }), - /// RCC Domain 2 Kernel Clock Configuration Register + /// RCC Domain 2 Kernel Clock Configuration Register D2CCIP1R: mmio.Mmio(packed struct(u32) { - /// SAI1 and DFSDM1 kernel Aclk clock source selection - SAI1SEL: packed union { - raw: u3, - value: SAISEL, - }, + /// SAI1 and DFSDM1 kernel Aclk clock source selection + SAI1SEL: SAISEL, reserved6: u3, - /// SAI2 and SAI3 kernel clock source selection - SAI23SEL: packed union { - raw: u3, - value: SAISEL, - }, + /// SAI2 and SAI3 kernel clock source selection + SAI23SEL: SAISEL, reserved12: u3, - /// SPI/I2S1,2 and 3 kernel clock source selection - SPI123SEL: packed union { - raw: u3, - value: SAISEL, - }, + /// SPI/I2S1,2 and 3 kernel clock source selection + SPI123SEL: SAISEL, reserved16: u1, - /// SPI4 and 5 kernel clock source selection - SPI45SEL: packed union { - raw: u3, - value: SPI45SEL, - }, + /// SPI4 and 5 kernel clock source selection + SPI45SEL: SPI45SEL, reserved20: u1, - /// SPDIFRX kernel clock source selection - SPDIFRXSEL: packed union { - raw: u2, - value: SPDIFRXSEL, - }, + /// SPDIFRX kernel clock source selection + SPDIFRXSEL: SPDIFRXSEL, reserved24: u2, - /// DFSDM1 kernel Clk clock source selection - DFSDM1SEL: packed union { - raw: u1, - value: DFSDMSEL, - }, + /// DFSDM1 kernel Clk clock source selection + DFSDM1SEL: DFSDMSEL, reserved28: u3, - /// FDCAN kernel clock source selection - FDCANSEL: packed union { - raw: u2, - value: FDCANSEL, - }, + /// FDCAN kernel clock source selection + FDCANSEL: FDCANSEL, reserved31: u1, - /// SWPMI kernel clock source selection - SWPMISEL: packed union { - raw: u1, - value: SWPMISEL, - }, + /// SWPMI kernel clock source selection + SWPMISEL: SWPMISEL, }), - /// RCC Domain 2 Kernel Clock Configuration Register + /// RCC Domain 2 Kernel Clock Configuration Register D2CCIP2R: mmio.Mmio(packed struct(u32) { - /// USART2/3, UART4,5, 7/8 (APB1) kernel clock source selection - USART234578SEL: packed union { - raw: u3, - value: USART234578SEL, - }, - /// USART1, 6, 9 and 10 kernel clock source selection - USART16910SEL: packed union { - raw: u3, - value: USART16910SEL, - }, + /// USART2/3, UART4,5, 7/8 (APB1) kernel clock source selection + USART234578SEL: USART234578SEL, + /// USART1, 6, 9 and 10 kernel clock source selection + USART16910SEL: USART16910SEL, reserved8: u2, - /// RNG kernel clock source selection - RNGSEL: packed union { - raw: u2, - value: RNGSEL, - }, + /// RNG kernel clock source selection + RNGSEL: RNGSEL, reserved12: u2, - /// I2C1,2,3 kernel clock source selection - I2C1235SEL: packed union { - raw: u2, - value: I2C1235SEL, - }, + /// I2C1,2,3 kernel clock source selection + I2C1235SEL: I2C1235SEL, reserved20: u6, - /// USBOTG 1 and 2 kernel clock source selection - USBSEL: packed union { - raw: u2, - value: USBSEL, - }, - /// HDMI-CEC kernel clock source selection - CECSEL: packed union { - raw: u2, - value: CECSEL, - }, + /// USBOTG 1 and 2 kernel clock source selection + USBSEL: USBSEL, + /// HDMI-CEC kernel clock source selection + CECSEL: CECSEL, reserved28: u4, - /// LPTIM1 kernel clock source selection - LPTIM1SEL: packed union { - raw: u3, - value: LPTIM1SEL, - }, + /// LPTIM1 kernel clock source selection + LPTIM1SEL: LPTIM1SEL, padding: u1, }), - /// RCC Domain 3 Kernel Clock Configuration Register + /// RCC Domain 3 Kernel Clock Configuration Register D3CCIPR: mmio.Mmio(packed struct(u32) { - /// LPUART1 kernel clock source selection - LPUART1SEL: packed union { - raw: u3, - value: LPUARTSEL, - }, + /// LPUART1 kernel clock source selection + LPUART1SEL: LPUARTSEL, reserved8: u5, - /// I2C4 kernel clock source selection - I2C4SEL: packed union { - raw: u2, - value: I2C4SEL, - }, - /// LPTIM2 kernel clock source selection - LPTIM2SEL: packed union { - raw: u3, - value: LPTIM2SEL, - }, - /// LPTIM3,4,5 kernel clock source selection - LPTIM345SEL: packed union { - raw: u3, - value: LPTIM2SEL, - }, - /// SAR ADC kernel clock source selection - ADCSEL: packed union { - raw: u2, - value: ADCSEL, - }, + /// I2C4 kernel clock source selection + I2C4SEL: I2C4SEL, + /// LPTIM2 kernel clock source selection + LPTIM2SEL: LPTIM2SEL, + /// LPTIM3,4,5 kernel clock source selection + LPTIM345SEL: LPTIM2SEL, + /// SAR ADC kernel clock source selection + ADCSEL: ADCSEL, reserved21: u3, - /// Sub-Block A of SAI4 kernel clock source selection - SAI4ASEL: packed union { - raw: u3, - value: SAIASEL, - }, - /// Sub-Block B of SAI4 kernel clock source selection - SAI4BSEL: packed union { - raw: u3, - value: SAIASEL, - }, - /// DFSDM2 kernel clock source selection + /// Sub-Block A of SAI4 kernel clock source selection + SAI4ASEL: SAIASEL, + /// Sub-Block B of SAI4 kernel clock source selection + SAI4BSEL: SAIASEL, + /// DFSDM2 kernel clock source selection DFSDM2SEL: u1, - /// SPI6 kernel clock source selection - SPI6SEL: packed union { - raw: u3, - value: SPI6SEL, - }, + /// SPI6 kernel clock source selection + SPI6SEL: SPI6SEL, padding: u1, }), reserved96: [4]u8, - /// RCC Clock Source Interrupt Enable Register + /// RCC Clock Source Interrupt Enable Register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready Interrupt Enable + /// LSI ready Interrupt Enable LSIRDYIE: u1, - /// LSE ready Interrupt Enable + /// LSE ready Interrupt Enable LSERDYIE: u1, - /// HSI ready Interrupt Enable + /// HSI ready Interrupt Enable HSIRDYIE: u1, - /// HSE ready Interrupt Enable + /// HSE ready Interrupt Enable HSERDYIE: u1, - /// CSI ready Interrupt Enable + /// CSI ready Interrupt Enable CSIRDYIE: u1, - /// RC48 ready Interrupt Enable + /// RC48 ready Interrupt Enable HSI48RDYIE: u1, - /// PLL1 ready Interrupt Enable + /// PLL1 ready Interrupt Enable PLLRDYIE: u1, reserved9: u2, - /// LSE clock security system Interrupt Enable + /// LSE clock security system Interrupt Enable LSECSSIE: u1, padding: u22, }), - /// RCC Clock Source Interrupt Flag Register + /// RCC Clock Source Interrupt Flag Register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready Interrupt Flag + /// LSI ready Interrupt Flag LSIRDYF: u1, - /// LSE ready Interrupt Flag + /// LSE ready Interrupt Flag LSERDYF: u1, - /// HSI ready Interrupt Flag + /// HSI ready Interrupt Flag HSIRDYF: u1, - /// HSE ready Interrupt Flag + /// HSE ready Interrupt Flag HSERDYF: u1, - /// CSI ready Interrupt Flag + /// CSI ready Interrupt Flag CSIRDY: u1, - /// RC48 ready Interrupt Flag + /// RC48 ready Interrupt Flag HSI48RDYF: u1, - /// PLL1 ready Interrupt Flag + /// PLL1 ready Interrupt Flag PLLRDYF: u1, reserved9: u2, - /// LSE clock security system Interrupt Flag + /// LSE clock security system Interrupt Flag LSECSSF: u1, - /// HSE clock security system Interrupt Flag + /// HSE clock security system Interrupt Flag HSECSSF: u1, padding: u21, }), - /// RCC Clock Source Interrupt Clear Register + /// RCC Clock Source Interrupt Clear Register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready Interrupt Clear + /// LSI ready Interrupt Clear LSIRDYC: u1, - /// LSE ready Interrupt Clear + /// LSE ready Interrupt Clear LSERDYC: u1, - /// HSI ready Interrupt Clear + /// HSI ready Interrupt Clear HSIRDYC: u1, - /// HSE ready Interrupt Clear + /// HSE ready Interrupt Clear HSERDYC: u1, - /// CSI ready Interrupt Clear + /// CSI ready Interrupt Clear HSE_ready_Interrupt_Clear: u1, - /// RC48 ready Interrupt Clear + /// RC48 ready Interrupt Clear HSI48RDYC: u1, - /// PLL1 ready Interrupt Clear + /// PLL1 ready Interrupt Clear PLLRDYC: u1, reserved9: u2, - /// LSE clock security system Interrupt Clear + /// LSE clock security system Interrupt Clear LSECSSC: u1, - /// HSE clock security system Interrupt Clear + /// HSE clock security system Interrupt Clear HSECSSC: u1, padding: u21, }), reserved112: [4]u8, - /// RCC Backup Domain Control Register + /// RCC Backup Domain Control Register BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enabled + /// LSE oscillator enabled LSEON: u1, - /// LSE oscillator ready + /// LSE oscillator ready LSERDY: u1, - /// LSE oscillator bypass + /// LSE oscillator bypass LSEBYP: u1, - /// LSE oscillator driving capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// LSE clock security system enable + /// LSE oscillator driving capability + LSEDRV: LSEDRV, + /// LSE clock security system enable LSECSSON: u1, - /// LSE clock security system failure detection + /// LSE clock security system failure detection LSECSSD: u1, reserved8: u1, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// VSwitch domain software reset + /// VSwitch domain software reset BDRST: u1, padding: u15, }), - /// RCC Clock Control and Status Register + /// RCC Clock Control and Status Register CSR: mmio.Mmio(packed struct(u32) { - /// LSI oscillator enable + /// LSI oscillator enable LSION: u1, - /// LSI oscillator ready + /// LSI oscillator ready LSIRDY: u1, padding: u30, }), reserved124: [4]u8, - /// RCC AHB3 Reset Register + /// RCC AHB3 Reset Register AHB3RSTR: mmio.Mmio(packed struct(u32) { - /// MDMA block reset + /// MDMA block reset MDMARST: u1, reserved4: u3, - /// DMA2D block reset + /// DMA2D block reset DMA2DRST: u1, - /// JPGDEC block reset + /// JPGDEC block reset JPGDECRST: u1, reserved12: u6, - /// FMC block reset + /// FMC block reset FMCRST: u1, reserved14: u1, - /// QUADSPI and QUADSPI delay block reset + /// QUADSPI and QUADSPI delay block reset QUADSPIRST: u1, reserved16: u1, - /// SDMMC1 and SDMMC1 delay block reset + /// SDMMC1 and SDMMC1 delay block reset SDMMC1RST: u1, reserved19: u2, - /// OCTOSPI2 and OCTOSPI2 delay block reset + /// OCTOSPI2 and OCTOSPI2 delay block reset OCTOSPI2RST: u1, reserved21: u1, - /// OCTOSPI IO manager reset + /// OCTOSPI IO manager reset IOMNGRRST: u1, - /// OTFDEC1 reset + /// OTFDEC1 reset OTFD1RST: u1, - /// OTFDEC2 reset + /// OTFDEC2 reset OTFD2RST: u1, reserved31: u7, - /// CPU reset + /// CPU reset CPURST: u1, }), - /// RCC AHB1 Peripheral Reset Register + /// RCC AHB1 Peripheral Reset Register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// DMA1 block reset + /// DMA1 block reset DMA1RST: u1, - /// DMA2 block reset + /// DMA2 block reset DMA2RST: u1, reserved5: u3, - /// ADC1&2 block reset + /// ADC1&2 block reset ADC12RST: u1, reserved14: u8, - /// ART block reset + /// ART block reset ARTRST: u1, - /// ETH block reset + /// ETH block reset ETHRST: u1, reserved25: u9, - /// USB_OTG_HS block reset + /// USB_OTG_HS block reset USB_OTG_HSRST: u1, reserved27: u1, - /// USB_OTG_FS block reset + /// USB_OTG_FS block reset USB_OTG_FSRST: u1, padding: u4, }), - /// RCC AHB2 Peripheral Reset Register + /// RCC AHB2 Peripheral Reset Register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// DCMI block reset + /// DCMI block reset DCMIRST: u1, reserved4: u3, - /// CRYPography block reset + /// CRYPography block reset CRYPRST: u1, - /// Hash block reset + /// Hash block reset HASHRST: u1, - /// Random Number Generator block reset + /// Random Number Generator block reset RNGRST: u1, reserved9: u2, - /// SDMMC2 and SDMMC2 Delay block reset + /// SDMMC2 and SDMMC2 Delay block reset SDMMC2RST: u1, reserved16: u6, - /// FMAC reset + /// FMAC reset FMACRST: u1, - /// CORDIC reset + /// CORDIC reset CORDICRST: u1, padding: u14, }), - /// RCC AHB4 Peripheral Reset Register + /// RCC AHB4 Peripheral Reset Register AHB4RSTR: mmio.Mmio(packed struct(u32) { - /// GPIO block reset + /// GPIO block reset GPIOARST: u1, - /// GPIO block reset + /// GPIO block reset GPIOBRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOCRST: u1, - /// GPIO block reset + /// GPIO block reset GPIODRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOERST: u1, - /// GPIO block reset + /// GPIO block reset GPIOFRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOGRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOHRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOIRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOJRST: u1, - /// GPIO block reset + /// GPIO block reset GPIOKRST: u1, reserved19: u8, - /// CRC block reset + /// CRC block reset CRCRST: u1, reserved21: u1, - /// BDMA block reset + /// BDMA block reset BDMARST: u1, reserved24: u2, - /// ADC3 block reset + /// ADC3 block reset ADC3RST: u1, - /// HSEM block reset + /// HSEM block reset HSEMRST: u1, padding: u6, }), - /// RCC APB3 Peripheral Reset Register + /// RCC APB3 Peripheral Reset Register APB3RSTR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// LTDC block reset + /// LTDC block reset LTDCRST: u1, - /// DSI block reset + /// DSI block reset DSIRST: u1, padding: u27, }), - /// RCC APB1 Peripheral Reset Register + /// RCC APB1 Peripheral Reset Register APB1LRSTR: mmio.Mmio(packed struct(u32) { - /// TIM block reset + /// TIM block reset TIM2RST: u1, - /// TIM block reset + /// TIM block reset TIM3RST: u1, - /// TIM block reset + /// TIM block reset TIM4RST: u1, - /// TIM block reset + /// TIM block reset TIM5RST: u1, - /// TIM block reset + /// TIM block reset TIM6RST: u1, - /// TIM block reset + /// TIM block reset TIM7RST: u1, - /// TIM block reset + /// TIM block reset TIM12RST: u1, - /// TIM block reset + /// TIM block reset TIM13RST: u1, - /// TIM block reset + /// TIM block reset TIM14RST: u1, - /// TIM block reset + /// TIM block reset LPTIM1RST: u1, reserved14: u4, - /// SPI2 block reset + /// SPI2 block reset SPI2RST: u1, - /// SPI3 block reset + /// SPI3 block reset SPI3RST: u1, - /// SPDIFRX block reset + /// SPDIFRX block reset SPDIFRXRST: u1, - /// USART2 block reset + /// USART2 block reset USART2RST: u1, - /// USART3 block reset + /// USART3 block reset USART3RST: u1, - /// UART4 block reset + /// UART4 block reset UART4RST: u1, - /// UART5 block reset + /// UART5 block reset UART5RST: u1, - /// I2C1 block reset + /// I2C1 block reset I2C1RST: u1, - /// I2C2 block reset + /// I2C2 block reset I2C2RST: u1, - /// I2C3 block reset + /// I2C3 block reset I2C3RST: u1, reserved25: u1, - /// I2C5 block reset + /// I2C5 block reset I2C5RST: u1, reserved27: u1, - /// HDMI-CEC block reset + /// HDMI-CEC block reset CECRST: u1, reserved29: u1, - /// DAC1 and 2 Blocks Reset + /// DAC1 and 2 Blocks Reset DAC12RST: u1, - /// UART7 block reset + /// UART7 block reset UART7RST: u1, - /// UART8 block reset + /// UART8 block reset UART8RST: u1, }), - /// RCC APB1 Peripheral Reset Register + /// RCC APB1 Peripheral Reset Register APB1HRSTR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clock Recovery System reset + /// Clock Recovery System reset CRSRST: u1, - /// SWPMI block reset + /// SWPMI block reset SWPMIRST: u1, reserved4: u1, - /// OPAMP block reset + /// OPAMP block reset OPAMPRST: u1, - /// MDIOS block reset + /// MDIOS block reset MDIOSRST: u1, reserved8: u2, - /// FDCAN block reset + /// FDCAN block reset FDCANRST: u1, reserved24: u15, - /// TIM23 block reset + /// TIM23 block reset TIM23RST: u1, - /// TIM24 block reset + /// TIM24 block reset TIM24RST: u1, padding: u6, }), - /// RCC APB2 Peripheral Reset Register + /// RCC APB2 Peripheral Reset Register APB2RSTR: mmio.Mmio(packed struct(u32) { - /// TIM1 block reset + /// TIM1 block reset TIM1RST: u1, - /// TIM8 block reset + /// TIM8 block reset TIM8RST: u1, reserved4: u2, - /// USART1 block reset + /// USART1 block reset USART1RST: u1, - /// USART6 block reset + /// USART6 block reset USART6RST: u1, - /// UART9 block reset + /// UART9 block reset UART9RST: u1, - /// USART10 block reset + /// USART10 block reset USART10RST: u1, reserved12: u4, - /// SPI1 block reset + /// SPI1 block reset SPI1RST: u1, - /// SPI4 block reset + /// SPI4 block reset SPI4RST: u1, reserved16: u2, - /// TIM15 block reset + /// TIM15 block reset TIM15RST: u1, - /// TIM16 block reset + /// TIM16 block reset TIM16RST: u1, - /// TIM17 block reset + /// TIM17 block reset TIM17RST: u1, reserved20: u1, - /// SPI5 block reset + /// SPI5 block reset SPI5RST: u1, reserved22: u1, - /// SAI1 block reset + /// SAI1 block reset SAI1RST: u1, - /// SAI2 block reset + /// SAI2 block reset SAI2RST: u1, - /// SAI3 block reset + /// SAI3 block reset SAI3RST: u1, reserved28: u3, - /// DFSDM1 block reset + /// DFSDM1 block reset DFSDM1RST: u1, - /// HRTIM block reset + /// HRTIM block reset HRTIMRST: u1, padding: u2, }), - /// RCC APB4 Peripheral Reset Register + /// RCC APB4 Peripheral Reset Register APB4RSTR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG block reset + /// SYSCFG block reset SYSCFGRST: u1, reserved3: u1, - /// LPUART1 block reset + /// LPUART1 block reset LPUART1RST: u1, reserved5: u1, - /// SPI6 block reset + /// SPI6 block reset SPI6RST: u1, reserved7: u1, - /// I2C4 block reset + /// I2C4 block reset I2C4RST: u1, reserved9: u1, - /// LPTIM2 block reset + /// LPTIM2 block reset LPTIM2RST: u1, - /// LPTIM3 block reset + /// LPTIM3 block reset LPTIM3RST: u1, - /// LPTIM4 block reset + /// LPTIM4 block reset LPTIM4RST: u1, - /// LPTIM5 block reset + /// LPTIM5 block reset LPTIM5RST: u1, - /// DAC2 (containing one converter) reset + /// DAC2 (containing one converter) reset DAC2RST: u1, - /// COMP12 Blocks Reset + /// COMP12 Blocks Reset COMP12RST: u1, - /// VREF block reset + /// VREF block reset VREFRST: u1, reserved21: u5, - /// SAI4 block reset + /// SAI4 block reset SAI4RST: u1, reserved26: u4, - /// Digital temperature sensor block reset + /// Digital temperature sensor block reset DTSRST: u1, padding: u5, }), - /// Global Control Register + /// Global Control Register GCR: mmio.Mmio(packed struct(u32) { - /// WWDG1 reset scope control + /// WWDG1 reset scope control WW1RSC: u1, - /// WWDG2 reset scope control + /// WWDG2 reset scope control WW2RSC: u1, - /// Force allow CPU1 to boot + /// Force allow CPU1 to boot BOOT_C1: u1, - /// Force allow CPU2 to boot + /// Force allow CPU2 to boot BOOT_C2: u1, padding: u28, }), reserved168: [4]u8, - /// RCC D3 Autonomous mode Register + /// RCC D3 Autonomous mode Register D3AMR: mmio.Mmio(packed struct(u32) { - /// BDMA and DMAMUX Autonomous mode enable + /// BDMA and DMAMUX Autonomous mode enable BDMAAMEN: u1, reserved3: u2, - /// LPUART1 Autonomous mode enable + /// LPUART1 Autonomous mode enable LPUART1AMEN: u1, reserved5: u1, - /// SPI6 Autonomous mode enable + /// SPI6 Autonomous mode enable SPI6AMEN: u1, reserved7: u1, - /// I2C4 Autonomous mode enable + /// I2C4 Autonomous mode enable I2C4AMEN: u1, reserved9: u1, - /// LPTIM2 Autonomous mode enable + /// LPTIM2 Autonomous mode enable LPTIM2AMEN: u1, - /// LPTIM3 Autonomous mode enable + /// LPTIM3 Autonomous mode enable LPTIM3AMEN: u1, - /// LPTIM4 Autonomous mode enable + /// LPTIM4 Autonomous mode enable LPTIM4AMEN: u1, - /// LPTIM5 Autonomous mode enable + /// LPTIM5 Autonomous mode enable LPTIM5AMEN: u1, - /// DAC2 (containing one converter) Autonomous mode enable + /// DAC2 (containing one converter) Autonomous mode enable DAC2AMEN: u1, - /// COMP12 Autonomous mode enable + /// COMP12 Autonomous mode enable COMP12AMEN: u1, - /// VREF Autonomous mode enable + /// VREF Autonomous mode enable VREFAMEN: u1, - /// RTC Autonomous mode enable + /// RTC Autonomous mode enable RTCAMEN: u1, reserved19: u2, - /// CRC Autonomous mode enable + /// CRC Autonomous mode enable CRCAMEN: u1, reserved21: u1, - /// SAI4 Autonomous mode enable + /// SAI4 Autonomous mode enable SAI4AMEN: u1, reserved24: u2, - /// ADC3 Autonomous mode enable + /// ADC3 Autonomous mode enable ADC3AMEN: u1, reserved26: u1, - /// Digital temperature sensor Autonomous mode enable + /// Digital temperature sensor Autonomous mode enable DTSAMEN: u1, reserved28: u1, - /// Backup RAM Autonomous mode enable + /// Backup RAM Autonomous mode enable BKPSRAMAMEN: u1, - /// SRAM4 Autonomous mode enable + /// SRAM4 Autonomous mode enable SRAM4AMEN: u1, padding: u2, }), reserved208: [36]u8, - /// RCC Reset Status Register + /// RCC Reset Status Register RSR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// CPU reset flag + /// CPU reset flag CPURSTF: u1, reserved19: u1, - /// D1 domain power switch reset flag + /// D1 domain power switch reset flag D1RSTF: u1, - /// D2 domain power switch reset flag + /// D2 domain power switch reset flag D2RSTF: u1, - /// BOR reset flag + /// BOR reset flag BORRSTF: u1, - /// Pin reset flag (NRST) + /// Pin reset flag (NRST) PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// System reset from CPU reset flag + /// System reset from CPU reset flag SFTRSTF: u1, reserved26: u1, - /// Independent Watchdog reset flag + /// Independent Watchdog reset flag IWDG1RSTF: u1, reserved28: u1, - /// Window Watchdog reset flag + /// Window Watchdog reset flag WWDG1RSTF: u1, reserved30: u1, - /// Reset due to illegal D1 DStandby or CPU CStop flag + /// Reset due to illegal D1 DStandby or CPU CStop flag LPWRRSTF: u1, padding: u1, }), - /// RCC AHB3 Clock Register + /// RCC AHB3 Clock Register AHB3ENR: mmio.Mmio(packed struct(u32) { - /// MDMA Peripheral Clock Enable + /// MDMA Peripheral Clock Enable MDMAEN: u1, reserved4: u3, - /// DMA2D Peripheral Clock Enable + /// DMA2D Peripheral Clock Enable DMA2DEN: u1, - /// JPGDEC Peripheral Clock Enable + /// JPGDEC Peripheral Clock Enable JPGDECEN: u1, reserved12: u6, - /// FMC Peripheral Clocks Enable + /// FMC Peripheral Clocks Enable FMCEN: u1, reserved14: u1, - /// QUADSPI and QUADSPI Delay Clock Enable + /// QUADSPI and QUADSPI Delay Clock Enable QUADSPIEN: u1, reserved16: u1, - /// SDMMC1 and SDMMC1 Delay Clock Enable + /// SDMMC1 and SDMMC1 Delay Clock Enable SDMMC1EN: u1, reserved19: u2, - /// OCTOSPI2 and OCTOSPI2 delay block enable + /// OCTOSPI2 and OCTOSPI2 delay block enable OCTOSPI2EN: u1, reserved21: u1, - /// OCTOSPI IO manager enable + /// OCTOSPI IO manager enable IOMNGREN: u1, - /// OTFDEC1 enable + /// OTFDEC1 enable OTFD1EN: u1, - /// OTFDEC2 enable + /// OTFDEC2 enable OTFD2EN: u1, reserved28: u4, - /// D1 DTCM1 block enable + /// D1 DTCM1 block enable DTCM1EN: u1, - /// D1 DTCM2 block enable + /// D1 DTCM2 block enable DTCM2EN: u1, - /// D1 ITCM block enable + /// D1 ITCM block enable ITCM1EN: u1, - /// AXISRAM block enable + /// AXISRAM block enable AXISRAMEN: u1, }), - /// RCC AHB1 Clock Register + /// RCC AHB1 Clock Register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// DMA1 Clock Enable + /// DMA1 Clock Enable DMA1EN: u1, - /// DMA2 Clock Enable + /// DMA2 Clock Enable DMA2EN: u1, reserved5: u3, - /// ADC1/2 Peripheral Clocks Enable + /// ADC1/2 Peripheral Clocks Enable ADC12EN: u1, reserved14: u8, - /// ART Clock Enable + /// ART Clock Enable ARTEN: u1, - /// Ethernet MAC bus interface Clock Enable + /// Ethernet MAC bus interface Clock Enable ETHEN: u1, - /// Ethernet Transmission Clock Enable + /// Ethernet Transmission Clock Enable ETHTXEN: u1, - /// Ethernet Reception Clock Enable + /// Ethernet Reception Clock Enable ETHRXEN: u1, reserved25: u7, - /// USB_OTG_HS Peripheral Clocks Enable + /// USB_OTG_HS Peripheral Clocks Enable USB_OTG_HSEN: u1, - /// USB_OTG_HS ULPI clock enable + /// USB_OTG_HS ULPI clock enable USB_OTG_HS_ULPIEN: u1, - /// USB_OTG_FS Peripheral Clocks Enable + /// USB_OTG_FS Peripheral Clocks Enable USB_OTG_FSEN: u1, - /// USB_OTG_FS ULPI clock enable + /// USB_OTG_FS ULPI clock enable USB_OTG_FS_ULPIEN: u1, padding: u3, }), - /// RCC AHB2 Clock Register + /// RCC AHB2 Clock Register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// DCMI peripheral clock + /// DCMI peripheral clock DCMIEN: u1, reserved4: u3, - /// CRYP peripheral clock enable + /// CRYP peripheral clock enable CRYPEN: u1, - /// HASH peripheral clock enable + /// HASH peripheral clock enable HASHEN: u1, - /// RNG peripheral clocks enable + /// RNG peripheral clocks enable RNGEN: u1, reserved9: u2, - /// SDMMC2 and SDMMC2 delay clock enable + /// SDMMC2 and SDMMC2 delay clock enable SDMMC2EN: u1, reserved16: u6, - /// FMAC enable + /// FMAC enable FMACEN: u1, - /// CORDIC enable + /// CORDIC enable CORDICEN: u1, reserved29: u11, - /// SRAM1 block enable + /// SRAM1 block enable SRAM1EN: u1, - /// SRAM2 block enable + /// SRAM2 block enable SRAM2EN: u1, - /// SRAM3 block enable + /// SRAM3 block enable SRAM3EN: u1, }), - /// RCC AHB4 Clock Register + /// RCC AHB4 Clock Register AHB4ENR: mmio.Mmio(packed struct(u32) { - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOAEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOBEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOCEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIODEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOEEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOFEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOGEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOHEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOIEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOJEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOKEN: u1, reserved19: u8, - /// CRC peripheral clock enable + /// CRC peripheral clock enable CRCEN: u1, reserved21: u1, - /// BDMA and DMAMUX2 Clock Enable + /// BDMA and DMAMUX2 Clock Enable BDMAEN: u1, reserved24: u2, - /// ADC3 Peripheral Clocks Enable + /// ADC3 Peripheral Clocks Enable ADC3EN: u1, - /// HSEM peripheral clock enable + /// HSEM peripheral clock enable HSEMEN: u1, reserved28: u2, - /// Backup RAM Clock Enable + /// Backup RAM Clock Enable BKPSRAMEN: u1, padding: u3, }), - /// RCC APB3 Clock Register + /// RCC APB3 Clock Register APB3ENR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// LTDC peripheral clock enable + /// LTDC peripheral clock enable LTDCEN: u1, - /// DSI Peripheral clocks enable + /// DSI Peripheral clocks enable DSIEN: u1, reserved6: u1, - /// WWDG1 Clock Enable + /// WWDG1 Clock Enable WWDG1EN: u1, padding: u25, }), - /// RCC APB1 Clock Register + /// RCC APB1 Clock Register APB1LENR: mmio.Mmio(packed struct(u32) { - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM2EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM3EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM4EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM5EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM6EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM7EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM12EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM13EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM14EN: u1, - /// LPTIM1 Peripheral Clocks Enable + /// LPTIM1 Peripheral Clocks Enable LPTIM1EN: u1, reserved11: u1, - /// WWDG2 peripheral clock enable + /// WWDG2 peripheral clock enable WWDG2EN: u1, reserved14: u2, - /// SPI2 Peripheral Clocks Enable + /// SPI2 Peripheral Clocks Enable SPI2EN: u1, - /// SPI3 Peripheral Clocks Enable + /// SPI3 Peripheral Clocks Enable SPI3EN: u1, - /// SPDIFRX Peripheral Clocks Enable + /// SPDIFRX Peripheral Clocks Enable SPDIFRXEN: u1, - /// USART2 Peripheral Clocks Enable + /// USART2 Peripheral Clocks Enable USART2EN: u1, - /// USART3 Peripheral Clocks Enable + /// USART3 Peripheral Clocks Enable USART3EN: u1, - /// UART4 Peripheral Clocks Enable + /// UART4 Peripheral Clocks Enable UART4EN: u1, - /// UART5 Peripheral Clocks Enable + /// UART5 Peripheral Clocks Enable UART5EN: u1, - /// I2C1 Peripheral Clocks Enable + /// I2C1 Peripheral Clocks Enable I2C1EN: u1, - /// I2C2 Peripheral Clocks Enable + /// I2C2 Peripheral Clocks Enable I2C2EN: u1, - /// I2C3 Peripheral Clocks Enable + /// I2C3 Peripheral Clocks Enable I2C3EN: u1, reserved25: u1, - /// I2C5 Peripheral Clocks Enable + /// I2C5 Peripheral Clocks Enable I2C5EN: u1, reserved27: u1, - /// HDMI-CEC peripheral clock enable + /// HDMI-CEC peripheral clock enable CECEN: u1, reserved29: u1, - /// DAC1&2 peripheral clock enable + /// DAC1&2 peripheral clock enable DAC12EN: u1, - /// UART7 Peripheral Clocks Enable + /// UART7 Peripheral Clocks Enable UART7EN: u1, - /// UART8 Peripheral Clocks Enable + /// UART8 Peripheral Clocks Enable UART8EN: u1, }), - /// RCC APB1 Clock Register + /// RCC APB1 Clock Register APB1HENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clock Recovery System peripheral clock enable + /// Clock Recovery System peripheral clock enable CRSEN: u1, - /// SWPMI Peripheral Clocks Enable + /// SWPMI Peripheral Clocks Enable SWPMIEN: u1, reserved4: u1, - /// OPAMP peripheral clock enable + /// OPAMP peripheral clock enable OPAMPEN: u1, - /// MDIOS peripheral clock enable + /// MDIOS peripheral clock enable MDIOSEN: u1, reserved8: u2, - /// FDCAN Peripheral Clocks Enable + /// FDCAN Peripheral Clocks Enable FDCANEN: u1, reserved24: u15, - /// TIM23 block enable + /// TIM23 block enable TIM23EN: u1, - /// TIM24 block enable + /// TIM24 block enable TIM24EN: u1, padding: u6, }), - /// RCC APB2 Clock Register + /// RCC APB2 Clock Register APB2ENR: mmio.Mmio(packed struct(u32) { - /// TIM1 peripheral clock enable + /// TIM1 peripheral clock enable TIM1EN: u1, - /// TIM8 peripheral clock enable + /// TIM8 peripheral clock enable TIM8EN: u1, reserved4: u2, - /// USART1 Peripheral Clocks Enable + /// USART1 Peripheral Clocks Enable USART1EN: u1, - /// USART6 Peripheral Clocks Enable + /// USART6 Peripheral Clocks Enable USART6EN: u1, - /// UART9 Peripheral Clocks Enable + /// UART9 Peripheral Clocks Enable UART9EN: u1, - /// USART10 Peripheral Clocks Enable + /// USART10 Peripheral Clocks Enable USART10EN: u1, reserved12: u4, - /// SPI1 Peripheral Clocks Enable + /// SPI1 Peripheral Clocks Enable SPI1EN: u1, - /// SPI4 Peripheral Clocks Enable + /// SPI4 Peripheral Clocks Enable SPI4EN: u1, reserved16: u2, - /// TIM15 peripheral clock enable + /// TIM15 peripheral clock enable TIM15EN: u1, - /// TIM16 peripheral clock enable + /// TIM16 peripheral clock enable TIM16EN: u1, - /// TIM17 peripheral clock enable + /// TIM17 peripheral clock enable TIM17EN: u1, reserved20: u1, - /// SPI5 Peripheral Clocks Enable + /// SPI5 Peripheral Clocks Enable SPI5EN: u1, reserved22: u1, - /// SAI1 Peripheral Clocks Enable + /// SAI1 Peripheral Clocks Enable SAI1EN: u1, - /// SAI2 Peripheral Clocks Enable + /// SAI2 Peripheral Clocks Enable SAI2EN: u1, - /// SAI3 Peripheral Clocks Enable + /// SAI3 Peripheral Clocks Enable SAI3EN: u1, reserved28: u3, - /// DFSDM1 Peripheral Clocks Enable + /// DFSDM1 Peripheral Clocks Enable DFSDM1EN: u1, - /// HRTIM peripheral clock enable + /// HRTIM peripheral clock enable HRTIMEN: u1, padding: u2, }), - /// RCC APB4 Clock Register + /// RCC APB4 Clock Register APB4ENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG peripheral clock enable + /// SYSCFG peripheral clock enable SYSCFGEN: u1, reserved3: u1, - /// LPUART1 Peripheral Clocks Enable + /// LPUART1 Peripheral Clocks Enable LPUART1EN: u1, reserved5: u1, - /// SPI6 Peripheral Clocks Enable + /// SPI6 Peripheral Clocks Enable SPI6EN: u1, reserved7: u1, - /// I2C4 Peripheral Clocks Enable + /// I2C4 Peripheral Clocks Enable I2C4EN: u1, reserved9: u1, - /// LPTIM2 Peripheral Clocks Enable + /// LPTIM2 Peripheral Clocks Enable LPTIM2EN: u1, - /// LPTIM3 Peripheral Clocks Enable + /// LPTIM3 Peripheral Clocks Enable LPTIM3EN: u1, - /// LPTIM4 Peripheral Clocks Enable + /// LPTIM4 Peripheral Clocks Enable LPTIM4EN: u1, - /// LPTIM5 Peripheral Clocks Enable + /// LPTIM5 Peripheral Clocks Enable LPTIM5EN: u1, - /// DAC2 (containing one converter) peripheral clock enable + /// DAC2 (containing one converter) peripheral clock enable DAC2EN: u1, - /// COMP1/2 peripheral clock enable + /// COMP1/2 peripheral clock enable COMP12EN: u1, - /// VREF peripheral clock enable + /// VREF peripheral clock enable VREFEN: u1, - /// RTC APB Clock Enable + /// RTC APB Clock Enable RTCAPBEN: u1, reserved21: u4, - /// SAI4 Peripheral Clocks Enable + /// SAI4 Peripheral Clocks Enable SAI4EN: u1, reserved26: u4, - /// Digital temperature sensor block enable + /// Digital temperature sensor block enable DTSEN: u1, padding: u5, }), reserved252: [4]u8, - /// RCC AHB3 Sleep Clock Register + /// RCC AHB3 Sleep Clock Register AHB3LPENR: mmio.Mmio(packed struct(u32) { - /// MDMA Clock Enable During CSleep Mode + /// MDMA Clock Enable During CSleep Mode MDMALPEN: u1, reserved4: u3, - /// DMA2D Clock Enable During CSleep Mode + /// DMA2D Clock Enable During CSleep Mode DMA2DLPEN: u1, - /// JPGDEC Clock Enable During CSleep Mode + /// JPGDEC Clock Enable During CSleep Mode JPGDECLPEN: u1, reserved8: u2, - /// FLASH Clock Enable During CSleep Mode + /// FLASH Clock Enable During CSleep Mode FLASHLPEN: u1, reserved12: u3, - /// FMC Peripheral Clocks Enable During CSleep Mode + /// FMC Peripheral Clocks Enable During CSleep Mode FMCLPEN: u1, reserved14: u1, - /// QUADSPI and QUADSPI Delay Clock Enable During CSleep Mode + /// QUADSPI and QUADSPI Delay Clock Enable During CSleep Mode QUADSPILPEN: u1, reserved16: u1, - /// SDMMC1 and SDMMC1 Delay Clock Enable During CSleep Mode + /// SDMMC1 and SDMMC1 Delay Clock Enable During CSleep Mode SDMMC1LPEN: u1, reserved19: u2, - /// OCTOSPI2 and OCTOSPI2 delay block enable during CSleep Mode + /// OCTOSPI2 and OCTOSPI2 delay block enable during CSleep Mode OCTOSPI2LPEN: u1, reserved21: u1, - /// OCTOSPI IO manager enable during CSleep Mode + /// OCTOSPI IO manager enable during CSleep Mode IOMNGRLPEN: u1, - /// OTFDEC1 enable during CSleep Mode + /// OTFDEC1 enable during CSleep Mode OTFD1LPEN: u1, - /// OTFDEC2 enable during CSleep Mode + /// OTFDEC2 enable during CSleep Mode OTFD2LPEN: u1, reserved28: u4, - /// D1DTCM1 Block Clock Enable During CSleep mode + /// D1DTCM1 Block Clock Enable During CSleep mode D1DTCM1LPEN: u1, - /// D1 DTCM2 Block Clock Enable During CSleep mode + /// D1 DTCM2 Block Clock Enable During CSleep mode DTCM2LPEN: u1, - /// D1ITCM Block Clock Enable During CSleep mode + /// D1ITCM Block Clock Enable During CSleep mode ITCMLPEN: u1, - /// AXISRAM Block Clock Enable During CSleep mode + /// AXISRAM Block Clock Enable During CSleep mode AXISRAMLPEN: u1, }), - /// RCC AHB1 Sleep Clock Register + /// RCC AHB1 Sleep Clock Register AHB1LPENR: mmio.Mmio(packed struct(u32) { - /// DMA1 Clock Enable During CSleep Mode + /// DMA1 Clock Enable During CSleep Mode DMA1LPEN: u1, - /// DMA2 Clock Enable During CSleep Mode + /// DMA2 Clock Enable During CSleep Mode DMA2LPEN: u1, reserved5: u3, - /// ADC1/2 Peripheral Clocks Enable During CSleep Mode + /// ADC1/2 Peripheral Clocks Enable During CSleep Mode ADC12LPEN: u1, reserved14: u8, - /// ART Clock Enable During CSleep Mode + /// ART Clock Enable During CSleep Mode ARTLPEN: u1, - /// Ethernet MAC bus interface Clock Enable During CSleep Mode + /// Ethernet MAC bus interface Clock Enable During CSleep Mode ETHLPEN: u1, - /// Ethernet Transmission Clock Enable During CSleep Mode + /// Ethernet Transmission Clock Enable During CSleep Mode ETHTXLPEN: u1, - /// Ethernet Reception Clock Enable During CSleep Mode + /// Ethernet Reception Clock Enable During CSleep Mode ETHRXLPEN: u1, reserved25: u7, - /// USB_OTG_HS peripheral clock enable during CSleep mode + /// USB_OTG_HS peripheral clock enable during CSleep mode USB_OTG_HSLPEN: u1, - /// USB_PHY1 clock enable during CSleep mode + /// USB_PHY1 clock enable during CSleep mode USB_OTG_HS_ULPILPEN: u1, - /// USB_OTG_FS peripheral clock enable during CSleep mode + /// USB_OTG_FS peripheral clock enable during CSleep mode USB_OTG_FSLPEN: u1, - /// USB_PHY2 clocks enable during CSleep mode + /// USB_PHY2 clocks enable during CSleep mode USB_OTG_FS_ULPILPEN: u1, padding: u3, }), - /// RCC AHB2 Sleep Clock Register + /// RCC AHB2 Sleep Clock Register AHB2LPENR: mmio.Mmio(packed struct(u32) { - /// DCMI peripheral clock enable during csleep mode + /// DCMI peripheral clock enable during csleep mode DCMILPEN: u1, reserved4: u3, - /// CRYP peripheral clock enable during CSleep mode + /// CRYP peripheral clock enable during CSleep mode CRYPLPEN: u1, - /// HASH peripheral clock enable during CSleep mode + /// HASH peripheral clock enable during CSleep mode HASHLPEN: u1, - /// RNG peripheral clock enable during CSleep mode + /// RNG peripheral clock enable during CSleep mode RNGLPEN: u1, reserved9: u2, - /// SDMMC2 and SDMMC2 Delay Clock Enable During CSleep Mode + /// SDMMC2 and SDMMC2 Delay Clock Enable During CSleep Mode SDMMC2LPEN: u1, reserved16: u6, - /// FMAC enable during CSleep Mode + /// FMAC enable during CSleep Mode FMACLPEN: u1, - /// CORDIC enable during CSleep Mode + /// CORDIC enable during CSleep Mode CORDICLPEN: u1, reserved29: u11, - /// SRAM1 Clock Enable During CSleep Mode + /// SRAM1 Clock Enable During CSleep Mode SRAM1LPEN: u1, - /// SRAM2 Clock Enable During CSleep Mode + /// SRAM2 Clock Enable During CSleep Mode SRAM2LPEN: u1, - /// SRAM3 Clock Enable During CSleep Mode + /// SRAM3 Clock Enable During CSleep Mode SRAM3LPEN: u1, }), - /// RCC AHB4 Sleep Clock Register + /// RCC AHB4 Sleep Clock Register AHB4LPENR: mmio.Mmio(packed struct(u32) { - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOALPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOBLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOCLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIODLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOELPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOFLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOGLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOHLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOILPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOJLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOKLPEN: u1, reserved19: u8, - /// CRC peripheral clock enable during CSleep mode + /// CRC peripheral clock enable during CSleep mode CRCLPEN: u1, reserved21: u1, - /// BDMA Clock Enable During CSleep Mode + /// BDMA Clock Enable During CSleep Mode BDMALPEN: u1, reserved24: u2, - /// ADC3 Peripheral Clocks Enable During CSleep Mode + /// ADC3 Peripheral Clocks Enable During CSleep Mode ADC3LPEN: u1, reserved28: u3, - /// Backup RAM Clock Enable During CSleep Mode + /// Backup RAM Clock Enable During CSleep Mode BKPSRAMLPEN: u1, - /// SRAM4 Clock Enable During CSleep Mode + /// SRAM4 Clock Enable During CSleep Mode SRAM4LPEN: u1, padding: u2, }), - /// RCC APB3 Sleep Clock Register + /// RCC APB3 Sleep Clock Register APB3LPENR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// LTDC peripheral clock enable during CSleep mode + /// LTDC peripheral clock enable during CSleep mode LTDCLPEN: u1, - /// DSI Peripheral Clock Enable During CSleep Mode + /// DSI Peripheral Clock Enable During CSleep Mode DSILPEN: u1, reserved6: u1, - /// WWDG1 Clock Enable During CSleep Mode + /// WWDG1 Clock Enable During CSleep Mode WWDG1LPEN: u1, padding: u25, }), - /// RCC APB1 Low Sleep Clock Register + /// RCC APB1 Low Sleep Clock Register APB1LLPENR: mmio.Mmio(packed struct(u32) { - /// TIM2 peripheral clock enable during CSleep mode + /// TIM2 peripheral clock enable during CSleep mode TIM2LPEN: u1, - /// TIM3 peripheral clock enable during CSleep mode + /// TIM3 peripheral clock enable during CSleep mode TIM3LPEN: u1, - /// TIM4 peripheral clock enable during CSleep mode + /// TIM4 peripheral clock enable during CSleep mode TIM4LPEN: u1, - /// TIM5 peripheral clock enable during CSleep mode + /// TIM5 peripheral clock enable during CSleep mode TIM5LPEN: u1, - /// TIM6 peripheral clock enable during CSleep mode + /// TIM6 peripheral clock enable during CSleep mode TIM6LPEN: u1, - /// TIM7 peripheral clock enable during CSleep mode + /// TIM7 peripheral clock enable during CSleep mode TIM7LPEN: u1, - /// TIM12 peripheral clock enable during CSleep mode + /// TIM12 peripheral clock enable during CSleep mode TIM12LPEN: u1, - /// TIM13 peripheral clock enable during CSleep mode + /// TIM13 peripheral clock enable during CSleep mode TIM13LPEN: u1, - /// TIM14 peripheral clock enable during CSleep mode + /// TIM14 peripheral clock enable during CSleep mode TIM14LPEN: u1, - /// LPTIM1 Peripheral Clocks Enable During CSleep Mode + /// LPTIM1 Peripheral Clocks Enable During CSleep Mode LPTIM1LPEN: u1, reserved11: u1, - /// WWDG2 peripheral Clocks Enable During CSleep Mode + /// WWDG2 peripheral Clocks Enable During CSleep Mode WWDG2LPEN: u1, reserved14: u2, - /// SPI2 Peripheral Clocks Enable During CSleep Mode + /// SPI2 Peripheral Clocks Enable During CSleep Mode SPI2LPEN: u1, - /// SPI3 Peripheral Clocks Enable During CSleep Mode + /// SPI3 Peripheral Clocks Enable During CSleep Mode SPI3LPEN: u1, - /// SPDIFRX Peripheral Clocks Enable During CSleep Mode + /// SPDIFRX Peripheral Clocks Enable During CSleep Mode SPDIFRXLPEN: u1, - /// USART2 Peripheral Clocks Enable During CSleep Mode + /// USART2 Peripheral Clocks Enable During CSleep Mode USART2LPEN: u1, - /// USART3 Peripheral Clocks Enable During CSleep Mode + /// USART3 Peripheral Clocks Enable During CSleep Mode USART3LPEN: u1, - /// UART4 Peripheral Clocks Enable During CSleep Mode + /// UART4 Peripheral Clocks Enable During CSleep Mode UART4LPEN: u1, - /// UART5 Peripheral Clocks Enable During CSleep Mode + /// UART5 Peripheral Clocks Enable During CSleep Mode UART5LPEN: u1, - /// I2C1 Peripheral Clocks Enable During CSleep Mode + /// I2C1 Peripheral Clocks Enable During CSleep Mode I2C1LPEN: u1, - /// I2C2 Peripheral Clocks Enable During CSleep Mode + /// I2C2 Peripheral Clocks Enable During CSleep Mode I2C2LPEN: u1, - /// I2C3 Peripheral Clocks Enable During CSleep Mode + /// I2C3 Peripheral Clocks Enable During CSleep Mode I2C3LPEN: u1, reserved25: u1, - /// I2C5 block enable during CSleep Mode + /// I2C5 block enable during CSleep Mode I2C5LPEN: u1, reserved27: u1, - /// HDMI-CEC Peripheral Clocks Enable During CSleep Mode + /// HDMI-CEC Peripheral Clocks Enable During CSleep Mode CECLPEN: u1, reserved29: u1, - /// DAC1/2 peripheral clock enable during CSleep mode + /// DAC1/2 peripheral clock enable during CSleep mode DAC12LPEN: u1, - /// UART7 Peripheral Clocks Enable During CSleep Mode + /// UART7 Peripheral Clocks Enable During CSleep Mode UART7LPEN: u1, - /// UART8 Peripheral Clocks Enable During CSleep Mode + /// UART8 Peripheral Clocks Enable During CSleep Mode UART8LPEN: u1, }), - /// RCC APB1 High Sleep Clock Register + /// RCC APB1 High Sleep Clock Register APB1HLPENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clock Recovery System peripheral clock enable during CSleep mode + /// Clock Recovery System peripheral clock enable during CSleep mode CRSLPEN: u1, - /// SWPMI Peripheral Clocks Enable During CSleep Mode + /// SWPMI Peripheral Clocks Enable During CSleep Mode SWPMILPEN: u1, reserved4: u1, - /// OPAMP peripheral clock enable during CSleep mode + /// OPAMP peripheral clock enable during CSleep mode OPAMPLPEN: u1, - /// MDIOS peripheral clock enable during CSleep mode + /// MDIOS peripheral clock enable during CSleep mode MDIOSLPEN: u1, reserved8: u2, - /// FDCAN Peripheral Clocks Enable During CSleep Mode + /// FDCAN Peripheral Clocks Enable During CSleep Mode FDCANLPEN: u1, reserved24: u15, - /// TIM23 block enable during CSleep Mode + /// TIM23 block enable during CSleep Mode TIM23LPEN: u1, - /// TIM24 block enable during CSleep Mode + /// TIM24 block enable during CSleep Mode TIM24LPEN: u1, padding: u6, }), - /// RCC APB2 Sleep Clock Register + /// RCC APB2 Sleep Clock Register APB2LPENR: mmio.Mmio(packed struct(u32) { - /// TIM1 peripheral clock enable during CSleep mode + /// TIM1 peripheral clock enable during CSleep mode TIM1LPEN: u1, - /// TIM8 peripheral clock enable during CSleep mode + /// TIM8 peripheral clock enable during CSleep mode TIM8LPEN: u1, reserved4: u2, - /// USART1 Peripheral Clocks Enable During CSleep Mode + /// USART1 Peripheral Clocks Enable During CSleep Mode USART1LPEN: u1, - /// USART6 Peripheral Clocks Enable During CSleep Mode + /// USART6 Peripheral Clocks Enable During CSleep Mode USART6LPEN: u1, reserved12: u6, - /// SPI1 Peripheral Clocks Enable During CSleep Mode + /// SPI1 Peripheral Clocks Enable During CSleep Mode SPI1LPEN: u1, - /// SPI4 Peripheral Clocks Enable During CSleep Mode + /// SPI4 Peripheral Clocks Enable During CSleep Mode SPI4LPEN: u1, reserved16: u2, - /// TIM15 peripheral clock enable during CSleep mode + /// TIM15 peripheral clock enable during CSleep mode TIM15LPEN: u1, - /// TIM16 peripheral clock enable during CSleep mode + /// TIM16 peripheral clock enable during CSleep mode TIM16LPEN: u1, - /// TIM17 peripheral clock enable during CSleep mode + /// TIM17 peripheral clock enable during CSleep mode TIM17LPEN: u1, reserved20: u1, - /// SPI5 Peripheral Clocks Enable During CSleep Mode + /// SPI5 Peripheral Clocks Enable During CSleep Mode SPI5LPEN: u1, reserved22: u1, - /// SAI1 Peripheral Clocks Enable During CSleep Mode + /// SAI1 Peripheral Clocks Enable During CSleep Mode SAI1LPEN: u1, - /// SAI2 Peripheral Clocks Enable During CSleep Mode + /// SAI2 Peripheral Clocks Enable During CSleep Mode SAI2LPEN: u1, - /// SAI3 Peripheral Clocks Enable During CSleep Mode + /// SAI3 Peripheral Clocks Enable During CSleep Mode SAI3LPEN: u1, reserved28: u3, - /// DFSDM1 Peripheral Clocks Enable During CSleep Mode + /// DFSDM1 Peripheral Clocks Enable During CSleep Mode DFSDM1LPEN: u1, - /// HRTIM peripheral clock enable during CSleep mode + /// HRTIM peripheral clock enable during CSleep mode HRTIMLPEN: u1, padding: u2, }), - /// RCC APB4 Sleep Clock Register + /// RCC APB4 Sleep Clock Register APB4LPENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG peripheral clock enable during CSleep mode + /// SYSCFG peripheral clock enable during CSleep mode SYSCFGLPEN: u1, reserved3: u1, - /// LPUART1 Peripheral Clocks Enable During CSleep Mode + /// LPUART1 Peripheral Clocks Enable During CSleep Mode LPUART1LPEN: u1, reserved5: u1, - /// SPI6 Peripheral Clocks Enable During CSleep Mode + /// SPI6 Peripheral Clocks Enable During CSleep Mode SPI6LPEN: u1, reserved7: u1, - /// I2C4 Peripheral Clocks Enable During CSleep Mode + /// I2C4 Peripheral Clocks Enable During CSleep Mode I2C4LPEN: u1, reserved9: u1, - /// LPTIM2 Peripheral Clocks Enable During CSleep Mode + /// LPTIM2 Peripheral Clocks Enable During CSleep Mode LPTIM2LPEN: u1, - /// LPTIM3 Peripheral Clocks Enable During CSleep Mode + /// LPTIM3 Peripheral Clocks Enable During CSleep Mode LPTIM3LPEN: u1, - /// LPTIM4 Peripheral Clocks Enable During CSleep Mode + /// LPTIM4 Peripheral Clocks Enable During CSleep Mode LPTIM4LPEN: u1, - /// LPTIM5 Peripheral Clocks Enable During CSleep Mode + /// LPTIM5 Peripheral Clocks Enable During CSleep Mode LPTIM5LPEN: u1, - /// DAC2 (containing one converter) peripheral clock enable during CSleep mode + /// DAC2 (containing one converter) peripheral clock enable during CSleep mode DAC2LPEN: u1, - /// COMP1/2 peripheral clock enable during CSleep mode + /// COMP1/2 peripheral clock enable during CSleep mode COMP12LPEN: u1, - /// VREF peripheral clock enable during CSleep mode + /// VREF peripheral clock enable during CSleep mode VREFLPEN: u1, - /// RTC APB Clock Enable During CSleep Mode + /// RTC APB Clock Enable During CSleep Mode RTCAPBLPEN: u1, reserved21: u4, - /// SAI4 Peripheral Clocks Enable During CSleep Mode + /// SAI4 Peripheral Clocks Enable During CSleep Mode SAI4LPEN: u1, reserved26: u4, - /// Digital temperature sensor block enable during CSleep Mode + /// Digital temperature sensor block enable during CSleep Mode DTSLPEN: u1, padding: u5, }), reserved304: [16]u8, - /// RCC Reset Status Register + /// RCC Reset Status Register C1_RSR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// CPU reset flag + /// CPU reset flag CPURSTF: u1, reserved19: u1, - /// D1 domain power switch reset flag + /// D1 domain power switch reset flag D1RSTF: u1, - /// D2 domain power switch reset flag + /// D2 domain power switch reset flag D2RSTF: u1, - /// BOR reset flag + /// BOR reset flag BORRSTF: u1, - /// Pin reset flag (NRST) + /// Pin reset flag (NRST) PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// System reset from CPU reset flag + /// System reset from CPU reset flag SFTRSTF: u1, reserved26: u1, - /// Independent Watchdog reset flag + /// Independent Watchdog reset flag IWDG1RSTF: u1, reserved28: u1, - /// Window Watchdog reset flag + /// Window Watchdog reset flag WWDG1RSTF: u1, reserved30: u1, - /// Reset due to illegal D1 DStandby or CPU CStop flag + /// Reset due to illegal D1 DStandby or CPU CStop flag LPWRRSTF: u1, padding: u1, }), - /// RCC AHB3 Clock Register + /// RCC AHB3 Clock Register C1_AHB3ENR: mmio.Mmio(packed struct(u32) { - /// MDMA Peripheral Clock Enable + /// MDMA Peripheral Clock Enable MDMAEN: u1, reserved4: u3, - /// DMA2D Peripheral Clock Enable + /// DMA2D Peripheral Clock Enable DMA2DEN: u1, - /// JPGDEC Peripheral Clock Enable + /// JPGDEC Peripheral Clock Enable JPGDECEN: u1, reserved12: u6, - /// FMC Peripheral Clocks Enable + /// FMC Peripheral Clocks Enable FMCEN: u1, reserved14: u1, - /// QUADSPI and QUADSPI Delay Clock Enable + /// QUADSPI and QUADSPI Delay Clock Enable QUADSPIEN: u1, reserved16: u1, - /// SDMMC1 and SDMMC1 Delay Clock Enable + /// SDMMC1 and SDMMC1 Delay Clock Enable SDMMC1EN: u1, padding: u15, }), - /// RCC AHB1 Clock Register + /// RCC AHB1 Clock Register C1_AHB1ENR: mmio.Mmio(packed struct(u32) { - /// DMA1 Clock Enable + /// DMA1 Clock Enable DMA1EN: u1, - /// DMA2 Clock Enable + /// DMA2 Clock Enable DMA2EN: u1, reserved5: u3, - /// ADC1/2 Peripheral Clocks Enable + /// ADC1/2 Peripheral Clocks Enable ADC12EN: u1, reserved14: u8, - /// ART Clock Enable + /// ART Clock Enable ARTEN: u1, - /// Ethernet MAC bus interface Clock Enable + /// Ethernet MAC bus interface Clock Enable ETHEN: u1, - /// Ethernet Transmission Clock Enable + /// Ethernet Transmission Clock Enable ETHTXEN: u1, - /// Ethernet Reception Clock Enable + /// Ethernet Reception Clock Enable ETHRXEN: u1, reserved25: u7, - /// USB_OTG_HS Peripheral Clocks Enable + /// USB_OTG_HS Peripheral Clocks Enable USB_OTG_HSEN: u1, - /// USB_PHY1 Clocks Enable + /// USB_PHY1 Clocks Enable USB_OTG_HS_ULPIEN: u1, - /// USB_OTG_FS Peripheral Clocks Enable + /// USB_OTG_FS Peripheral Clocks Enable USB_OTG_FSEN: u1, - /// USB_PHY2 Clocks Enable + /// USB_PHY2 Clocks Enable USB_OTG_FS_ULPIEN: u1, padding: u3, }), - /// RCC AHB2 Clock Register + /// RCC AHB2 Clock Register C1_AHB2ENR: mmio.Mmio(packed struct(u32) { - /// DCMI peripheral clock + /// DCMI peripheral clock DCMIEN: u1, reserved4: u3, - /// CRYP peripheral clock enable + /// CRYP peripheral clock enable CRYPEN: u1, - /// HASH peripheral clock enable + /// HASH peripheral clock enable HASHEN: u1, - /// RNG peripheral clocks enable + /// RNG peripheral clocks enable RNGEN: u1, reserved9: u2, - /// SDMMC2 and SDMMC2 delay clock enable + /// SDMMC2 and SDMMC2 delay clock enable SDMMC2EN: u1, reserved29: u19, - /// SRAM1 block enable + /// SRAM1 block enable SRAM1EN: u1, - /// SRAM2 block enable + /// SRAM2 block enable SRAM2EN: u1, - /// SRAM3 block enable + /// SRAM3 block enable SRAM3EN: u1, }), - /// RCC AHB4 Clock Register + /// RCC AHB4 Clock Register C1_AHB4ENR: mmio.Mmio(packed struct(u32) { - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOAEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOBEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOCEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIODEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOEEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOFEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOGEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOHEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOIEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOJEN: u1, - /// 0GPIO peripheral clock enable + /// 0GPIO peripheral clock enable GPIOKEN: u1, reserved19: u8, - /// CRC peripheral clock enable + /// CRC peripheral clock enable CRCEN: u1, reserved21: u1, - /// BDMA and DMAMUX2 Clock Enable + /// BDMA and DMAMUX2 Clock Enable BDMAEN: u1, reserved24: u2, - /// ADC3 Peripheral Clocks Enable + /// ADC3 Peripheral Clocks Enable ADC3EN: u1, - /// HSEM peripheral clock enable + /// HSEM peripheral clock enable HSEMEN: u1, reserved28: u2, - /// Backup RAM Clock Enable + /// Backup RAM Clock Enable BKPSRAMEN: u1, padding: u3, }), - /// RCC APB3 Clock Register + /// RCC APB3 Clock Register C1_APB3ENR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// LTDC peripheral clock enable + /// LTDC peripheral clock enable LTDCEN: u1, - /// DSI Peripheral clocks enable + /// DSI Peripheral clocks enable DSIEN: u1, reserved6: u1, - /// WWDG1 Clock Enable + /// WWDG1 Clock Enable WWDG1EN: u1, padding: u25, }), - /// RCC APB1 Clock Register + /// RCC APB1 Clock Register C1_APB1LENR: mmio.Mmio(packed struct(u32) { - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM2EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM3EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM4EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM5EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM6EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM7EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM12EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM13EN: u1, - /// TIM peripheral clock enable + /// TIM peripheral clock enable TIM14EN: u1, - /// LPTIM1 Peripheral Clocks Enable + /// LPTIM1 Peripheral Clocks Enable LPTIM1EN: u1, reserved11: u1, - /// WWDG2 peripheral clock enable + /// WWDG2 peripheral clock enable WWDG2EN: u1, reserved14: u2, - /// SPI2 Peripheral Clocks Enable + /// SPI2 Peripheral Clocks Enable SPI2EN: u1, - /// SPI3 Peripheral Clocks Enable + /// SPI3 Peripheral Clocks Enable SPI3EN: u1, - /// SPDIFRX Peripheral Clocks Enable + /// SPDIFRX Peripheral Clocks Enable SPDIFRXEN: u1, - /// USART2 Peripheral Clocks Enable + /// USART2 Peripheral Clocks Enable USART2EN: u1, - /// USART3 Peripheral Clocks Enable + /// USART3 Peripheral Clocks Enable USART3EN: u1, - /// UART4 Peripheral Clocks Enable + /// UART4 Peripheral Clocks Enable UART4EN: u1, - /// UART5 Peripheral Clocks Enable + /// UART5 Peripheral Clocks Enable UART5EN: u1, - /// I2C1 Peripheral Clocks Enable + /// I2C1 Peripheral Clocks Enable I2C1EN: u1, - /// I2C2 Peripheral Clocks Enable + /// I2C2 Peripheral Clocks Enable I2C2EN: u1, - /// I2C3 Peripheral Clocks Enable + /// I2C3 Peripheral Clocks Enable I2C3EN: u1, reserved25: u1, - /// I2C5 Peripheral Clocks Enable + /// I2C5 Peripheral Clocks Enable I2C5EN: u1, reserved27: u1, - /// HDMI-CEC peripheral clock enable + /// HDMI-CEC peripheral clock enable CECEN: u1, reserved29: u1, - /// DAC1&2 peripheral clock enable + /// DAC1&2 peripheral clock enable DAC12EN: u1, - /// UART7 Peripheral Clocks Enable + /// UART7 Peripheral Clocks Enable UART7EN: u1, - /// UART8 Peripheral Clocks Enable + /// UART8 Peripheral Clocks Enable UART8EN: u1, }), - /// RCC APB1 Clock Register + /// RCC APB1 Clock Register C1_APB1HENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clock Recovery System peripheral clock enable + /// Clock Recovery System peripheral clock enable CRSEN: u1, - /// SWPMI Peripheral Clocks Enable + /// SWPMI Peripheral Clocks Enable SWPMIEN: u1, reserved4: u1, - /// OPAMP peripheral clock enable + /// OPAMP peripheral clock enable OPAMPEN: u1, - /// MDIOS peripheral clock enable + /// MDIOS peripheral clock enable MDIOSEN: u1, reserved8: u2, - /// FDCAN Peripheral Clocks Enable + /// FDCAN Peripheral Clocks Enable FDCANEN: u1, padding: u23, }), - /// RCC APB2 Clock Register + /// RCC APB2 Clock Register C1_APB2ENR: mmio.Mmio(packed struct(u32) { - /// TIM1 peripheral clock enable + /// TIM1 peripheral clock enable TIM1EN: u1, - /// TIM8 peripheral clock enable + /// TIM8 peripheral clock enable TIM8EN: u1, reserved4: u2, - /// USART1 Peripheral Clocks Enable + /// USART1 Peripheral Clocks Enable USART1EN: u1, - /// USART6 Peripheral Clocks Enable + /// USART6 Peripheral Clocks Enable USART6EN: u1, - /// UART9 Peripheral Clocks Enable + /// UART9 Peripheral Clocks Enable UART9EN: u1, - /// USART10 Peripheral Clocks Enable + /// USART10 Peripheral Clocks Enable USART10EN: u1, reserved12: u4, - /// SPI1 Peripheral Clocks Enable + /// SPI1 Peripheral Clocks Enable SPI1EN: u1, - /// SPI4 Peripheral Clocks Enable + /// SPI4 Peripheral Clocks Enable SPI4EN: u1, reserved16: u2, - /// TIM15 peripheral clock enable + /// TIM15 peripheral clock enable TIM15EN: u1, - /// TIM16 peripheral clock enable + /// TIM16 peripheral clock enable TIM16EN: u1, - /// TIM17 peripheral clock enable + /// TIM17 peripheral clock enable TIM17EN: u1, reserved20: u1, - /// SPI5 Peripheral Clocks Enable + /// SPI5 Peripheral Clocks Enable SPI5EN: u1, reserved22: u1, - /// SAI1 Peripheral Clocks Enable + /// SAI1 Peripheral Clocks Enable SAI1EN: u1, - /// SAI2 Peripheral Clocks Enable + /// SAI2 Peripheral Clocks Enable SAI2EN: u1, - /// SAI3 Peripheral Clocks Enable + /// SAI3 Peripheral Clocks Enable SAI3EN: u1, reserved28: u3, - /// DFSDM1 Peripheral Clocks Enable + /// DFSDM1 Peripheral Clocks Enable DFSDM1EN: u1, - /// HRTIM peripheral clock enable + /// HRTIM peripheral clock enable HRTIMEN: u1, padding: u2, }), - /// RCC APB4 Clock Register + /// RCC APB4 Clock Register C1_APB4ENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG peripheral clock enable + /// SYSCFG peripheral clock enable SYSCFGEN: u1, reserved3: u1, - /// LPUART1 Peripheral Clocks Enable + /// LPUART1 Peripheral Clocks Enable LPUART1EN: u1, reserved5: u1, - /// SPI6 Peripheral Clocks Enable + /// SPI6 Peripheral Clocks Enable SPI6EN: u1, reserved7: u1, - /// I2C4 Peripheral Clocks Enable + /// I2C4 Peripheral Clocks Enable I2C4EN: u1, reserved9: u1, - /// LPTIM2 Peripheral Clocks Enable + /// LPTIM2 Peripheral Clocks Enable LPTIM2EN: u1, - /// LPTIM3 Peripheral Clocks Enable + /// LPTIM3 Peripheral Clocks Enable LPTIM3EN: u1, - /// LPTIM4 Peripheral Clocks Enable + /// LPTIM4 Peripheral Clocks Enable LPTIM4EN: u1, - /// LPTIM5 Peripheral Clocks Enable + /// LPTIM5 Peripheral Clocks Enable LPTIM5EN: u1, reserved14: u1, - /// COMP1/2 peripheral clock enable + /// COMP1/2 peripheral clock enable COMP12EN: u1, - /// VREF peripheral clock enable + /// VREF peripheral clock enable VREFEN: u1, - /// RTC APB Clock Enable + /// RTC APB Clock Enable RTCAPBEN: u1, reserved21: u4, - /// SAI4 Peripheral Clocks Enable + /// SAI4 Peripheral Clocks Enable SAI4EN: u1, padding: u10, }), reserved348: [4]u8, - /// RCC AHB3 Sleep Clock Register + /// RCC AHB3 Sleep Clock Register C1_AHB3LPENR: mmio.Mmio(packed struct(u32) { - /// MDMA Clock Enable During CSleep Mode + /// MDMA Clock Enable During CSleep Mode MDMALPEN: u1, reserved4: u3, - /// DMA2D Clock Enable During CSleep Mode + /// DMA2D Clock Enable During CSleep Mode DMA2DLPEN: u1, - /// JPGDEC Clock Enable During CSleep Mode + /// JPGDEC Clock Enable During CSleep Mode JPGDECLPEN: u1, reserved8: u2, - /// Flash interface clock enable during csleep mode + /// Flash interface clock enable during csleep mode FLASHPREN: u1, reserved12: u3, - /// FMC Peripheral Clocks Enable During CSleep Mode + /// FMC Peripheral Clocks Enable During CSleep Mode FMCLPEN: u1, reserved14: u1, - /// QUADSPI and QUADSPI Delay Clock Enable During CSleep Mode + /// QUADSPI and QUADSPI Delay Clock Enable During CSleep Mode QUADSPILPEN: u1, reserved16: u1, - /// SDMMC1 and SDMMC1 Delay Clock Enable During CSleep Mode + /// SDMMC1 and SDMMC1 Delay Clock Enable During CSleep Mode SDMMC1LPEN: u1, reserved19: u2, - /// OCTOSPI2 and OCTOSPI2 delay block enable during CSleep Mode + /// OCTOSPI2 and OCTOSPI2 delay block enable during CSleep Mode OCTOSPI2LPEN: u1, reserved21: u1, - /// OCTOSPI IO manager enable during CSleep Mode + /// OCTOSPI IO manager enable during CSleep Mode IOMNGRLPEN: u1, - /// OTFDEC1 enable during CSleep Mode + /// OTFDEC1 enable during CSleep Mode OTFD1LPEN: u1, - /// OTFDEC2 enable during CSleep Mode + /// OTFDEC2 enable during CSleep Mode OTFD2LPEN: u1, reserved28: u4, - /// D1DTCM1 Block Clock Enable During CSleep mode + /// D1DTCM1 Block Clock Enable During CSleep mode D1DTCM1LPEN: u1, - /// D1 DTCM2 Block Clock Enable During CSleep mode + /// D1 DTCM2 Block Clock Enable During CSleep mode DTCM2LPEN: u1, - /// D1ITCM Block Clock Enable During CSleep mode + /// D1ITCM Block Clock Enable During CSleep mode ITCMLPEN: u1, - /// AXISRAM Block Clock Enable During CSleep mode + /// AXISRAM Block Clock Enable During CSleep mode AXISRAMLPEN: u1, }), - /// RCC AHB1 Sleep Clock Register + /// RCC AHB1 Sleep Clock Register C1_AHB1LPENR: mmio.Mmio(packed struct(u32) { - /// DMA1 Clock Enable During CSleep Mode + /// DMA1 Clock Enable During CSleep Mode DMA1LPEN: u1, - /// DMA2 Clock Enable During CSleep Mode + /// DMA2 Clock Enable During CSleep Mode DMA2LPEN: u1, reserved5: u3, - /// ADC1/2 Peripheral Clocks Enable During CSleep Mode + /// ADC1/2 Peripheral Clocks Enable During CSleep Mode ADC12LPEN: u1, reserved14: u8, - /// ART Clock Enable During CSleep Mode + /// ART Clock Enable During CSleep Mode ARTLPEN: u1, - /// Ethernet MAC bus interface Clock Enable During CSleep Mode + /// Ethernet MAC bus interface Clock Enable During CSleep Mode ETHLPEN: u1, - /// Ethernet Transmission Clock Enable During CSleep Mode + /// Ethernet Transmission Clock Enable During CSleep Mode ETHTXLPEN: u1, - /// Ethernet Reception Clock Enable During CSleep Mode + /// Ethernet Reception Clock Enable During CSleep Mode ETHRXLPEN: u1, reserved25: u7, - /// USB_OTG_HS peripheral clock enable during CSleep mode + /// USB_OTG_HS peripheral clock enable during CSleep mode USB_OTG_HSLPEN: u1, - /// USB_PHY1 clock enable during CSleep mode + /// USB_PHY1 clock enable during CSleep mode USB_OTG_HS_ULPILPEN: u1, - /// USB_OTG_FS peripheral clock enable during CSleep mode + /// USB_OTG_FS peripheral clock enable during CSleep mode USB_OTG_FSLPEN: u1, - /// USB_PHY2 clocks enable during CSleep mode + /// USB_PHY2 clocks enable during CSleep mode USB_OTG_FS_ULPILPEN: u1, padding: u3, }), - /// RCC AHB2 Sleep Clock Register + /// RCC AHB2 Sleep Clock Register C1_AHB2LPENR: mmio.Mmio(packed struct(u32) { - /// DCMI peripheral clock enable during csleep mode + /// DCMI peripheral clock enable during csleep mode DCMILPEN: u1, reserved4: u3, - /// CRYP peripheral clock enable during CSleep mode + /// CRYP peripheral clock enable during CSleep mode CRYPLPEN: u1, - /// HASH peripheral clock enable during CSleep mode + /// HASH peripheral clock enable during CSleep mode HASHLPEN: u1, - /// RNG peripheral clock enable during CSleep mode + /// RNG peripheral clock enable during CSleep mode RNGLPEN: u1, reserved9: u2, - /// SDMMC2 and SDMMC2 Delay Clock Enable During CSleep Mode + /// SDMMC2 and SDMMC2 Delay Clock Enable During CSleep Mode SDMMC2LPEN: u1, reserved16: u6, - /// FMAC enable during CSleep Mode + /// FMAC enable during CSleep Mode FMACLPEN: u1, - /// CORDIC enable during CSleep Mode + /// CORDIC enable during CSleep Mode CORDICLPEN: u1, reserved29: u11, - /// SRAM1 Clock Enable During CSleep Mode + /// SRAM1 Clock Enable During CSleep Mode SRAM1LPEN: u1, - /// SRAM2 Clock Enable During CSleep Mode + /// SRAM2 Clock Enable During CSleep Mode SRAM2LPEN: u1, - /// SRAM3 Clock Enable During CSleep Mode + /// SRAM3 Clock Enable During CSleep Mode SRAM3LPEN: u1, }), - /// RCC AHB4 Sleep Clock Register + /// RCC AHB4 Sleep Clock Register C1_AHB4LPENR: mmio.Mmio(packed struct(u32) { - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOALPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOBLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOCLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIODLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOELPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOFLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOGLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOHLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOILPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOJLPEN: u1, - /// GPIO peripheral clock enable during CSleep mode + /// GPIO peripheral clock enable during CSleep mode GPIOKLPEN: u1, reserved19: u8, - /// CRC peripheral clock enable during CSleep mode + /// CRC peripheral clock enable during CSleep mode CRCLPEN: u1, reserved21: u1, - /// BDMA Clock Enable During CSleep Mode + /// BDMA Clock Enable During CSleep Mode BDMALPEN: u1, reserved24: u2, - /// ADC3 Peripheral Clocks Enable During CSleep Mode + /// ADC3 Peripheral Clocks Enable During CSleep Mode ADC3LPEN: u1, reserved28: u3, - /// Backup RAM Clock Enable During CSleep Mode + /// Backup RAM Clock Enable During CSleep Mode BKPSRAMLPEN: u1, - /// SRAM4 Clock Enable During CSleep Mode + /// SRAM4 Clock Enable During CSleep Mode SRAM4LPEN: u1, padding: u2, }), - /// RCC APB3 Sleep Clock Register + /// RCC APB3 Sleep Clock Register C1_APB3LPENR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// LTDC peripheral clock enable during CSleep mode + /// LTDC peripheral clock enable during CSleep mode LTDCLPEN: u1, - /// DSI Peripheral Clock Enable During CSleep Mode + /// DSI Peripheral Clock Enable During CSleep Mode DSILPEN: u1, reserved6: u1, - /// WWDG1 Clock Enable During CSleep Mode + /// WWDG1 Clock Enable During CSleep Mode WWDG1LPEN: u1, padding: u25, }), - /// RCC APB1 Low Sleep Clock Register + /// RCC APB1 Low Sleep Clock Register C1_APB1LLPENR: mmio.Mmio(packed struct(u32) { - /// TIM2 peripheral clock enable during CSleep mode + /// TIM2 peripheral clock enable during CSleep mode TIM2LPEN: u1, - /// TIM3 peripheral clock enable during CSleep mode + /// TIM3 peripheral clock enable during CSleep mode TIM3LPEN: u1, - /// TIM4 peripheral clock enable during CSleep mode + /// TIM4 peripheral clock enable during CSleep mode TIM4LPEN: u1, - /// TIM5 peripheral clock enable during CSleep mode + /// TIM5 peripheral clock enable during CSleep mode TIM5LPEN: u1, - /// TIM6 peripheral clock enable during CSleep mode + /// TIM6 peripheral clock enable during CSleep mode TIM6LPEN: u1, - /// TIM7 peripheral clock enable during CSleep mode + /// TIM7 peripheral clock enable during CSleep mode TIM7LPEN: u1, - /// TIM12 peripheral clock enable during CSleep mode + /// TIM12 peripheral clock enable during CSleep mode TIM12LPEN: u1, - /// TIM13 peripheral clock enable during CSleep mode + /// TIM13 peripheral clock enable during CSleep mode TIM13LPEN: u1, - /// TIM14 peripheral clock enable during CSleep mode + /// TIM14 peripheral clock enable during CSleep mode TIM14LPEN: u1, - /// LPTIM1 Peripheral Clocks Enable During CSleep Mode + /// LPTIM1 Peripheral Clocks Enable During CSleep Mode LPTIM1LPEN: u1, reserved11: u1, - /// WWDG2 peripheral Clocks Enable During CSleep Mode + /// WWDG2 peripheral Clocks Enable During CSleep Mode WWDG2LPEN: u1, reserved14: u2, - /// SPI2 Peripheral Clocks Enable During CSleep Mode + /// SPI2 Peripheral Clocks Enable During CSleep Mode SPI2LPEN: u1, - /// SPI3 Peripheral Clocks Enable During CSleep Mode + /// SPI3 Peripheral Clocks Enable During CSleep Mode SPI3LPEN: u1, - /// SPDIFRX Peripheral Clocks Enable During CSleep Mode + /// SPDIFRX Peripheral Clocks Enable During CSleep Mode SPDIFRXLPEN: u1, - /// USART2 Peripheral Clocks Enable During CSleep Mode + /// USART2 Peripheral Clocks Enable During CSleep Mode USART2LPEN: u1, - /// USART3 Peripheral Clocks Enable During CSleep Mode + /// USART3 Peripheral Clocks Enable During CSleep Mode USART3LPEN: u1, - /// UART4 Peripheral Clocks Enable During CSleep Mode + /// UART4 Peripheral Clocks Enable During CSleep Mode UART4LPEN: u1, - /// UART5 Peripheral Clocks Enable During CSleep Mode + /// UART5 Peripheral Clocks Enable During CSleep Mode UART5LPEN: u1, - /// I2C1 Peripheral Clocks Enable During CSleep Mode + /// I2C1 Peripheral Clocks Enable During CSleep Mode I2C1LPEN: u1, - /// I2C2 Peripheral Clocks Enable During CSleep Mode + /// I2C2 Peripheral Clocks Enable During CSleep Mode I2C2LPEN: u1, - /// I2C3 Peripheral Clocks Enable During CSleep Mode + /// I2C3 Peripheral Clocks Enable During CSleep Mode I2C3LPEN: u1, reserved25: u1, - /// I2C5 block enable during CSleep Mode + /// I2C5 block enable during CSleep Mode I2C5LPEN: u1, reserved27: u1, - /// HDMI-CEC Peripheral Clocks Enable During CSleep Mode + /// HDMI-CEC Peripheral Clocks Enable During CSleep Mode CECLPEN: u1, reserved29: u1, - /// DAC1/2 peripheral clock enable during CSleep mode + /// DAC1/2 peripheral clock enable during CSleep mode DAC12LPEN: u1, - /// UART7 Peripheral Clocks Enable During CSleep Mode + /// UART7 Peripheral Clocks Enable During CSleep Mode UART7LPEN: u1, - /// UART8 Peripheral Clocks Enable During CSleep Mode + /// UART8 Peripheral Clocks Enable During CSleep Mode UART8LPEN: u1, }), - /// RCC APB1 High Sleep Clock Register + /// RCC APB1 High Sleep Clock Register C1_APB1HLPENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Clock Recovery System peripheral clock enable during CSleep mode + /// Clock Recovery System peripheral clock enable during CSleep mode CRSLPEN: u1, - /// SWPMI Peripheral Clocks Enable During CSleep Mode + /// SWPMI Peripheral Clocks Enable During CSleep Mode SWPMILPEN: u1, reserved4: u1, - /// OPAMP peripheral clock enable during CSleep mode + /// OPAMP peripheral clock enable during CSleep mode OPAMPLPEN: u1, - /// MDIOS peripheral clock enable during CSleep mode + /// MDIOS peripheral clock enable during CSleep mode MDIOSLPEN: u1, reserved8: u2, - /// FDCAN Peripheral Clocks Enable During CSleep Mode + /// FDCAN Peripheral Clocks Enable During CSleep Mode FDCANLPEN: u1, reserved24: u15, - /// TIM23 block enable during CSleep Mode + /// TIM23 block enable during CSleep Mode TIM23LPEN: u1, - /// TIM24 block enable during CSleep Mode + /// TIM24 block enable during CSleep Mode TIM24LPEN: u1, padding: u6, }), - /// RCC APB2 Sleep Clock Register + /// RCC APB2 Sleep Clock Register C1_APB2LPENR: mmio.Mmio(packed struct(u32) { - /// TIM1 peripheral clock enable during CSleep mode + /// TIM1 peripheral clock enable during CSleep mode TIM1LPEN: u1, - /// TIM8 peripheral clock enable during CSleep mode + /// TIM8 peripheral clock enable during CSleep mode TIM8LPEN: u1, reserved4: u2, - /// USART1 Peripheral Clocks Enable During CSleep Mode + /// USART1 Peripheral Clocks Enable During CSleep Mode USART1LPEN: u1, - /// USART6 Peripheral Clocks Enable During CSleep Mode + /// USART6 Peripheral Clocks Enable During CSleep Mode USART6LPEN: u1, reserved12: u6, - /// SPI1 Peripheral Clocks Enable During CSleep Mode + /// SPI1 Peripheral Clocks Enable During CSleep Mode SPI1LPEN: u1, - /// SPI4 Peripheral Clocks Enable During CSleep Mode + /// SPI4 Peripheral Clocks Enable During CSleep Mode SPI4LPEN: u1, reserved16: u2, - /// TIM15 peripheral clock enable during CSleep mode + /// TIM15 peripheral clock enable during CSleep mode TIM15LPEN: u1, - /// TIM16 peripheral clock enable during CSleep mode + /// TIM16 peripheral clock enable during CSleep mode TIM16LPEN: u1, - /// TIM17 peripheral clock enable during CSleep mode + /// TIM17 peripheral clock enable during CSleep mode TIM17LPEN: u1, reserved20: u1, - /// SPI5 Peripheral Clocks Enable During CSleep Mode + /// SPI5 Peripheral Clocks Enable During CSleep Mode SPI5LPEN: u1, reserved22: u1, - /// SAI1 Peripheral Clocks Enable During CSleep Mode + /// SAI1 Peripheral Clocks Enable During CSleep Mode SAI1LPEN: u1, - /// SAI2 Peripheral Clocks Enable During CSleep Mode + /// SAI2 Peripheral Clocks Enable During CSleep Mode SAI2LPEN: u1, - /// SAI3 Peripheral Clocks Enable During CSleep Mode + /// SAI3 Peripheral Clocks Enable During CSleep Mode SAI3LPEN: u1, reserved28: u3, - /// DFSDM1 Peripheral Clocks Enable During CSleep Mode + /// DFSDM1 Peripheral Clocks Enable During CSleep Mode DFSDM1LPEN: u1, - /// HRTIM peripheral clock enable during CSleep mode + /// HRTIM peripheral clock enable during CSleep mode HRTIMLPEN: u1, padding: u2, }), - /// RCC APB4 Sleep Clock Register + /// RCC APB4 Sleep Clock Register C1_APB4LPENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG peripheral clock enable during CSleep mode + /// SYSCFG peripheral clock enable during CSleep mode SYSCFGLPEN: u1, reserved3: u1, - /// LPUART1 Peripheral Clocks Enable During CSleep Mode + /// LPUART1 Peripheral Clocks Enable During CSleep Mode LPUART1LPEN: u1, reserved5: u1, - /// SPI6 Peripheral Clocks Enable During CSleep Mode + /// SPI6 Peripheral Clocks Enable During CSleep Mode SPI6LPEN: u1, reserved7: u1, - /// I2C4 Peripheral Clocks Enable During CSleep Mode + /// I2C4 Peripheral Clocks Enable During CSleep Mode I2C4LPEN: u1, reserved9: u1, - /// LPTIM2 Peripheral Clocks Enable During CSleep Mode + /// LPTIM2 Peripheral Clocks Enable During CSleep Mode LPTIM2LPEN: u1, - /// LPTIM3 Peripheral Clocks Enable During CSleep Mode + /// LPTIM3 Peripheral Clocks Enable During CSleep Mode LPTIM3LPEN: u1, - /// LPTIM4 Peripheral Clocks Enable During CSleep Mode + /// LPTIM4 Peripheral Clocks Enable During CSleep Mode LPTIM4LPEN: u1, - /// LPTIM5 Peripheral Clocks Enable During CSleep Mode + /// LPTIM5 Peripheral Clocks Enable During CSleep Mode LPTIM5LPEN: u1, reserved14: u1, - /// COMP1/2 peripheral clock enable during CSleep mode + /// COMP1/2 peripheral clock enable during CSleep mode COMP12LPEN: u1, - /// VREF peripheral clock enable during CSleep mode + /// VREF peripheral clock enable during CSleep mode VREFLPEN: u1, - /// RTC APB Clock Enable During CSleep Mode + /// RTC APB Clock Enable During CSleep Mode RTCAPBLPEN: u1, reserved21: u4, - /// SAI4 Peripheral Clocks Enable During CSleep Mode + /// SAI4 Peripheral Clocks Enable During CSleep Mode SAI4LPEN: u1, reserved26: u4, - /// Digital temperature sensor block enable during CSleep Mode + /// Digital temperature sensor block enable during CSleep Mode DTSLPEN: u1, padding: u5, }), @@ -395402,90 +388619,90 @@ pub const types = struct { pub const rcc_h7rs = struct { pub const ADCSEL = enum(u2) { - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x2, _, }; pub const ADFSEL = enum(u3) { - /// hclk1 selected as ADF kernel clock (default after reset). + /// hclk1 selected as ADF kernel clock (default after reset). HCLK1 = 0x0, - /// pll2_p_ck selected as ADF kernel clock. + /// pll2_p_ck selected as ADF kernel clock. PLL2_P = 0x1, _, }; pub const CECSEL = enum(u2) { - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x0, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x1, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x2, _, }; pub const DWNSPREAD = enum(u1) { - /// Center-spread modulation selected (default after reset). + /// Center-spread modulation selected (default after reset). CenterSpread = 0x0, - /// Down-spread modulation selected. + /// Down-spread modulation selected. DownSpread = 0x1, }; pub const ETHPHY_CLK_SEL = enum(u1) { - /// hse_ker_ck selected as clock source (default after reset). + /// hse_ker_ck selected as clock source (default after reset). HSE = 0x0, - /// pll3_s_ck selected clock source. + /// pll3_s_ck selected clock source. PLL3_S = 0x1, }; pub const ETH_REF_CLK_SEL = enum(u2) { - /// PAD ETH_RMII_REF_CLK selected as kernel peripheral clock (default after reset). + /// PAD ETH_RMII_REF_CLK selected as kernel peripheral clock (default after reset). ETH_RMII_REF = 0x0, - /// hse_ker_ck selected as kernel peripheral clock. + /// hse_ker_ck selected as kernel peripheral clock. HSE = 0x1, - /// eth_clk_fb selected as kernel peripheral clock. + /// eth_clk_fb selected as kernel peripheral clock. ETH = 0x2, _, }; pub const FDCANSEL = enum(u2) { - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x0, - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x1, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x2, _, }; pub const FMCSEL = enum(u2) { - /// hclk5 selected as kernel peripheral clock (default after reset). + /// hclk5 selected as kernel peripheral clock (default after reset). HCLK5 = 0x0, - /// pll1_q_ck selected as kernel peripheral clock. + /// pll1_q_ck selected as kernel peripheral clock. PLL1_Q = 0x1, - /// pll2_r_ck selected as kernel peripheral clock. + /// pll2_r_ck selected as kernel peripheral clock. PLL2_R = 0x2, - /// hsi_ker_ck selected as kernel peripheral clock. + /// hsi_ker_ck selected as kernel peripheral clock. HSI = 0x3, }; pub const FMCSWP = enum(u3) { - /// The switch is in neutral mode and output clock is gated (default after reset). + /// The switch is in neutral mode and output clock is gated (default after reset). B_0x0 = 0x0, - /// The switch is selecting hclk5. + /// The switch is selecting hclk5. B_0x1 = 0x1, - /// The switch is selecting pll1_q_ck. + /// The switch is selecting pll1_q_ck. B_0x2 = 0x2, - /// The switch is selecting pll2_r_ck. + /// The switch is selecting pll2_r_ck. B_0x3 = 0x3, - /// The switch is selecting hsi_ker_ck. + /// The switch is selecting hsi_ker_ck. B_0x4 = 0x4, - /// The switch is in recovery position (hclk5/4). + /// The switch is in recovery position (hclk5/4). B_0x5 = 0x5, _, }; @@ -395504,182 +388721,182 @@ pub const types = struct { }; pub const HSEEXT = enum(u1) { - /// HSE in analog mode (default after reset) + /// HSE in analog mode (default after reset) Analog = 0x0, - /// HSE in digital mode + /// HSE in digital mode Digital = 0x1, }; pub const HSIDIV = enum(u2) { - /// division by 1, hsi(_ker)_ck = 64 MHz (default after reset). + /// division by 1, hsi(_ker)_ck = 64 MHz (default after reset). Div1 = 0x0, - /// division by 2, hsi(_ker)_ck = 32 MHz. + /// division by 2, hsi(_ker)_ck = 32 MHz. Div2 = 0x1, - /// division by 4, hsi(_ker)_ck = 16 MHz. + /// division by 4, hsi(_ker)_ck = 16 MHz. Div4 = 0x2, - /// division by 8, hsi(_ker)_ck = 8 MHz. + /// division by 8, hsi(_ker)_ck = 8 MHz. Div8 = 0x3, }; pub const I2C1_I3C1SEL = enum(u2) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x2, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x3, }; pub const I2CSEL = enum(u2) { - /// pclk1 selected as kernel clock (default after reset). + /// pclk1 selected as kernel clock (default after reset). PCLK1 = 0x0, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x1, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x2, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x3, }; pub const LPTIM1SEL = enum(u3) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x2, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x3, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x4, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x5, _, }; pub const LPTIMSEL = enum(u3) { - /// rcc_pclk4 selected as peripheral clock + /// rcc_pclk4 selected as peripheral clock PCLK4 = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x2, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x3, - /// LSI selected as peripheral clock + /// LSI selected as peripheral clock LSI = 0x4, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x5, _, }; pub const LPUARTSEL = enum(u3) { - /// rcc_pclk_d4 selected as peripheral clock + /// rcc_pclk_d4 selected as peripheral clock PCLK4 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCO1SEL = enum(u3) { - /// HSI selected for micro-controller clock output + /// HSI selected for micro-controller clock output HSI = 0x0, - /// LSE selected for micro-controller clock output + /// LSE selected for micro-controller clock output LSE = 0x1, - /// HSE selected for micro-controller clock output + /// HSE selected for micro-controller clock output HSE = 0x2, - /// pll1_q selected for micro-controller clock output + /// pll1_q selected for micro-controller clock output PLL1_Q = 0x3, - /// HSI48 selected for micro-controller clock output + /// HSI48 selected for micro-controller clock output HSI48 = 0x4, _, }; pub const MCO2SEL = enum(u3) { - /// System clock selected for micro-controller clock output + /// System clock selected for micro-controller clock output SYS = 0x0, - /// pll2_p selected for micro-controller clock output + /// pll2_p selected for micro-controller clock output PLL2_P = 0x1, - /// HSE selected for micro-controller clock output + /// HSE selected for micro-controller clock output HSE = 0x2, - /// pll1_p selected for micro-controller clock output + /// pll1_p selected for micro-controller clock output PLL1_P = 0x3, - /// CSI selected for micro-controller clock output + /// CSI selected for micro-controller clock output CSI = 0x4, - /// LSI selected for micro-controller clock output + /// LSI selected for micro-controller clock output LSI = 0x5, _, }; pub const MCOPRE = enum(u4) { - /// Divide by 1 + /// Divide by 1 Div1 = 0x1, - /// Divide by 2 + /// Divide by 2 Div2 = 0x2, - /// Divide by 3 + /// Divide by 3 Div3 = 0x3, - /// Divide by 4 + /// Divide by 4 Div4 = 0x4, - /// Divide by 5 + /// Divide by 5 Div5 = 0x5, - /// Divide by 6 + /// Divide by 6 Div6 = 0x6, - /// Divide by 7 + /// Divide by 7 Div7 = 0x7, - /// Divide by 8 + /// Divide by 8 Div8 = 0x8, - /// Divide by 9 + /// Divide by 9 Div9 = 0x9, - /// Divide by 10 + /// Divide by 10 Div10 = 0xa, - /// Divide by 11 + /// Divide by 11 Div11 = 0xb, - /// Divide by 12 + /// Divide by 12 Div12 = 0xc, - /// Divide by 13 + /// Divide by 13 Div13 = 0xd, - /// Divide by 14 + /// Divide by 14 Div14 = 0xe, - /// Divide by 15 + /// Divide by 15 Div15 = 0xf, _, }; pub const OCTOSPISEL = enum(u2) { - /// hclk5 selected as kernel peripheral clock (default after reset). + /// hclk5 selected as kernel peripheral clock (default after reset). HCLK5 = 0x0, - /// pll2_s_ck selected as kernel peripheral clock. + /// pll2_s_ck selected as kernel peripheral clock. PLL2_S = 0x1, _, }; pub const PERSEL = enum(u2) { - /// HSI selected as peripheral clock + /// HSI selected as peripheral clock HSI = 0x0, - /// CSI selected as peripheral clock + /// CSI selected as peripheral clock CSI = 0x1, - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x2, _, }; @@ -396311,1761 +389528,1569 @@ pub const types = struct { }; pub const PLLRGE = enum(u2) { - /// Frequency is between 1 and 2 MHz + /// Frequency is between 1 and 2 MHz Range1 = 0x0, - /// Frequency is between 2 and 4 MHz + /// Frequency is between 2 and 4 MHz Range2 = 0x1, - /// Frequency is between 4 and 8 MHz + /// Frequency is between 4 and 8 MHz Range4 = 0x2, - /// Frequency is between 8 and 16 MHz + /// Frequency is between 8 and 16 MHz Range8 = 0x3, }; pub const PLLSRC = enum(u2) { - /// HSI selected as PLL clock + /// HSI selected as PLL clock HSI = 0x0, - /// CSI selected as PLL clock + /// CSI selected as PLL clock CSI = 0x1, - /// HSE selected as PLL clock + /// HSE selected as PLL clock HSE = 0x2, - /// No clock sent to DIVMx dividers and PLLs + /// No clock sent to DIVMx dividers and PLLs DISABLE = 0x3, }; pub const PLLVCOSEL = enum(u1) { - /// VCOH selected (default after reset). + /// VCOH selected (default after reset). WideVCO = 0x0, - /// VCOL selected. + /// VCOL selected. MediumVCO = 0x1, }; pub const PPRE = enum(u3) { - /// rcc_hclk not divided + /// rcc_hclk not divided Div1 = 0x0, - /// rcc_hclk divided by 2 + /// rcc_hclk divided by 2 Div2 = 0x4, - /// rcc_hclk divided by 4 + /// rcc_hclk divided by 4 Div4 = 0x5, - /// rcc_hclk divided by 8 + /// rcc_hclk divided by 8 Div8 = 0x6, - /// rcc_hclk divided by 16 + /// rcc_hclk divided by 16 Div16 = 0x7, _, }; pub const PSSISEL = enum(u1) { - /// pll3_r_ck selected as kernel peripheral clock (default after reset). + /// pll3_r_ck selected as kernel peripheral clock (default after reset). PLL3_R = 0x0, - /// per_ck selected as kernel peripheral clock. + /// per_ck selected as kernel peripheral clock. PER = 0x1, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const SAI1SEL = enum(u3) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_p selected as peripheral clock + /// pll3_p selected as peripheral clock PLL3_P = 0x2, - /// I2S_CKIN selected as peripheral clock + /// I2S_CKIN selected as peripheral clock I2S_CKIN = 0x3, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x4, _, }; pub const SAI2SEL = enum(u3) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_p selected as peripheral clock + /// pll2_p selected as peripheral clock PLL2_P = 0x1, - /// pll3_p selected as peripheral clock + /// pll3_p selected as peripheral clock PLL3_P = 0x2, - /// I2S_CKIN selected as peripheral clock + /// I2S_CKIN selected as peripheral clock I2S_CKIN = 0x3, - /// PER selected as peripheral clock + /// PER selected as peripheral clock PER = 0x4, - /// spdifrx_symb_ck selected as SAI2 kernel clock. + /// spdifrx_symb_ck selected as SAI2 kernel clock. SPDIFRX_SYMB = 0x5, _, }; pub const SDMMCSEL = enum(u1) { - /// pll2_s_ck selected as kernel peripheral clock (default after reset). + /// pll2_s_ck selected as kernel peripheral clock (default after reset). PLL2_S = 0x0, - /// pll2_t_ck selected as kernel peripheral clock. + /// pll2_t_ck selected as kernel peripheral clock. PLL2_T = 0x1, }; pub const SPDIFRXSEL = enum(u2) { - /// pll1_q selected as peripheral clock + /// pll1_q selected as peripheral clock PLL1_Q = 0x0, - /// pll2_r selected as peripheral clock + /// pll2_r selected as peripheral clock PLL2_R = 0x1, - /// pll3_r selected as peripheral clock + /// pll3_r selected as peripheral clock PLL3_R = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, }; pub const SPI123SEL = enum(u3) { - /// pll1_q_ck selected as SPI/I2S1 and 7 kernel clock (default after reset). + /// pll1_q_ck selected as SPI/I2S1 and 7 kernel clock (default after reset). PLL1_Q = 0x0, - /// pll2_p_ck selected as SPI/I2S1 and 7 kernel clock. + /// pll2_p_ck selected as SPI/I2S1 and 7 kernel clock. PLL2_P = 0x1, - /// pll3_p_ck selected as SPI/I2S1 and 7 kernel clock. + /// pll3_p_ck selected as SPI/I2S1 and 7 kernel clock. PLL3_P = 0x2, - /// I2S_CKIN selected as SPI/I2S1 and 7 kernel clock. + /// I2S_CKIN selected as SPI/I2S1 and 7 kernel clock. I2S_CKIN = 0x3, - /// per_ck selected as SPI/I2S1,and 7 kernel clock. + /// per_ck selected as SPI/I2S1,and 7 kernel clock. PER = 0x4, _, }; pub const SPI45SEL = enum(u3) { - /// APB2 clock selected as peripheral clock + /// APB2 clock selected as peripheral clock PCLK2 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x5, _, }; pub const SPI6SEL = enum(u3) { - /// rcc_pclk4 selected as peripheral clock + /// rcc_pclk4 selected as peripheral clock PCLK4 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// HSE selected as peripheral clock + /// HSE selected as peripheral clock HSE = 0x5, _, }; pub const STOPKERWUCK = enum(u1) { - /// HSI selected as wake up clock from system Stop (default after reset). + /// HSI selected as wake up clock from system Stop (default after reset). HSI = 0x0, - /// CSI selected as wake up clock from system Stop. + /// CSI selected as wake up clock from system Stop. CSI = 0x1, }; pub const STOPWUCK = enum(u1) { - /// HSI selected as wake up clock from system Stop + /// HSI selected as wake up clock from system Stop HSI = 0x0, - /// CSI selected as wake up clock from system Stop + /// CSI selected as wake up clock from system Stop CSI = 0x1, }; pub const SW = enum(u3) { - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x0, - /// CSI selected as system clock + /// CSI selected as system clock CSI = 0x1, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x2, - /// PLL1 selected as system clock + /// PLL1 selected as system clock PLL1_P = 0x3, _, }; pub const TIMPRE = enum(u1) { - /// Timer kernel clock equal to 2x pclk by default + /// Timer kernel clock equal to 2x pclk by default DefaultX2 = 0x0, - /// Timer kernel clock equal to 4x pclk by default + /// Timer kernel clock equal to 4x pclk by default DefaultX4 = 0x1, }; pub const USART1SEL = enum(u3) { - /// rcc_pclk2 selected as peripheral clock + /// rcc_pclk2 selected as peripheral clock PCLK2 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const USART234578SEL = enum(u3) { - /// rcc_pclk1 selected as peripheral clock + /// rcc_pclk1 selected as peripheral clock PCLK1 = 0x0, - /// pll2_q selected as peripheral clock + /// pll2_q selected as peripheral clock PLL2_Q = 0x1, - /// pll3_q selected as peripheral clock + /// pll3_q selected as peripheral clock PLL3_Q = 0x2, - /// hsi_ker selected as peripheral clock + /// hsi_ker selected as peripheral clock HSI = 0x3, - /// csi_ker selected as peripheral clock + /// csi_ker selected as peripheral clock CSI = 0x4, - /// LSE selected as peripheral clock + /// LSE selected as peripheral clock LSE = 0x5, _, }; pub const USBPDCTRL = enum(u1) { - /// In SUSPEND, PHY state machine, bias and USBPHYC PLL remain powered (default after reset). + /// In SUSPEND, PHY state machine, bias and USBPHYC PLL remain powered (default after reset). RemainPowered = 0x0, - /// In SUSPEND, PHY state machine, bias and USBPHYC PLL are powered down. + /// In SUSPEND, PHY state machine, bias and USBPHYC PLL are powered down. PowerDown = 0x1, }; pub const USBPHYCSEL = enum(u2) { - /// hse_ker_ck (default after reset). + /// hse_ker_ck (default after reset). HSE = 0x0, - /// hse_ker_ck / 2. + /// hse_ker_ck / 2. HSE_DIV_2 = 0x1, - /// pll3_q_ck. + /// pll3_q_ck. PLL3_Q = 0x2, _, }; pub const USBREFCKSEL = enum(u4) { - /// The kernel clock frequency provided to the USBPHYC is 16 MHz. + /// The kernel clock frequency provided to the USBPHYC is 16 MHz. Mhz16 = 0x3, - /// The kernel clock frequency provided to the USBPHYC is 19.2 MHz. + /// The kernel clock frequency provided to the USBPHYC is 19.2 MHz. Mhz19_2 = 0x8, - /// The kernel clock frequency provided to the USBPHYC is 20MHz. + /// The kernel clock frequency provided to the USBPHYC is 20MHz. Mhz20 = 0x9, - /// The kernel clock frequency provided to the USBPHYC is 24 MHz (default after reset). + /// The kernel clock frequency provided to the USBPHYC is 24 MHz (default after reset). Mhz24 = 0xa, - /// The kernel clock frequency provided to the USBPHYC is 32 MHz. + /// The kernel clock frequency provided to the USBPHYC is 32 MHz. Mhz32 = 0xb, - /// The kernel clock frequency provided to the USBPHYC is 26 MHz. + /// The kernel clock frequency provided to the USBPHYC is 26 MHz. Mhz26 = 0xe, _, }; pub const USB_OTG_FSSEL = enum(u2) { - /// hsi48_ker_ck (default after reset). + /// hsi48_ker_ck (default after reset). HSI48 = 0x0, - /// pll3_q_ck. + /// pll3_q_ck. PLL3_Q = 0x1, - /// hse_ker_ck. + /// hse_ker_ck. HSE = 0x2, - /// clk48mohci. + /// clk48mohci. CLK48MOHCI = 0x3, }; pub const XSPISWP = enum(u3) { - /// The switch is in neutral mode and output clock is gated (default after reset). + /// The switch is in neutral mode and output clock is gated (default after reset). B_0x0 = 0x0, - /// The switch is selecting hclk5. + /// The switch is selecting hclk5. B_0x1 = 0x1, - /// The switch is selecting pll2_s_ck. + /// The switch is selecting pll2_s_ck. B_0x2 = 0x2, - /// The switch is selecting pll2_t_ck. + /// The switch is selecting pll2_t_ck. B_0x3 = 0x3, - /// The switch is in recovery position (hclk5/4). + /// The switch is in recovery position (hclk5/4). B_0x4 = 0x4, _, }; - /// Reset and clock control. + /// Reset and clock control. pub const RCC = extern struct { - /// RCC source control register. + /// RCC source control register. CR: mmio.Mmio(packed struct(u32) { - /// HSI clock enable Set and cleared by software. Set by hardware to force the HSI to ON when the product leaves Stop mode, if STOPWUCK = 0 or STOPKERWUCK = 0. Set by hardware to force the HSI to ON when the product leaves Standby mode or in case of a failure of the HSE which is used as the system clock source. This bit cannot be cleared if the HSI is used directly (via SW switch) as system clock, or if the HSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1) or if FMCCKP = 1, or if XSPICKP = 1. + /// HSI clock enable Set and cleared by software. Set by hardware to force the HSI to ON when the product leaves Stop mode, if STOPWUCK = 0 or STOPKERWUCK = 0. Set by hardware to force the HSI to ON when the product leaves Standby mode or in case of a failure of the HSE which is used as the system clock source. This bit cannot be cleared if the HSI is used directly (via SW switch) as system clock, or if the HSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1) or if FMCCKP = 1, or if XSPICKP = 1. HSION: u1, - /// HSI clock enable in Stop mode Set and reset by software to force the HSI to ON, even in Stop mode, in order to be quickly available as kernel clock for peripherals. This bit has no effect on the value of HSION. + /// HSI clock enable in Stop mode Set and reset by software to force the HSI to ON, even in Stop mode, in order to be quickly available as kernel clock for peripherals. This bit has no effect on the value of HSION. HSIKERON: u1, - /// HSI clock ready flag Set by hardware to indicate that the HSI oscillator is stable. + /// HSI clock ready flag Set by hardware to indicate that the HSI oscillator is stable. HSIRDY: u1, - /// HSI clock divider Set and reset by software. These bits allow selecting a division ratio in order to configure the wanted HSI clock frequency. The HSIDIV cannot be changed if the HSI is selected as reference clock for at least one enabled PLL (PLLxON bit set to 1). In that case, the new HSIDIV value is ignored. - HSIDIV: packed union { - raw: u2, - value: HSIDIV, - }, - /// HSI divider flag Set and reset by hardware. As a write operation to HSIDIV has not an immediate effect on the frequency, this flag indicates the current status of the HSI divider. HSIDIVF goes immediately to 0 when HSIDIV value is changed, and is set back to 1 when the output frequency matches the value programmed into HSIDIV. clock setting is completed). + /// HSI clock divider Set and reset by software. These bits allow selecting a division ratio in order to configure the wanted HSI clock frequency. The HSIDIV cannot be changed if the HSI is selected as reference clock for at least one enabled PLL (PLLxON bit set to 1). In that case, the new HSIDIV value is ignored. + HSIDIV: HSIDIV, + /// HSI divider flag Set and reset by hardware. As a write operation to HSIDIV has not an immediate effect on the frequency, this flag indicates the current status of the HSI divider. HSIDIVF goes immediately to 0 when HSIDIV value is changed, and is set back to 1 when the output frequency matches the value programmed into HSIDIV. clock setting is completed). HSIDIVF: u1, reserved7: u1, - /// CSI clock enable Set and reset by software to enable/disable CSI clock for system and/or peripheral. Set by hardware to force the CSI to ON when the system leaves Stop mode, if STOPWUCK = 1 or STOPKERWUCK = 1. This bit cannot be cleared if the CSI is used directly (via SW mux) as system clock, or if the CSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1) or if FMCCKP = 1, or if XSPICKP = 1. + /// CSI clock enable Set and reset by software to enable/disable CSI clock for system and/or peripheral. Set by hardware to force the CSI to ON when the system leaves Stop mode, if STOPWUCK = 1 or STOPKERWUCK = 1. This bit cannot be cleared if the CSI is used directly (via SW mux) as system clock, or if the CSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1) or if FMCCKP = 1, or if XSPICKP = 1. CSION: u1, - /// CSI clock ready flag Set by hardware to indicate that the CSI oscillator is stable. This bit is activated only if the RC is enabled by CSION (it is not activated if the CSI is enabled by CSIKERON or by a peripheral request). + /// CSI clock ready flag Set by hardware to indicate that the CSI oscillator is stable. This bit is activated only if the RC is enabled by CSION (it is not activated if the CSI is enabled by CSIKERON or by a peripheral request). CSIRDY: u1, - /// CSI clock enable in Stop mode Set and reset by software to force the CSI to ON, even in Stop mode, in order to be quickly available as kernel clock for some peripherals. This bit has no effect on the value of CSION. + /// CSI clock enable in Stop mode Set and reset by software to force the CSI to ON, even in Stop mode, in order to be quickly available as kernel clock for some peripherals. This bit has no effect on the value of CSION. CSIKERON: u1, reserved12: u2, - /// HSI48 clock enable Set by software and cleared by software or by the hardware when the system enters to Stop or Standby mode. + /// HSI48 clock enable Set by software and cleared by software or by the hardware when the system enters to Stop or Standby mode. HSI48ON: u1, - /// HSI48 clock ready flag Set by hardware to indicate that the HSI48 oscillator is stable. + /// HSI48 clock ready flag Set by hardware to indicate that the HSI48 oscillator is stable. HSI48RDY: u1, reserved16: u2, - /// HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE when entering Stop or Standby mode. This bit cannot be cleared if the HSE is used directly (via SW mux) as system clock, or if the HSE is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1) or if FMCCKP = 1, or if XSPICKP = 1. + /// HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE when entering Stop or Standby mode. This bit cannot be cleared if the HSE is used directly (via SW mux) as system clock, or if the HSE is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1) or if FMCCKP = 1, or if XSPICKP = 1. HSEON: u1, - /// HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable. + /// HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable. HSERDY: u1, - /// HSE clock bypass Set and cleared by software to bypass the oscillator with an external clock. The external clock must be enabled with the HSEON bit to be used by the device. The HSEBYP bit can be written only if the HSE oscillator is disabled. + /// HSE clock bypass Set and cleared by software to bypass the oscillator with an external clock. The external clock must be enabled with the HSEON bit to be used by the device. The HSEBYP bit can be written only if the HSE oscillator is disabled. HSEBYP: u1, - /// external high speed clock type in Bypass mode Set and reset by software to select the external clock type (analog or digital). The external clock must be enabled with the HSEON bit to be used by the device. The HSEEXT bit can be written only if the HSE oscillator is disabled. - HSEEXT: packed union { - raw: u1, - value: HSEEXT, - }, - /// HSE clock security system enable Set by software to enable clock security system on HSE. This bit is set only (disabled by a system reset or when the system enters in Standby mode). When HSECSSON is set, the clock detector is enabled by hardware when the HSE is ready and disabled by hardware if an oscillator failure is detected. + /// external high speed clock type in Bypass mode Set and reset by software to select the external clock type (analog or digital). The external clock must be enabled with the HSEON bit to be used by the device. The HSEEXT bit can be written only if the HSE oscillator is disabled. + HSEEXT: HSEEXT, + /// HSE clock security system enable Set by software to enable clock security system on HSE. This bit is set only (disabled by a system reset or when the system enters in Standby mode). When HSECSSON is set, the clock detector is enabled by hardware when the HSE is ready and disabled by hardware if an oscillator failure is detected. HSECSSON: u1, reserved24: u3, - /// PLL1 enable Set and cleared by software to enable PLL1. Cleared by hardware when entering Stop or Standby mode. Note that the hardware prevents writing this bit to 0, if the PLL1 output is used as the system clock (SW=3) or if FMCCKP = 1, or if XSPICKP = 1. + /// PLL1 enable Set and cleared by software to enable PLL1. Cleared by hardware when entering Stop or Standby mode. Note that the hardware prevents writing this bit to 0, if the PLL1 output is used as the system clock (SW=3) or if FMCCKP = 1, or if XSPICKP = 1. PLLON: u1, - /// PLL1 clock ready flag Set by hardware to indicate that the PLL1 is locked. + /// PLL1 clock ready flag Set by hardware to indicate that the PLL1 is locked. PLLRDY: u1, padding: u6, }), - /// RCC HSI calibration register. + /// RCC HSI calibration register. HSICFGR: mmio.Mmio(packed struct(u32) { - /// HSI clock calibration Set by hardware by option byte loading. Adjusted by software through trimming bits HSITRIM. This field represents the sum of engineering option byte calibration value and HSITRIM bits value. + /// HSI clock calibration Set by hardware by option byte loading. Adjusted by software through trimming bits HSITRIM. This field represents the sum of engineering option byte calibration value and HSITRIM bits value. HSICAL: u12, reserved24: u12, - /// HSI clock trimming Set by software to adjust calibration. HSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_HSI_opt) in order to form the calibration trimming value. HSICAL = HSITRIM + FLASH_HSI_opt. Note: The reset value of the field is 0x40. + /// HSI clock trimming Set by software to adjust calibration. HSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_HSI_opt) in order to form the calibration trimming value. HSICAL = HSITRIM + FLASH_HSI_opt. Note: The reset value of the field is 0x40. HSITRIM: u7, padding: u1, }), - /// RCC clock recovery RC register. + /// RCC clock recovery RC register. CRRCR: mmio.Mmio(packed struct(u32) { - /// Internal RC 48 MHz clock calibration Set by hardware by option byte loading. Read-only. + /// Internal RC 48 MHz clock calibration Set by hardware by option byte loading. Read-only. HSI48CAL: u10, padding: u22, }), - /// RCC CSI calibration register. + /// RCC CSI calibration register. CSICFGR: mmio.Mmio(packed struct(u32) { - /// CSI clock calibration Set by hardware by option byte loading. Adjusted by software through trimming bits CSITRIM. This field represents the sum of engineering option byte calibration value and CSITRIM bits value. + /// CSI clock calibration Set by hardware by option byte loading. Adjusted by software through trimming bits CSITRIM. This field represents the sum of engineering option byte calibration value and CSITRIM bits value. CSICAL: u8, reserved24: u16, - /// CSI clock trimming Set by software to adjust calibration. CSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_CSI_opt) in order to form the calibration trimming value. CSICAL = CSITRIM + FLASH_CSI_opt. Note: The reset value of the field is 0x20. + /// CSI clock trimming Set by software to adjust calibration. CSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_CSI_opt) in order to form the calibration trimming value. CSICAL = CSITRIM + FLASH_CSI_opt. Note: The reset value of the field is 0x20. CSITRIM: u6, padding: u2, }), - /// RCC clock configuration register. + /// RCC clock configuration register. CFGR: mmio.Mmio(packed struct(u32) { - /// system clock switch Set and reset by software to select system clock source (sys_ck). Set by hardware in order to force the selection of the HSI or CSI (depending on STOPWUCK selection) when leaving a system Stop mode or in case of failure of the HSE when used directly or indirectly as system clock. others: reserved. - SW: packed union { - raw: u3, - value: SW, - }, - /// system clock switch status Set and reset by hardware to indicate which clock source is used as system clock. others: reserved. - SWS: packed union { - raw: u3, - value: SW, - }, - /// system clock selection after a wake up from system Stop Set and reset by software to select the system wakeup clock from system Stop. The selected clock is also used as emergency clock for the clock security system (CSS) on HSE. See Section 1.: Dividers values can be changed on-the-fly. All dividers provide have 50% duty-cycles. for details. STOPWUCK must not be modified when CSS is enabled (by HSECSSON bit) and the system clock is HSE (SWS = 10) or a switch on HSE is requested (SW =10). - STOPWUCK: packed union { - raw: u1, - value: STOPWUCK, - }, - /// kernel clock selection after a wake up from system Stop Set and reset by software to select the kernel wakeup clock from system Stop. See Section 1.: Dividers values can be changed on-the-fly. All dividers provide have 50% duty-cycles. for details. - STOPKERWUCK: packed union { - raw: u1, - value: STOPKERWUCK, - }, - /// HSE division factor for RTC clock Set and cleared by software to divide the HSE to generate a clock for RTC. Caution: The software must set these bits correctly to ensure that the clock supplied to the RTC is lower than 1 MHz. These bits must be configured if needed before selecting the RTC clock source. ... + /// system clock switch Set and reset by software to select system clock source (sys_ck). Set by hardware in order to force the selection of the HSI or CSI (depending on STOPWUCK selection) when leaving a system Stop mode or in case of failure of the HSE when used directly or indirectly as system clock. others: reserved. + SW: SW, + /// system clock switch status Set and reset by hardware to indicate which clock source is used as system clock. others: reserved. + SWS: SW, + /// system clock selection after a wake up from system Stop Set and reset by software to select the system wakeup clock from system Stop. The selected clock is also used as emergency clock for the clock security system (CSS) on HSE. See Section 1.: Dividers values can be changed on-the-fly. All dividers provide have 50% duty-cycles. for details. STOPWUCK must not be modified when CSS is enabled (by HSECSSON bit) and the system clock is HSE (SWS = 10) or a switch on HSE is requested (SW =10). + STOPWUCK: STOPWUCK, + /// kernel clock selection after a wake up from system Stop Set and reset by software to select the kernel wakeup clock from system Stop. See Section 1.: Dividers values can be changed on-the-fly. All dividers provide have 50% duty-cycles. for details. + STOPKERWUCK: STOPKERWUCK, + /// HSE division factor for RTC clock Set and cleared by software to divide the HSE to generate a clock for RTC. Caution: The software must set these bits correctly to ensure that the clock supplied to the RTC is lower than 1 MHz. These bits must be configured if needed before selecting the RTC clock source. ... RTCPRE: u6, reserved15: u1, - /// timers clocks prescaler selection This bit is set and reset by software to control the clock frequency of all the timers connected to APB1 and APB2 domains. or 4, else it is equal to 4 x Frcc_pclkx_d2 Refer to Table 64: Ratio between clock timer and pclk for more details. - TIMPRE: packed union { - raw: u1, - value: TIMPRE, - }, + /// timers clocks prescaler selection This bit is set and reset by software to control the clock frequency of all the timers connected to APB1 and APB2 domains. or 4, else it is equal to 4 x Frcc_pclkx_d2 Refer to Table 64: Ratio between clock timer and pclk for more details. + TIMPRE: TIMPRE, reserved18: u2, - /// MCO1 prescaler Set and cleared by software to configure the prescaler of the MCO1. Modification of this prescaler may generate glitches on MCO1. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs. ... - MCO1PRE: packed union { - raw: u4, - value: MCOPRE, - }, - /// Microcontroller clock output 1 Set and cleared by software. Clock source selection may generate glitches on MCO1. It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs. others: reserved. - MCO1SEL: packed union { - raw: u3, - value: MCO1SEL, - }, - /// MCO2 prescaler Set and cleared by software to configure the prescaler of the MCO2. Modification of this prescaler may generate glitches on MCO2. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs. ... - MCO2PRE: packed union { - raw: u4, - value: MCOPRE, - }, - /// microcontroller clock output 2 Set and cleared by software. Clock source selection may generate glitches on MCO2. It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs. others: reserved. - MCO2SEL: packed union { - raw: u3, - value: MCO2SEL, - }, + /// MCO1 prescaler Set and cleared by software to configure the prescaler of the MCO1. Modification of this prescaler may generate glitches on MCO1. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs. ... + MCO1PRE: MCOPRE, + /// Microcontroller clock output 1 Set and cleared by software. Clock source selection may generate glitches on MCO1. It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs. others: reserved. + MCO1SEL: MCO1SEL, + /// MCO2 prescaler Set and cleared by software to configure the prescaler of the MCO2. Modification of this prescaler may generate glitches on MCO2. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs. ... + MCO2PRE: MCOPRE, + /// microcontroller clock output 2 Set and cleared by software. Clock source selection may generate glitches on MCO2. It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs. others: reserved. + MCO2SEL: MCO2SEL, }), reserved24: [4]u8, - /// RCC CPU domain clock configuration register. + /// RCC CPU domain clock configuration register. CDCFGR: mmio.Mmio(packed struct(u32) { - /// CPU domain core prescaler Set and reset by software to control the CPU clock division factor. Changing this division ratio has an impact on the frequency of the CPU clock and all bus matrix clocks. After changing this prescaler value, it takes up to 16 periods of the slowest APB clock before the new division ratio is taken into account. The application can check if the new division factor is taken into account by reading back this register. 0xxx: sys_ck not divided (default after reset). - CPRE: packed union { - raw: u4, - value: HPRE, - }, + /// CPU domain core prescaler Set and reset by software to control the CPU clock division factor. Changing this division ratio has an impact on the frequency of the CPU clock and all bus matrix clocks. After changing this prescaler value, it takes up to 16 periods of the slowest APB clock before the new division ratio is taken into account. The application can check if the new division factor is taken into account by reading back this register. 0xxx: sys_ck not divided (default after reset). + CPRE: HPRE, padding: u28, }), - /// RCC AHB clock configuration register. + /// RCC AHB clock configuration register. BMCFGR: mmio.Mmio(packed struct(u32) { - /// Bus matrix clock prescaler Set and reset by software to control the division factor of rcc_hclk[5:1] and rcc_aclk. This group of clocks is also named sys_bus_ck. Changing this division ratio has an impact on the frequency of all bus matrix clocks. 0xxx: sys_bus_ck= sys_cpu_ck (default after reset) Note: The clocks are divided by the new prescaler factor from 1 to 16 periods of the slowest APB clock among rcc_pclk1,2,4,5 after BMPRE update. Note: Note also that frequency of rcc_hclk[5:1] = rcc_aclk = sys_bus_ck. - BMPRE: packed union { - raw: u4, - value: HPRE, - }, + /// Bus matrix clock prescaler Set and reset by software to control the division factor of rcc_hclk[5:1] and rcc_aclk. This group of clocks is also named sys_bus_ck. Changing this division ratio has an impact on the frequency of all bus matrix clocks. 0xxx: sys_bus_ck= sys_cpu_ck (default after reset) Note: The clocks are divided by the new prescaler factor from 1 to 16 periods of the slowest APB clock among rcc_pclk1,2,4,5 after BMPRE update. Note: Note also that frequency of rcc_hclk[5:1] = rcc_aclk = sys_bus_ck. + BMPRE: HPRE, padding: u28, }), - /// RCC APB clocks configuration register. + /// RCC APB clocks configuration register. APBCFGR: mmio.Mmio(packed struct(u32) { - /// CPU domain APB1 prescaler Set and reset by software to control the division factor of rcc_pclk1. The clock is divided by the new prescaler factor from 1 to 16 cycles of sys_bus_ck after PPRE1 write. 0xx: rcc_pclk1 = sys_bus_ck (default after reset). - PPRE1: packed union { - raw: u3, - value: PPRE, - }, + /// CPU domain APB1 prescaler Set and reset by software to control the division factor of rcc_pclk1. The clock is divided by the new prescaler factor from 1 to 16 cycles of sys_bus_ck after PPRE1 write. 0xx: rcc_pclk1 = sys_bus_ck (default after reset). + PPRE1: PPRE, reserved4: u1, - /// CPU domain APB2 prescaler Set and reset by software to control the division factor of rcc_pclk2. The clock is divided by the new prescaler factor from 1 to 16 cycles of sys_bus_ck after PPRE2 write. 0xx: rcc_pclk2 = sys_bus_ck (default after reset). - PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// CPU domain APB2 prescaler Set and reset by software to control the division factor of rcc_pclk2. The clock is divided by the new prescaler factor from 1 to 16 cycles of sys_bus_ck after PPRE2 write. 0xx: rcc_pclk2 = sys_bus_ck (default after reset). + PPRE2: PPRE, reserved8: u1, - /// CPU domain APB4 prescaler Set and reset by software to control the division factor of rcc_pclk4. The clock is divided by the new prescaler factor from 1 to 16 cycles of sys_bus_ck after PPRE4 write. 0xx: rcc_pclk4 = sys_bus_ck (default after reset). - PPRE4: packed union { - raw: u3, - value: PPRE, - }, + /// CPU domain APB4 prescaler Set and reset by software to control the division factor of rcc_pclk4. The clock is divided by the new prescaler factor from 1 to 16 cycles of sys_bus_ck after PPRE4 write. 0xx: rcc_pclk4 = sys_bus_ck (default after reset). + PPRE4: PPRE, reserved12: u1, - /// CPU domain APB5 prescaler Set and reset by software to control the division factor of rcc_pclk5. The clock is divided by the new prescaler factor from 1 to 16 cycles of sys_bus_ck after PPRE5 write. 0xx: rcc_pclk5 = sys_bus_ck (default after reset). - PPRE5: packed union { - raw: u3, - value: PPRE, - }, + /// CPU domain APB5 prescaler Set and reset by software to control the division factor of rcc_pclk5. The clock is divided by the new prescaler factor from 1 to 16 cycles of sys_bus_ck after PPRE5 write. 0xx: rcc_pclk5 = sys_bus_ck (default after reset). + PPRE5: PPRE, padding: u17, }), reserved40: [4]u8, - /// RCC PLLs clock source selection register. + /// RCC PLLs clock source selection register. PLLCKSELR: mmio.Mmio(packed struct(u32) { - /// DIVMx and PLLs clock source selection Set and reset by software to select the PLL clock source. These bits can be written only when all PLLs are disabled. In order to save power, when no PLL is used, PLLSRC must be set to 11. - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, + /// DIVMx and PLLs clock source selection Set and reset by software to select the PLL clock source. These bits can be written only when all PLLs are disabled. In order to save power, when no PLL is used, PLLSRC must be set to 11. + PLLSRC: PLLSRC, reserved4: u2, - /// prescaler for PLL1 Set and cleared by software to configure the prescaler of the PLL1. The hardware does not allow any modification of this prescaler when PLL1 is enabled (PLL1ON = 1). In order to save power when PLL1 is not used, the value of DIVM1 must be set to 0. ... ... - DIVM: packed union { - raw: u6, - value: PLLM, - }, + /// prescaler for PLL1 Set and cleared by software to configure the prescaler of the PLL1. The hardware does not allow any modification of this prescaler when PLL1 is enabled (PLL1ON = 1). In order to save power when PLL1 is not used, the value of DIVM1 must be set to 0. ... ... + DIVM: PLLM, padding: u22, }), - /// RCC PLLs configuration register. + /// RCC PLLs configuration register. PLLCFGR: mmio.Mmio(packed struct(u32) { - /// PLL1 fractional latch enable Set and reset by software to latch the content of FRACN into the sigma-delta modulator. In order to latch the FRACN value into the sigma-delta modulator, PLL1FRACLE must be set to 0, then set to 1. The transition 0 to 1 transfers the content of FRACN into the modulator. Refer to PLL initialization procedure on page 444 for additional information. + /// PLL1 fractional latch enable Set and reset by software to latch the content of FRACN into the sigma-delta modulator. In order to latch the FRACN value into the sigma-delta modulator, PLL1FRACLE must be set to 0, then set to 1. The transition 0 to 1 transfers the content of FRACN into the modulator. Refer to PLL initialization procedure on page 444 for additional information. PLLFRACEN: u1, - /// PLL1 VCO selection Set and reset by software to select the proper VCO frequency range used for PLL1. This bit must be written before enabling the PLL1. It allows the application to select the VCO range: VCOH: working from 400 to 1600 MHz (Fref1_ck must be between 2 and 16 MHz) VCOL: working from 150 to 420 MHz (Fref1_ck must be between 1 and 2 MHz). - PLLVCOSEL: packed union { - raw: u1, - value: PLLVCOSEL, - }, - /// PLL1 SSCG enable Set and reset by software to enable the Spread Spectrum Clock Generator of PLL1, in order to reduce the amount of EMI peaks. + /// PLL1 VCO selection Set and reset by software to select the proper VCO frequency range used for PLL1. This bit must be written before enabling the PLL1. It allows the application to select the VCO range: VCOH: working from 400 to 1600 MHz (Fref1_ck must be between 2 and 16 MHz) VCOL: working from 150 to 420 MHz (Fref1_ck must be between 1 and 2 MHz). + PLLVCOSEL: PLLVCOSEL, + /// PLL1 SSCG enable Set and reset by software to enable the Spread Spectrum Clock Generator of PLL1, in order to reduce the amount of EMI peaks. PLLSSCGEN: u1, - /// PLL1 input frequency range Set and reset by software to select the proper reference frequency range used for PLL1. This bit must be written before enabling the PLL1. - PLLRGE: packed union { - raw: u2, - value: PLLRGE, - }, - /// PLL1 DIVP divider output enable Set and reset by software to enable the pll1_p_ck output of the PLL1. The hardware prevents writing this bit to 0, if the PLL1 output is used as the system clock (SW=3). In order to save power, when the pll1_p_ck output of the PLL1 is not used, the pll1_p_ck must be disabled. + /// PLL1 input frequency range Set and reset by software to select the proper reference frequency range used for PLL1. This bit must be written before enabling the PLL1. + PLLRGE: PLLRGE, + /// PLL1 DIVP divider output enable Set and reset by software to enable the pll1_p_ck output of the PLL1. The hardware prevents writing this bit to 0, if the PLL1 output is used as the system clock (SW=3). In order to save power, when the pll1_p_ck output of the PLL1 is not used, the pll1_p_ck must be disabled. DIVPEN: u1, - /// PLL1 DIVQ divider output enable Set and reset by software to enable the pll1_q_ck output of the PLL1. The hardware prevents writing this bit if FMCCKP = 1. In order to save power, when the pll1_q_ck output of the PLL1 is not used, the pll1_q_ck must be disabled. + /// PLL1 DIVQ divider output enable Set and reset by software to enable the pll1_q_ck output of the PLL1. The hardware prevents writing this bit if FMCCKP = 1. In order to save power, when the pll1_q_ck output of the PLL1 is not used, the pll1_q_ck must be disabled. DIVQEN: u1, - /// PLL1 DIVR divider output enable Set and reset by software to enable the pll1_r_ck output of the PLL1. To save power, PLL1DIVREN and DIVR1 bits must be set to 0 when the pll1_r_ck is not used. + /// PLL1 DIVR divider output enable Set and reset by software to enable the pll1_r_ck output of the PLL1. To save power, PLL1DIVREN and DIVR1 bits must be set to 0 when the pll1_r_ck is not used. DIVREN: u1, - /// PLL1 DIVS divider output enable Set and reset by software to enable the pll1_s_ck output of the PLL1. To save power, PLL1DIVSEN must be set to 0 when the pll1_s_ck is not used. + /// PLL1 DIVS divider output enable Set and reset by software to enable the pll1_s_ck output of the PLL1. To save power, PLL1DIVSEN must be set to 0 when the pll1_s_ck is not used. DIVSEN: u1, - /// PLL1 DIVT divider output enable Set and reset by software to enable the pll1_t_ck output of the PLL1. To save power, PLL1DIVTEN must be set to 0 when the pll1_t_ck is not used. + /// PLL1 DIVT divider output enable Set and reset by software to enable the pll1_t_ck output of the PLL1. To save power, PLL1DIVTEN must be set to 0 when the pll1_t_ck is not used. DIVTEN: u1, padding: u22, }), - /// RCC PLL dividers configuration register 1. + /// RCC PLL dividers configuration register 1. PLLDIVR: mmio.Mmio(packed struct(u32) { - /// multiplication factor for PLL1 VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL is disabled (PLL1ON = PLL1RDY = 0). ..........: not used ... ... Others: wrong configurations The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is: 128 to 544MHz if PLL1VCOSEL = 0 150 to 420 MHz if PLL1VCOSEL = 1 VCO output frequency = Fref1_ck x DIVN1, when fractional value 0 has been loaded into FRACN, with: DIVN1 between 8 and 420 The input frequency Fref1_ck must be between 1 and 16 MHz. - PLLN: packed union { - raw: u9, - value: PLLN, - }, - /// PLL1 DIVP division factor Set and reset by software to control the frequency of the pll1_p_ck clock. These bits can be written only when the PLL1DIVPEN = 0. ... - PLLP: packed union { - raw: u7, - value: PLLDIV, - }, - /// PLL1 DIVQ division factor Set and reset by software to control the frequency of the pll1_q_ck clock. These bits can be written only when the PLL1DIVQEN = 0. ... - PLLQ: packed union { - raw: u7, - value: PLLDIV, - }, + /// multiplication factor for PLL1 VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL is disabled (PLL1ON = PLL1RDY = 0). ..........: not used ... ... Others: wrong configurations The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is: 128 to 544MHz if PLL1VCOSEL = 0 150 to 420 MHz if PLL1VCOSEL = 1 VCO output frequency = Fref1_ck x DIVN1, when fractional value 0 has been loaded into FRACN, with: DIVN1 between 8 and 420 The input frequency Fref1_ck must be between 1 and 16 MHz. + PLLN: PLLN, + /// PLL1 DIVP division factor Set and reset by software to control the frequency of the pll1_p_ck clock. These bits can be written only when the PLL1DIVPEN = 0. ... + PLLP: PLLDIV, + /// PLL1 DIVQ division factor Set and reset by software to control the frequency of the pll1_q_ck clock. These bits can be written only when the PLL1DIVQEN = 0. ... + PLLQ: PLLDIV, reserved24: u1, - /// PLL1 DIVR division factor Set and reset by software to control the frequency of the pll1_r_ck clock. These bits can be written only when the PLL1DIVREN = 0. ... - PLLR: packed union { - raw: u7, - value: PLLDIV, - }, + /// PLL1 DIVR division factor Set and reset by software to control the frequency of the pll1_r_ck clock. These bits can be written only when the PLL1DIVREN = 0. ... + PLLR: PLLDIV, padding: u1, }), - /// RCC PLL fractional divider register. + /// RCC PLL fractional divider register. PLLFRACR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// fractional part of the multiplication factor for PLL1 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO. The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is: 128 to 544 MHz if PLL1VCOSEL = 0 150 to 420 MHz if PLL1VCOSEL = 1 VCO output frequency = Fref1_ck x (DIVN1 + (FRACN / 213)), with DIVN1 between 8 and 420 FRACN can be between 0 and 213- 1 The input frequency Fref1_ck must be between 1 and 16 MHz. To change the FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows: Set the bit PLL1FRACLE to 0. Write the new fractional value into FRACN. Set the bit PLL1FRACLE to 1. + /// fractional part of the multiplication factor for PLL1 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO. The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is: 128 to 544 MHz if PLL1VCOSEL = 0 150 to 420 MHz if PLL1VCOSEL = 1 VCO output frequency = Fref1_ck x (DIVN1 + (FRACN / 213)), with DIVN1 between 8 and 420 FRACN can be between 0 and 213- 1 The input frequency Fref1_ck must be between 1 and 16 MHz. To change the FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows: Set the bit PLL1FRACLE to 0. Write the new fractional value into FRACN. Set the bit PLL1FRACLE to 1. FRACN: u13, padding: u16, }), reserved76: [20]u8, - /// RCC AHB peripheral kernel clock selection register. + /// RCC AHB peripheral kernel clock selection register. AHBPERCKSELR: mmio.Mmio(packed struct(u32) { - /// FMC kernel clock source selection Set and reset by software. - FMCSEL: packed union { - raw: u2, - value: FMCSEL, - }, - /// SDMMC1 and SDMMC2 kernel clock source selection Set and reset by software. - SDMMCSEL: packed union { - raw: u1, - value: SDMMCSEL, - }, + /// FMC kernel clock source selection Set and reset by software. + FMCSEL: FMCSEL, + /// SDMMC1 and SDMMC2 kernel clock source selection Set and reset by software. + SDMMCSEL: SDMMCSEL, reserved4: u1, - /// XSPI1 kernel clock source selection Set and reset by software. 1x: pll2_t_ck selected as kernel peripheral clock. - OCTOSPI1SEL: packed union { - raw: u2, - value: OCTOSPISEL, - }, - /// XSPI2 kernel clock source selection Set and reset by software. 1x: pll2_t_ck selected as kernel peripheral clock. - OCTOSPI2SEL: packed union { - raw: u2, - value: OCTOSPISEL, - }, - /// USBPHYC kernel clock frequency selection Set and reset by software. This field is used to indicate to the USBPHYC, the frequency of the reference kernel clock provided to the USBPHYC. others: reserved. - USBREFCKSEL: packed union { - raw: u4, - value: USBREFCKSEL, - }, - /// USBPHYC kernel clock source selection Set and reset by software. - USBPHYCSEL: packed union { - raw: u2, - value: USBPHYCSEL, - }, - /// OTGFS kernel clock source selection Set and reset by software. - USB_OTG_FSSEL: packed union { - raw: u2, - value: USB_OTG_FSSEL, - }, - /// Ethernet reference clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. - ETH_REF_CLK_SEL: packed union { - raw: u2, - value: ETH_REF_CLK_SEL, - }, - /// Clock source selection for external Ethernet PHY Set and reset by software. - ETHPHY_CLK_SEL: packed union { - raw: u1, - value: ETHPHY_CLK_SEL, - }, + /// XSPI1 kernel clock source selection Set and reset by software. 1x: pll2_t_ck selected as kernel peripheral clock. + OCTOSPI1SEL: OCTOSPISEL, + /// XSPI2 kernel clock source selection Set and reset by software. 1x: pll2_t_ck selected as kernel peripheral clock. + OCTOSPI2SEL: OCTOSPISEL, + /// USBPHYC kernel clock frequency selection Set and reset by software. This field is used to indicate to the USBPHYC, the frequency of the reference kernel clock provided to the USBPHYC. others: reserved. + USBREFCKSEL: USBREFCKSEL, + /// USBPHYC kernel clock source selection Set and reset by software. + USBPHYCSEL: USBPHYCSEL, + /// OTGFS kernel clock source selection Set and reset by software. + USB_OTG_FSSEL: USB_OTG_FSSEL, + /// Ethernet reference clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. + ETH_REF_CLK_SEL: ETH_REF_CLK_SEL, + /// Clock source selection for external Ethernet PHY Set and reset by software. + ETHPHY_CLK_SEL: ETHPHY_CLK_SEL, reserved20: u1, - /// ADF kernel clock source selection Set and reset by software. Note: I2S_CKIN is an external clock taken from a pin. - ADFSEL: packed union { - raw: u3, - value: ADFSEL, - }, + /// ADF kernel clock source selection Set and reset by software. Note: I2S_CKIN is an external clock taken from a pin. + ADFSEL: ADFSEL, reserved24: u1, - /// SAR ADC kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. - ADCSEL: packed union { - raw: u2, - value: ADCSEL, - }, + /// SAR ADC kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. + ADCSEL: ADCSEL, reserved27: u1, - /// PSSI kernel clock source selection Set and reset by software. - PSSISEL: packed union { - raw: u1, - value: PSSISEL, - }, - /// per_ck clock source selection. - PERSEL: packed union { - raw: u2, - value: PERSEL, - }, + /// PSSI kernel clock source selection Set and reset by software. + PSSISEL: PSSISEL, + /// per_ck clock source selection. + PERSEL: PERSEL, padding: u2, }), - /// RCC APB1 peripherals kernel clock selection register. + /// RCC APB1 peripherals kernel clock selection register. APB1PERCKSELR: mmio.Mmio(packed struct(u32) { - /// USART2,3, UART4,5,7,8 (APB1) kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. - USART234578SEL: packed union { - raw: u3, - value: USART234578SEL, - }, + /// USART2,3, UART4,5,7,8 (APB1) kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. + USART234578SEL: USART234578SEL, reserved4: u1, - /// SPI/I2S2 and SPI/I2S3 kernel clock source selection Set and reset by software. If the selected clock is the external clock and this clock is stopped, it is not be possible to switch to another clock. Refer to Clock switches and gating on page 437 for additional information. others: reserved, the kernel clock is disabled Note: I2S_CKIN is an external clock taken from a pin. - SPI23SEL: packed union { - raw: u3, - value: SPI123SEL, - }, + /// SPI/I2S2 and SPI/I2S3 kernel clock source selection Set and reset by software. If the selected clock is the external clock and this clock is stopped, it is not be possible to switch to another clock. Refer to Clock switches and gating on page 437 for additional information. others: reserved, the kernel clock is disabled Note: I2S_CKIN is an external clock taken from a pin. + SPI23SEL: SPI123SEL, reserved8: u1, - /// I2C2, I2C3 kernel clock source selection Set and reset by software. - I2C23SEL: packed union { - raw: u2, - value: I2CSEL, - }, + /// I2C2, I2C3 kernel clock source selection Set and reset by software. + I2C23SEL: I2CSEL, reserved12: u2, - /// I2C1 or I3C1 kernel clock source selection Set and reset by software. - I2C1_I3C1SEL: packed union { - raw: u2, - value: I2C1_I3C1SEL, - }, + /// I2C1 or I3C1 kernel clock source selection Set and reset by software. + I2C1_I3C1SEL: I2C1_I3C1SEL, reserved16: u2, - /// LPTIM1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. - LPTIM1SEL: packed union { - raw: u3, - value: LPTIM1SEL, - }, + /// LPTIM1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. + LPTIM1SEL: LPTIM1SEL, reserved22: u3, - /// FDCAN kernel clock source selection. - FDCANSEL: packed union { - raw: u2, - value: FDCANSEL, - }, - /// SPDIFRX kernel clock source selection. - SPDIFRXSEL: packed union { - raw: u2, - value: SPDIFRXSEL, - }, + /// FDCAN kernel clock source selection. + FDCANSEL: FDCANSEL, + /// SPDIFRX kernel clock source selection. + SPDIFRXSEL: SPDIFRXSEL, reserved28: u2, - /// HDMI-CEC kernel clock source selection Set and reset by software. - CECSEL: packed union { - raw: u2, - value: CECSEL, - }, + /// HDMI-CEC kernel clock source selection Set and reset by software. + CECSEL: CECSEL, padding: u2, }), - /// RCC APB2 peripherals kernel clock selection register. + /// RCC APB2 peripherals kernel clock selection register. APB2PERCKSELR: mmio.Mmio(packed struct(u32) { - /// USART1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. - USART1SEL: packed union { - raw: u3, - value: USART1SEL, - }, + /// USART1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. + USART1SEL: USART1SEL, reserved4: u1, - /// SPI4 and 5 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. - SPI45SEL: packed union { - raw: u3, - value: SPI45SEL, - }, + /// SPI4 and 5 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. + SPI45SEL: SPI45SEL, reserved8: u1, - /// SPI/I2S1 kernel clock source selection Set and reset by software. If the selected clock is the external clock and this clock is stopped, it is not be possible to switch to another clock. Refer to Clock switches and gating on page 437 for additional information. others: reserved, the kernel clock is disabled Note: I2S_CKIN is an external clock taken from a pin. - SPI1SEL: packed union { - raw: u3, - value: SPI123SEL, - }, + /// SPI/I2S1 kernel clock source selection Set and reset by software. If the selected clock is the external clock and this clock is stopped, it is not be possible to switch to another clock. Refer to Clock switches and gating on page 437 for additional information. others: reserved, the kernel clock is disabled Note: I2S_CKIN is an external clock taken from a pin. + SPI1SEL: SPI123SEL, reserved16: u5, - /// SAI1 kernel clock source selection Set and reset by software. If the selected clock is the external clock and this clock is stopped, it is not possible to switch to another clock. Refer to Clock switches and gating on page 437 for additional information. others: reserved, the kernel clock is disabled Note: I2S_CKIN is an external clock taken from a pin. - SAI1SEL: packed union { - raw: u3, - value: SAI1SEL, - }, + /// SAI1 kernel clock source selection Set and reset by software. If the selected clock is the external clock and this clock is stopped, it is not possible to switch to another clock. Refer to Clock switches and gating on page 437 for additional information. others: reserved, the kernel clock is disabled Note: I2S_CKIN is an external clock taken from a pin. + SAI1SEL: SAI1SEL, reserved20: u1, - /// SAI2 kernel clock source selection Set and reset by software. If the selected clock is the external clock and this clock is stopped, it is not possible to switch to another clock. Refer to Clock switches and gating on page 437 for additional information. others: reserved, the kernel clock is disabled Note: I2S_CKIN is an external clock taken from a pin. spdifrx_symb_ck is the symbol clock generated by the spdifrx (see Figure 51). - SAI2SEL: packed union { - raw: u3, - value: SAI2SEL, - }, + /// SAI2 kernel clock source selection Set and reset by software. If the selected clock is the external clock and this clock is stopped, it is not possible to switch to another clock. Refer to Clock switches and gating on page 437 for additional information. others: reserved, the kernel clock is disabled Note: I2S_CKIN is an external clock taken from a pin. spdifrx_symb_ck is the symbol clock generated by the spdifrx (see Figure 51). + SAI2SEL: SAI2SEL, padding: u9, }), - /// RCC APB4,5 peripherals kernel clock selection register. + /// RCC APB4,5 peripherals kernel clock selection register. APB45PERCKSELR: mmio.Mmio(packed struct(u32) { - /// LPUART1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. - LPUART1SEL: packed union { - raw: u3, - value: LPUARTSEL, - }, + /// LPUART1 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. + LPUART1SEL: LPUARTSEL, reserved4: u1, - /// SPI/I2S6 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. - SPI6SEL: packed union { - raw: u3, - value: SPI6SEL, - }, + /// SPI/I2S6 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. + SPI6SEL: SPI6SEL, reserved8: u1, - /// LPTIM2 and LPTIM3 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. - LPTIM23SEL: packed union { - raw: u3, - value: LPTIMSEL, - }, + /// LPTIM2 and LPTIM3 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. + LPTIM23SEL: LPTIMSEL, reserved12: u1, - /// LPTIM4, and LPTIM5 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. - LPTIM45SEL: packed union { - raw: u3, - value: LPTIMSEL, - }, + /// LPTIM4, and LPTIM5 kernel clock source selection Set and reset by software. others: reserved, the kernel clock is disabled. + LPTIM45SEL: LPTIMSEL, padding: u17, }), reserved96: [4]u8, - /// RCC clock source interrupt enable register. + /// RCC clock source interrupt enable register. CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the LSI oscillator stabilization. + /// LSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the LSI oscillator stabilization. LSIRDYIE: u1, - /// LSE ready interrupt enable Set and reset by software to enable/disable interrupt caused by the LSE oscillator stabilization. + /// LSE ready interrupt enable Set and reset by software to enable/disable interrupt caused by the LSE oscillator stabilization. LSERDYIE: u1, - /// HSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSI oscillator stabilization. + /// HSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSI oscillator stabilization. HSIRDYIE: u1, - /// HSE ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSE oscillator stabilization. + /// HSE ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSE oscillator stabilization. HSERDYIE: u1, - /// CSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the CSI oscillator stabilization. + /// CSI ready interrupt enable Set and reset by software to enable/disable interrupt caused by the CSI oscillator stabilization. CSIRDYIE: u1, - /// HSI48 ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSI48 oscillator stabilization. + /// HSI48 ready interrupt enable Set and reset by software to enable/disable interrupt caused by the HSI48 oscillator stabilization. HSI48RDYIE: u1, - /// PLL1 ready interrupt enable Set and reset by software to enable/disable interrupt caused by PLL1 lock. + /// PLL1 ready interrupt enable Set and reset by software to enable/disable interrupt caused by PLL1 lock. PLLRDYIE: u1, reserved9: u2, - /// LSE clock security system interrupt enable Set and reset by software to enable/disable interrupt caused by the clock security system (CSS) on external 32 kHz oscillator. + /// LSE clock security system interrupt enable Set and reset by software to enable/disable interrupt caused by the clock security system (CSS) on external 32 kHz oscillator. LSECSSIE: u1, padding: u22, }), - /// RCC clock source interrupt flag register. + /// RCC clock source interrupt flag register. CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag Reset by software by writing LSIRDYC bit. Set by hardware when the LSI clock becomes stable and LSIRDYIE is set. + /// LSI ready interrupt flag Reset by software by writing LSIRDYC bit. Set by hardware when the LSI clock becomes stable and LSIRDYIE is set. LSIRDYF: u1, - /// LSE ready interrupt flag Reset by software by writing LSERDYC bit. Set by hardware when the LSE clock becomes stable and LSERDYIE is set. + /// LSE ready interrupt flag Reset by software by writing LSERDYC bit. Set by hardware when the LSE clock becomes stable and LSERDYIE is set. LSERDYF: u1, - /// HSI ready interrupt flag Reset by software by writing HSIRDYC bit. Set by hardware when the HSI clock becomes stable and HSIRDYIE is set. + /// HSI ready interrupt flag Reset by software by writing HSIRDYC bit. Set by hardware when the HSI clock becomes stable and HSIRDYIE is set. HSIRDYF: u1, - /// HSE ready interrupt flag Reset by software by writing HSERDYC bit. Set by hardware when the HSE clock becomes stable and HSERDYIE is set. + /// HSE ready interrupt flag Reset by software by writing HSERDYC bit. Set by hardware when the HSE clock becomes stable and HSERDYIE is set. HSERDYF: u1, - /// CSI ready interrupt flag Reset by software by writing CSIRDYC bit. Set by hardware when the CSI clock becomes stable and CSIRDYIE is set. + /// CSI ready interrupt flag Reset by software by writing CSIRDYC bit. Set by hardware when the CSI clock becomes stable and CSIRDYIE is set. CSIRDYF: u1, - /// HSI48 ready interrupt flag Reset by software by writing HSI48RDYC bit. Set by hardware when the HSI48 clock becomes stable and HSI48RDYIE is set. + /// HSI48 ready interrupt flag Reset by software by writing HSI48RDYC bit. Set by hardware when the HSI48 clock becomes stable and HSI48RDYIE is set. HSI48RDYF: u1, - /// PLL1 ready interrupt flag Reset by software by writing PLL1RDYC bit. Set by hardware when the PLL1 locks and PLL1RDYIE is set. + /// PLL1 ready interrupt flag Reset by software by writing PLL1RDYC bit. Set by hardware when the PLL1 locks and PLL1RDYIE is set. PLLRDYF: u1, reserved9: u2, - /// LSE clock security system interrupt flag Reset by software by writing LSECSSC bit. Set by hardware when a failure is detected on the external 32 kHz oscillator and LSECSSIE is set. + /// LSE clock security system interrupt flag Reset by software by writing LSECSSC bit. Set by hardware when a failure is detected on the external 32 kHz oscillator and LSECSSIE is set. LSECSSF: u1, - /// HSE clock security system interrupt flag Reset by software by writing HSECSSC bit. Set by hardware in case of HSE clock failure. + /// HSE clock security system interrupt flag Reset by software by writing HSECSSC bit. Set by hardware in case of HSE clock failure. HSECSSF: u1, padding: u21, }), - /// RCC clock source interrupt clear register. + /// RCC clock source interrupt clear register. CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt clear Set by software to clear LSIRDYF. Reset by hardware when clear done. + /// LSI ready interrupt clear Set by software to clear LSIRDYF. Reset by hardware when clear done. LSIRDYC: u1, - /// LSE ready interrupt clear Set by software to clear LSERDYF. Reset by hardware when clear done. + /// LSE ready interrupt clear Set by software to clear LSERDYF. Reset by hardware when clear done. LSERDYC: u1, - /// HSI ready interrupt clear Set by software to clear HSIRDYF. Reset by hardware when clear done. + /// HSI ready interrupt clear Set by software to clear HSIRDYF. Reset by hardware when clear done. HSIRDYC: u1, - /// HSE ready interrupt clear Set by software to clear HSERDYF. Reset by hardware when clear done. + /// HSE ready interrupt clear Set by software to clear HSERDYF. Reset by hardware when clear done. HSERDYC: u1, - /// CSI ready interrupt clear Set by software to clear CSIRDYF. Reset by hardware when clear done. + /// CSI ready interrupt clear Set by software to clear CSIRDYF. Reset by hardware when clear done. CSIRDYC: u1, - /// HSI48 ready interrupt clear Set by software to clear HSI48RDYF. Reset by hardware when clear done. + /// HSI48 ready interrupt clear Set by software to clear HSI48RDYF. Reset by hardware when clear done. HSI48RDYC: u1, - /// PLL1 ready interrupt clear Set by software to clear PLL1RDYF. Reset by hardware when clear done. + /// PLL1 ready interrupt clear Set by software to clear PLL1RDYF. Reset by hardware when clear done. PLLRDYC: u1, reserved9: u2, - /// LSE clock security system interrupt clear Set by software to clear LSECSSF. Reset by hardware when clear done. + /// LSE clock security system interrupt clear Set by software to clear LSECSSF. Reset by hardware when clear done. LSECSSC: u1, - /// HSE clock security system interrupt clear Set by software to clear HSECSSF. Reset by hardware when clear done. + /// HSE clock security system interrupt clear Set by software to clear HSECSSF. Reset by hardware when clear done. HSECSSC: u1, padding: u21, }), reserved112: [4]u8, - /// RCC Backup domain control register. + /// RCC Backup domain control register. BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enabled Set and reset by software. + /// LSE oscillator enabled Set and reset by software. LSEON: u1, - /// LSE oscillator ready Set and reset by hardware to indicate when the LSE is stable. This bit needs 6 cycles of lse_ck clock to fall down after LSEON has been set to 0. + /// LSE oscillator ready Set and reset by hardware to indicate when the LSE is stable. This bit needs 6 cycles of lse_ck clock to fall down after LSEON has been set to 0. LSERDY: u1, - /// LSE oscillator bypass Set and reset by software to bypass oscillator in debug mode. This bit must not be written when the LSE is enabled (by LSEON) or ready (LSERDY = 1). + /// LSE oscillator bypass Set and reset by software to bypass oscillator in debug mode. This bit must not be written when the LSE is enabled (by LSEON) or ready (LSERDY = 1). LSEBYP: u1, - /// LSE oscillator driving capability Set by software to select the driving capability of the LSE oscillator. - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// LSE clock security system enable Set by software to enable the clock security system on 32 kHz oscillator. LSECSSON must be enabled after LSE is enabled (LSEON enabled) and ready (LSERDY set by hardware) and after RTCSEL is selected. Once enabled, this bit can only be disabled, After a LSE failure detection (LSECSSD = 1). In that case the software must disable LSECSSON. After a back-up domain reset. + /// LSE oscillator driving capability Set by software to select the driving capability of the LSE oscillator. + LSEDRV: LSEDRV, + /// LSE clock security system enable Set by software to enable the clock security system on 32 kHz oscillator. LSECSSON must be enabled after LSE is enabled (LSEON enabled) and ready (LSERDY set by hardware) and after RTCSEL is selected. Once enabled, this bit can only be disabled, After a LSE failure detection (LSECSSD = 1). In that case the software must disable LSECSSON. After a back-up domain reset. LSECSSON: u1, - /// LSE clock security system failure detection Set by hardware to indicate when a failure has been detected by the clock security system on the external 32 kHz oscillator. + /// LSE clock security system failure detection Set by hardware to indicate when a failure has been detected by the clock security system on the external 32 kHz oscillator. LSECSSD: u1, - /// low-speed external clock type in Bypass mode Set and reset by software to select the external clock type (analog or digital). The external clock must be enabled with the LSEON bit, to be used by the device. The LSEEXT bit can be written only if the LSE oscillator is disabled. + /// low-speed external clock type in Bypass mode Set and reset by software to select the external clock type (analog or digital). The external clock must be enabled with the LSEON bit, to be used by the device. The LSEEXT bit can be written only if the LSE oscillator is disabled. LSEEXT: u1, - /// RTC clock source selection Set by software to select the clock source for the RTC. These bits can be written only one time (except in case of failure detection on LSE). These bits must be written before LSECSSON is enabled. The VSWRST bit can be used to reset them, then it can be written one time again. If HSE is selected as RTC clock, this clock is lost when the system is in Stop mode or in case of a pin reset (NRST). - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection Set by software to select the clock source for the RTC. These bits can be written only one time (except in case of failure detection on LSE). These bits must be written before LSECSSON is enabled. The VSWRST bit can be used to reset them, then it can be written one time again. If HSE is selected as RTC clock, this clock is lost when the system is in Stop mode or in case of a pin reset (NRST). + RTCSEL: RTCSEL, reserved12: u2, - /// Re-Arm the LSECSS function Set by software. After a LSE failure detection, the software application can re-enable the LSECSS by writing this bit to 1. Reading this bit returns the written value. Prior to set this bit to 1, LSECSSON must be set to 0. Please refer to Section : CSS on LSE for details. + /// Re-Arm the LSECSS function Set by software. After a LSE failure detection, the software application can re-enable the LSECSS by writing this bit to 1. Reading this bit returns the written value. Prior to set this bit to 1, LSECSSON must be set to 0. Please refer to Section : CSS on LSE for details. LSECSSRA: u1, reserved15: u2, - /// RTC clock enable Set and reset by software. + /// RTC clock enable Set and reset by software. RTCEN: u1, - /// VSwitch domain software reset Set and reset by software. To generate a VSW reset, it is recommended to write this bit to 1, then back to 0. + /// VSwitch domain software reset Set and reset by software. To generate a VSW reset, it is recommended to write this bit to 1, then back to 0. VSWRST: u1, padding: u15, }), - /// RCC clock control and status register. + /// RCC clock control and status register. CSR: mmio.Mmio(packed struct(u32) { - /// LSI oscillator enable Set and reset by software. + /// LSI oscillator enable Set and reset by software. LSION: u1, - /// LSI oscillator ready Set and reset by hardware to indicate when the low-speed internal RC oscillator is stable. This bit needs 3 cycles of lsi_ck clock to fall down after LSION has been set to 0. This bit can be set even when LSION is not enabled if there is a request for LSI clock by the clock security system on LSE or by the low-speed watchdog or by the RTC. + /// LSI oscillator ready Set and reset by hardware to indicate when the low-speed internal RC oscillator is stable. This bit needs 3 cycles of lsi_ck clock to fall down after LSION has been set to 0. This bit can be set even when LSION is not enabled if there is a request for LSI clock by the clock security system on LSE or by the low-speed watchdog or by the RTC. LSIRDY: u1, padding: u30, }), reserved124: [4]u8, - /// RCC AHB5 peripheral reset register. + /// RCC AHB5 peripheral reset register. AHB5RSTR: mmio.Mmio(packed struct(u32) { - /// HPDMA1 block reset Set and reset by software. + /// HPDMA1 block reset Set and reset by software. HPDMA1RST: u1, - /// DMA2D block reset Set and reset by software. + /// DMA2D block reset Set and reset by software. DMA2DRST: u1, reserved3: u1, - /// JPEG block reset Set and reset by software. + /// JPEG block reset Set and reset by software. JPEGRST: u1, - /// FMC and MCE3 blocks reset Set and reset by software. The hardware prevents writing this bit if FMCCKP = 1. + /// FMC and MCE3 blocks reset Set and reset by software. The hardware prevents writing this bit if FMCCKP = 1. FMCRST: u1, - /// XSPI1 and MCE1 blocks reset Set and reset by software. The hardware prevents writing this bit if XSPICKP = 1. + /// XSPI1 and MCE1 blocks reset Set and reset by software. The hardware prevents writing this bit if XSPICKP = 1. XSPI1RST: u1, reserved8: u2, - /// SDMMC1 and DB_SDMMC1 blocks reset Set and reset by software. + /// SDMMC1 and DB_SDMMC1 blocks reset Set and reset by software. SDMMC1RST: u1, reserved12: u3, - /// XSPI2 and MCE2 blocks reset Set and reset by software. The hardware prevents writing this bit if XSPICKP = 1. + /// XSPI2 and MCE2 blocks reset Set and reset by software. The hardware prevents writing this bit if XSPICKP = 1. XSPI2RST: u1, reserved14: u1, - /// XSPIM reset Set and reset by software. + /// XSPIM reset Set and reset by software. IOMNGRRST: u1, reserved19: u4, - /// GFXMMU block reset Set and reset by software. + /// GFXMMU block reset Set and reset by software. GFXMMURST: u1, - /// GPU block reset Set and reset by software. + /// GPU block reset Set and reset by software. GPURST: u1, padding: u11, }), - /// RCC AHB1 peripheral reset register. + /// RCC AHB1 peripheral reset register. AHB1RSTR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// GPDMA1 blocks reset Set and reset by software. + /// GPDMA1 blocks reset Set and reset by software. GPDMA1RST: u1, - /// ADC1 and 2 blocks reset Set and reset by software. + /// ADC1 and 2 blocks reset Set and reset by software. ADC12RST: u1, reserved15: u9, - /// ETH1 block reset Set and reset by software. + /// ETH1 block reset Set and reset by software. ETHRST: u1, reserved25: u9, - /// OTGHS block reset Set and reset by software. + /// OTGHS block reset Set and reset by software. USB_OTG_HSRST: u1, - /// USBPHYC block reset Set and reset by software. + /// USBPHYC block reset Set and reset by software. USBPHYCRST: u1, - /// OTGFS block reset Set and reset by software. + /// OTGFS block reset Set and reset by software. USB_OTG_FSRST: u1, reserved31: u3, - /// ADF block reset Set and reset by software. + /// ADF block reset Set and reset by software. ADFRST: u1, }), - /// RCC AHB2 peripheral reset register. + /// RCC AHB2 peripheral reset register. AHB2RSTR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// PSSI block reset Set and reset by software. + /// PSSI block reset Set and reset by software. PSSIRST: u1, reserved9: u7, - /// SDMMC2 and SDMMC2 delay blocks reset Set and reset by software. + /// SDMMC2 and SDMMC2 delay blocks reset Set and reset by software. SDMMC2RST: u1, reserved14: u4, - /// CORDIC reset Set and reset by software. + /// CORDIC reset Set and reset by software. CORDICRST: u1, padding: u17, }), - /// RCC AHB4 peripheral reset register. + /// RCC AHB4 peripheral reset register. AHB4RSTR: mmio.Mmio(packed struct(u32) { - /// GPIOA block reset Set and reset by software. + /// GPIOA block reset Set and reset by software. GPIOARST: u1, - /// GPIOB block reset Set and reset by software. + /// GPIOB block reset Set and reset by software. GPIOBRST: u1, - /// GPIOC block reset Set and reset by software. + /// GPIOC block reset Set and reset by software. GPIOCRST: u1, - /// GPIOD block reset Set and reset by software. + /// GPIOD block reset Set and reset by software. GPIODRST: u1, - /// GPIOE block reset Set and reset by software. + /// GPIOE block reset Set and reset by software. GPIOERST: u1, - /// GPIOF block reset Set and reset by software. + /// GPIOF block reset Set and reset by software. GPIOFRST: u1, - /// GPIOG block reset Set and reset by software. + /// GPIOG block reset Set and reset by software. GPIOGRST: u1, - /// GPIOH block reset Set and reset by software. + /// GPIOH block reset Set and reset by software. GPIOHRST: u1, reserved12: u4, - /// GPIOM block reset Set and reset by software. + /// GPIOM block reset Set and reset by software. GPIOMRST: u1, - /// GPION block reset Set and reset by software. + /// GPION block reset Set and reset by software. GPIONRST: u1, - /// GPIOO block reset Set and reset by software. + /// GPIOO block reset Set and reset by software. GPIOORST: u1, - /// GPIOP block reset Set and reset by software. + /// GPIOP block reset Set and reset by software. GPIOPRST: u1, reserved19: u3, - /// CRC block reset Set and reset by software. + /// CRC block reset Set and reset by software. CRCRST: u1, padding: u12, }), - /// RCC APB5 peripheral reset register. + /// RCC APB5 peripheral reset register. APB5RSTR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// LTDC block reset Set and reset by software. + /// LTDC block reset Set and reset by software. LTDCRST: u1, - /// DCMIPP block reset Set and reset by software. + /// DCMIPP block reset Set and reset by software. DCMIPPRST: u1, reserved4: u1, - /// GFXTIM block reset Set and reset by software. + /// GFXTIM block reset Set and reset by software. GFXTIMRST: u1, padding: u27, }), - /// RCC APB1 peripheral reset register 1. + /// RCC APB1 peripheral reset register 1. APB1RSTR1: mmio.Mmio(packed struct(u32) { - /// TIM2 block reset Set and reset by software. + /// TIM2 block reset Set and reset by software. TIM2RST: u1, - /// TIM3 block reset Set and reset by software. + /// TIM3 block reset Set and reset by software. TIM3RST: u1, - /// TIM4 block reset Set and reset by software. + /// TIM4 block reset Set and reset by software. TIM4RST: u1, - /// TIM5 block reset Set and reset by software. + /// TIM5 block reset Set and reset by software. TIM5RST: u1, - /// TIM6 block reset Set and reset by software. + /// TIM6 block reset Set and reset by software. TIM6RST: u1, - /// TIM7 block reset Set and reset by software. + /// TIM7 block reset Set and reset by software. TIM7RST: u1, - /// TIM12 block reset Set and reset by software. + /// TIM12 block reset Set and reset by software. TIM12RST: u1, - /// TIM13 block reset Set and reset by software. + /// TIM13 block reset Set and reset by software. TIM13RST: u1, - /// TIM14 block reset Set and reset by software. + /// TIM14 block reset Set and reset by software. TIM14RST: u1, - /// LPTIM1 block reset Set and reset by software. + /// LPTIM1 block reset Set and reset by software. LPTIM1RST: u1, reserved14: u4, - /// SPI2S2 block reset Set and reset by software. + /// SPI2S2 block reset Set and reset by software. SPI2RST: u1, - /// SPI2S3 block reset Set and reset by software. + /// SPI2S3 block reset Set and reset by software. SPI3RST: u1, - /// SPDIFRX block reset Set and reset by software. + /// SPDIFRX block reset Set and reset by software. SPDIFRXRST: u1, - /// USART2 block reset Set and reset by software. + /// USART2 block reset Set and reset by software. USART2RST: u1, - /// USART3 block reset Set and reset by software. + /// USART3 block reset Set and reset by software. USART3RST: u1, - /// UART4 block reset Set and reset by software. + /// UART4 block reset Set and reset by software. UART4RST: u1, - /// UART5 block reset Set and reset by software. + /// UART5 block reset Set and reset by software. UART5RST: u1, - /// I2C1/I3C1 block reset Set and reset by software. + /// I2C1/I3C1 block reset Set and reset by software. I2C1_I3C1RST: u1, - /// I2C2 block reset Set and reset by software. + /// I2C2 block reset Set and reset by software. I2C2RST: u1, - /// I2C3 block reset Set and reset by software. + /// I2C3 block reset Set and reset by software. I2C3RST: u1, reserved27: u3, - /// HDMI-CEC block reset Set and reset by software. + /// HDMI-CEC block reset Set and reset by software. CECRST: u1, reserved30: u2, - /// UART7 block reset Set and reset by software. + /// UART7 block reset Set and reset by software. UART7RST: u1, - /// UART8 block reset Set and reset by software. + /// UART8 block reset Set and reset by software. UART8RST: u1, }), - /// RCC APB1 peripheral reset register 2. + /// RCC APB1 peripheral reset register 2. APB1RSTR2: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// clock recovery system reset Set and reset by software. + /// clock recovery system reset Set and reset by software. CRSRST: u1, reserved5: u3, - /// MDIOS block reset Set and reset by software. + /// MDIOS block reset Set and reset by software. MDIOSRST: u1, reserved8: u2, - /// FDCAN block reset Set and reset by software. + /// FDCAN block reset Set and reset by software. FDCANRST: u1, reserved27: u18, - /// UCPD block reset Set and reset by software. + /// UCPD block reset Set and reset by software. UCPDRST: u1, padding: u4, }), - /// RCC APB2 peripheral reset register. + /// RCC APB2 peripheral reset register. APB2RSTR: mmio.Mmio(packed struct(u32) { - /// TIM1 block reset Set and reset by software. + /// TIM1 block reset Set and reset by software. TIM1RST: u1, reserved4: u3, - /// USART1 block reset Set and reset by software. + /// USART1 block reset Set and reset by software. USART1RST: u1, reserved12: u7, - /// SPI2S1 block reset Set and reset by software. + /// SPI2S1 block reset Set and reset by software. SPI1RST: u1, - /// SPI4 block reset Set and reset by software. + /// SPI4 block reset Set and reset by software. SPI4RST: u1, reserved16: u2, - /// TIM15 block reset Set and reset by software. + /// TIM15 block reset Set and reset by software. TIM15RST: u1, - /// TIM16 block reset Set and reset by software. + /// TIM16 block reset Set and reset by software. TIM16RST: u1, - /// TIM17 block reset Set and reset by software. + /// TIM17 block reset Set and reset by software. TIM17RST: u1, - /// TIM9 block reset Set and reset by software. + /// TIM9 block reset Set and reset by software. TIM9RST: u1, - /// SPI5 block reset Set and reset by software. + /// SPI5 block reset Set and reset by software. SPI5RST: u1, reserved22: u1, - /// SAI1 block reset Set and reset by software. + /// SAI1 block reset Set and reset by software. SAI1RST: u1, - /// SAI2 block reset Set and reset by software. + /// SAI2 block reset Set and reset by software. SAI2RST: u1, padding: u8, }), - /// RCC APB4 peripheral reset register. + /// RCC APB4 peripheral reset register. APB4RSTR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SBS block reset Set and reset by software. + /// SBS block reset Set and reset by software. SYSCFGRST: u1, reserved3: u1, - /// LPUART1 block reset Set and reset by software. + /// LPUART1 block reset Set and reset by software. LPUART1RST: u1, reserved5: u1, - /// SPI/I2S6 block reset Set and reset by software. + /// SPI/I2S6 block reset Set and reset by software. SPI6RST: u1, reserved9: u3, - /// LPTIM2 block reset Set and reset by software. + /// LPTIM2 block reset Set and reset by software. LPTIM2RST: u1, - /// LPTIM3 block reset Set and reset by software. + /// LPTIM3 block reset Set and reset by software. LPTIM3RST: u1, - /// LPTIM4 block reset Set and reset by software. + /// LPTIM4 block reset Set and reset by software. LPTIM4RST: u1, - /// LPTIM5 block reset Set and reset by software. + /// LPTIM5 block reset Set and reset by software. LPTIM5RST: u1, reserved15: u2, - /// VREF block reset Set and reset by software. + /// VREF block reset Set and reset by software. VREFRST: u1, reserved26: u10, - /// TMPSENS block reset Set and reset by software. + /// TMPSENS block reset Set and reset by software. TMPSENSRST: u1, padding: u5, }), reserved164: [4]u8, - /// RCC AHB3 peripheral reset register. + /// RCC AHB3 peripheral reset register. AHB3RSTR: mmio.Mmio(packed struct(u32) { - /// random number generator block reset Set and reset by software. + /// random number generator block reset Set and reset by software. RNGRST: u1, - /// HASH block reset Set and reset by software. + /// HASH block reset Set and reset by software. HASHRST: u1, - /// CRYP block reset Set and reset by software. + /// CRYP block reset Set and reset by software. CRYPRST: u1, reserved4: u1, - /// SAES block reset Set and reset by software. + /// SAES block reset Set and reset by software. SAESRST: u1, reserved6: u1, - /// PKA block reset Set and reset by software. + /// PKA block reset Set and reset by software. PKARST: u1, padding: u25, }), reserved176: [8]u8, - /// RCC AXI clocks gating disable register. + /// RCC AXI clocks gating disable register. CKGDISR: mmio.Mmio(packed struct(u32) { - /// AXI interconnect matrix clock gating disable This bit is set and reset by software. + /// AXI interconnect matrix clock gating disable This bit is set and reset by software. AXICKG: u1, - /// AXI master AHB clock gating disable This bit is set and reset by software. + /// AXI master AHB clock gating disable This bit is set and reset by software. AHBMCKG: u1, - /// AXI master SDMMC1 clock gating disable This bit is set and reset by software. + /// AXI master SDMMC1 clock gating disable This bit is set and reset by software. SDMMC1CKG: u1, - /// AXI master HPDMA1 clock gating disable This bit is set and reset by software. + /// AXI master HPDMA1 clock gating disable This bit is set and reset by software. HPDMA1CKG: u1, - /// AXI master CPU clock gating disable This bit is set and reset by software. + /// AXI master CPU clock gating disable This bit is set and reset by software. CPUCKG: u1, - /// AXI master 0 GPU clock gating disable This bit is set and reset by software. + /// AXI master 0 GPU clock gating disable This bit is set and reset by software. GPUS0CKG: u1, - /// AXI master 1 GPU clock gating disable This bit is set and reset by software. + /// AXI master 1 GPU clock gating disable This bit is set and reset by software. GPUS1CKG: u1, - /// AXI master cache GPU clock gating disable This bit is set and reset by software. + /// AXI master cache GPU clock gating disable This bit is set and reset by software. GPUCLCKG: u1, - /// AXI master DCMIPP clock gating disable This bit is set and reset by software. + /// AXI master DCMIPP clock gating disable This bit is set and reset by software. DCMIPPCKG: u1, - /// AXI master DMA2D clock gating disable This bit is set and reset by software. + /// AXI master DMA2D clock gating disable This bit is set and reset by software. DMA2DCKG: u1, - /// AXI matrix slave GFXMMU clock gating disable This bit is set and reset by software. + /// AXI matrix slave GFXMMU clock gating disable This bit is set and reset by software. GFXMMUSCKG: u1, - /// AXI master LTDC clock gating disable This bit is set and reset by software. + /// AXI master LTDC clock gating disable This bit is set and reset by software. LTDCCKG: u1, - /// AXI master GFXMMU clock gating disable This bit is set and reset by software. + /// AXI master GFXMMU clock gating disable This bit is set and reset by software. GFXMMUMCKG: u1, - /// AXI slave AHB clock gating disable This bit is set and reset by software. + /// AXI slave AHB clock gating disable This bit is set and reset by software. AHBSCKG: u1, - /// AXI slave FMC and MCE3 clock gating disable This bit is set and reset by software. + /// AXI slave FMC and MCE3 clock gating disable This bit is set and reset by software. FMCCKG: u1, - /// AXI slave XSPI1 and MCE1 clock gating disable This bit is set and reset by software. + /// AXI slave XSPI1 and MCE1 clock gating disable This bit is set and reset by software. XSPI1CKG: u1, - /// AXI slave XSPI2 and MCE2 clock gating disable This bit is set and reset by software. + /// AXI slave XSPI2 and MCE2 clock gating disable This bit is set and reset by software. XSPI2CKG: u1, - /// AXI matrix slave SRAM4 clock gating disable This bit is set and reset by software. + /// AXI matrix slave SRAM4 clock gating disable This bit is set and reset by software. AXIRAM4CKG: u1, - /// AXI matrix slave SRAM3 clock gating disable This bit is set and reset by software. + /// AXI matrix slave SRAM3 clock gating disable This bit is set and reset by software. AXIRAM3CKG: u1, - /// AXI slave SRAM2 clock gating disable This bit is set and reset by software. + /// AXI slave SRAM2 clock gating disable This bit is set and reset by software. AXIRAM2CKG: u1, - /// AXI slave SRAM1 / error code correction (ECC) clock gating disable This bit is set and reset by software. + /// AXI slave SRAM1 / error code correction (ECC) clock gating disable This bit is set and reset by software. AXIRAM1CKG: u1, - /// AXI slave Flash interface (FLIFT) clock gating disable This bit is set and reset by software. + /// AXI slave Flash interface (FLIFT) clock gating disable This bit is set and reset by software. FLITFCKG: u1, reserved30: u8, - /// EXTI clock gating disable This bit is set and reset by software. + /// EXTI clock gating disable This bit is set and reset by software. EXTICKG: u1, - /// JTAG automatic clock gating disabling This bit is set and reset by software. + /// JTAG automatic clock gating disabling This bit is set and reset by software. JTAGCKG: u1, }), reserved192: [12]u8, - /// RCC PLL dividers configuration register 2. + /// RCC PLL dividers configuration register 2. PLLDIVR2: [3]mmio.Mmio(packed struct(u32) { - /// PLL1 DIVS division factor Set and reset by software to control the frequency of the pll1_s_ck clock. This post-divider performs divisions with 50% duty-cycle. The duty-cycle of 50% is guaranteed only in the following conditions: With VCOL, if (DIVS+1) is even, With VCOH, for all DIVS values These bits can be written only when the PLL1DIVSEN = 0. - PLLS: packed union { - raw: u3, - value: PLLDIVST, - }, + /// PLL1 DIVS division factor Set and reset by software to control the frequency of the pll1_s_ck clock. This post-divider performs divisions with 50% duty-cycle. The duty-cycle of 50% is guaranteed only in the following conditions: With VCOL, if (DIVS+1) is even, With VCOH, for all DIVS values These bits can be written only when the PLL1DIVSEN = 0. + PLLS: PLLDIVST, reserved8: u5, - /// PLL1 DIVT division factor Set and reset by software to control the frequency of the pll1_t_ck clock. This post-divider performs divisions with 50% duty-cycle. The duty-cycle of 50% is guaranteed only in the following conditions: With VCOL, if (DIVT+1) is even, With VCOH, for all DIVT values These bits can be written only when the PLL1DIVTEN = 0. - PLLT: packed union { - raw: u3, - value: PLLDIVST, - }, + /// PLL1 DIVT division factor Set and reset by software to control the frequency of the pll1_t_ck clock. This post-divider performs divisions with 50% duty-cycle. The duty-cycle of 50% is guaranteed only in the following conditions: With VCOL, if (DIVT+1) is even, With VCOH, for all DIVT values These bits can be written only when the PLL1DIVTEN = 0. + PLLT: PLLDIVST, padding: u21, }), - /// RCC PLL Spread Spectrum Clock Generator register. + /// RCC PLL Spread Spectrum Clock Generator register. PLLSSCGR: [3]mmio.Mmio(packed struct(u32) { - /// Modulation Period Adjustment for PLL1 Set and reset by software to adjust the modulation period of the clock spreading generator. + /// Modulation Period Adjustment for PLL1 Set and reset by software to adjust the modulation period of the clock spreading generator. MOD_PER: u13, - /// Dithering TPDF noise control for PLL1 Set and reset by software. This bit is used to enable or disable the injection of a dithering noise into the SSCG modulator. This dithering noise is generated using a triangular probability density function. + /// Dithering TPDF noise control for PLL1 Set and reset by software. This bit is used to enable or disable the injection of a dithering noise into the SSCG modulator. This dithering noise is generated using a triangular probability density function. TPDFN_DIS1: u1, - /// Dithering RPDF noise control for PLL1 Set and reset by software. This bit is used to enable or disable the injection of a dithering noise into the SSCG modulator. This dithering noise is generated using a rectangular probability density function. + /// Dithering RPDF noise control for PLL1 Set and reset by software. This bit is used to enable or disable the injection of a dithering noise into the SSCG modulator. This dithering noise is generated using a rectangular probability density function. RPDFN_DIS1: u1, - /// Spread spectrum clock generator mode for PLL1 Set and reset by software to select the clock spreading mode. - DWNSPREAD1: packed union { - raw: u1, - value: DWNSPREAD, - }, - /// Modulation Depth Adjustment for PLL1 Set and reset by software to adjust the modulation depth of the clock spreading generator. + /// Spread spectrum clock generator mode for PLL1 Set and reset by software to select the clock spreading mode. + DWNSPREAD1: DWNSPREAD, + /// Modulation Depth Adjustment for PLL1 Set and reset by software to adjust the modulation depth of the clock spreading generator. INC_STEP: u15, padding: u1, }), reserved256: [40]u8, - /// RCC clock protection register. + /// RCC clock protection register. CKPROTR: mmio.Mmio(packed struct(u32) { - /// XSPI clock protection Set and cleared by software. When set to 1, this bit prevents disabling accidentally the XSPIs. The following fields cannot be modified when this bit is set to 1: PLL2ON, PLL2DIVSEN, PLL2DIVTEN, HSEON, HSION, CSION, XSPIxEN, OCTOSPIxLPEN, OCTOSPIxRST. + /// XSPI clock protection Set and cleared by software. When set to 1, this bit prevents disabling accidentally the XSPIs. The following fields cannot be modified when this bit is set to 1: PLL2ON, PLL2DIVSEN, PLL2DIVTEN, HSEON, HSION, CSION, XSPIxEN, OCTOSPIxLPEN, OCTOSPIxRST. XSPICKP: u1, - /// FMC clock protection Set and cleared by software. When set to 1, this bit prevents disabling accidentally the FMC. The following fields cannot be modified when this bit is set to 1: PLL1ON, PLL2ON, PLL1DIVQEN, PLL2DIVREN, HSEON, HSION, CSION, FMCEN, FMCLPEN, FMCRST. + /// FMC clock protection Set and cleared by software. When set to 1, this bit prevents disabling accidentally the FMC. The following fields cannot be modified when this bit is set to 1: PLL1ON, PLL2ON, PLL1DIVQEN, PLL2DIVREN, HSEON, HSION, CSION, FMCEN, FMCLPEN, FMCRST. FMCCKP: u1, reserved4: u2, - /// XSPI1 kernel clock switch position Set by hardware. This field can be used to verify the real position of XSPI2 kernel switch selector. - XSPI1SWP: packed union { - raw: u3, - value: XSPISWP, - }, + /// XSPI1 kernel clock switch position Set by hardware. This field can be used to verify the real position of XSPI2 kernel switch selector. + XSPI1SWP: XSPISWP, reserved8: u1, - /// XSPI2 kernel clock switch position Set by hardware. This field can be used to verify the real position of XSPI2 kernel switch selector. - XSPI2SWP: packed union { - raw: u3, - value: XSPISWP, - }, + /// XSPI2 kernel clock switch position Set by hardware. This field can be used to verify the real position of XSPI2 kernel switch selector. + XSPI2SWP: XSPISWP, reserved12: u1, - /// FMC kernel clock switch position Set by hardware. This field can be used to verify the real position of FMC kernel switch selector. - FMCSWP: packed union { - raw: u3, - value: FMCSWP, - }, + /// FMC kernel clock switch position Set by hardware. This field can be used to verify the real position of FMC kernel switch selector. + FMCSWP: FMCSWP, padding: u17, }), reserved304: [44]u8, - /// RCC Reset status register. + /// RCC Reset status register. RSR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// remove reset flag Set and reset by software to reset the value of the reset flags. + /// remove reset flag Set and reset by software to reset the value of the reset flags. RMVF: u1, - /// Option byte loading reset flag (1) Reset by software by the RMVF bit. Set by hardware when a reset from the option byte loading occurs. + /// Option byte loading reset flag (1) Reset by software by the RMVF bit. Set by hardware when a reset from the option byte loading occurs. OBLRSTF: u1, reserved21: u3, - /// BOR reset flag (1) Reset by software by writing the RMVF bit. Set by hardware when a BOR reset occurs (pwr_bor_rst). + /// BOR reset flag (1) Reset by software by writing the RMVF bit. Set by hardware when a BOR reset occurs (pwr_bor_rst). BORRSTF: u1, - /// pin reset flag (NRST) (1) Reset by software by writing the RMVF bit. Set by hardware when a reset from pin occurs. + /// pin reset flag (NRST) (1) Reset by software by writing the RMVF bit. Set by hardware when a reset from pin occurs. PINRSTF: u1, - /// POR/PDR reset flag (1) Reset by software by writing the RMVF bit. Set by hardware when a POR/PDR reset occurs. + /// POR/PDR reset flag (1) Reset by software by writing the RMVF bit. Set by hardware when a POR/PDR reset occurs. PORRSTF: u1, - /// system reset from CPU reset flag (1) Reset by software by writing the RMVF bit. Set by hardware when the system reset is due to CPU.The CPU can generate a system reset by writing SYSRESETREQ bit of AIRCR register of the core M7. + /// system reset from CPU reset flag (1) Reset by software by writing the RMVF bit. Set by hardware when the system reset is due to CPU.The CPU can generate a system reset by writing SYSRESETREQ bit of AIRCR register of the core M7. SFTRSTF: u1, reserved26: u1, - /// independent watchdog reset flag (1) Reset by software by writing the RMVF bit. Set by hardware when an independent watchdog reset occurs. + /// independent watchdog reset flag (1) Reset by software by writing the RMVF bit. Set by hardware when an independent watchdog reset occurs. IWDGRSTF: u1, reserved28: u1, - /// window watchdog reset flag (1) Reset by software by writing the RMVF bit. Set by hardware when a window watchdog reset occurs. + /// window watchdog reset flag (1) Reset by software by writing the RMVF bit. Set by hardware when a window watchdog reset occurs. WWDGRSTF: u1, reserved30: u1, - /// reset due to illegal Stop or Standby flag Reset by software by writing the RMVF bit. Set by hardware when the CPU goes erroneously in Stop or Standby mode,. + /// reset due to illegal Stop or Standby flag Reset by software by writing the RMVF bit. Set by hardware when the CPU goes erroneously in Stop or Standby mode,. LPWRRSTF: u1, padding: u1, }), - /// RCC AHB5 clock enable register. + /// RCC AHB5 clock enable register. AHB5ENR: mmio.Mmio(packed struct(u32) { - /// HPDMA1 peripheral clock enable Set and reset by software. + /// HPDMA1 peripheral clock enable Set and reset by software. HPDMA1EN: u1, - /// DMA2D peripheral clock enable Set and reset by software. + /// DMA2D peripheral clock enable Set and reset by software. DMA2DEN: u1, reserved3: u1, - /// JPEG peripheral clock enable Set and reset by software. + /// JPEG peripheral clock enable Set and reset by software. JPEGEN: u1, - /// FMC and MCE3 peripheral clocks enable Set and reset by software. The hardware prevents writing this bit if FMCCKP = 1. The peripheral clocks of the FMC are the kernel clock selected by FMCSEL, and the hclk5 bus interface clock. + /// FMC and MCE3 peripheral clocks enable Set and reset by software. The hardware prevents writing this bit if FMCCKP = 1. The peripheral clocks of the FMC are the kernel clock selected by FMCSEL, and the hclk5 bus interface clock. FMCEN: u1, - /// XSPI1 and MCE1 peripheral clocks enable Set and reset by software. The hardware prevents writing this bit if XSPICKP = 1. + /// XSPI1 and MCE1 peripheral clocks enable Set and reset by software. The hardware prevents writing this bit if XSPICKP = 1. XSPI1EN: u1, reserved8: u2, - /// SDMMC1 and DB_SDMMC1 peripheral clocks enable Set and reset by software. + /// SDMMC1 and DB_SDMMC1 peripheral clocks enable Set and reset by software. SDMMC1EN: u1, reserved12: u3, - /// XSPI2 and MCE2 peripheral clocks enable Set and reset by software. The hardware prevents writing this bit if XSPICKP = 1. + /// XSPI2 and MCE2 peripheral clocks enable Set and reset by software. The hardware prevents writing this bit if XSPICKP = 1. XSPI2EN: u1, reserved14: u1, - /// XSPIM peripheral clock enable Set and reset by software. + /// XSPIM peripheral clock enable Set and reset by software. IOMNGREN: u1, reserved19: u4, - /// GFXMMU peripheral clock enable Set and reset by software. + /// GFXMMU peripheral clock enable Set and reset by software. GFXMMUEN: u1, - /// GPU peripheral clock enable Set and reset by software. + /// GPU peripheral clock enable Set and reset by software. GPUEN: u1, padding: u11, }), - /// RCC AHB1 clock enable register. + /// RCC AHB1 clock enable register. AHB1ENR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// GPDMA1 clock enable Set and reset by software. + /// GPDMA1 clock enable Set and reset by software. GPDMA1EN: u1, - /// ADC1 and 2 peripheral clocks enable Set and reset by software. The peripheral clocks of the ADC1 and 2 are the kernel clock selected by ADCSEL and provided to ADCx_CK input, and the hclk1 bus interface clock. + /// ADC1 and 2 peripheral clocks enable Set and reset by software. The peripheral clocks of the ADC1 and 2 are the kernel clock selected by ADCSEL and provided to ADCx_CK input, and the hclk1 bus interface clock. ADC12EN: u1, reserved15: u9, - /// ETH1 MAC peripheral clock enable Set and reset by software. + /// ETH1 MAC peripheral clock enable Set and reset by software. ETHEN: u1, - /// ETH1 transmission clock enable Set and reset by software. + /// ETH1 transmission clock enable Set and reset by software. ETHTXEN: u1, - /// ETH1 reception clock enable Set and reset by software. + /// ETH1 reception clock enable Set and reset by software. ETHRXEN: u1, reserved25: u7, - /// OTGHS clocks enable Set and reset by software. + /// OTGHS clocks enable Set and reset by software. USB_OTG_HSEN: u1, - /// USBPHYC clocks enable Set and reset by software. + /// USBPHYC clocks enable Set and reset by software. USBPHYCEN: u1, - /// OTGFS peripheral clocks enable Set and reset by software. + /// OTGFS peripheral clocks enable Set and reset by software. USB_OTG_FSEN: u1, reserved31: u3, - /// ADF clocks enable Set and reset by software. + /// ADF clocks enable Set and reset by software. ADFEN: u1, }), - /// RCC AHB2 clock enable register. + /// RCC AHB2 clock enable register. AHB2ENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// PSSI peripheral clocks enable Set and reset by software. + /// PSSI peripheral clocks enable Set and reset by software. PSSIEN: u1, reserved9: u7, - /// SDMMC2 and SDMMC2 delay clock enable Set and reset by software. + /// SDMMC2 and SDMMC2 delay clock enable Set and reset by software. SDMMC2EN: u1, reserved14: u4, - /// CORDIC clock enable Set and reset by software. + /// CORDIC clock enable Set and reset by software. CORDICEN: u1, reserved29: u14, - /// SRAM1 clock enable Set and reset by software. + /// SRAM1 clock enable Set and reset by software. SRAM1EN: u1, - /// SRAM2 clock enable Set and reset by software. + /// SRAM2 clock enable Set and reset by software. SRAM2EN: u1, padding: u1, }), - /// RCC AHB4 clock enable register. + /// RCC AHB4 clock enable register. AHB4ENR: mmio.Mmio(packed struct(u32) { - /// GPIOA peripheral clock enable Set and reset by software. + /// GPIOA peripheral clock enable Set and reset by software. GPIOAEN: u1, - /// GPIOB peripheral clock enable Set and reset by software. + /// GPIOB peripheral clock enable Set and reset by software. GPIOBEN: u1, - /// GPIOC peripheral clock enable Set and reset by software. + /// GPIOC peripheral clock enable Set and reset by software. GPIOCEN: u1, - /// GPIOD peripheral clock enable Set and reset by software. + /// GPIOD peripheral clock enable Set and reset by software. GPIODEN: u1, - /// GPIOE peripheral clock enable Set and reset by software. + /// GPIOE peripheral clock enable Set and reset by software. GPIOEEN: u1, - /// GPIOF peripheral clock enable Set and reset by software. + /// GPIOF peripheral clock enable Set and reset by software. GPIOFEN: u1, - /// GPIOG peripheral clock enable Set and reset by software. + /// GPIOG peripheral clock enable Set and reset by software. GPIOGEN: u1, - /// GPIOH peripheral clock enable Set and reset by software. + /// GPIOH peripheral clock enable Set and reset by software. GPIOHEN: u1, reserved12: u4, - /// GPIOM peripheral clock enable Set and reset by software. + /// GPIOM peripheral clock enable Set and reset by software. GPIOMEN: u1, - /// GPION peripheral clock enable Set and reset by software. + /// GPION peripheral clock enable Set and reset by software. GPIONEN: u1, - /// GPIOO peripheral clock enable Set and reset by software. + /// GPIOO peripheral clock enable Set and reset by software. GPIOOEN: u1, - /// GPIOP peripheral clock enable Set and reset by software. + /// GPIOP peripheral clock enable Set and reset by software. GPIOPEN: u1, reserved19: u3, - /// CRC clock enable Set and reset by software. + /// CRC clock enable Set and reset by software. CRCEN: u1, reserved28: u8, - /// Backup RAM clock enable Set and reset by software. + /// Backup RAM clock enable Set and reset by software. BKPRAMEN: u1, padding: u3, }), - /// RCC APB5 clock enable register. + /// RCC APB5 clock enable register. APB5ENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// LTDC peripheral clock enable Provides the pixel clock (ltdc_clk) to the LTDC block. Set and reset by software. + /// LTDC peripheral clock enable Provides the pixel clock (ltdc_clk) to the LTDC block. Set and reset by software. LTDCEN: u1, - /// DCMIPP peripheral clock enable Set and reset by software. + /// DCMIPP peripheral clock enable Set and reset by software. DCMIPPEN: u1, reserved4: u1, - /// GFXTIM peripheral clock enable Set and reset by software. + /// GFXTIM peripheral clock enable Set and reset by software. GFXTIMEN: u1, padding: u27, }), - /// RCC APB1 clock enable register 1. + /// RCC APB1 clock enable register 1. APB1ENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 peripheral clock enable Set and reset by software. + /// TIM2 peripheral clock enable Set and reset by software. TIM2EN: u1, - /// TIM3 peripheral clock enable Set and reset by software. + /// TIM3 peripheral clock enable Set and reset by software. TIM3EN: u1, - /// TIM4 peripheral clock enable Set and reset by software. + /// TIM4 peripheral clock enable Set and reset by software. TIM4EN: u1, - /// TIM5 peripheral clock enable Set and reset by software. + /// TIM5 peripheral clock enable Set and reset by software. TIM5EN: u1, - /// TIM6 peripheral clock enable Set and reset by software. + /// TIM6 peripheral clock enable Set and reset by software. TIM6EN: u1, - /// TIM7 peripheral clock enable Set and reset by software. + /// TIM7 peripheral clock enable Set and reset by software. TIM7EN: u1, - /// TIM12 peripheral clock enable Set and reset by software. + /// TIM12 peripheral clock enable Set and reset by software. TIM12EN: u1, - /// TIM13 peripheral clock enable Set and reset by software. + /// TIM13 peripheral clock enable Set and reset by software. TIM13EN: u1, - /// TIM14 peripheral clock enable Set and reset by software. + /// TIM14 peripheral clock enable Set and reset by software. TIM14EN: u1, - /// LPTIM1 peripheral clocks enable Set and reset by software. The peripheral clocks of the LPTIM1 are the kernel clock selected by LPTIM1SEL and provided to clk_lpt input, and the rcc_pclk1 bus interface clock. + /// LPTIM1 peripheral clocks enable Set and reset by software. The peripheral clocks of the LPTIM1 are the kernel clock selected by LPTIM1SEL and provided to clk_lpt input, and the rcc_pclk1 bus interface clock. LPTIM1EN: u1, reserved11: u1, - /// WWDG clock enable Set by software, and reset by hardware when a system reset occurs. + /// WWDG clock enable Set by software, and reset by hardware when a system reset occurs. WWDGEN: u1, reserved14: u2, - /// SPI2 peripheral clocks enable Set and reset by software. The peripheral clocks of the SPI2 are the kernel clock selected by I2S123SRC and provided to com_clk input, and the rcc_pclk1 bus interface clock. + /// SPI2 peripheral clocks enable Set and reset by software. The peripheral clocks of the SPI2 are the kernel clock selected by I2S123SRC and provided to com_clk input, and the rcc_pclk1 bus interface clock. SPI2EN: u1, - /// SPI3 peripheral clocks enable Set and reset by software. The peripheral clocks of the SPI3 are the kernel clock selected by I2S123SRC and provided to com_clk input, and the rcc_pclk1 bus interface clock. + /// SPI3 peripheral clocks enable Set and reset by software. The peripheral clocks of the SPI3 are the kernel clock selected by I2S123SRC and provided to com_clk input, and the rcc_pclk1 bus interface clock. SPI3EN: u1, - /// SPDIFRX peripheral clocks enable Set and reset by software. The peripheral clocks of the SPDIFRX are the kernel clock selected by SPDIFRXSEL and provided to SPDIFRX_CLK input, and the rcc_pclk1 bus interface clock. + /// SPDIFRX peripheral clocks enable Set and reset by software. The peripheral clocks of the SPDIFRX are the kernel clock selected by SPDIFRXSEL and provided to SPDIFRX_CLK input, and the rcc_pclk1 bus interface clock. SPDIFRXEN: u1, - /// USART2peripheral clocks enable Set and reset by software. The peripheral clocks of the USART2 are the kernel clock selected by USART234578SEL and provided to UCLK input, and the rcc_pclk1 bus interface clock. + /// USART2peripheral clocks enable Set and reset by software. The peripheral clocks of the USART2 are the kernel clock selected by USART234578SEL and provided to UCLK input, and the rcc_pclk1 bus interface clock. USART2EN: u1, - /// USART3 peripheral clocks enable Set and reset by software. The peripheral clocks of the USART3 are the kernel clock selected by USART234578SEL and provided to UCLK input, and the rcc_pclk1 bus interface clock. + /// USART3 peripheral clocks enable Set and reset by software. The peripheral clocks of the USART3 are the kernel clock selected by USART234578SEL and provided to UCLK input, and the rcc_pclk1 bus interface clock. USART3EN: u1, - /// UART4 peripheral clocks enable Set and reset by software. The peripheral clocks of the UART4 are the kernel clock selected by USART234578SEL and provided to UCLK input, and the rcc_pclk1 bus interface clock. + /// UART4 peripheral clocks enable Set and reset by software. The peripheral clocks of the UART4 are the kernel clock selected by USART234578SEL and provided to UCLK input, and the rcc_pclk1 bus interface clock. UART4EN: u1, - /// UART5 peripheral clocks enable Set and reset by software. + /// UART5 peripheral clocks enable Set and reset by software. UART5EN: u1, - /// I2C1/I3C1 peripheral clocks enable Set and reset by software. + /// I2C1/I3C1 peripheral clocks enable Set and reset by software. I2C1_I3C1EN: u1, - /// I2C2 peripheral clocks enable Set and reset by software. + /// I2C2 peripheral clocks enable Set and reset by software. I2C2EN: u1, - /// I2C3 peripheral clocks enable Set and reset by software. + /// I2C3 peripheral clocks enable Set and reset by software. I2C3EN: u1, reserved27: u3, - /// HDMI-CEC peripheral clock enable Set and reset by software. + /// HDMI-CEC peripheral clock enable Set and reset by software. CECEN: u1, reserved30: u2, - /// UART7 peripheral clocks enable Set and reset by software. + /// UART7 peripheral clocks enable Set and reset by software. UART7EN: u1, - /// UART8 peripheral clocks enable Set and reset by software. + /// UART8 peripheral clocks enable Set and reset by software. UART8EN: u1, }), - /// RCC APB1 clock enable register 2. + /// RCC APB1 clock enable register 2. APB1ENR2: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// clock recovery system peripheral clock enable Set and reset by software. + /// clock recovery system peripheral clock enable Set and reset by software. CRSEN: u1, reserved5: u3, - /// MDIOS peripheral clock enable Set and reset by software. + /// MDIOS peripheral clock enable Set and reset by software. MDIOSEN: u1, reserved8: u2, - /// FDCAN peripheral clock enable Set and reset by software. + /// FDCAN peripheral clock enable Set and reset by software. FDCANEN: u1, reserved27: u18, - /// UCPD peripheral clock enable Set and reset by software. + /// UCPD peripheral clock enable Set and reset by software. UCPDEN: u1, padding: u4, }), - /// RCC APB2 clock enable register. + /// RCC APB2 clock enable register. APB2ENR: mmio.Mmio(packed struct(u32) { - /// TIM1 peripheral clock enable Set and reset by software. + /// TIM1 peripheral clock enable Set and reset by software. TIM1EN: u1, reserved4: u3, - /// USART1 peripheral clocks enable Set and reset by software. The peripheral clocks of the USART1 are the kernel clock selected by USART1SEL, and the pclk2 bus interface clock. + /// USART1 peripheral clocks enable Set and reset by software. The peripheral clocks of the USART1 are the kernel clock selected by USART1SEL, and the pclk2 bus interface clock. USART1EN: u1, reserved12: u7, - /// SPI2S1 Peripheral Clocks Enable Set and reset by software. The peripheral clocks of the SPI2S1 are: the kernel clock selected by SPI1SEL, and the pclk2 bus interface clock. + /// SPI2S1 Peripheral Clocks Enable Set and reset by software. The peripheral clocks of the SPI2S1 are: the kernel clock selected by SPI1SEL, and the pclk2 bus interface clock. SPI1EN: u1, - /// SPI4 Peripheral Clocks Enable Set and reset by software. The peripheral clocks of the SPI4 are: the kernel clock selected by SPI45SEL, and the pclk2 bus interface clock. + /// SPI4 Peripheral Clocks Enable Set and reset by software. The peripheral clocks of the SPI4 are: the kernel clock selected by SPI45SEL, and the pclk2 bus interface clock. SPI4EN: u1, reserved16: u2, - /// TIM15 peripheral clock enable Set and reset by software. + /// TIM15 peripheral clock enable Set and reset by software. TIM15EN: u1, - /// TIM16 peripheral clock enable Set and reset by software. + /// TIM16 peripheral clock enable Set and reset by software. TIM16EN: u1, - /// TIM17 peripheral clock enable Set and reset by software. + /// TIM17 peripheral clock enable Set and reset by software. TIM17EN: u1, - /// TIM9 peripheral clock enable Set and reset by software. + /// TIM9 peripheral clock enable Set and reset by software. TIM9EN: u1, - /// SPI5 peripheral clocks enable Set and reset by software. The peripheral clocks of the SPI5 are the kernel clock selected by SPI45SEL, and the pclk2 bus interface clock. + /// SPI5 peripheral clocks enable Set and reset by software. The peripheral clocks of the SPI5 are the kernel clock selected by SPI45SEL, and the pclk2 bus interface clock. SPI5EN: u1, reserved22: u1, - /// SAI1 peripheral clocks enable Set and reset by software. The peripheral clocks of the SAI1 are the kernel clock selected by SAI1SEL, and the pclk2 bus interface clock. + /// SAI1 peripheral clocks enable Set and reset by software. The peripheral clocks of the SAI1 are the kernel clock selected by SAI1SEL, and the pclk2 bus interface clock. SAI1EN: u1, - /// SAI2 peripheral clocks enable Set and reset by software. The peripheral clocks of the SAI2 are the kernel clock selected by SAI2SEL, and the pclk2 bus interface clock. + /// SAI2 peripheral clocks enable Set and reset by software. The peripheral clocks of the SAI2 are the kernel clock selected by SAI2SEL, and the pclk2 bus interface clock. SAI2EN: u1, padding: u8, }), - /// RCC APB4 clock enable register. + /// RCC APB4 clock enable register. APB4ENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SBS peripheral clock enable Set and reset by software. + /// SBS peripheral clock enable Set and reset by software. SYSCFGEN: u1, reserved3: u1, - /// LPUART1 peripheral clocks enable Set and reset by software. The peripheral clocks of the LPUART1 are the kernel clock selected by LPUART1SEL and provided to UCLK input, and the pclk4 bus interface clock. + /// LPUART1 peripheral clocks enable Set and reset by software. The peripheral clocks of the LPUART1 are the kernel clock selected by LPUART1SEL and provided to UCLK input, and the pclk4 bus interface clock. LPUART1EN: u1, reserved5: u1, - /// SPI/I2S6 peripheral clocks enable Set and reset by software. The peripheral clocks of the SPI/I2S6 are the kernel clock selected by SPI6SEL and provided to com_clk input, and the pclk4 bus interface clock. + /// SPI/I2S6 peripheral clocks enable Set and reset by software. The peripheral clocks of the SPI/I2S6 are the kernel clock selected by SPI6SEL and provided to com_clk input, and the pclk4 bus interface clock. SPI6EN: u1, reserved9: u3, - /// LPTIM2 peripheral clocks enable Set and reset by software. The LPTIM2 kernel clock can be selected by LPTIM23SEL. + /// LPTIM2 peripheral clocks enable Set and reset by software. The LPTIM2 kernel clock can be selected by LPTIM23SEL. LPTIM2EN: u1, - /// LPTIM3 peripheral clocks enable Set and reset by software. The LPTIM3 kernel clock can be selected by LPTIM23SEL. + /// LPTIM3 peripheral clocks enable Set and reset by software. The LPTIM3 kernel clock can be selected by LPTIM23SEL. LPTIM3EN: u1, - /// LPTIM4 peripheral clocks enable Set and reset by software. The LPTIM4 kernel clock can be selected by LPTIM45SEL. + /// LPTIM4 peripheral clocks enable Set and reset by software. The LPTIM4 kernel clock can be selected by LPTIM45SEL. LPTIM4EN: u1, - /// LPTIM5 peripheral clocks enable Set and reset by software. The LPTIM5 kernel clock can be selected by LPTIM45SEL. + /// LPTIM5 peripheral clocks enable Set and reset by software. The LPTIM5 kernel clock can be selected by LPTIM45SEL. LPTIM5EN: u1, reserved15: u2, - /// VREF peripheral clock enable Set and reset by software. + /// VREF peripheral clock enable Set and reset by software. VREFEN: u1, - /// RTC APB clock enable Set and reset by software. + /// RTC APB clock enable Set and reset by software. RTCAPBEN: u1, reserved26: u9, - /// Temperature Sensor peripheral clock enable Set and reset by software. + /// Temperature Sensor peripheral clock enable Set and reset by software. TMPSENSEN: u1, padding: u5, }), - /// RCC AHB3 clock enable register. + /// RCC AHB3 clock enable register. AHB3ENR: mmio.Mmio(packed struct(u32) { - /// RNG peripheral clocks enable Set and reset by software. + /// RNG peripheral clocks enable Set and reset by software. RNGEN: u1, - /// HASH peripheral clock enable Set and reset by software. + /// HASH peripheral clock enable Set and reset by software. HASHEN: u1, - /// CRYP peripheral clock enable Set and reset by software. + /// CRYP peripheral clock enable Set and reset by software. CRYPEN: u1, reserved4: u1, - /// SAES peripheral clock enable Set and reset by software. This bit controls the enable of the clock delivered to the SAES. + /// SAES peripheral clock enable Set and reset by software. This bit controls the enable of the clock delivered to the SAES. SAESEN: u1, reserved6: u1, - /// PKA peripheral clock enable Set and reset by software. + /// PKA peripheral clock enable Set and reset by software. PKAEN: u1, padding: u25, }), - /// RCC AHB5 low-power clock enable register. + /// RCC AHB5 low-power clock enable register. AHB5LPENR: mmio.Mmio(packed struct(u32) { - /// HPDMA1 low-power peripheral clock enable Set and reset by software. + /// HPDMA1 low-power peripheral clock enable Set and reset by software. HPDMA1LPEN: u1, - /// DMA2D low-power peripheral clock enable Set and reset by software. + /// DMA2D low-power peripheral clock enable Set and reset by software. DMA2DLPEN: u1, - /// FLITF low-power peripheral clock enable Set and reset by software. + /// FLITF low-power peripheral clock enable Set and reset by software. FLITFLPEN: u1, - /// JPEG clock enable during Sleep mode Set and reset by software. + /// JPEG clock enable during Sleep mode Set and reset by software. JPEGLPEN: u1, - /// FMC and MCE3 peripheral clocks enable during Sleep mode Set and reset by software. The hardware prevents writing this bit if FMCCKP = 1. The peripheral clocks of the FMC are the kernel clock selected by FMCSEL, and the hclk5 bus interface clock. + /// FMC and MCE3 peripheral clocks enable during Sleep mode Set and reset by software. The hardware prevents writing this bit if FMCCKP = 1. The peripheral clocks of the FMC are the kernel clock selected by FMCSEL, and the hclk5 bus interface clock. FMCLPEN: u1, - /// XSPI1 and MCE1 low-power peripheral clock enable Set and reset by software. The hardware prevents writing this bit if XSPICKP = 1. + /// XSPI1 and MCE1 low-power peripheral clock enable Set and reset by software. The hardware prevents writing this bit if XSPICKP = 1. XSPI1LPEN: u1, reserved8: u2, - /// SDMMC1 and SDMMC1 delay low-power peripheral clock enable Set and reset by software. + /// SDMMC1 and SDMMC1 delay low-power peripheral clock enable Set and reset by software. SDMMC1LPEN: u1, reserved12: u3, - /// XSPI2 and MCE2 low-power peripheral clock enable Set and reset by software. The hardware prevents writing this bit if XSPICKP = 1. + /// XSPI2 and MCE2 low-power peripheral clock enable Set and reset by software. The hardware prevents writing this bit if XSPICKP = 1. XSPI2LPEN: u1, reserved14: u1, - /// XSPIM low-power peripheral clock enable Set and reset by software. + /// XSPIM low-power peripheral clock enable Set and reset by software. XSPIMLPEN: u1, reserved19: u4, - /// GFXMMU low-power peripheral clock enable Set and reset by software. + /// GFXMMU low-power peripheral clock enable Set and reset by software. GFXMMULPEN: u1, - /// GPU low-power peripheral clock enable Set and reset by software. + /// GPU low-power peripheral clock enable Set and reset by software. GPULPEN: u1, reserved28: u7, - /// DTCM1 low-power peripheral clock enable Set and reset by software. + /// DTCM1 low-power peripheral clock enable Set and reset by software. DTCM1LPEN: u1, - /// DTCM2 low-power peripheral clock enable Set and reset by software. + /// DTCM2 low-power peripheral clock enable Set and reset by software. DTCM2LPEN: u1, - /// ITCM low-power peripheral clock enable Set and reset by software. + /// ITCM low-power peripheral clock enable Set and reset by software. ITCMLPEN: u1, - /// AXISRAM[4:1] low-power peripheral clock enable Set and reset by software. + /// AXISRAM[4:1] low-power peripheral clock enable Set and reset by software. AXISRAMLPEN: u1, }), - /// RCC AHB1 low-power clock enable register. + /// RCC AHB1 low-power clock enable register. AHB1LPENR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// GPDMA1 clock enable in low-power mode Set and reset by software. + /// GPDMA1 clock enable in low-power mode Set and reset by software. GPDMA1LPEN: u1, - /// ADC1 and 2 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the ADC1 and 2 are the kernel clock selected by ADCSEL and provided to ADCx_CK input, and the rcc_hclk1 bus interface clock. + /// ADC1 and 2 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the ADC1 and 2 are the kernel clock selected by ADCSEL and provided to ADCx_CK input, and the rcc_hclk1 bus interface clock. ADC12LPEN: u1, reserved15: u9, - /// ETH1 MAC peripheral clock enable in low-power mode Set and reset by software. + /// ETH1 MAC peripheral clock enable in low-power mode Set and reset by software. ETHLPEN: u1, - /// ETH1 transmission peripheral clock enable in low-power mode Set and reset by software. + /// ETH1 transmission peripheral clock enable in low-power mode Set and reset by software. ETHTXLPEN: u1, - /// ETH1 reception peripheral clock enable in low-power mode Set and reset by software. + /// ETH1 reception peripheral clock enable in low-power mode Set and reset by software. ETHRXLPEN: u1, reserved24: u6, - /// USBPHYC common block power-down control Set and reset by software. - USBPDCTRL: packed union { - raw: u1, - value: USBPDCTRL, - }, - /// OTGHS peripheral clock enable in low-power mode Set and reset by software. + /// USBPHYC common block power-down control Set and reset by software. + USBPDCTRL: USBPDCTRL, + /// OTGHS peripheral clock enable in low-power mode Set and reset by software. USB_OTG_HSLPEN: u1, - /// USBPHYC peripheral clock enable in low-power mode Set and reset by software. + /// USBPHYC peripheral clock enable in low-power mode Set and reset by software. USBPHYCLPEN: u1, - /// OTGFS clock enable in low-power mode Set and reset by software. + /// OTGFS clock enable in low-power mode Set and reset by software. USB_OTG_FSLPEN: u1, reserved31: u3, - /// ADF clock enable in low-power mode Set and reset by software. + /// ADF clock enable in low-power mode Set and reset by software. ADFLPEN: u1, }), - /// RCC AHB2 low-power clock enable register. + /// RCC AHB2 low-power clock enable register. AHB2LPENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// PSSI peripheral clock enable in low-power mode Set and reset by software. + /// PSSI peripheral clock enable in low-power mode Set and reset by software. PSSILPEN: u1, reserved9: u7, - /// SDMMC2 and SDMMC2 delay clock enable in low-power mode Set and reset by software. + /// SDMMC2 and SDMMC2 delay clock enable in low-power mode Set and reset by software. SDMMC2LPEN: u1, reserved14: u4, - /// CORDIC clock enable in low-power mode Set and reset by software. + /// CORDIC clock enable in low-power mode Set and reset by software. CORDICLPEN: u1, reserved29: u14, - /// SRAM1 clock enable in low-power mode Set and reset by software. + /// SRAM1 clock enable in low-power mode Set and reset by software. SRAM1LPEN: u1, - /// SRAM2 clock enable in low-power mode Set and reset by software. + /// SRAM2 clock enable in low-power mode Set and reset by software. SRAM2LPEN: u1, padding: u1, }), - /// RCC AHB4 low-power clock enable register. + /// RCC AHB4 low-power clock enable register. AHB4LPENR: mmio.Mmio(packed struct(u32) { - /// GPIOA peripheral clock enable in low-power mode Set and reset by software. + /// GPIOA peripheral clock enable in low-power mode Set and reset by software. GPIOALPEN: u1, - /// GPIOB peripheral clock enable in low-power mode Set and reset by software. + /// GPIOB peripheral clock enable in low-power mode Set and reset by software. GPIOBLPEN: u1, - /// GPIOC peripheral clock enable in low-power mode Set and reset by software. + /// GPIOC peripheral clock enable in low-power mode Set and reset by software. GPIOCLPEN: u1, - /// GPIOD peripheral clock enable in low-power mode Set and reset by software. + /// GPIOD peripheral clock enable in low-power mode Set and reset by software. GPIODLPEN: u1, - /// GPIOE peripheral clock enable in low-power mode Set and reset by software. + /// GPIOE peripheral clock enable in low-power mode Set and reset by software. GPIOELPEN: u1, - /// GPIOF peripheral clock enable in low-power mode Set and reset by software. + /// GPIOF peripheral clock enable in low-power mode Set and reset by software. GPIOFLPEN: u1, - /// GPIOG peripheral clock enable in low-power mode Set and reset by software. + /// GPIOG peripheral clock enable in low-power mode Set and reset by software. GPIOGLPEN: u1, - /// GPIOH peripheral clock enable in low-power mode Set and reset by software. + /// GPIOH peripheral clock enable in low-power mode Set and reset by software. GPIOHLPEN: u1, reserved12: u4, - /// GPIOM peripheral clock enable in low-power mode Set and reset by software. + /// GPIOM peripheral clock enable in low-power mode Set and reset by software. GPIOMLPEN: u1, - /// GPION peripheral clock enable in low-power mode Set and reset by software. + /// GPION peripheral clock enable in low-power mode Set and reset by software. GPIONLPEN: u1, - /// GPIOO peripheral clock enable in low-power mode Set and reset by software. + /// GPIOO peripheral clock enable in low-power mode Set and reset by software. GPIOOLPEN: u1, - /// GPIOP peripheral clock enable in low-power mode Set and reset by software. + /// GPIOP peripheral clock enable in low-power mode Set and reset by software. GPIOPLPEN: u1, reserved19: u3, - /// CRC clock enable in low-power mode Set and reset by software. + /// CRC clock enable in low-power mode Set and reset by software. CRCLPEN: u1, reserved28: u8, - /// Backup RAM clock enable in low-power mode Set and reset by software. + /// Backup RAM clock enable in low-power mode Set and reset by software. BKPRAMLPEN: u1, padding: u3, }), - /// RCC AHB3 low-power clock enable register. + /// RCC AHB3 low-power clock enable register. AHB3LPENR: mmio.Mmio(packed struct(u32) { - /// RNG peripheral clock enable in low-power mode Set and reset by software. + /// RNG peripheral clock enable in low-power mode Set and reset by software. RNGLPEN: u1, - /// HASH peripheral clock enable in low-power mode Set and reset by software. + /// HASH peripheral clock enable in low-power mode Set and reset by software. HASHLPEN: u1, - /// CRYP peripheral clock enable in low-power mode Set and reset by software. + /// CRYP peripheral clock enable in low-power mode Set and reset by software. CRYPLPEN: u1, reserved4: u1, - /// SAES peripheral clock enable in low-power mode Set and reset by software. + /// SAES peripheral clock enable in low-power mode Set and reset by software. SAESLPEN: u1, reserved6: u1, - /// PKA peripheral clock enable in low-power mode Set and reset by software. + /// PKA peripheral clock enable in low-power mode Set and reset by software. PKALPEN: u1, padding: u25, }), - /// RCC APB1 low-power clock enable register 1. + /// RCC APB1 low-power clock enable register 1. APB1LPENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 peripheral clock enable in low-power mode Set and reset by software. + /// TIM2 peripheral clock enable in low-power mode Set and reset by software. TIM2LPEN: u1, - /// TIM3 peripheral clock enable in low-power mode Set and reset by software. + /// TIM3 peripheral clock enable in low-power mode Set and reset by software. TIM3LPEN: u1, - /// TIM4 peripheral clock enable in low-power mode Set and reset by software. + /// TIM4 peripheral clock enable in low-power mode Set and reset by software. TIM4LPEN: u1, - /// TIM5 peripheral clock enable in low-power mode Set and reset by software. + /// TIM5 peripheral clock enable in low-power mode Set and reset by software. TIM5LPEN: u1, - /// TIM6 peripheral clock enable in low-power mode Set and reset by software. + /// TIM6 peripheral clock enable in low-power mode Set and reset by software. TIM6LPEN: u1, - /// TIM7 peripheral clock enable in low-power mode Set and reset by software. + /// TIM7 peripheral clock enable in low-power mode Set and reset by software. TIM7LPEN: u1, - /// TIM12 peripheral clock enable in low-power mode Set and reset by software. + /// TIM12 peripheral clock enable in low-power mode Set and reset by software. TIM12LPEN: u1, - /// TIM13 peripheral clock enable in low-power mode Set and reset by software. + /// TIM13 peripheral clock enable in low-power mode Set and reset by software. TIM13LPEN: u1, - /// TIM14 peripheral clock enable in low-power mode Set and reset by software. + /// TIM14 peripheral clock enable in low-power mode Set and reset by software. TIM14LPEN: u1, - /// LPTIM1 peripheral clocks enable in low-power mode Set and reset by software. + /// LPTIM1 peripheral clocks enable in low-power mode Set and reset by software. LPTIM1LPEN: u1, reserved11: u1, - /// WWDG clock enable in low-power mode Set and reset by software. + /// WWDG clock enable in low-power mode Set and reset by software. WWDGLPEN: u1, reserved14: u2, - /// SPI2 peripheral clocks enable in low-power mode Set and reset by software. + /// SPI2 peripheral clocks enable in low-power mode Set and reset by software. SPI2LPEN: u1, - /// SPI3 peripheral clocks enable in low-power mode Set and reset by software. + /// SPI3 peripheral clocks enable in low-power mode Set and reset by software. SPI3LPEN: u1, - /// SPDIFRX peripheral clocks enable in low-power mode Set and reset by software. + /// SPDIFRX peripheral clocks enable in low-power mode Set and reset by software. SPDIFRXLPEN: u1, - /// USART2 peripheral clocks enable in low-power mode Set and reset by software. + /// USART2 peripheral clocks enable in low-power mode Set and reset by software. USART2LPEN: u1, - /// USART3 peripheral clocks enable in low-power mode Set and reset by software. + /// USART3 peripheral clocks enable in low-power mode Set and reset by software. USART3LPEN: u1, - /// UART4 peripheral clocks enable in low-power mode Set and reset by software. + /// UART4 peripheral clocks enable in low-power mode Set and reset by software. UART4LPEN: u1, - /// UART5 peripheral clocks enable in low-power mode Set and reset by software. + /// UART5 peripheral clocks enable in low-power mode Set and reset by software. UART5LPEN: u1, - /// I2C1/I3C1 peripheral clocks enable in low-power mode Set and reset by software. + /// I2C1/I3C1 peripheral clocks enable in low-power mode Set and reset by software. I2C1_I3C1LPEN: u1, - /// I2C2 peripheral clocks enable in low-power mode Set and reset by software. + /// I2C2 peripheral clocks enable in low-power mode Set and reset by software. I2C2LPEN: u1, - /// I2C3 peripheral clocks enable in low-power mode Set and reset by software. + /// I2C3 peripheral clocks enable in low-power mode Set and reset by software. I2C3LPEN: u1, reserved27: u3, - /// HDMI-CEC peripheral clocks enable in low-power mode Set and reset by software. + /// HDMI-CEC peripheral clocks enable in low-power mode Set and reset by software. CECLPEN: u1, reserved30: u2, - /// UART7 peripheral clocks enable in low-power mode Set and reset by software. + /// UART7 peripheral clocks enable in low-power mode Set and reset by software. UART7LPEN: u1, - /// UART8 peripheral clocks enable in low-power mode Set and reset by software. + /// UART8 peripheral clocks enable in low-power mode Set and reset by software. UART8LPEN: u1, }), - /// RCC APB1 low-power clock enable register 2. + /// RCC APB1 low-power clock enable register 2. APB1LPENR2: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// clock recovery system peripheral clock enable in low-power mode Set and reset by software. + /// clock recovery system peripheral clock enable in low-power mode Set and reset by software. CRSLPEN: u1, reserved5: u3, - /// MDIOS peripheral clock enable in low-power mode Set and reset by software. + /// MDIOS peripheral clock enable in low-power mode Set and reset by software. MDIOSLPEN: u1, reserved8: u2, - /// FDCAN peripheral clock enable in low-power mode Set and reset by software. + /// FDCAN peripheral clock enable in low-power mode Set and reset by software. FDCANLPEN: u1, reserved27: u18, - /// UCPD peripheral clock enable in low-power mode Set and reset by software. + /// UCPD peripheral clock enable in low-power mode Set and reset by software. UCPDLPEN: u1, padding: u4, }), - /// RCC APB2 low-power clock enable register. + /// RCC APB2 low-power clock enable register. APB2LPENR: mmio.Mmio(packed struct(u32) { - /// TIM1 peripheral clock enable in low-power mode Set and reset by software. + /// TIM1 peripheral clock enable in low-power mode Set and reset by software. TIM1LPEN: u1, reserved4: u3, - /// USART1 peripheral clock enable in low-power mode Set and reset by software. The peripheral clocks of the USART1 are the kernel clock selected by USART169SEL and provided to UCLK inputs, and the pclk2 bus interface clock. + /// USART1 peripheral clock enable in low-power mode Set and reset by software. The peripheral clocks of the USART1 are the kernel clock selected by USART169SEL and provided to UCLK inputs, and the pclk2 bus interface clock. USART1LPEN: u1, reserved12: u7, - /// SPI2S1 peripheral clock enable in low-power mode Set and reset by software. The peripheral clocks of the SPI2S1 are: the kernel clock selected by I2S1SEL and provided to spi_ker_ck input, and the pclk2 bus interface clock. + /// SPI2S1 peripheral clock enable in low-power mode Set and reset by software. The peripheral clocks of the SPI2S1 are: the kernel clock selected by I2S1SEL and provided to spi_ker_ck input, and the pclk2 bus interface clock. SPI1LPEN: u1, - /// SPI4 peripheral clock enable in low-power mode Set and reset by software. The peripheral clocks of the SPI4 are: the kernel clock selected by SPI45SEL and provided to com_clk input, and the pclk2 bus interface clock. + /// SPI4 peripheral clock enable in low-power mode Set and reset by software. The peripheral clocks of the SPI4 are: the kernel clock selected by SPI45SEL and provided to com_clk input, and the pclk2 bus interface clock. SPI4LPEN: u1, reserved16: u2, - /// TIM15 peripheral clock enable in low-power mode Set and reset by software. + /// TIM15 peripheral clock enable in low-power mode Set and reset by software. TIM15LPEN: u1, - /// TIM16 peripheral clock enable in low-power mode Set and reset by software. + /// TIM16 peripheral clock enable in low-power mode Set and reset by software. TIM16LPEN: u1, - /// TIM17 peripheral clock enable in low-power mode Set and reset by software. + /// TIM17 peripheral clock enable in low-power mode Set and reset by software. TIM17LPEN: u1, - /// TIM9 peripheral clock enable in low-power mode Set and reset by software. + /// TIM9 peripheral clock enable in low-power mode Set and reset by software. TIM9LPEN: u1, - /// SPI5 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the SPI5 are the kernel clock selected by SPI45SEL and provided to com_clk input, and the pclk2 bus interface clock. + /// SPI5 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the SPI5 are the kernel clock selected by SPI45SEL and provided to com_clk input, and the pclk2 bus interface clock. SPI5LPEN: u1, reserved22: u1, - /// SAI1 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the SAI1 are: the kernel clock selected by SAI1SEL and provided to SAI_CK_A and SAI_CK_B inputs, and the pclk2 bus interface clock. + /// SAI1 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the SAI1 are: the kernel clock selected by SAI1SEL and provided to SAI_CK_A and SAI_CK_B inputs, and the pclk2 bus interface clock. SAI1LPEN: u1, - /// SAI2 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the SAI2 are: the kernel clock selected by SAI2SEL and provided to SAI_CK_A and SAI_CK_B inputs, and the pclk2 bus interface clock. + /// SAI2 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the SAI2 are: the kernel clock selected by SAI2SEL and provided to SAI_CK_A and SAI_CK_B inputs, and the pclk2 bus interface clock. SAI2LPEN: u1, padding: u8, }), - /// RCC APB4 low-power clock enable register. + /// RCC APB4 low-power clock enable register. APB4LPENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SBS peripheral clock enable in low-power mode Set and reset by software. + /// SBS peripheral clock enable in low-power mode Set and reset by software. SYSCFGLPEN: u1, reserved3: u1, - /// LPUART1 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the LPUART1 are the kernel clock selected by LPUART1SEL and provided to UCLK input, and the rcc_pclk4 bus interface clock. + /// LPUART1 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the LPUART1 are the kernel clock selected by LPUART1SEL and provided to UCLK input, and the rcc_pclk4 bus interface clock. LPUART1LPEN: u1, reserved5: u1, - /// SPI/I2S6 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the SPI/I2S6 are the kernel clock selected by SPI6SEL and provided to com_ck input, and the rcc_pclk4 bus interface clock. + /// SPI/I2S6 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the SPI/I2S6 are the kernel clock selected by SPI6SEL and provided to com_ck input, and the rcc_pclk4 bus interface clock. SPI6LPEN: u1, reserved9: u3, - /// LPTIM2 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the LPTIM2 are the kernel clock selected by LPTIM23SEL and provided to clk_lpt input, and the pclk4 bus interface clock. + /// LPTIM2 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the LPTIM2 are the kernel clock selected by LPTIM23SEL and provided to clk_lpt input, and the pclk4 bus interface clock. LPTIM2LPEN: u1, - /// LPTIM3 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the LPTIM3 are the kernel clock selected by LPTIM23SEL and provided to clk_lpt input, and the pclk4 bus interface clock. + /// LPTIM3 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the LPTIM3 are the kernel clock selected by LPTIM23SEL and provided to clk_lpt input, and the pclk4 bus interface clock. LPTIM3LPEN: u1, - /// LPTIM4 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the LPTIM4 are the kernel clock selected by LPTIM45SEL and provided to clk_lpt input, and the pclk4 bus interface clock. + /// LPTIM4 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the LPTIM4 are the kernel clock selected by LPTIM45SEL and provided to clk_lpt input, and the pclk4 bus interface clock. LPTIM4LPEN: u1, - /// LPTIM5 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the LPTIM5 are the kernel clock selected by LPTIM45SEL and provided to clk_lpt input, and the pclk4 bus interface clock. + /// LPTIM5 peripheral clocks enable in low-power mode Set and reset by software. The peripheral clocks of the LPTIM5 are the kernel clock selected by LPTIM45SEL and provided to clk_lpt input, and the pclk4 bus interface clock. LPTIM5LPEN: u1, reserved15: u2, - /// VREF peripheral clock enable in low-power mode Set and reset by software. + /// VREF peripheral clock enable in low-power mode Set and reset by software. VREFLPEN: u1, - /// RTC APB clock enable in low-power mode Set and reset by software. + /// RTC APB clock enable in low-power mode Set and reset by software. RTCAPBLPEN: u1, reserved26: u9, - /// temperature sensor peripheral clock enable in low-power mode Set and reset by software. + /// temperature sensor peripheral clock enable in low-power mode Set and reset by software. TMPSENSLPEN: u1, padding: u5, }), - /// RCC APB5 sleep clock register. + /// RCC APB5 sleep clock register. APB5LPENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// LTDC peripheral clock enable in low-power mode Set and reset by software. + /// LTDC peripheral clock enable in low-power mode Set and reset by software. LTDCLPEN: u1, - /// DCMIPP peripheral clock enable in low-power mode Set and reset by software. + /// DCMIPP peripheral clock enable in low-power mode Set and reset by software. DCMIPPLPEN: u1, reserved4: u1, - /// GFXTIM peripheral clock enable in low-power mode Set and reset by software. + /// GFXTIM peripheral clock enable in low-power mode Set and reset by software. GFXTIMLPEN: u1, padding: u27, }), @@ -398074,816 +391099,753 @@ pub const types = struct { pub const rcc_l0 = struct { pub const HPRE = enum(u4) { - /// system clock not divided + /// system clock not divided Div1 = 0x0, - /// system clock divided by 2 + /// system clock divided by 2 Div2 = 0x8, - /// system clock divided by 4 + /// system clock divided by 4 Div4 = 0x9, - /// system clock divided by 8 + /// system clock divided by 8 Div8 = 0xa, - /// system clock divided by 16 + /// system clock divided by 16 Div16 = 0xb, - /// system clock divided by 64 + /// system clock divided by 64 Div64 = 0xc, - /// system clock divided by 128 + /// system clock divided by 128 Div128 = 0xd, - /// system clock divided by 256 + /// system clock divided by 256 Div256 = 0xe, - /// system clock divided by 512 + /// system clock divided by 512 Div512 = 0xf, _, }; pub const I2CSEL = enum(u2) { - /// APB clock selected as peripheral clock + /// APB clock selected as peripheral clock PCLK1 = 0x0, - /// System clock selected as peripheral clock + /// System clock selected as peripheral clock SYS = 0x1, - /// HSI clock selected as peripheral clock + /// HSI clock selected as peripheral clock HSI = 0x2, _, }; pub const LPTIMSEL = enum(u2) { - /// APB clock selected as Timer clock + /// APB clock selected as Timer clock PCLK1 = 0x0, - /// LSI clock selected as Timer clock + /// LSI clock selected as Timer clock LSI = 0x1, - /// HSI clock selected as Timer clock + /// HSI clock selected as Timer clock HSI = 0x2, - /// LSE clock selected as Timer clock + /// LSE clock selected as Timer clock LSE = 0x3, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u3) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x1, - /// Division by 4 + /// Division by 4 Div4 = 0x2, - /// Division by 8 + /// Division by 8 Div8 = 0x3, - /// Division by 16 + /// Division by 16 Div16 = 0x4, _, }; pub const MCOSEL = enum(u4) { - /// No clock + /// No clock DISABLE = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI oscillator clock selected + /// HSI oscillator clock selected HSI = 0x2, - /// MSI oscillator clock selected + /// MSI oscillator clock selected MSI = 0x3, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x4, - /// PLL clock selected + /// PLL clock selected PLL = 0x5, - /// LSI oscillator clock selected + /// LSI oscillator clock selected LSI = 0x6, - /// LSE oscillator clock selected + /// LSE oscillator clock selected LSE = 0x7, _, }; pub const MSIRANGE = enum(u3) { - /// range 0 around 65.536 kHz + /// range 0 around 65.536 kHz Range66K = 0x0, - /// range 1 around 131.072 kHz + /// range 1 around 131.072 kHz Range131K = 0x1, - /// range 2 around 262.144 kHz + /// range 2 around 262.144 kHz Range262K = 0x2, - /// range 3 around 524.288 kHz + /// range 3 around 524.288 kHz Range524K = 0x3, - /// range 4 around 1.048 MHz + /// range 4 around 1.048 MHz Range1M = 0x4, - /// range 5 around 2.097 MHz (reset value) + /// range 5 around 2.097 MHz (reset value) Range2M = 0x5, - /// range 6 around 4.194 MHz + /// range 6 around 4.194 MHz Range4M = 0x6, _, }; pub const PLLDIV = enum(u2) { - /// PLLVCO / 2 + /// PLLVCO / 2 Div2 = 0x1, - /// PLLVCO / 3 + /// PLLVCO / 3 Div3 = 0x2, - /// PLLVCO / 4 + /// PLLVCO / 4 Div4 = 0x3, _, }; pub const PLLMUL = enum(u4) { - /// PLL clock entry x 3 + /// PLL clock entry x 3 Mul3 = 0x0, - /// PLL clock entry x 4 + /// PLL clock entry x 4 Mul4 = 0x1, - /// PLL clock entry x 6 + /// PLL clock entry x 6 Mul6 = 0x2, - /// PLL clock entry x 8 + /// PLL clock entry x 8 Mul8 = 0x3, - /// PLL clock entry x 12 + /// PLL clock entry x 12 Mul12 = 0x4, - /// PLL clock entry x 16 + /// PLL clock entry x 16 Mul16 = 0x5, - /// PLL clock entry x 24 + /// PLL clock entry x 24 Mul24 = 0x6, - /// PLL clock entry x 32 + /// PLL clock entry x 32 Mul32 = 0x7, - /// PLL clock entry x 48 + /// PLL clock entry x 48 Mul48 = 0x8, _, }; pub const PLLSRC = enum(u1) { - /// HSI selected as PLL input clock + /// HSI selected as PLL input clock HSI = 0x0, - /// HSE selected as PLL input clock + /// HSE selected as PLL input clock HSE = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const RTCPRE = enum(u2) { - /// HSE divided by 2 + /// HSE divided by 2 Div2 = 0x0, - /// HSE divided by 4 + /// HSE divided by 4 Div4 = 0x1, - /// HSE divided by 8 + /// HSE divided by 8 Div8 = 0x2, - /// HSE divided by 16 + /// HSE divided by 16 Div16 = 0x3, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a programmable prescaler (selection through the RTCPRE[1:0] bits in the RCC clock control register (RCC_CR)) used as the RTC clock + /// HSE oscillator clock divided by a programmable prescaler (selection through the RTCPRE[1:0] bits in the RCC clock control register (RCC_CR)) used as the RTC clock HSE = 0x3, }; pub const STOPWUCK = enum(u1) { - /// Internal 64 KHz to 4 MHz (MSI) oscillator selected as wake-up from Stop clock + /// Internal 64 KHz to 4 MHz (MSI) oscillator selected as wake-up from Stop clock MSI = 0x0, - /// Internal 16 MHz (HSI) oscillator selected as wake-up from Stop clock (or HSI/4 if HSIDIVEN=1) + /// Internal 16 MHz (HSI) oscillator selected as wake-up from Stop clock (or HSI/4 if HSIDIVEN=1) HSI = 0x1, }; pub const SW = enum(u2) { - /// MSI oscillator used as system clock + /// MSI oscillator used as system clock MSI = 0x0, - /// HSI oscillator used as system clock + /// HSI oscillator used as system clock HSI = 0x1, - /// HSE oscillator used as system clock + /// HSE oscillator used as system clock HSE = 0x2, - /// PLL used as system clock + /// PLL used as system clock PLL1_R = 0x3, }; pub const UARTSEL = enum(u2) { - /// APB clock selected as peripheral clock + /// APB clock selected as peripheral clock PCLK1 = 0x0, - /// System clock selected as peripheral clock + /// System clock selected as peripheral clock SYS = 0x1, - /// HSI clock selected as peripheral clock + /// HSI clock selected as peripheral clock HSI = 0x2, - /// LSE clock selected as peripheral clock + /// LSE clock selected as peripheral clock LSE = 0x3, }; pub const USART1SEL = enum(u2) { - /// APB clock selected as peripheral clock + /// APB clock selected as peripheral clock PCLK2 = 0x0, - /// System clock selected as peripheral clock + /// System clock selected as peripheral clock SYS = 0x1, - /// HSI clock selected as peripheral clock + /// HSI clock selected as peripheral clock HSI = 0x2, - /// LSE clock selected as peripheral clock + /// LSE clock selected as peripheral clock LSE = 0x3, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// 16 MHz high-speed internal clock enable + /// 16 MHz high-speed internal clock enable HSION: u1, - /// High-speed internal clock enable bit for some IP kernels + /// High-speed internal clock enable bit for some IP kernels HSIKERON: u1, - /// Internal high-speed clock ready flag + /// Internal high-speed clock ready flag HSIRDY: u1, - /// HSIDIVEN + /// HSIDIVEN HSIDIVEN: u1, - /// HSIDIVF + /// HSIDIVF HSIDIVF: u1, - /// 16 MHz high-speed internal clock output enable + /// 16 MHz high-speed internal clock output enable HSIOUTEN: u1, reserved8: u2, - /// MSI clock enable + /// MSI clock enable MSION: u1, - /// MSI clock ready flag + /// MSI clock ready flag MSIRDY: u1, reserved16: u6, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE clock bypass + /// HSE clock bypass HSEBYP: u1, - /// Clock security system on HSE enable + /// Clock security system on HSE enable CSSHSEON: u1, - /// TC/LCD prescaler - RTCPRE: packed union { - raw: u2, - value: RTCPRE, - }, + /// TC/LCD prescaler + RTCPRE: RTCPRE, reserved24: u2, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Internal clock sources calibration register + /// Internal clock sources calibration register ICSCR: mmio.Mmio(packed struct(u32) { - /// nternal high speed clock calibration + /// nternal high speed clock calibration HSICAL: u8, - /// High speed internal clock trimming + /// High speed internal clock trimming HSITRIM: u5, - /// MSI clock ranges - MSIRANGE: packed union { - raw: u3, - value: MSIRANGE, - }, - /// MSI clock calibration + /// MSI clock ranges + MSIRANGE: MSIRANGE, + /// MSI clock calibration MSICAL: u8, - /// MSI clock trimming + /// MSI clock trimming MSITRIM: u8, }), reserved12: [4]u8, - /// Clock configuration register + /// Clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB low-speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high-speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB low-speed prescaler (APB1) + PPRE1: PPRE, + /// APB high-speed prescaler (APB2) + PPRE2: PPRE, reserved15: u1, - /// Wake-up from stop clock selection - STOPWUCK: packed union { - raw: u1, - value: STOPWUCK, - }, - /// PLL entry clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, + /// Wake-up from stop clock selection + STOPWUCK: STOPWUCK, + /// PLL entry clock source + PLLSRC: PLLSRC, reserved18: u1, - /// PLL multiplication factor - PLLMUL: packed union { - raw: u4, - value: PLLMUL, - }, - /// PLL output division - PLLDIV: packed union { - raw: u2, - value: PLLDIV, - }, - /// Microcontroller clock output selection - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller clock output prescaler - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, + /// PLL multiplication factor + PLLMUL: PLLMUL, + /// PLL output division + PLLDIV: PLLDIV, + /// Microcontroller clock output selection + MCOSEL: MCOSEL, + /// Microcontroller clock output prescaler + MCOPRE: MCOPRE, padding: u1, }), - /// Clock interrupt enable register + /// Clock interrupt enable register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYIE: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYIE: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYIE: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYIE: u1, - /// PLL ready interrupt flag + /// PLL ready interrupt flag PLLRDYIE: u1, - /// MSI ready interrupt flag + /// MSI ready interrupt flag MSIRDYIE: u1, reserved7: u1, - /// LSE CSS interrupt flag + /// LSE CSS interrupt flag CSSLSE: u1, padding: u24, }), - /// Clock interrupt flag register + /// Clock interrupt flag register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYF: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYF: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYF: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYF: u1, - /// PLL ready interrupt flag + /// PLL ready interrupt flag PLLRDYF: u1, - /// MSI ready interrupt flag + /// MSI ready interrupt flag MSIRDYF: u1, reserved7: u1, - /// LSE Clock Security System Interrupt flag + /// LSE Clock Security System Interrupt flag CSSLSEF: u1, - /// Clock Security System Interrupt flag + /// Clock Security System Interrupt flag CSSHSEF: u1, padding: u23, }), - /// Clock interrupt clear register + /// Clock interrupt clear register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready Interrupt clear + /// LSI ready Interrupt clear LSIRDYC: u1, - /// LSE ready Interrupt clear + /// LSE ready Interrupt clear LSERDYC: u1, - /// HSI ready Interrupt clear + /// HSI ready Interrupt clear HSIRDYC: u1, - /// HSE ready Interrupt clear + /// HSE ready Interrupt clear HSERDYC: u1, - /// PLL ready Interrupt clear + /// PLL ready Interrupt clear PLLRDYC: u1, - /// MSI ready Interrupt clear + /// MSI ready Interrupt clear MSIRDYC: u1, reserved7: u1, - /// LSE Clock Security System Interrupt clear + /// LSE Clock Security System Interrupt clear CSSLSEC: u1, - /// Clock Security System Interrupt clear + /// Clock Security System Interrupt clear CSSHSEC: u1, padding: u23, }), - /// GPIO reset register + /// GPIO reset register GPIORSTR: mmio.Mmio(packed struct(u32) { - /// I/O port A reset + /// I/O port A reset GPIOARST: u1, - /// I/O port B reset + /// I/O port B reset GPIOBRST: u1, - /// I/O port A reset + /// I/O port A reset GPIOCRST: u1, - /// I/O port D reset + /// I/O port D reset GPIODRST: u1, - /// I/O port E reset + /// I/O port E reset GPIOERST: u1, reserved7: u2, - /// I/O port H reset + /// I/O port H reset GPIOHRST: u1, padding: u24, }), - /// AHB peripheral reset register + /// AHB peripheral reset register AHBRSTR: mmio.Mmio(packed struct(u32) { - /// DMA reset + /// DMA reset DMA1RST: u1, reserved8: u7, - /// Memory interface reset + /// Memory interface reset MIFRST: u1, reserved12: u3, - /// Test integration module reset + /// Test integration module reset CRCRST: u1, reserved16: u3, - /// Touch Sensing reset + /// Touch Sensing reset TSCRST: u1, reserved20: u3, - /// Random Number Generator module reset + /// Random Number Generator module reset RNGRST: u1, reserved24: u3, - /// Crypto module reset + /// Crypto module reset CRYPRST: u1, padding: u7, }), - /// APB2 peripheral reset register + /// APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { - /// System configuration controller reset + /// System configuration controller reset SYSCFGRST: u1, reserved2: u1, - /// TIM21 timer reset + /// TIM21 timer reset TIM21RST: u1, reserved5: u2, - /// TIM22 timer reset + /// TIM22 timer reset TIM22RST: u1, reserved9: u3, - /// ADC interface reset + /// ADC interface reset ADCRST: u1, reserved12: u2, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, reserved14: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, reserved22: u7, - /// DBG reset + /// DBG reset DBGRST: u1, padding: u9, }), - /// APB1 peripheral reset register + /// APB1 peripheral reset register APB1RSTR: mmio.Mmio(packed struct(u32) { - /// Timer 2 reset + /// Timer 2 reset TIM2RST: u1, - /// Timer 3 reset + /// Timer 3 reset TIM3RST: u1, reserved4: u2, - /// Timer 6 reset + /// Timer 6 reset TIM6RST: u1, - /// Timer 7 reset + /// Timer 7 reset TIM7RST: u1, reserved11: u5, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, reserved17: u2, - /// USART2 reset + /// USART2 reset USART2RST: u1, - /// LPUART1 reset + /// LPUART1 reset LPUART1RST: u1, - /// USART4 reset + /// USART4 reset USART4RST: u1, - /// USART5 reset + /// USART5 reset USART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// USB reset + /// USB reset USBRST: u1, reserved27: u3, - /// Clock recovery system reset + /// Clock recovery system reset CRSRST: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC interface reset + /// DAC interface reset DACRST: u1, - /// I2C3 reset + /// I2C3 reset I2C3RST: u1, - /// Low power timer reset + /// Low power timer reset LPTIM1RST: u1, }), - /// GPIO clock enable register + /// GPIO clock enable register GPIOENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable + /// IO port A clock enable GPIOAEN: u1, - /// IO port B clock enable + /// IO port B clock enable GPIOBEN: u1, - /// IO port A clock enable + /// IO port A clock enable GPIOCEN: u1, - /// I/O port D clock enable + /// I/O port D clock enable GPIODEN: u1, - /// IO port E clock enable + /// IO port E clock enable GPIOEEN: u1, reserved7: u2, - /// I/O port H clock enable + /// I/O port H clock enable GPIOHEN: u1, padding: u24, }), - /// AHB peripheral clock enable register + /// AHB peripheral clock enable register AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA clock enable + /// DMA clock enable DMA1EN: u1, reserved8: u7, - /// NVM interface clock enable + /// NVM interface clock enable MIFEN: u1, reserved12: u3, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved16: u3, - /// Touch Sensing clock enable + /// Touch Sensing clock enable TSCEN: u1, reserved20: u3, - /// Random Number Generator clock enable + /// Random Number Generator clock enable RNGEN: u1, reserved24: u3, - /// Crypto clock enable + /// Crypto clock enable CRYPEN: u1, padding: u7, }), - /// APB2 peripheral clock enable register + /// APB2 peripheral clock enable register APB2ENR: mmio.Mmio(packed struct(u32) { - /// System configuration controller clock enable + /// System configuration controller clock enable SYSCFGEN: u1, reserved2: u1, - /// TIM21 timer clock enable + /// TIM21 timer clock enable TIM21EN: u1, reserved5: u2, - /// TIM22 timer clock enable + /// TIM22 timer clock enable TIM22EN: u1, reserved7: u1, - /// Firewall clock enable + /// Firewall clock enable FWEN: u1, reserved9: u1, - /// ADC clock enable + /// ADC clock enable ADCEN: u1, reserved12: u2, - /// SPI1 clock enable + /// SPI1 clock enable SPI1EN: u1, reserved14: u1, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, reserved22: u7, - /// DBG clock enable + /// DBG clock enable DBGEN: u1, padding: u9, }), - /// APB1 peripheral clock enable register + /// APB1 peripheral clock enable register APB1ENR: mmio.Mmio(packed struct(u32) { - /// Timer2 clock enable + /// Timer2 clock enable TIM2EN: u1, - /// Timer 3 clock enbale + /// Timer 3 clock enbale TIM3EN: u1, reserved4: u2, - /// Timer 6 clock enable + /// Timer 6 clock enable TIM6EN: u1, - /// Timer 7 clock enable + /// Timer 7 clock enable TIM7EN: u1, reserved11: u5, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI2 clock enable + /// SPI2 clock enable SPI2EN: u1, reserved17: u2, - /// UART2 clock enable + /// UART2 clock enable USART2EN: u1, - /// LPUART1 clock enable + /// LPUART1 clock enable LPUART1EN: u1, - /// USART4 clock enable + /// USART4 clock enable USART4EN: u1, - /// USART5 clock enable + /// USART5 clock enable USART5EN: u1, - /// I2C1 clock enable + /// I2C1 clock enable I2C1EN: u1, - /// I2C2 clock enable + /// I2C2 clock enable I2C2EN: u1, - /// USB clock enable + /// USB clock enable USBEN: u1, reserved27: u3, - /// Clock recovery system clock enable + /// Clock recovery system clock enable CRSEN: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, - /// I2C3 clock enable + /// I2C3 clock enable I2C3EN: u1, - /// Low power timer clock enable + /// Low power timer clock enable LPTIM1EN: u1, }), - /// GPIO clock enable in sleep mode register + /// GPIO clock enable in sleep mode register GPIOSMEN: mmio.Mmio(packed struct(u32) { - /// Port A clock enable during Sleep mode + /// Port A clock enable during Sleep mode GPIOASMEN: u1, - /// Port B clock enable during Sleep mode + /// Port B clock enable during Sleep mode GPIOBSMEN: u1, - /// Port C clock enable during Sleep mode + /// Port C clock enable during Sleep mode GPIOCSMEN: u1, - /// Port D clock enable during Sleep mode + /// Port D clock enable during Sleep mode GPIODSMEN: u1, - /// Port E clock enable during Sleep mode + /// Port E clock enable during Sleep mode GPIOESMEN: u1, reserved7: u2, - /// Port H clock enable during Sleep mode + /// Port H clock enable during Sleep mode GPIOHSMEN: u1, padding: u24, }), - /// AHB peripheral clock enable in sleep mode register + /// AHB peripheral clock enable in sleep mode register AHBSMENR: mmio.Mmio(packed struct(u32) { - /// DMA clock enable during sleep mode + /// DMA clock enable during sleep mode DMA1SMEN: u1, reserved8: u7, - /// NVM interface clock enable during sleep mode + /// NVM interface clock enable during sleep mode MIFSMEN: u1, - /// SRAM interface clock enable during sleep mode + /// SRAM interface clock enable during sleep mode SRAMSMEN: u1, reserved12: u2, - /// CRC clock enable during sleep mode + /// CRC clock enable during sleep mode CRCSMEN: u1, reserved16: u3, - /// Touch Sensing clock enable during sleep mode + /// Touch Sensing clock enable during sleep mode TSCSMEN: u1, reserved20: u3, - /// Random Number Generator clock enable during sleep mode + /// Random Number Generator clock enable during sleep mode RNGSMEN: u1, reserved24: u3, - /// Crypto clock enable during sleep mode + /// Crypto clock enable during sleep mode CRYPSMEN: u1, padding: u7, }), - /// APB2 peripheral clock enable in sleep mode register + /// APB2 peripheral clock enable in sleep mode register APB2SMENR: mmio.Mmio(packed struct(u32) { - /// System configuration controller clock enable during sleep mode + /// System configuration controller clock enable during sleep mode SYSCFGSMEN: u1, reserved2: u1, - /// TIM21 timer clock enable during sleep mode + /// TIM21 timer clock enable during sleep mode TIM21SMEN: u1, reserved5: u2, - /// TIM22 timer clock enable during sleep mode + /// TIM22 timer clock enable during sleep mode TIM22SMEN: u1, reserved9: u3, - /// ADC clock enable during sleep mode + /// ADC clock enable during sleep mode ADCSMEN: u1, reserved12: u2, - /// SPI1 clock enable during sleep mode + /// SPI1 clock enable during sleep mode SPI1SMEN: u1, reserved14: u1, - /// USART1 clock enable during sleep mode + /// USART1 clock enable during sleep mode USART1SMEN: u1, reserved22: u7, - /// DBG clock enable during sleep mode + /// DBG clock enable during sleep mode DBGSMEN: u1, padding: u9, }), - /// APB1 peripheral clock enable in sleep mode register + /// APB1 peripheral clock enable in sleep mode register APB1SMENR: mmio.Mmio(packed struct(u32) { - /// Timer2 clock enable during sleep mode + /// Timer2 clock enable during sleep mode TIM2SMEN: u1, - /// Timer 3 clock enable during sleep mode + /// Timer 3 clock enable during sleep mode TIM3SMEN: u1, reserved4: u2, - /// Timer 6 clock enable during sleep mode + /// Timer 6 clock enable during sleep mode TIM6SMEN: u1, - /// Timer 7 clock enable during sleep mode + /// Timer 7 clock enable during sleep mode TIM7SMEN: u1, reserved11: u5, - /// Window watchdog clock enable during sleep mode + /// Window watchdog clock enable during sleep mode WWDGSMEN: u1, reserved14: u2, - /// SPI2 clock enable during sleep mode + /// SPI2 clock enable during sleep mode SPI2SMEN: u1, reserved17: u2, - /// UART2 clock enable during sleep mode + /// UART2 clock enable during sleep mode USART2SMEN: u1, - /// LPUART1 clock enable during sleep mode + /// LPUART1 clock enable during sleep mode LPUART1SMEN: u1, - /// USART4 clock enabe during sleep mode + /// USART4 clock enabe during sleep mode USART4SMEN: u1, - /// USART5 clock enable during sleep mode + /// USART5 clock enable during sleep mode USART5SMEN: u1, - /// I2C1 clock enable during sleep mode + /// I2C1 clock enable during sleep mode I2C1SMEN: u1, - /// I2C2 clock enable during sleep mode + /// I2C2 clock enable during sleep mode I2C2SMEN: u1, - /// USB clock enable during sleep mode + /// USB clock enable during sleep mode USBSMEN: u1, reserved27: u3, - /// Clock recovery system clock enable during sleep mode + /// Clock recovery system clock enable during sleep mode CRSSMEN: u1, - /// Power interface clock enable during sleep mode + /// Power interface clock enable during sleep mode PWRSMEN: u1, - /// DAC interface clock enable during sleep mode + /// DAC interface clock enable during sleep mode DACSMEN: u1, - /// I2C3 clock enable during sleep mode + /// I2C3 clock enable during sleep mode I2C3SMEN: u1, - /// Low power timer clock enable during sleep mode + /// Low power timer clock enable during sleep mode LPTIM1SMEN: u1, }), - /// Clock configuration register + /// Clock configuration register CCIPR: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection - USART1SEL: packed union { - raw: u2, - value: USART1SEL, - }, - /// USART2 clock source selection - USART2SEL: packed union { - raw: u2, - value: UARTSEL, - }, + /// USART1 clock source selection + USART1SEL: USART1SEL, + /// USART2 clock source selection + USART2SEL: UARTSEL, reserved10: u6, - /// LPUART1 clock source selection - LPUART1SEL: packed union { - raw: u2, - value: UARTSEL, - }, - /// I2C1 clock source selection - I2C1SEL: packed union { - raw: u2, - value: I2CSEL, - }, + /// LPUART1 clock source selection + LPUART1SEL: UARTSEL, + /// I2C1 clock source selection + I2C1SEL: I2CSEL, reserved16: u2, - /// I2C3 clock source selection - I2C3SEL: packed union { - raw: u2, - value: I2CSEL, - }, - /// Low Power Timer clock source selection - LPTIM1SEL: packed union { - raw: u2, - value: LPTIMSEL, - }, + /// I2C3 clock source selection + I2C3SEL: I2CSEL, + /// Low Power Timer clock source selection + LPTIM1SEL: LPTIMSEL, padding: u12, }), - /// Control and status register + /// Control and status register CSR: mmio.Mmio(packed struct(u32) { - /// Internal low-speed oscillator enable + /// Internal low-speed oscillator enable LSION: u1, - /// Internal low-speed oscillator ready + /// Internal low-speed oscillator ready LSIRDY: u1, reserved8: u6, - /// External low-speed oscillator enable + /// External low-speed oscillator enable LSEON: u1, - /// External low-speed oscillator ready + /// External low-speed oscillator ready LSERDY: u1, - /// External low-speed oscillator bypass + /// External low-speed oscillator bypass LSEBYP: u1, - /// LSEDRV - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// CSSLSEON + /// LSEDRV + LSEDRV: LSEDRV, + /// CSSLSEON CSSLSEON: u1, - /// CSS on LSE failure detection flag + /// CSS on LSE failure detection flag CSSLSED: u1, reserved16: u1, - /// RTC and LCD clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, - /// RTC clock enable + /// RTC and LCD clock source selection + RTCSEL: RTCSEL, + /// RTC clock enable RTCEN: u1, - /// RTC software reset + /// RTC software reset RTCRST: u1, reserved23: u3, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// Firewall reset flag + /// Firewall reset flag FWRSTF: u1, - /// OBLRSTF + /// OBLRSTF OBLRSTF: u1, - /// PIN reset flag + /// PIN reset flag PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), }; @@ -398891,844 +391853,778 @@ pub const types = struct { pub const rcc_l0_v2 = struct { pub const CLK48SEL = enum(u1) { - /// PLL VCO divided by 2 selected + /// PLL VCO divided by 2 selected PLL1_VCO_DIV_2 = 0x0, - /// HSI48 clock selected + /// HSI48 clock selected HSI48 = 0x1, }; pub const HPRE = enum(u4) { - /// system clock not divided + /// system clock not divided Div1 = 0x0, - /// system clock divided by 2 + /// system clock divided by 2 Div2 = 0x8, - /// system clock divided by 4 + /// system clock divided by 4 Div4 = 0x9, - /// system clock divided by 8 + /// system clock divided by 8 Div8 = 0xa, - /// system clock divided by 16 + /// system clock divided by 16 Div16 = 0xb, - /// system clock divided by 64 + /// system clock divided by 64 Div64 = 0xc, - /// system clock divided by 128 + /// system clock divided by 128 Div128 = 0xd, - /// system clock divided by 256 + /// system clock divided by 256 Div256 = 0xe, - /// system clock divided by 512 + /// system clock divided by 512 Div512 = 0xf, _, }; pub const I2CSEL = enum(u2) { - /// APB clock selected as peripheral clock + /// APB clock selected as peripheral clock PCLK1 = 0x0, - /// System clock selected as peripheral clock + /// System clock selected as peripheral clock SYS = 0x1, - /// HSI clock selected as peripheral clock + /// HSI clock selected as peripheral clock HSI = 0x2, _, }; pub const LPTIMSEL = enum(u2) { - /// APB clock selected as Timer clock + /// APB clock selected as Timer clock PCLK1 = 0x0, - /// LSI clock selected as Timer clock + /// LSI clock selected as Timer clock LSI = 0x1, - /// HSI clock selected as Timer clock + /// HSI clock selected as Timer clock HSI = 0x2, - /// LSE clock selected as Timer clock + /// LSE clock selected as Timer clock LSE = 0x3, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u3) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x1, - /// Division by 4 + /// Division by 4 Div4 = 0x2, - /// Division by 8 + /// Division by 8 Div8 = 0x3, - /// Division by 16 + /// Division by 16 Div16 = 0x4, _, }; pub const MCOSEL = enum(u4) { - /// No clock + /// No clock DISABLE = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI oscillator clock selected + /// HSI oscillator clock selected HSI = 0x2, - /// MSI oscillator clock selected + /// MSI oscillator clock selected MSI = 0x3, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x4, - /// PLL clock selected + /// PLL clock selected PLL = 0x5, - /// LSI oscillator clock selected + /// LSI oscillator clock selected LSI = 0x6, - /// LSE oscillator clock selected + /// LSE oscillator clock selected LSE = 0x7, _, }; pub const MSIRANGE = enum(u3) { - /// range 0 around 65.536 kHz + /// range 0 around 65.536 kHz Range66K = 0x0, - /// range 1 around 131.072 kHz + /// range 1 around 131.072 kHz Range131K = 0x1, - /// range 2 around 262.144 kHz + /// range 2 around 262.144 kHz Range262K = 0x2, - /// range 3 around 524.288 kHz + /// range 3 around 524.288 kHz Range524K = 0x3, - /// range 4 around 1.048 MHz + /// range 4 around 1.048 MHz Range1M = 0x4, - /// range 5 around 2.097 MHz (reset value) + /// range 5 around 2.097 MHz (reset value) Range2M = 0x5, - /// range 6 around 4.194 MHz + /// range 6 around 4.194 MHz Range4M = 0x6, _, }; pub const PLLDIV = enum(u2) { - /// PLLVCO / 2 + /// PLLVCO / 2 Div2 = 0x1, - /// PLLVCO / 3 + /// PLLVCO / 3 Div3 = 0x2, - /// PLLVCO / 4 + /// PLLVCO / 4 Div4 = 0x3, _, }; pub const PLLMUL = enum(u4) { - /// PLL clock entry x 3 + /// PLL clock entry x 3 Mul3 = 0x0, - /// PLL clock entry x 4 + /// PLL clock entry x 4 Mul4 = 0x1, - /// PLL clock entry x 6 + /// PLL clock entry x 6 Mul6 = 0x2, - /// PLL clock entry x 8 + /// PLL clock entry x 8 Mul8 = 0x3, - /// PLL clock entry x 12 + /// PLL clock entry x 12 Mul12 = 0x4, - /// PLL clock entry x 16 + /// PLL clock entry x 16 Mul16 = 0x5, - /// PLL clock entry x 24 + /// PLL clock entry x 24 Mul24 = 0x6, - /// PLL clock entry x 32 + /// PLL clock entry x 32 Mul32 = 0x7, - /// PLL clock entry x 48 + /// PLL clock entry x 48 Mul48 = 0x8, _, }; pub const PLLSRC = enum(u1) { - /// HSI selected as PLL input clock + /// HSI selected as PLL input clock HSI = 0x0, - /// HSE selected as PLL input clock + /// HSE selected as PLL input clock HSE = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const RTCPRE = enum(u2) { - /// HSE divided by 2 + /// HSE divided by 2 Div2 = 0x0, - /// HSE divided by 4 + /// HSE divided by 4 Div4 = 0x1, - /// HSE divided by 8 + /// HSE divided by 8 Div8 = 0x2, - /// HSE divided by 16 + /// HSE divided by 16 Div16 = 0x3, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a programmable prescaler (selection through the RTCPRE[1:0] bits in the RCC clock control register (RCC_CR)) used as the RTC clock + /// HSE oscillator clock divided by a programmable prescaler (selection through the RTCPRE[1:0] bits in the RCC clock control register (RCC_CR)) used as the RTC clock HSE = 0x3, }; pub const STOPWUCK = enum(u1) { - /// Internal 64 KHz to 4 MHz (MSI) oscillator selected as wake-up from Stop clock + /// Internal 64 KHz to 4 MHz (MSI) oscillator selected as wake-up from Stop clock MSI = 0x0, - /// Internal 16 MHz (HSI) oscillator selected as wake-up from Stop clock (or HSI/4 if HSIDIVEN=1) + /// Internal 16 MHz (HSI) oscillator selected as wake-up from Stop clock (or HSI/4 if HSIDIVEN=1) HSI = 0x1, }; pub const SW = enum(u2) { - /// MSI oscillator used as system clock + /// MSI oscillator used as system clock MSI = 0x0, - /// HSI oscillator used as system clock + /// HSI oscillator used as system clock HSI = 0x1, - /// HSE oscillator used as system clock + /// HSE oscillator used as system clock HSE = 0x2, - /// PLL used as system clock + /// PLL used as system clock PLL1_R = 0x3, }; pub const UARTSEL = enum(u2) { - /// APB clock selected as peripheral clock + /// APB clock selected as peripheral clock PCLK1 = 0x0, - /// System clock selected as peripheral clock + /// System clock selected as peripheral clock SYS = 0x1, - /// HSI clock selected as peripheral clock + /// HSI clock selected as peripheral clock HSI = 0x2, - /// LSE clock selected as peripheral clock + /// LSE clock selected as peripheral clock LSE = 0x3, }; pub const USART1SEL = enum(u2) { - /// APB clock selected as peripheral clock + /// APB clock selected as peripheral clock PCLK2 = 0x0, - /// System clock selected as peripheral clock + /// System clock selected as peripheral clock SYS = 0x1, - /// HSI clock selected as peripheral clock + /// HSI clock selected as peripheral clock HSI = 0x2, - /// LSE clock selected as peripheral clock + /// LSE clock selected as peripheral clock LSE = 0x3, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// 16 MHz high-speed internal clock enable + /// 16 MHz high-speed internal clock enable HSION: u1, - /// High-speed internal clock enable bit for some IP kernels + /// High-speed internal clock enable bit for some IP kernels HSIKERON: u1, - /// Internal high-speed clock ready flag + /// Internal high-speed clock ready flag HSIRDY: u1, - /// HSIDIVEN + /// HSIDIVEN HSIDIVEN: u1, - /// HSIDIVF + /// HSIDIVF HSIDIVF: u1, - /// 16 MHz high-speed internal clock output enable + /// 16 MHz high-speed internal clock output enable HSIOUTEN: u1, reserved8: u2, - /// MSI clock enable + /// MSI clock enable MSION: u1, - /// MSI clock ready flag + /// MSI clock ready flag MSIRDY: u1, reserved16: u6, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE clock bypass + /// HSE clock bypass HSEBYP: u1, - /// Clock security system on HSE enable + /// Clock security system on HSE enable CSSHSEON: u1, - /// TC/LCD prescaler - RTCPRE: packed union { - raw: u2, - value: RTCPRE, - }, + /// TC/LCD prescaler + RTCPRE: RTCPRE, reserved24: u2, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Internal clock sources calibration register + /// Internal clock sources calibration register ICSCR: mmio.Mmio(packed struct(u32) { - /// nternal high speed clock calibration + /// nternal high speed clock calibration HSICAL: u8, - /// High speed internal clock trimming + /// High speed internal clock trimming HSITRIM: u5, - /// MSI clock ranges - MSIRANGE: packed union { - raw: u3, - value: MSIRANGE, - }, - /// MSI clock calibration + /// MSI clock ranges + MSIRANGE: MSIRANGE, + /// MSI clock calibration MSICAL: u8, - /// MSI clock trimming + /// MSI clock trimming MSITRIM: u8, }), - /// Clock recovery RC register + /// Clock recovery RC register CRRCR: mmio.Mmio(packed struct(u32) { - /// 48MHz HSI clock enable + /// 48MHz HSI clock enable HSI48ON: u1, - /// 48MHz HSI clock ready flag + /// 48MHz HSI clock ready flag HSI48RDY: u1, - /// 48 MHz HSI clock divided by 6 output enable + /// 48 MHz HSI clock divided by 6 output enable HSI48DIV6EN: u1, reserved8: u5, - /// 48 MHz HSI clock calibration + /// 48 MHz HSI clock calibration HSI48CAL: u8, padding: u16, }), - /// Clock configuration register + /// Clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB low-speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high-speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB low-speed prescaler (APB1) + PPRE1: PPRE, + /// APB high-speed prescaler (APB2) + PPRE2: PPRE, reserved15: u1, - /// Wake-up from stop clock selection - STOPWUCK: packed union { - raw: u1, - value: STOPWUCK, - }, - /// PLL entry clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, + /// Wake-up from stop clock selection + STOPWUCK: STOPWUCK, + /// PLL entry clock source + PLLSRC: PLLSRC, reserved18: u1, - /// PLL multiplication factor - PLLMUL: packed union { - raw: u4, - value: PLLMUL, - }, - /// PLL output division - PLLDIV: packed union { - raw: u2, - value: PLLDIV, - }, - /// Microcontroller clock output selection - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller clock output prescaler - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, + /// PLL multiplication factor + PLLMUL: PLLMUL, + /// PLL output division + PLLDIV: PLLDIV, + /// Microcontroller clock output selection + MCOSEL: MCOSEL, + /// Microcontroller clock output prescaler + MCOPRE: MCOPRE, padding: u1, }), - /// Clock interrupt enable register + /// Clock interrupt enable register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYIE: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYIE: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYIE: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYIE: u1, - /// PLL ready interrupt flag + /// PLL ready interrupt flag PLLRDYIE: u1, - /// MSI ready interrupt flag + /// MSI ready interrupt flag MSIRDYIE: u1, - /// HSI48 ready interrupt flag + /// HSI48 ready interrupt flag HSI48RDYIE: u1, - /// LSE CSS interrupt flag + /// LSE CSS interrupt flag CSSLSE: u1, padding: u24, }), - /// Clock interrupt flag register + /// Clock interrupt flag register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYF: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYF: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYF: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYF: u1, - /// PLL ready interrupt flag + /// PLL ready interrupt flag PLLRDYF: u1, - /// MSI ready interrupt flag + /// MSI ready interrupt flag MSIRDYF: u1, - /// HSI48 ready interrupt flag + /// HSI48 ready interrupt flag HSI48RDYF: u1, - /// LSE Clock Security System Interrupt flag + /// LSE Clock Security System Interrupt flag CSSLSEF: u1, - /// Clock Security System Interrupt flag + /// Clock Security System Interrupt flag CSSHSEF: u1, padding: u23, }), - /// Clock interrupt clear register + /// Clock interrupt clear register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready Interrupt clear + /// LSI ready Interrupt clear LSIRDYC: u1, - /// LSE ready Interrupt clear + /// LSE ready Interrupt clear LSERDYC: u1, - /// HSI ready Interrupt clear + /// HSI ready Interrupt clear HSIRDYC: u1, - /// HSE ready Interrupt clear + /// HSE ready Interrupt clear HSERDYC: u1, - /// PLL ready Interrupt clear + /// PLL ready Interrupt clear PLLRDYC: u1, - /// MSI ready Interrupt clear + /// MSI ready Interrupt clear MSIRDYC: u1, - /// HSI48 ready Interrupt clear + /// HSI48 ready Interrupt clear HSI48RDYC: u1, - /// LSE Clock Security System Interrupt clear + /// LSE Clock Security System Interrupt clear CSSLSEC: u1, - /// Clock Security System Interrupt clear + /// Clock Security System Interrupt clear CSSHSEC: u1, padding: u23, }), - /// GPIO reset register + /// GPIO reset register GPIORSTR: mmio.Mmio(packed struct(u32) { - /// I/O port A reset + /// I/O port A reset GPIOARST: u1, - /// I/O port B reset + /// I/O port B reset GPIOBRST: u1, - /// I/O port A reset + /// I/O port A reset GPIOCRST: u1, - /// I/O port D reset + /// I/O port D reset GPIODRST: u1, - /// I/O port E reset + /// I/O port E reset GPIOERST: u1, reserved7: u2, - /// I/O port H reset + /// I/O port H reset GPIOHRST: u1, padding: u24, }), - /// AHB peripheral reset register + /// AHB peripheral reset register AHBRSTR: mmio.Mmio(packed struct(u32) { - /// DMA reset + /// DMA reset DMA1RST: u1, reserved8: u7, - /// Memory interface reset + /// Memory interface reset MIFRST: u1, reserved12: u3, - /// Test integration module reset + /// Test integration module reset CRCRST: u1, reserved16: u3, - /// Touch Sensing reset + /// Touch Sensing reset TSCRST: u1, reserved20: u3, - /// Random Number Generator module reset + /// Random Number Generator module reset RNGRST: u1, reserved24: u3, - /// Crypto module reset + /// Crypto module reset CRYPRST: u1, padding: u7, }), - /// APB2 peripheral reset register + /// APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { - /// System configuration controller reset + /// System configuration controller reset SYSCFGRST: u1, reserved2: u1, - /// TIM21 timer reset + /// TIM21 timer reset TIM21RST: u1, reserved5: u2, - /// TIM22 timer reset + /// TIM22 timer reset TIM22RST: u1, reserved9: u3, - /// ADC interface reset + /// ADC interface reset ADCRST: u1, reserved12: u2, - /// SPI 1 reset + /// SPI 1 reset SPI1RST: u1, reserved14: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, reserved22: u7, - /// DBG reset + /// DBG reset DBGRST: u1, padding: u9, }), - /// APB1 peripheral reset register + /// APB1 peripheral reset register APB1RSTR: mmio.Mmio(packed struct(u32) { - /// Timer 2 reset + /// Timer 2 reset TIM2RST: u1, - /// Timer 3 reset + /// Timer 3 reset TIM3RST: u1, reserved4: u2, - /// Timer 6 reset + /// Timer 6 reset TIM6RST: u1, - /// Timer 7 reset + /// Timer 7 reset TIM7RST: u1, reserved11: u5, - /// Window watchdog reset + /// Window watchdog reset WWDGRST: u1, reserved14: u2, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, reserved17: u2, - /// USART2 reset + /// USART2 reset USART2RST: u1, - /// LPUART1 reset + /// LPUART1 reset LPUART1RST: u1, - /// USART4 reset + /// USART4 reset USART4RST: u1, - /// USART5 reset + /// USART5 reset USART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// USB reset + /// USB reset USBRST: u1, reserved27: u3, - /// Clock recovery system reset + /// Clock recovery system reset CRSRST: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC interface reset + /// DAC interface reset DACRST: u1, - /// I2C3 reset + /// I2C3 reset I2C3RST: u1, - /// Low power timer reset + /// Low power timer reset LPTIM1RST: u1, }), - /// GPIO clock enable register + /// GPIO clock enable register GPIOENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable + /// IO port A clock enable GPIOAEN: u1, - /// IO port B clock enable + /// IO port B clock enable GPIOBEN: u1, - /// IO port A clock enable + /// IO port A clock enable GPIOCEN: u1, - /// I/O port D clock enable + /// I/O port D clock enable GPIODEN: u1, - /// IO port E clock enable + /// IO port E clock enable GPIOEEN: u1, reserved7: u2, - /// I/O port H clock enable + /// I/O port H clock enable GPIOHEN: u1, padding: u24, }), - /// AHB peripheral clock enable register + /// AHB peripheral clock enable register AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA clock enable + /// DMA clock enable DMA1EN: u1, reserved8: u7, - /// NVM interface clock enable + /// NVM interface clock enable MIFEN: u1, reserved12: u3, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved16: u3, - /// Touch Sensing clock enable + /// Touch Sensing clock enable TSCEN: u1, reserved20: u3, - /// Random Number Generator clock enable + /// Random Number Generator clock enable RNGEN: u1, reserved24: u3, - /// Crypto clock enable + /// Crypto clock enable CRYPEN: u1, padding: u7, }), - /// APB2 peripheral clock enable register + /// APB2 peripheral clock enable register APB2ENR: mmio.Mmio(packed struct(u32) { - /// System configuration controller clock enable + /// System configuration controller clock enable SYSCFGEN: u1, reserved2: u1, - /// TIM21 timer clock enable + /// TIM21 timer clock enable TIM21EN: u1, reserved5: u2, - /// TIM22 timer clock enable + /// TIM22 timer clock enable TIM22EN: u1, reserved7: u1, - /// Firewall clock enable + /// Firewall clock enable FWEN: u1, reserved9: u1, - /// ADC clock enable + /// ADC clock enable ADCEN: u1, reserved12: u2, - /// SPI1 clock enable + /// SPI1 clock enable SPI1EN: u1, reserved14: u1, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, reserved22: u7, - /// DBG clock enable + /// DBG clock enable DBGEN: u1, padding: u9, }), - /// APB1 peripheral clock enable register + /// APB1 peripheral clock enable register APB1ENR: mmio.Mmio(packed struct(u32) { - /// Timer2 clock enable + /// Timer2 clock enable TIM2EN: u1, - /// Timer 3 clock enbale + /// Timer 3 clock enbale TIM3EN: u1, reserved4: u2, - /// Timer 6 clock enable + /// Timer 6 clock enable TIM6EN: u1, - /// Timer 7 clock enable + /// Timer 7 clock enable TIM7EN: u1, reserved11: u5, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI2 clock enable + /// SPI2 clock enable SPI2EN: u1, reserved17: u2, - /// UART2 clock enable + /// UART2 clock enable USART2EN: u1, - /// LPUART1 clock enable + /// LPUART1 clock enable LPUART1EN: u1, - /// USART4 clock enable + /// USART4 clock enable USART4EN: u1, - /// USART5 clock enable + /// USART5 clock enable USART5EN: u1, - /// I2C1 clock enable + /// I2C1 clock enable I2C1EN: u1, - /// I2C2 clock enable + /// I2C2 clock enable I2C2EN: u1, - /// USB clock enable + /// USB clock enable USBEN: u1, reserved27: u3, - /// Clock recovery system clock enable + /// Clock recovery system clock enable CRSEN: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, - /// I2C3 clock enable + /// I2C3 clock enable I2C3EN: u1, - /// Low power timer clock enable + /// Low power timer clock enable LPTIM1EN: u1, }), - /// GPIO clock enable in sleep mode register + /// GPIO clock enable in sleep mode register GPIOSMEN: mmio.Mmio(packed struct(u32) { - /// Port A clock enable during Sleep mode + /// Port A clock enable during Sleep mode GPIOASMEN: u1, - /// Port B clock enable during Sleep mode + /// Port B clock enable during Sleep mode GPIOBSMEN: u1, - /// Port C clock enable during Sleep mode + /// Port C clock enable during Sleep mode GPIOCSMEN: u1, - /// Port D clock enable during Sleep mode + /// Port D clock enable during Sleep mode GPIODSMEN: u1, - /// Port E clock enable during Sleep mode + /// Port E clock enable during Sleep mode GPIOESMEN: u1, reserved7: u2, - /// Port H clock enable during Sleep mode + /// Port H clock enable during Sleep mode GPIOHSMEN: u1, padding: u24, }), - /// AHB peripheral clock enable in sleep mode register + /// AHB peripheral clock enable in sleep mode register AHBSMENR: mmio.Mmio(packed struct(u32) { - /// DMA clock enable during sleep mode + /// DMA clock enable during sleep mode DMA1SMEN: u1, reserved8: u7, - /// NVM interface clock enable during sleep mode + /// NVM interface clock enable during sleep mode MIFSMEN: u1, - /// SRAM interface clock enable during sleep mode + /// SRAM interface clock enable during sleep mode SRAMSMEN: u1, reserved12: u2, - /// CRC clock enable during sleep mode + /// CRC clock enable during sleep mode CRCSMEN: u1, reserved16: u3, - /// Touch Sensing clock enable during sleep mode + /// Touch Sensing clock enable during sleep mode TSCSMEN: u1, reserved20: u3, - /// Random Number Generator clock enable during sleep mode + /// Random Number Generator clock enable during sleep mode RNGSMEN: u1, reserved24: u3, - /// Crypto clock enable during sleep mode + /// Crypto clock enable during sleep mode CRYPSMEN: u1, padding: u7, }), - /// APB2 peripheral clock enable in sleep mode register + /// APB2 peripheral clock enable in sleep mode register APB2SMENR: mmio.Mmio(packed struct(u32) { - /// System configuration controller clock enable during sleep mode + /// System configuration controller clock enable during sleep mode SYSCFGSMEN: u1, reserved2: u1, - /// TIM21 timer clock enable during sleep mode + /// TIM21 timer clock enable during sleep mode TIM21SMEN: u1, reserved5: u2, - /// TIM22 timer clock enable during sleep mode + /// TIM22 timer clock enable during sleep mode TIM22SMEN: u1, reserved9: u3, - /// ADC clock enable during sleep mode + /// ADC clock enable during sleep mode ADCSMEN: u1, reserved12: u2, - /// SPI1 clock enable during sleep mode + /// SPI1 clock enable during sleep mode SPI1SMEN: u1, reserved14: u1, - /// USART1 clock enable during sleep mode + /// USART1 clock enable during sleep mode USART1SMEN: u1, reserved22: u7, - /// DBG clock enable during sleep mode + /// DBG clock enable during sleep mode DBGSMEN: u1, padding: u9, }), - /// APB1 peripheral clock enable in sleep mode register + /// APB1 peripheral clock enable in sleep mode register APB1SMENR: mmio.Mmio(packed struct(u32) { - /// Timer2 clock enable during sleep mode + /// Timer2 clock enable during sleep mode TIM2SMEN: u1, - /// Timer 3 clock enable during sleep mode + /// Timer 3 clock enable during sleep mode TIM3SMEN: u1, reserved4: u2, - /// Timer 6 clock enable during sleep mode + /// Timer 6 clock enable during sleep mode TIM6SMEN: u1, - /// Timer 7 clock enable during sleep mode + /// Timer 7 clock enable during sleep mode TIM7SMEN: u1, reserved11: u5, - /// Window watchdog clock enable during sleep mode + /// Window watchdog clock enable during sleep mode WWDGSMEN: u1, reserved14: u2, - /// SPI2 clock enable during sleep mode + /// SPI2 clock enable during sleep mode SPI2SMEN: u1, reserved17: u2, - /// UART2 clock enable during sleep mode + /// UART2 clock enable during sleep mode USART2SMEN: u1, - /// LPUART1 clock enable during sleep mode + /// LPUART1 clock enable during sleep mode LPUART1SMEN: u1, - /// USART4 clock enabe during sleep mode + /// USART4 clock enabe during sleep mode USART4SMEN: u1, - /// USART5 clock enable during sleep mode + /// USART5 clock enable during sleep mode USART5SMEN: u1, - /// I2C1 clock enable during sleep mode + /// I2C1 clock enable during sleep mode I2C1SMEN: u1, - /// I2C2 clock enable during sleep mode + /// I2C2 clock enable during sleep mode I2C2SMEN: u1, - /// USB clock enable during sleep mode + /// USB clock enable during sleep mode USBSMEN: u1, reserved27: u3, - /// Clock recovery system clock enable during sleep mode + /// Clock recovery system clock enable during sleep mode CRSSMEN: u1, - /// Power interface clock enable during sleep mode + /// Power interface clock enable during sleep mode PWRSMEN: u1, - /// DAC interface clock enable during sleep mode + /// DAC interface clock enable during sleep mode DACSMEN: u1, - /// I2C3 clock enable during sleep mode + /// I2C3 clock enable during sleep mode I2C3SMEN: u1, - /// Low power timer clock enable during sleep mode + /// Low power timer clock enable during sleep mode LPTIM1SMEN: u1, }), - /// Clock configuration register + /// Clock configuration register CCIPR: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection - USART1SEL: packed union { - raw: u2, - value: USART1SEL, - }, - /// USART2 clock source selection - USART2SEL: packed union { - raw: u2, - value: UARTSEL, - }, + /// USART1 clock source selection + USART1SEL: USART1SEL, + /// USART2 clock source selection + USART2SEL: UARTSEL, reserved10: u6, - /// LPUART1 clock source selection - LPUART1SEL: packed union { - raw: u2, - value: UARTSEL, - }, - /// I2C1 clock source selection - I2C1SEL: packed union { - raw: u2, - value: I2CSEL, - }, + /// LPUART1 clock source selection + LPUART1SEL: UARTSEL, + /// I2C1 clock source selection + I2C1SEL: I2CSEL, reserved16: u2, - /// I2C3 clock source selection - I2C3SEL: packed union { - raw: u2, - value: I2CSEL, - }, - /// Low Power Timer clock source selection - LPTIM1SEL: packed union { - raw: u2, - value: LPTIMSEL, - }, + /// I2C3 clock source selection + I2C3SEL: I2CSEL, + /// Low Power Timer clock source selection + LPTIM1SEL: LPTIMSEL, reserved26: u6, - /// 48 MHz clock source selection - CLK48SEL: packed union { - raw: u1, - value: CLK48SEL, - }, + /// 48 MHz clock source selection + CLK48SEL: CLK48SEL, padding: u5, }), - /// Control and status register + /// Control and status register CSR: mmio.Mmio(packed struct(u32) { - /// Internal low-speed oscillator enable + /// Internal low-speed oscillator enable LSION: u1, - /// Internal low-speed oscillator ready + /// Internal low-speed oscillator ready LSIRDY: u1, reserved8: u6, - /// External low-speed oscillator enable + /// External low-speed oscillator enable LSEON: u1, - /// External low-speed oscillator ready + /// External low-speed oscillator ready LSERDY: u1, - /// External low-speed oscillator bypass + /// External low-speed oscillator bypass LSEBYP: u1, - /// LSEDRV - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// CSSLSEON + /// LSEDRV + LSEDRV: LSEDRV, + /// CSSLSEON CSSLSEON: u1, - /// CSS on LSE failure detection flag + /// CSS on LSE failure detection flag CSSLSED: u1, reserved16: u1, - /// RTC and LCD clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, - /// RTC clock enable + /// RTC and LCD clock source selection + RTCSEL: RTCSEL, + /// RTC clock enable RTCEN: u1, - /// RTC software reset + /// RTC software reset RTCRST: u1, reserved23: u3, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// Firewall reset flag + /// Firewall reset flag FWRSTF: u1, - /// OBLRSTF + /// OBLRSTF OBLRSTF: u1, - /// PIN reset flag + /// PIN reset flag PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), }; @@ -399736,671 +392632,632 @@ pub const types = struct { pub const rcc_l1 = struct { pub const HPRE = enum(u4) { - /// system clock not divided + /// system clock not divided Div1 = 0x0, - /// system clock divided by 2 + /// system clock divided by 2 Div2 = 0x8, - /// system clock divided by 4 + /// system clock divided by 4 Div4 = 0x9, - /// system clock divided by 8 + /// system clock divided by 8 Div8 = 0xa, - /// system clock divided by 16 + /// system clock divided by 16 Div16 = 0xb, - /// system clock divided by 64 + /// system clock divided by 64 Div64 = 0xc, - /// system clock divided by 128 + /// system clock divided by 128 Div128 = 0xd, - /// system clock divided by 256 + /// system clock divided by 256 Div256 = 0xe, - /// system clock divided by 512 + /// system clock divided by 512 Div512 = 0xf, _, }; pub const MCOPRE = enum(u3) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x1, - /// Division by 4 + /// Division by 4 Div4 = 0x2, - /// Division by 8 + /// Division by 8 Div8 = 0x3, - /// Division by 16 + /// Division by 16 Div16 = 0x4, _, }; pub const MCOSEL = enum(u3) { - /// No clock + /// No clock DISABLE = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI oscillator clock selected + /// HSI oscillator clock selected HSI = 0x2, - /// MSI oscillator clock selected + /// MSI oscillator clock selected MSI = 0x3, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x4, - /// PLL clock selected + /// PLL clock selected PLL = 0x5, - /// LSI oscillator clock selected + /// LSI oscillator clock selected LSI = 0x6, - /// LSE oscillator clock selected + /// LSE oscillator clock selected LSE = 0x7, }; pub const MSIRANGE = enum(u3) { - /// range 0 around 65.536 kHz + /// range 0 around 65.536 kHz Range66K = 0x0, - /// range 1 around 131.072 kHz + /// range 1 around 131.072 kHz Range131K = 0x1, - /// range 2 around 262.144 kHz + /// range 2 around 262.144 kHz Range262K = 0x2, - /// range 3 around 524.288 kHz + /// range 3 around 524.288 kHz Range524K = 0x3, - /// range 4 around 1.048 MHz + /// range 4 around 1.048 MHz Range1M = 0x4, - /// range 5 around 2.097 MHz (reset value) + /// range 5 around 2.097 MHz (reset value) Range2M = 0x5, - /// range 6 around 4.194 MHz + /// range 6 around 4.194 MHz Range4M = 0x6, _, }; pub const PLLDIV = enum(u2) { - /// PLLVCO / 2 + /// PLLVCO / 2 Div2 = 0x1, - /// PLLVCO / 3 + /// PLLVCO / 3 Div3 = 0x2, - /// PLLVCO / 4 + /// PLLVCO / 4 Div4 = 0x3, _, }; pub const PLLMUL = enum(u4) { - /// PLL clock entry x 3 + /// PLL clock entry x 3 Mul3 = 0x0, - /// PLL clock entry x 4 + /// PLL clock entry x 4 Mul4 = 0x1, - /// PLL clock entry x 6 + /// PLL clock entry x 6 Mul6 = 0x2, - /// PLL clock entry x 8 + /// PLL clock entry x 8 Mul8 = 0x3, - /// PLL clock entry x 12 + /// PLL clock entry x 12 Mul12 = 0x4, - /// PLL clock entry x 16 + /// PLL clock entry x 16 Mul16 = 0x5, - /// PLL clock entry x 24 + /// PLL clock entry x 24 Mul24 = 0x6, - /// PLL clock entry x 32 + /// PLL clock entry x 32 Mul32 = 0x7, - /// PLL clock entry x 48 + /// PLL clock entry x 48 Mul48 = 0x8, _, }; pub const PLLSRC = enum(u1) { - /// HSI selected as PLL input clock + /// HSI selected as PLL input clock HSI = 0x0, - /// HSE selected as PLL input clock + /// HSE selected as PLL input clock HSE = 0x1, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const RTCPRE = enum(u2) { - /// HSE divided by 2 + /// HSE divided by 2 Div2 = 0x0, - /// HSE divided by 4 + /// HSE divided by 4 Div4 = 0x1, - /// HSE divided by 8 + /// HSE divided by 8 Div8 = 0x2, - /// HSE divided by 16 + /// HSE divided by 16 Div16 = 0x3, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a programmable prescaler (selection through the RTCPRE[1:0] bits in the RCC clock control register (RCC_CR)) used as the RTC clock + /// HSE oscillator clock divided by a programmable prescaler (selection through the RTCPRE[1:0] bits in the RCC clock control register (RCC_CR)) used as the RTC clock HSE = 0x3, }; pub const SW = enum(u2) { - /// MSI oscillator used as system clock + /// MSI oscillator used as system clock MSI = 0x0, - /// HSI oscillator used as system clock + /// HSI oscillator used as system clock HSI = 0x1, - /// HSE oscillator used as system clock + /// HSE oscillator used as system clock HSE = 0x2, - /// PLL used as system clock + /// PLL used as system clock PLL1_R = 0x3, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// Internal high-speed clock enable + /// Internal high-speed clock enable HSION: u1, - /// Internal high-speed clock ready flag + /// Internal high-speed clock ready flag HSIRDY: u1, reserved8: u6, - /// MSI clock enable + /// MSI clock enable MSION: u1, - /// MSI clock ready flag + /// MSI clock ready flag MSIRDY: u1, reserved16: u6, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE clock bypass + /// HSE clock bypass HSEBYP: u1, reserved24: u5, - /// PLL enable + /// PLL enable PLLON: u1, - /// PLL clock ready flag + /// PLL clock ready flag PLLRDY: u1, reserved28: u2, - /// Clock security system enable + /// Clock security system enable CSSON: u1, - /// RTC/LCD prescaler - RTCPRE: packed union { - raw: u2, - value: RTCPRE, - }, + /// RTC/LCD prescaler + RTCPRE: RTCPRE, padding: u1, }), - /// Internal clock sources calibration register + /// Internal clock sources calibration register ICSCR: mmio.Mmio(packed struct(u32) { - /// nternal high speed clock calibration + /// nternal high speed clock calibration HSICAL: u8, - /// High speed internal clock trimming + /// High speed internal clock trimming HSITRIM: u5, - /// MSI clock ranges - MSIRANGE: packed union { - raw: u3, - value: MSIRANGE, - }, - /// MSI clock calibration + /// MSI clock ranges + MSIRANGE: MSIRANGE, + /// MSI clock calibration MSICAL: u8, - /// MSI clock trimming + /// MSI clock trimming MSITRIM: u8, }), - /// Clock configuration register + /// Clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB low-speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high-speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB low-speed prescaler (APB1) + PPRE1: PPRE, + /// APB high-speed prescaler (APB2) + PPRE2: PPRE, reserved16: u2, - /// PLL entry clock source - PLLSRC: packed union { - raw: u1, - value: PLLSRC, - }, + /// PLL entry clock source + PLLSRC: PLLSRC, reserved18: u1, - /// PLL multiplication factor - PLLMUL: packed union { - raw: u4, - value: PLLMUL, - }, - /// PLL output division - PLLDIV: packed union { - raw: u2, - value: PLLDIV, - }, - /// Microcontroller clock output selection - MCOSEL: packed union { - raw: u3, - value: MCOSEL, - }, + /// PLL multiplication factor + PLLMUL: PLLMUL, + /// PLL output division + PLLDIV: PLLDIV, + /// Microcontroller clock output selection + MCOSEL: MCOSEL, reserved28: u1, - /// Microcontroller clock output prescaler - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, + /// Microcontroller clock output prescaler + MCOPRE: MCOPRE, padding: u1, }), - /// Clock interrupt register + /// Clock interrupt register CIR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYF: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYF: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYF: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYF: u1, - /// PLL ready interrupt flag + /// PLL ready interrupt flag PLLRDYF: u1, - /// MSI ready interrupt flag + /// MSI ready interrupt flag MSIRDYF: u1, reserved7: u1, - /// Clock security system interrupt flag + /// Clock security system interrupt flag CSSF: u1, - /// LSI ready interrupt enable + /// LSI ready interrupt enable LSIRDYIE: u1, - /// LSE ready interrupt enable + /// LSE ready interrupt enable LSERDYIE: u1, - /// HSI ready interrupt enable + /// HSI ready interrupt enable HSIRDYIE: u1, - /// HSE ready interrupt enable + /// HSE ready interrupt enable HSERDYIE: u1, - /// PLL ready interrupt enable + /// PLL ready interrupt enable PLLRDYIE: u1, - /// MSI ready interrupt enable + /// MSI ready interrupt enable MSIRDYIE: u1, reserved16: u2, - /// LSI ready interrupt clear + /// LSI ready interrupt clear LSIRDYC: u1, - /// LSE ready interrupt clear + /// LSE ready interrupt clear LSERDYC: u1, - /// HSI ready interrupt clear + /// HSI ready interrupt clear HSIRDYC: u1, - /// HSE ready interrupt clear + /// HSE ready interrupt clear HSERDYC: u1, - /// PLL ready interrupt clear + /// PLL ready interrupt clear PLLRDYC: u1, - /// MSI ready interrupt clear + /// MSI ready interrupt clear MSIRDYC: u1, reserved23: u1, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, padding: u8, }), - /// AHB peripheral reset register + /// AHB peripheral reset register AHBRSTR: mmio.Mmio(packed struct(u32) { - /// IO port A reset + /// IO port A reset GPIOARST: u1, - /// IO port B reset + /// IO port B reset GPIOBRST: u1, - /// IO port C reset + /// IO port C reset GPIOCRST: u1, - /// IO port D reset + /// IO port D reset GPIODRST: u1, - /// IO port E reset + /// IO port E reset GPIOERST: u1, - /// IO port H reset + /// IO port H reset GPIOHRST: u1, - /// IO port F reset + /// IO port F reset GPIOFRST: u1, - /// IO port G reset + /// IO port G reset GPIOGRST: u1, reserved12: u4, - /// CRC reset + /// CRC reset CRCRST: u1, reserved15: u2, - /// FLASH reset + /// FLASH reset FLASHRST: u1, reserved24: u8, - /// DMA1 reset + /// DMA1 reset DMA1RST: u1, - /// DMA2 reset + /// DMA2 reset DMA2RST: u1, reserved30: u4, - /// FSMC reset + /// FSMC reset FSMCRST: u1, padding: u1, }), - /// APB2 peripheral reset register + /// APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { - /// SYSCFGRST + /// SYSCFGRST SYSCFGRST: u1, reserved2: u1, - /// TIM9RST + /// TIM9RST TIM9RST: u1, - /// TM10RST + /// TM10RST TM10RST: u1, - /// TM11RST + /// TM11RST TM11RST: u1, reserved9: u4, - /// ADC1RST + /// ADC1RST ADC1RST: u1, reserved11: u1, - /// SDIORST + /// SDIORST SDIORST: u1, - /// SPI1RST + /// SPI1RST SPI1RST: u1, reserved14: u1, - /// USART1RST + /// USART1RST USART1RST: u1, padding: u17, }), - /// APB1 peripheral reset register + /// APB1 peripheral reset register APB1RSTR: mmio.Mmio(packed struct(u32) { - /// Timer 2 reset + /// Timer 2 reset TIM2RST: u1, - /// Timer 3 reset + /// Timer 3 reset TIM3RST: u1, - /// Timer 4 reset + /// Timer 4 reset TIM4RST: u1, - /// Timer 5 reset + /// Timer 5 reset TIM5RST: u1, - /// Timer 6reset + /// Timer 6reset TIM6RST: u1, - /// Timer 7 reset + /// Timer 7 reset TIM7RST: u1, reserved9: u3, - /// LCD reset + /// LCD reset LCDRST: u1, reserved11: u1, - /// Window watchdog reset + /// Window watchdog reset WWDRST: u1, reserved14: u2, - /// SPI 2 reset + /// SPI 2 reset SPI2RST: u1, - /// SPI 3 reset + /// SPI 3 reset SPI3RST: u1, reserved17: u1, - /// USART 2 reset + /// USART 2 reset USART2RST: u1, - /// USART 3 reset + /// USART 3 reset USART3RST: u1, - /// UART 4 reset + /// UART 4 reset UART4RST: u1, - /// UART 5 reset + /// UART 5 reset UART5RST: u1, - /// I2C 1 reset + /// I2C 1 reset I2C1RST: u1, - /// I2C 2 reset + /// I2C 2 reset I2C2RST: u1, - /// USB reset + /// USB reset USBRST: u1, reserved28: u4, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC interface reset + /// DAC interface reset DACRST: u1, reserved31: u1, - /// COMP interface reset + /// COMP interface reset COMPRST: u1, }), - /// AHB peripheral clock enable register + /// AHB peripheral clock enable register AHBENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable + /// IO port A clock enable GPIOAEN: u1, - /// IO port B clock enable + /// IO port B clock enable GPIOBEN: u1, - /// IO port C clock enable + /// IO port C clock enable GPIOCEN: u1, - /// IO port D clock enable + /// IO port D clock enable GPIODEN: u1, - /// IO port E clock enable + /// IO port E clock enable GPIOEEN: u1, - /// IO port H clock enable + /// IO port H clock enable GPIOHEN: u1, - /// IO port F clock enable + /// IO port F clock enable GPIOFEN: u1, - /// IO port G clock enable + /// IO port G clock enable GPIOGEN: u1, reserved12: u4, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved15: u2, - /// FLASH clock enable + /// FLASH clock enable FLASHEN: u1, reserved24: u8, - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, reserved30: u4, - /// FSMCEN + /// FSMCEN FSMCEN: u1, padding: u1, }), - /// APB2 peripheral clock enable register + /// APB2 peripheral clock enable register APB2ENR: mmio.Mmio(packed struct(u32) { - /// System configuration controller clock enable + /// System configuration controller clock enable SYSCFGEN: u1, reserved2: u1, - /// TIM9 timer clock enable + /// TIM9 timer clock enable TIM9EN: u1, - /// TIM10 timer clock enable + /// TIM10 timer clock enable TIM10EN: u1, - /// TIM11 timer clock enable + /// TIM11 timer clock enable TIM11EN: u1, reserved9: u4, - /// ADC1 interface clock enable + /// ADC1 interface clock enable ADC1EN: u1, reserved11: u1, - /// SDIO clock enable + /// SDIO clock enable SDIOEN: u1, - /// SPI 1 clock enable + /// SPI 1 clock enable SPI1EN: u1, reserved14: u1, - /// USART1 clock enable + /// USART1 clock enable USART1EN: u1, padding: u17, }), - /// APB1 peripheral clock enable register + /// APB1 peripheral clock enable register APB1ENR: mmio.Mmio(packed struct(u32) { - /// Timer 2 clock enable + /// Timer 2 clock enable TIM2EN: u1, - /// Timer 3 clock enable + /// Timer 3 clock enable TIM3EN: u1, - /// Timer 4 clock enable + /// Timer 4 clock enable TIM4EN: u1, - /// Timer 5 clock enable + /// Timer 5 clock enable TIM5EN: u1, - /// Timer 6 clock enable + /// Timer 6 clock enable TIM6EN: u1, - /// Timer 7 clock enable + /// Timer 7 clock enable TIM7EN: u1, reserved9: u3, - /// LCD clock enable + /// LCD clock enable LCDEN: u1, reserved11: u1, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI 2 clock enable + /// SPI 2 clock enable SPI2EN: u1, - /// SPI 3 clock enable + /// SPI 3 clock enable SPI3EN: u1, reserved17: u1, - /// USART 2 clock enable + /// USART 2 clock enable USART2EN: u1, - /// USART 3 clock enable + /// USART 3 clock enable USART3EN: u1, - /// UART 4 clock enable + /// UART 4 clock enable USART4EN: u1, - /// UART 5 clock enable + /// UART 5 clock enable USART5EN: u1, - /// I2C 1 clock enable + /// I2C 1 clock enable I2C1EN: u1, - /// I2C 2 clock enable + /// I2C 2 clock enable I2C2EN: u1, - /// USB clock enable + /// USB clock enable USBEN: u1, reserved28: u4, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC interface clock enable + /// DAC interface clock enable DACEN: u1, reserved31: u1, - /// COMP interface clock enable + /// COMP interface clock enable COMPEN: u1, }), - /// AHB peripheral clock enable in low power mode register + /// AHB peripheral clock enable in low power mode register AHBLPENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable during Sleep mode + /// IO port A clock enable during Sleep mode GPIOALPEN: u1, - /// IO port B clock enable during Sleep mode + /// IO port B clock enable during Sleep mode GPIOBLPEN: u1, - /// IO port C clock enable during Sleep mode + /// IO port C clock enable during Sleep mode GPIOCLPEN: u1, - /// IO port D clock enable during Sleep mode + /// IO port D clock enable during Sleep mode GPIODLPEN: u1, - /// IO port E clock enable during Sleep mode + /// IO port E clock enable during Sleep mode GPIOELPEN: u1, - /// IO port H clock enable during Sleep mode + /// IO port H clock enable during Sleep mode GPIOHLPEN: u1, - /// IO port F clock enable during Sleep mode + /// IO port F clock enable during Sleep mode GPIOFLPEN: u1, - /// IO port G clock enable during Sleep mode + /// IO port G clock enable during Sleep mode GPIOGLPEN: u1, reserved12: u4, - /// CRC clock enable during Sleep mode + /// CRC clock enable during Sleep mode CRCLPEN: u1, reserved15: u2, - /// FLASH clock enable during Sleep mode + /// FLASH clock enable during Sleep mode FLASHLPEN: u1, - /// SRAM clock enable during Sleep mode + /// SRAM clock enable during Sleep mode SRAMLPEN: u1, reserved24: u7, - /// DMA1 clock enable during Sleep mode + /// DMA1 clock enable during Sleep mode DMA1LPEN: u1, - /// DMA2 clock enable during Sleep mode + /// DMA2 clock enable during Sleep mode DMA2LPEN: u1, padding: u6, }), - /// APB2 peripheral clock enable in low power mode register + /// APB2 peripheral clock enable in low power mode register APB2LPENR: mmio.Mmio(packed struct(u32) { - /// System configuration controller clock enable during Sleep mode + /// System configuration controller clock enable during Sleep mode SYSCFGLPEN: u1, reserved2: u1, - /// TIM9 timer clock enable during Sleep mode + /// TIM9 timer clock enable during Sleep mode TIM9LPEN: u1, - /// TIM10 timer clock enable during Sleep mode + /// TIM10 timer clock enable during Sleep mode TIM10LPEN: u1, - /// TIM11 timer clock enable during Sleep mode + /// TIM11 timer clock enable during Sleep mode TIM11LPEN: u1, reserved9: u4, - /// ADC1 interface clock enable during Sleep mode + /// ADC1 interface clock enable during Sleep mode ADC1LPEN: u1, reserved11: u1, - /// SDIO clock enable during Sleep mode + /// SDIO clock enable during Sleep mode SDIOLPEN: u1, - /// SPI 1 clock enable during Sleep mode + /// SPI 1 clock enable during Sleep mode SPI1LPEN: u1, reserved14: u1, - /// USART1 clock enable during Sleep mode + /// USART1 clock enable during Sleep mode USART1LPEN: u1, padding: u17, }), - /// APB1 peripheral clock enable in low power mode register + /// APB1 peripheral clock enable in low power mode register APB1LPENR: mmio.Mmio(packed struct(u32) { - /// Timer 2 clock enable during Sleep mode + /// Timer 2 clock enable during Sleep mode TIM2LPEN: u1, - /// Timer 3 clock enable during Sleep mode + /// Timer 3 clock enable during Sleep mode TIM3LPEN: u1, - /// Timer 4 clock enable during Sleep mode + /// Timer 4 clock enable during Sleep mode TIM4LPEN: u1, reserved4: u1, - /// Timer 6 clock enable during Sleep mode + /// Timer 6 clock enable during Sleep mode TIM6LPEN: u1, - /// Timer 7 clock enable during Sleep mode + /// Timer 7 clock enable during Sleep mode TIM7LPEN: u1, reserved9: u3, - /// LCD clock enable during Sleep mode + /// LCD clock enable during Sleep mode LCDLPEN: u1, reserved11: u1, - /// Window watchdog clock enable during Sleep mode + /// Window watchdog clock enable during Sleep mode WWDGLPEN: u1, reserved14: u2, - /// SPI 2 clock enable during Sleep mode + /// SPI 2 clock enable during Sleep mode SPI2LPEN: u1, reserved17: u2, - /// USART 2 clock enable during Sleep mode + /// USART 2 clock enable during Sleep mode USART2LPEN: u1, - /// USART 3 clock enable during Sleep mode + /// USART 3 clock enable during Sleep mode USART3LPEN: u1, reserved21: u2, - /// I2C 1 clock enable during Sleep mode + /// I2C 1 clock enable during Sleep mode I2C1LPEN: u1, - /// I2C 2 clock enable during Sleep mode + /// I2C 2 clock enable during Sleep mode I2C2LPEN: u1, - /// USB clock enable during Sleep mode + /// USB clock enable during Sleep mode USBLPEN: u1, reserved28: u4, - /// Power interface clock enable during Sleep mode + /// Power interface clock enable during Sleep mode PWRLPEN: u1, - /// DAC interface clock enable during Sleep mode + /// DAC interface clock enable during Sleep mode DACLPEN: u1, reserved31: u1, - /// COMP interface clock enable during Sleep mode + /// COMP interface clock enable during Sleep mode COMPLPEN: u1, }), - /// Control/status register + /// Control/status register CSR: mmio.Mmio(packed struct(u32) { - /// Internal low-speed oscillator enable + /// Internal low-speed oscillator enable LSION: u1, - /// Internal low-speed oscillator ready + /// Internal low-speed oscillator ready LSIRDY: u1, reserved8: u6, - /// External low-speed oscillator enable + /// External low-speed oscillator enable LSEON: u1, - /// External low-speed oscillator ready + /// External low-speed oscillator ready LSERDY: u1, - /// External low-speed oscillator bypass + /// External low-speed oscillator bypass LSEBYP: u1, reserved16: u5, - /// RTC and LCD clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC and LCD clock source selection + RTCSEL: RTCSEL, reserved22: u4, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// RTC software reset + /// RTC software reset RTCRST: u1, - /// Remove reset flag + /// Remove reset flag RMVF: u1, reserved26: u1, - /// PIN reset flag + /// PIN reset flag PINRSTF: u1, - /// POR/PDR reset flag + /// POR/PDR reset flag PORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent watchdog reset flag + /// Independent watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), }; @@ -400408,204 +393265,204 @@ pub const types = struct { pub const rcc_l4 = struct { pub const ADCSEL = enum(u2) { - /// No clock selected + /// No clock selected DISABLE = 0x0, - /// PLLADC1CLK clock selected + /// PLLADC1CLK clock selected PLL1_Q = 0x1, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x3, _, }; pub const CLK48SEL = enum(u2) { - /// HSI48 clock selected (only for STM32L41x/L42x/L43x/L44x/L45x/L46x/L49x/L4Ax devices, otherwise no clock selected) + /// HSI48 clock selected (only for STM32L41x/L42x/L43x/L44x/L45x/L46x/L49x/L4Ax devices, otherwise no clock selected) HSI48 = 0x0, - /// PLLSAI1_Q aka PLL48M1CLK clock selected + /// PLLSAI1_Q aka PLL48M1CLK clock selected PLLSAI1_Q = 0x1, - /// PLL_Q aka PLL48M2CLK clock selected + /// PLL_Q aka PLL48M2CLK clock selected PLL1_Q = 0x2, - /// MSI clock selected + /// MSI clock selected MSI = 0x3, }; pub const DFSDMSEL = enum(u1) { - /// APB2 clock (PCLK2) selected as DFSDM kernel clock + /// APB2 clock (PCLK2) selected as DFSDM kernel clock PCLK2 = 0x0, - /// System clock selected as DFSDM kernel clock + /// System clock selected as DFSDM kernel clock SYS = 0x1, }; pub const HPRE = enum(u4) { - /// system clock not divided + /// system clock not divided Div1 = 0x0, - /// system clock divided by 2 + /// system clock divided by 2 Div2 = 0x8, - /// system clock divided by 4 + /// system clock divided by 4 Div4 = 0x9, - /// system clock divided by 8 + /// system clock divided by 8 Div8 = 0xa, - /// system clock divided by 16 + /// system clock divided by 16 Div16 = 0xb, - /// system clock divided by 64 + /// system clock divided by 64 Div64 = 0xc, - /// system clock divided by 128 + /// system clock divided by 128 Div128 = 0xd, - /// system clock divided by 256 + /// system clock divided by 256 Div256 = 0xe, - /// system clock divided by 512 + /// system clock divided by 512 Div512 = 0xf, _, }; pub const I2C1SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, _, }; pub const I2C2SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, _, }; pub const I2C3SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, _, }; pub const LPTIM1SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// LSI clock selected + /// LSI clock selected LSI = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, - /// LSE clock selected + /// LSE clock selected LSE = 0x3, }; pub const LPTIM2SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// LSI clock selected + /// LSI clock selected LSI = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, - /// LSE clock selected + /// LSE clock selected LSE = 0x3, }; pub const LPUART1SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, - /// LSE clock selected + /// LSE clock selected LSE = 0x3, }; pub const LSCOSEL = enum(u1) { - /// LSI clock selected + /// LSI clock selected LSI = 0x0, - /// LSE clock selected + /// LSE clock selected LSE = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u3) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x1, - /// Division by 4 + /// Division by 4 Div4 = 0x2, - /// Division by 8 + /// Division by 8 Div8 = 0x3, - /// Division by 16 + /// Division by 16 Div16 = 0x4, _, }; pub const MCOSEL = enum(u4) { - /// No clock + /// No clock DISABLE = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// MSI oscillator clock selected + /// MSI oscillator clock selected MSI = 0x2, - /// HSI oscillator clock selected + /// HSI oscillator clock selected HSI = 0x3, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x4, - /// PLL clock selected + /// PLL clock selected PLL = 0x5, - /// LSI oscillator clock selected + /// LSI oscillator clock selected LSI = 0x6, - /// LSE oscillator clock selected + /// LSE oscillator clock selected LSE = 0x7, - /// HSI48 oscillator clock selected + /// HSI48 oscillator clock selected HSI48 = 0x8, _, }; pub const MSIRANGE = enum(u4) { - /// range 0 around 100 kHz + /// range 0 around 100 kHz Range100K = 0x0, - /// range 1 around 200 kHz + /// range 1 around 200 kHz Range200K = 0x1, - /// range 2 around 400 kHz + /// range 2 around 400 kHz Range400K = 0x2, - /// range 3 around 800 kHz + /// range 3 around 800 kHz Range800K = 0x3, - /// range 4 around 1 MHz + /// range 4 around 1 MHz Range1M = 0x4, - /// range 5 around 2 MHz + /// range 5 around 2 MHz Range2M = 0x5, - /// range 6 around 4 MHz + /// range 6 around 4 MHz Range4M = 0x6, - /// range 7 around 8 MHz + /// range 7 around 8 MHz Range8M = 0x7, - /// range 8 around 16 MHz + /// range 8 around 16 MHz Range16M = 0x8, - /// range 9 around 24 MHz + /// range 9 around 24 MHz Range24M = 0x9, - /// range 10 around 32 MHz + /// range 10 around 32 MHz Range32M = 0xa, - /// range 11 around 48 MHz + /// range 11 around 48 MHz Range48M = 0xb, _, }; pub const MSIRGSEL = enum(u1) { - /// MSI Range is provided by MSISRANGE[3:0] in RCC_CSR register + /// MSI Range is provided by MSISRANGE[3:0] in RCC_CSR register CSR = 0x0, - /// MSI Range is provided by MSIRANGE[3:0] in the RCC_CR register + /// MSI Range is provided by MSIRANGE[3:0] in the RCC_CR register CR = 0x1, }; @@ -400798,78 +393655,78 @@ pub const types = struct { }; pub const PLLSRC = enum(u2) { - /// No clock sent to PLL + /// No clock sent to PLL DISABLE = 0x0, - /// MSI selected as PLL input clock + /// MSI selected as PLL input clock MSI = 0x1, - /// HSI selected as PLL input clock + /// HSI selected as PLL input clock HSI = 0x2, - /// HSE selected as PLL input clock + /// HSE selected as PLL input clock HSE = 0x3, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by 32 used as the RTC clock + /// HSE oscillator clock divided by 32 used as the RTC clock HSE = 0x3, }; pub const SAI1SEL = enum(u2) { - /// PLLSAI1CLK clock is selected as SAIx clock + /// PLLSAI1CLK clock is selected as SAIx clock PLLSAI1_P = 0x0, - /// PLLSAI2CLK clock is selected as SAIx clock + /// PLLSAI2CLK clock is selected as SAIx clock PLLSAI2_P = 0x1, - /// PLLSAI3CLK clock is selected as SAIx clock + /// PLLSAI3CLK clock is selected as SAIx clock PLL1_P = 0x2, - /// External clock SAIx_EXTCLK clock selected as SAIx clock + /// External clock SAIx_EXTCLK clock selected as SAIx clock SAI1_EXTCLK = 0x3, }; pub const SAI2SEL = enum(u2) { - /// PLLSAI1CLK clock is selected as SAIx clock + /// PLLSAI1CLK clock is selected as SAIx clock PLLSAI1_P = 0x0, - /// PLLSAI2CLK clock is selected as SAIx clock + /// PLLSAI2CLK clock is selected as SAIx clock PLLSAI2_P = 0x1, - /// PLLSAI3CLK clock is selected as SAIx clock + /// PLLSAI3CLK clock is selected as SAIx clock PLL1_P = 0x2, - /// External clock SAIx_EXTCLK clock selected as SAIx clock + /// External clock SAIx_EXTCLK clock selected as SAIx clock SAI2_EXTCLK = 0x3, }; pub const STOPWUCK = enum(u1) { - /// MSI oscillator selected as wake-up from Stop clock + /// MSI oscillator selected as wake-up from Stop clock MSI = 0x0, - /// HSI oscillator selected as wake-up from Stop clock + /// HSI oscillator selected as wake-up from Stop clock HSI = 0x1, }; pub const SW = enum(u2) { - /// MSI selected as system clock + /// MSI selected as system clock MSI = 0x0, - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x1, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x2, - /// PLL selected as system clock + /// PLL selected as system clock PLL1_R = 0x3, }; @@ -400879,1011 +393736,870 @@ pub const types = struct { }; pub const USART1SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK2 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, - /// LSE clock selected + /// LSE clock selected LSE = 0x3, }; pub const USARTSEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, - /// LSE clock selected + /// LSE clock selected LSE = 0x3, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// MSI clock enable + /// MSI clock enable MSION: u1, - /// MSI clock ready flag + /// MSI clock ready flag MSIRDY: u1, - /// MSI clock PLL enable + /// MSI clock PLL enable MSIPLLEN: u1, - /// MSI clock range selection - MSIRGSEL: packed union { - raw: u1, - value: MSIRGSEL, - }, - /// MSI clock ranges - MSIRANGE: packed union { - raw: u4, - value: MSIRANGE, - }, - /// HSI clock enable + /// MSI clock range selection + MSIRGSEL: MSIRGSEL, + /// MSI clock ranges + MSIRANGE: MSIRANGE, + /// HSI clock enable HSION: u1, - /// HSI always enable for peripheral kernels + /// HSI always enable for peripheral kernels HSIKERON: u1, - /// HSI clock ready flag + /// HSI clock ready flag HSIRDY: u1, - /// HSI automatic start from Stop + /// HSI automatic start from Stop HSIASFS: u1, reserved16: u4, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE crystal oscillator bypass + /// HSE crystal oscillator bypass HSEBYP: u1, - /// Clock security system enable + /// Clock security system enable CSSON: u1, reserved24: u4, - /// Main PLL enable + /// Main PLL enable PLLON: u1, - /// Main PLL clock ready flag + /// Main PLL clock ready flag PLLRDY: u1, - /// SAI1 PLL enable + /// SAI1 PLL enable PLLSAI1ON: u1, - /// SAI1 PLL clock ready flag + /// SAI1 PLL clock ready flag PLLSAI1RDY: u1, - /// SAI2 PLL enable + /// SAI2 PLL enable PLLSAI2ON: u1, - /// SAI2 PLL clock ready flag + /// SAI2 PLL clock ready flag PLLSAI2RDY: u1, padding: u2, }), - /// Internal clock sources calibration register + /// Internal clock sources calibration register ICSCR: mmio.Mmio(packed struct(u32) { - /// MSI clock calibration + /// MSI clock calibration MSICAL: u8, - /// MSI clock trimming + /// MSI clock trimming MSITRIM: u8, - /// HSI clock calibration + /// HSI clock calibration HSICAL: u8, - /// HSI clock trimming + /// HSI clock trimming HSITRIM: u7, padding: u1, }), - /// Clock configuration register + /// Clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB low-speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high-speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB low-speed prescaler (APB1) + PPRE1: PPRE, + /// APB high-speed prescaler (APB2) + PPRE2: PPRE, reserved15: u1, - /// Wakeup from Stop and CSS backup clock selection - STOPWUCK: packed union { - raw: u1, - value: STOPWUCK, - }, + /// Wakeup from Stop and CSS backup clock selection + STOPWUCK: STOPWUCK, reserved24: u8, - /// Microcontroller clock output selection - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller clock output prescaler - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, + /// Microcontroller clock output selection + MCOSEL: MCOSEL, + /// Microcontroller clock output prescaler + MCOPRE: MCOPRE, padding: u1, }), - /// PLL configuration register + /// PLL configuration register PLLCFGR: mmio.Mmio(packed struct(u32) { - /// Main PLL, PLLSAI1 and PLLSAI2 entry clock source - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, + /// Main PLL, PLLSAI1 and PLLSAI2 entry clock source + PLLSRC: PLLSRC, reserved4: u2, - /// Division factor for the main PLL and audio PLL (PLLSAI1 and PLLSAI2) input clock - PLLM: packed union { - raw: u3, - value: PLLM, - }, + /// Division factor for the main PLL and audio PLL (PLLSAI1 and PLLSAI2) input clock + PLLM: PLLM, reserved8: u1, - /// Main PLL multiplication factor for VCO - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// Main PLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// Main PLL PLLSAI3CLK output enable + /// Main PLL PLLSAI3CLK output enable PLLPEN: u1, - /// Main PLL division factor for PLLSAI3CLK (SAI1 and SAI2 clock) - PLLPBIT: packed union { - raw: u1, - value: PLLPBIT, - }, + /// Main PLL division factor for PLLSAI3CLK (SAI1 and SAI2 clock) + PLLPBIT: PLLPBIT, reserved20: u2, - /// Main PLL PLLUSB1CLK output enable + /// Main PLL PLLUSB1CLK output enable PLLQEN: u1, - /// Main PLL division factor for PLLUSB1CLK(48 MHz clock) - PLLQ: packed union { - raw: u2, - value: PLLQ, - }, + /// Main PLL division factor for PLLUSB1CLK(48 MHz clock) + PLLQ: PLLQ, reserved24: u1, - /// Main PLL PLLCLK output enable + /// Main PLL PLLCLK output enable PLLREN: u1, - /// Main PLL division factor for PLLCLK (system clock) - PLLR: packed union { - raw: u2, - value: PLLR, - }, - /// Main PLL division factor for PLLSAI2CLK - PLLP: packed union { - raw: u5, - value: PLLP, - }, - }), - /// PLLSAI1 configuration register + /// Main PLL division factor for PLLCLK (system clock) + PLLR: PLLR, + /// Main PLL division factor for PLLSAI2CLK + PLLP: PLLP, + }), + /// PLLSAI1 configuration register PLLSAI1CFGR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// SAI1PLL multiplication factor for VCO - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// SAI1PLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// SAI1PLL PLLSAICLK output enable + /// SAI1PLL PLLSAICLK output enable PLLPEN: u1, - /// SAI1PLL division factor for PLLSAICLK - PLLPBIT: packed union { - raw: u1, - value: PLLPBIT, - }, + /// SAI1PLL division factor for PLLSAICLK + PLLPBIT: PLLPBIT, reserved20: u2, - /// SAI1PLL PLLUSB2CLK output enable + /// SAI1PLL PLLUSB2CLK output enable PLLQEN: u1, - /// SAI1PLL division factor for PLLUSB2CLK - PLLQ: packed union { - raw: u2, - value: PLLQ, - }, + /// SAI1PLL division factor for PLLUSB2CLK + PLLQ: PLLQ, reserved24: u1, - /// PLLSAI PLLADC1CLK output enable + /// PLLSAI PLLADC1CLK output enable PLLREN: u1, - /// PLLSAI division factor for PLLADC1CLK - PLLR: packed union { - raw: u2, - value: PLLR, - }, - /// PLLSAI division factor for PLLSAICLK - PLLP: packed union { - raw: u5, - value: PLLP, - }, - }), - /// PLLSAI2 configuration register + /// PLLSAI division factor for PLLADC1CLK + PLLR: PLLR, + /// PLLSAI division factor for PLLSAICLK + PLLP: PLLP, + }), + /// PLLSAI2 configuration register PLLSAI2CFGR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// SAI1PLL multiplication factor for VCO - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// SAI1PLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// SAI1PLL PLLSAICLK output enable + /// SAI1PLL PLLSAICLK output enable PLLPEN: u1, - /// SAI1PLL division factor for PLLSAICLK - PLLPBIT: packed union { - raw: u1, - value: PLLPBIT, - }, + /// SAI1PLL division factor for PLLSAICLK + PLLPBIT: PLLPBIT, reserved20: u2, - /// SAI1PLL PLLUSB2CLK output enable + /// SAI1PLL PLLUSB2CLK output enable PLLQEN: u1, - /// SAI1PLL division factor for PLLUSB2CLK - PLLQ: packed union { - raw: u2, - value: PLLQ, - }, + /// SAI1PLL division factor for PLLUSB2CLK + PLLQ: PLLQ, reserved24: u1, - /// PLLSAI PLLADC1CLK output enable + /// PLLSAI PLLADC1CLK output enable PLLREN: u1, - /// PLLSAI division factor for PLLADC1CLK - PLLR: packed union { - raw: u2, - value: PLLR, - }, - /// PLLSAI division factor for PLLSAICLK - PLLP: packed union { - raw: u5, - value: PLLP, - }, - }), - /// Clock interrupt enable register + /// PLLSAI division factor for PLLADC1CLK + PLLR: PLLR, + /// PLLSAI division factor for PLLSAICLK + PLLP: PLLP, + }), + /// Clock interrupt enable register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt enable + /// LSI ready interrupt enable LSIRDYIE: u1, - /// LSE ready interrupt enable + /// LSE ready interrupt enable LSERDYIE: u1, - /// MSI ready interrupt enable + /// MSI ready interrupt enable MSIRDYIE: u1, - /// HSI ready interrupt enable + /// HSI ready interrupt enable HSIRDYIE: u1, - /// HSE ready interrupt enable + /// HSE ready interrupt enable HSERDYIE: u1, - /// PLL ready interrupt enable + /// PLL ready interrupt enable PLLRDYIE: u1, - /// PLLSAI1 ready interrupt enable + /// PLLSAI1 ready interrupt enable PLLSAI1RDYIE: u1, - /// PLLSAI2 ready interrupt enable + /// PLLSAI2 ready interrupt enable PLLSAI2RDYIE: u1, reserved9: u1, - /// LSE clock security system interrupt enable + /// LSE clock security system interrupt enable LSECSSIE: u1, - /// HSI48 ready interrupt enable + /// HSI48 ready interrupt enable HSI48RDYIE: u1, padding: u21, }), - /// Clock interrupt flag register + /// Clock interrupt flag register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYF: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYF: u1, - /// MSI ready interrupt flag + /// MSI ready interrupt flag MSIRDYF: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYF: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYF: u1, - /// PLL ready interrupt flag + /// PLL ready interrupt flag PLLRDYF: u1, - /// PLLSAI1 ready interrupt flag + /// PLLSAI1 ready interrupt flag PLLSAI1RDYF: u1, - /// PLLSAI2 ready interrupt flag + /// PLLSAI2 ready interrupt flag PLLSAI2RDYF: u1, - /// Clock security system interrupt flag + /// Clock security system interrupt flag CSSF: u1, - /// LSE Clock security system interrupt flag + /// LSE Clock security system interrupt flag LSECSSF: u1, - /// HSI48 ready interrupt flag + /// HSI48 ready interrupt flag HSI48RDYF: u1, padding: u21, }), - /// Clock interrupt clear register + /// Clock interrupt clear register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt clear + /// LSI ready interrupt clear LSIRDYC: u1, - /// LSE ready interrupt clear + /// LSE ready interrupt clear LSERDYC: u1, - /// MSI ready interrupt clear + /// MSI ready interrupt clear MSIRDYC: u1, - /// HSI ready interrupt clear + /// HSI ready interrupt clear HSIRDYC: u1, - /// HSE ready interrupt clear + /// HSE ready interrupt clear HSERDYC: u1, - /// PLL ready interrupt clear + /// PLL ready interrupt clear PLLRDYC: u1, - /// PLLSAI1 ready interrupt clear + /// PLLSAI1 ready interrupt clear PLLSAI1RDYC: u1, - /// PLLSAI2 ready interrupt clear + /// PLLSAI2 ready interrupt clear PLLSAI2RDYC: u1, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, - /// LSE Clock security system interrupt clear + /// LSE Clock security system interrupt clear LSECSSC: u1, - /// HSI48 oscillator ready interrupt clear + /// HSI48 oscillator ready interrupt clear HSI48RDYC: u1, padding: u21, }), reserved40: [4]u8, - /// AHB1 peripheral reset register + /// AHB1 peripheral reset register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// DMA1 reset + /// DMA1 reset DMA1RST: u1, - /// DMA2 reset + /// DMA2 reset DMA2RST: u1, reserved8: u6, - /// Flash memory interface reset + /// Flash memory interface reset FLASHRST: u1, reserved12: u3, - /// CRC reset + /// CRC reset CRCRST: u1, reserved16: u3, - /// Touch Sensing Controller reset + /// Touch Sensing Controller reset TSCRST: u1, - /// DMA2D reset + /// DMA2D reset DMA2DRST: u1, padding: u14, }), - /// AHB2 peripheral reset register + /// AHB2 peripheral reset register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// IO port A reset + /// IO port A reset GPIOARST: u1, - /// IO port B reset + /// IO port B reset GPIOBRST: u1, - /// IO port C reset + /// IO port C reset GPIOCRST: u1, - /// IO port D reset + /// IO port D reset GPIODRST: u1, - /// IO port E reset + /// IO port E reset GPIOERST: u1, - /// IO port F reset + /// IO port F reset GPIOFRST: u1, - /// IO port G reset + /// IO port G reset GPIOGRST: u1, - /// IO port H reset + /// IO port H reset GPIOHRST: u1, - /// IO port I reset + /// IO port I reset GPIOIRST: u1, reserved12: u3, - /// USB OTG FS reset + /// USB OTG FS reset USB_OTG_FSRST: u1, - /// ADC reset + /// ADC reset ADCRST: u1, - /// Digital Camera Interface reset + /// Digital Camera Interface reset DCMIRST: u1, reserved16: u1, - /// AES hardware accelerator reset + /// AES hardware accelerator reset AESRST: u1, - /// Hash reset + /// Hash reset HASHRST: u1, - /// Random number generator reset + /// Random number generator reset RNGRST: u1, padding: u13, }), - /// AHB3 peripheral reset register + /// AHB3 peripheral reset register AHB3RSTR: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller reset + /// Flexible memory controller reset FMCRST: u1, reserved8: u7, - /// Quad SPI memory interface reset + /// Quad SPI memory interface reset QUADSPIRST: u1, padding: u23, }), reserved56: [4]u8, - /// APB1 peripheral reset register 1 + /// APB1 peripheral reset register 1 APB1RSTR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer reset + /// TIM2 timer reset TIM2RST: u1, - /// TIM3 timer reset + /// TIM3 timer reset TIM3RST: u1, - /// TIM3 timer reset + /// TIM3 timer reset TIM4RST: u1, - /// TIM5 timer reset + /// TIM5 timer reset TIM5RST: u1, - /// TIM6 timer reset + /// TIM6 timer reset TIM6RST: u1, - /// TIM7 timer reset + /// TIM7 timer reset TIM7RST: u1, reserved9: u3, - /// LCD interface reset + /// LCD interface reset LCDRST: u1, reserved14: u4, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, - /// SPI3 reset + /// SPI3 reset SPI3RST: u1, reserved17: u1, - /// USART2 reset + /// USART2 reset USART2RST: u1, - /// USART3 reset + /// USART3 reset USART3RST: u1, - /// UART4 reset + /// UART4 reset UART4RST: u1, - /// UART5 reset + /// UART5 reset UART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// I2C3 reset + /// I2C3 reset I2C3RST: u1, - /// CRS reset + /// CRS reset CRSRST: u1, - /// CAN1 reset + /// CAN1 reset CAN1RST: u1, - /// CAN2 reset + /// CAN2 reset CAN2RST: u1, reserved28: u1, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC1 interface reset + /// DAC1 interface reset DAC1RST: u1, - /// OPAMP interface reset + /// OPAMP interface reset OPAMPRST: u1, - /// Low Power Timer 1 reset + /// Low Power Timer 1 reset LPTIM1RST: u1, }), - /// APB1 peripheral reset register 2 + /// APB1 peripheral reset register 2 APB1RSTR2: mmio.Mmio(packed struct(u32) { - /// Low-power UART 1 reset + /// Low-power UART 1 reset LPUART1RST: u1, - /// I2C4 reset + /// I2C4 reset I2C4RST: u1, - /// Single wire protocol reset + /// Single wire protocol reset SWPMI1RST: u1, reserved5: u2, - /// Low-power timer 2 reset + /// Low-power timer 2 reset LPTIM2RST: u1, padding: u26, }), - /// APB2 peripheral reset register + /// APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { - /// System configuration (SYSCFG) reset + /// System configuration (SYSCFG) reset SYSCFGRST: u1, reserved10: u9, - /// SDMMC reset + /// SDMMC reset SDMMCRST: u1, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI1 reset + /// SPI1 reset SPI1RST: u1, - /// TIM8 timer reset + /// TIM8 timer reset TIM8RST: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, reserved16: u1, - /// TIM15 timer reset + /// TIM15 timer reset TIM15RST: u1, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, reserved21: u2, - /// Serial audio interface 1 (SAI1) reset + /// Serial audio interface 1 (SAI1) reset SAI1RST: u1, - /// Serial audio interface 2 (SAI2) reset + /// Serial audio interface 2 (SAI2) reset SAI2RST: u1, reserved24: u1, - /// DFSDM filter reset + /// DFSDM filter reset DFSDMRST: u1, padding: u7, }), reserved72: [4]u8, - /// AHB1 peripheral clock enable register + /// AHB1 peripheral clock enable register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, reserved8: u6, - /// Flash memory interface clock enable + /// Flash memory interface clock enable FLASHEN: u1, reserved12: u3, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved16: u3, - /// Touch Sensing Controller clock enable + /// Touch Sensing Controller clock enable TSCEN: u1, - /// DMA2D clock enable + /// DMA2D clock enable DMA2DEN: u1, padding: u14, }), - /// AHB2 peripheral clock enable register + /// AHB2 peripheral clock enable register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable + /// IO port A clock enable GPIOAEN: u1, - /// IO port B clock enable + /// IO port B clock enable GPIOBEN: u1, - /// IO port C clock enable + /// IO port C clock enable GPIOCEN: u1, - /// IO port D clock enable + /// IO port D clock enable GPIODEN: u1, - /// IO port E clock enable + /// IO port E clock enable GPIOEEN: u1, - /// IO port F clock enable + /// IO port F clock enable GPIOFEN: u1, - /// IO port G clock enable + /// IO port G clock enable GPIOGEN: u1, - /// IO port H clock enable + /// IO port H clock enable GPIOHEN: u1, - /// IO port I clock enable + /// IO port I clock enable GPIOIEN: u1, reserved12: u3, - /// OTG full speed clock enable + /// OTG full speed clock enable USB_OTG_FSEN: u1, - /// ADC clock enable + /// ADC clock enable ADCEN: u1, - /// DCMI clock enable + /// DCMI clock enable DCMIEN: u1, reserved16: u1, - /// AES accelerator clock enable + /// AES accelerator clock enable AESEN: u1, - /// HASH clock enable + /// HASH clock enable HASHEN: u1, - /// Random Number Generator clock enable + /// Random Number Generator clock enable RNGEN: u1, padding: u13, }), - /// AHB3 peripheral clock enable register + /// AHB3 peripheral clock enable register AHB3ENR: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller clock enable + /// Flexible memory controller clock enable FMCEN: u1, reserved8: u7, - /// QUADSPIEN + /// QUADSPIEN QUADSPIEN: u1, padding: u23, }), reserved88: [4]u8, - /// APB1ENR1 + /// APB1ENR1 APB1ENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clock enable + /// TIM2 timer clock enable TIM2EN: u1, - /// TIM3 timer clock enable + /// TIM3 timer clock enable TIM3EN: u1, - /// TIM4 timer clock enable + /// TIM4 timer clock enable TIM4EN: u1, - /// TIM5 timer clock enable + /// TIM5 timer clock enable TIM5EN: u1, - /// TIM6 timer clock enable + /// TIM6 timer clock enable TIM6EN: u1, - /// TIM7 timer clock enable + /// TIM7 timer clock enable TIM7EN: u1, reserved9: u3, - /// LCD clock enable + /// LCD clock enable LCDEN: u1, - /// RTC APB clock enable + /// RTC APB clock enable RTCAPBEN: u1, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI2 clock enable + /// SPI2 clock enable SPI2EN: u1, - /// SPI3 clock enable + /// SPI3 clock enable SPI3EN: u1, reserved17: u1, - /// USART2 clock enable + /// USART2 clock enable USART2EN: u1, - /// USART3 clock enable + /// USART3 clock enable USART3EN: u1, - /// UART4 clock enable + /// UART4 clock enable UART4EN: u1, - /// UART5 clock enable + /// UART5 clock enable UART5EN: u1, - /// I2C1 clock enable + /// I2C1 clock enable I2C1EN: u1, - /// I2C2 clock enable + /// I2C2 clock enable I2C2EN: u1, - /// I2C3 clock enable + /// I2C3 clock enable I2C3EN: u1, - /// Clock Recovery System clock enable + /// Clock Recovery System clock enable CRSEN: u1, - /// CAN1 clock enable + /// CAN1 clock enable CAN1EN: u1, - /// CAN2 clock enable + /// CAN2 clock enable CAN2EN: u1, reserved28: u1, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC1 interface clock enable + /// DAC1 interface clock enable DAC1EN: u1, - /// OPAMP interface clock enable + /// OPAMP interface clock enable OPAMPEN: u1, - /// Low power timer 1 clock enable + /// Low power timer 1 clock enable LPTIM1EN: u1, }), - /// APB1 peripheral clock enable register 2 + /// APB1 peripheral clock enable register 2 APB1ENR2: mmio.Mmio(packed struct(u32) { - /// Low power UART 1 clock enable + /// Low power UART 1 clock enable LPUART1EN: u1, - /// I2C4 clock enable + /// I2C4 clock enable I2C4EN: u1, - /// Single wire protocol clock enable + /// Single wire protocol clock enable SWPMI1EN: u1, reserved5: u2, - /// LPTIM2EN + /// LPTIM2EN LPTIM2EN: u1, padding: u26, }), - /// APB2ENR + /// APB2ENR APB2ENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock enable + /// SYSCFG clock enable SYSCFGEN: u1, reserved7: u6, - /// Firewall clock enable + /// Firewall clock enable FWEN: u1, reserved10: u2, - /// SDMMC clock enable + /// SDMMC clock enable SDMMCEN: u1, - /// TIM1 timer clock enable + /// TIM1 timer clock enable TIM1EN: u1, - /// SPI1 clock enable + /// SPI1 clock enable SPI1EN: u1, - /// TIM8 timer clock enable + /// TIM8 timer clock enable TIM8EN: u1, - /// USART1clock enable + /// USART1clock enable USART1EN: u1, reserved16: u1, - /// TIM15 timer clock enable + /// TIM15 timer clock enable TIM15EN: u1, - /// TIM16 timer clock enable + /// TIM16 timer clock enable TIM16EN: u1, - /// TIM17 timer clock enable + /// TIM17 timer clock enable TIM17EN: u1, reserved21: u2, - /// SAI1 clock enable + /// SAI1 clock enable SAI1EN: u1, - /// SAI2 clock enable + /// SAI2 clock enable SAI2EN: u1, reserved24: u1, - /// DFSDMEN enable + /// DFSDMEN enable DFSDMEN: u1, padding: u7, }), reserved104: [4]u8, - /// AHB1 peripheral clocks enable in Sleep and Stop modes register + /// AHB1 peripheral clocks enable in Sleep and Stop modes register AHB1SMENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clocks enable during Sleep and Stop modes + /// DMA1 clocks enable during Sleep and Stop modes DMA1SMEN: u1, - /// DMA2 clocks enable during Sleep and Stop modes + /// DMA2 clocks enable during Sleep and Stop modes DMA2SMEN: u1, reserved8: u6, - /// Flash memory interface clocks enable during Sleep and Stop modes + /// Flash memory interface clocks enable during Sleep and Stop modes FLASHSMEN: u1, - /// SRAM1 interface clocks enable during Sleep and Stop modes + /// SRAM1 interface clocks enable during Sleep and Stop modes SRAM1SMEN: u1, reserved12: u2, - /// CRCSMEN + /// CRCSMEN CRCSMEN: u1, reserved16: u3, - /// Touch Sensing Controller clocks enable during Sleep and Stop modes + /// Touch Sensing Controller clocks enable during Sleep and Stop modes TSCSMEN: u1, - /// DMA2D clock enable during Sleep and Stop modes + /// DMA2D clock enable during Sleep and Stop modes DMA2DSMEN: u1, padding: u14, }), - /// AHB2 peripheral clocks enable in Sleep and Stop modes register + /// AHB2 peripheral clocks enable in Sleep and Stop modes register AHB2SMENR: mmio.Mmio(packed struct(u32) { - /// IO port A clocks enable during Sleep and Stop modes + /// IO port A clocks enable during Sleep and Stop modes GPIOASMEN: u1, - /// IO port B clocks enable during Sleep and Stop modes + /// IO port B clocks enable during Sleep and Stop modes GPIOBSMEN: u1, - /// IO port C clocks enable during Sleep and Stop modes + /// IO port C clocks enable during Sleep and Stop modes GPIOCSMEN: u1, - /// IO port D clocks enable during Sleep and Stop modes + /// IO port D clocks enable during Sleep and Stop modes GPIODSMEN: u1, - /// IO port E clocks enable during Sleep and Stop modes + /// IO port E clocks enable during Sleep and Stop modes GPIOESMEN: u1, - /// IO port F clocks enable during Sleep and Stop modes + /// IO port F clocks enable during Sleep and Stop modes GPIOFSMEN: u1, - /// IO port G clocks enable during Sleep and Stop modes + /// IO port G clocks enable during Sleep and Stop modes GPIOGSMEN: u1, - /// IO port H clocks enable during Sleep and Stop modes + /// IO port H clocks enable during Sleep and Stop modes GPIOHSMEN: u1, - /// IO port I clocks enable during Sleep and Stop modes + /// IO port I clocks enable during Sleep and Stop modes GPIOISMEN: u1, - /// SRAM2 interface clocks enable during Sleep and Stop modes + /// SRAM2 interface clocks enable during Sleep and Stop modes SRAM2SMEN: u1, reserved12: u2, - /// OTG full speed clocks enable during Sleep and Stop modes + /// OTG full speed clocks enable during Sleep and Stop modes USB_OTG_FSSMEN: u1, - /// ADC clocks enable during Sleep and Stop modes + /// ADC clocks enable during Sleep and Stop modes ADCFSSMEN: u1, - /// DCMI clock enable during Sleep and Stop modes + /// DCMI clock enable during Sleep and Stop modes DCMISMEN: u1, reserved16: u1, - /// AES accelerator clocks enable during Sleep and Stop modes + /// AES accelerator clocks enable during Sleep and Stop modes AESSMEN: u1, - /// HASH clock enable during Sleep and Stop modes + /// HASH clock enable during Sleep and Stop modes HASHSMEN: u1, - /// Random Number Generator clocks enable during Sleep and Stop modes + /// Random Number Generator clocks enable during Sleep and Stop modes RNGSMEN: u1, padding: u13, }), - /// AHB3 peripheral clocks enable in Sleep and Stop modes register + /// AHB3 peripheral clocks enable in Sleep and Stop modes register AHB3SMENR: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller clocks enable during Sleep and Stop modes + /// Flexible memory controller clocks enable during Sleep and Stop modes FMCSMEN: u1, reserved8: u7, - /// QUADSPISMEN + /// QUADSPISMEN QUADSPISMEN: u1, padding: u23, }), reserved120: [4]u8, - /// APB1SMENR1 + /// APB1SMENR1 APB1SMENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clocks enable during Sleep and Stop modes + /// TIM2 timer clocks enable during Sleep and Stop modes TIM2SMEN: u1, - /// TIM3 timer clocks enable during Sleep and Stop modes + /// TIM3 timer clocks enable during Sleep and Stop modes TIM3SMEN: u1, - /// TIM4 timer clocks enable during Sleep and Stop modes + /// TIM4 timer clocks enable during Sleep and Stop modes TIM4SMEN: u1, - /// TIM5 timer clocks enable during Sleep and Stop modes + /// TIM5 timer clocks enable during Sleep and Stop modes TIM5SMEN: u1, - /// TIM6 timer clocks enable during Sleep and Stop modes + /// TIM6 timer clocks enable during Sleep and Stop modes TIM6SMEN: u1, - /// TIM7 timer clocks enable during Sleep and Stop modes + /// TIM7 timer clocks enable during Sleep and Stop modes TIM7SMEN: u1, reserved9: u3, - /// LCD clocks enable during Sleep and Stop modes + /// LCD clocks enable during Sleep and Stop modes LCDSMEN: u1, - /// RTC APB clock enable during Sleep and Stop modes + /// RTC APB clock enable during Sleep and Stop modes RTCAPBSMEN: u1, - /// Window watchdog clocks enable during Sleep and Stop modes + /// Window watchdog clocks enable during Sleep and Stop modes WWDGSMEN: u1, reserved14: u2, - /// SPI2 clocks enable during Sleep and Stop modes + /// SPI2 clocks enable during Sleep and Stop modes SPI2SMEN: u1, - /// SPI3 clocks enable during Sleep and Stop modes + /// SPI3 clocks enable during Sleep and Stop modes SP3SMEN: u1, reserved17: u1, - /// USART2 clocks enable during Sleep and Stop modes + /// USART2 clocks enable during Sleep and Stop modes USART2SMEN: u1, - /// USART3 clocks enable during Sleep and Stop modes + /// USART3 clocks enable during Sleep and Stop modes USART3SMEN: u1, - /// UART4 clocks enable during Sleep and Stop modes + /// UART4 clocks enable during Sleep and Stop modes UART4SMEN: u1, - /// UART5 clocks enable during Sleep and Stop modes + /// UART5 clocks enable during Sleep and Stop modes UART5SMEN: u1, - /// I2C1 clocks enable during Sleep and Stop modes + /// I2C1 clocks enable during Sleep and Stop modes I2C1SMEN: u1, - /// I2C2 clocks enable during Sleep and Stop modes + /// I2C2 clocks enable during Sleep and Stop modes I2C2SMEN: u1, - /// I2C3 clocks enable during Sleep and Stop modes + /// I2C3 clocks enable during Sleep and Stop modes I2C3SMEN: u1, - /// CRS clock enable during Sleep and Stop modes + /// CRS clock enable during Sleep and Stop modes CRSSMEN: u1, - /// CAN1 clocks enable during Sleep and Stop modes + /// CAN1 clocks enable during Sleep and Stop modes CAN1SMEN: u1, - /// CAN2 clocks enable during Sleep and Stop modes + /// CAN2 clocks enable during Sleep and Stop modes CAN2SMEN: u1, reserved28: u1, - /// Power interface clocks enable during Sleep and Stop modes + /// Power interface clocks enable during Sleep and Stop modes PWRSMEN: u1, - /// DAC1 interface clocks enable during Sleep and Stop modes + /// DAC1 interface clocks enable during Sleep and Stop modes DAC1SMEN: u1, - /// OPAMP interface clocks enable during Sleep and Stop modes + /// OPAMP interface clocks enable during Sleep and Stop modes OPAMPSMEN: u1, - /// Low power timer 1 clocks enable during Sleep and Stop modes + /// Low power timer 1 clocks enable during Sleep and Stop modes LPTIM1SMEN: u1, }), - /// APB1 peripheral clocks enable in Sleep and Stop modes register 2 + /// APB1 peripheral clocks enable in Sleep and Stop modes register 2 APB1SMENR2: mmio.Mmio(packed struct(u32) { - /// Low power UART 1 clocks enable during Sleep and Stop modes + /// Low power UART 1 clocks enable during Sleep and Stop modes LPUART1SMEN: u1, - /// I2C4 clocks enable during Sleep and Stop modes + /// I2C4 clocks enable during Sleep and Stop modes I2C4SMEN: u1, - /// Single wire protocol clocks enable during Sleep and Stop modes + /// Single wire protocol clocks enable during Sleep and Stop modes SWPMI1SMEN: u1, reserved5: u2, - /// LPTIM2SMEN + /// LPTIM2SMEN LPTIM2SMEN: u1, padding: u26, }), - /// APB2SMENR + /// APB2SMENR APB2SMENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clocks enable during Sleep and Stop modes + /// SYSCFG clocks enable during Sleep and Stop modes SYSCFGSMEN: u1, reserved10: u9, - /// SDMMC clocks enable during Sleep and Stop modes + /// SDMMC clocks enable during Sleep and Stop modes SDMMCSMEN: u1, - /// TIM1 timer clocks enable during Sleep and Stop modes + /// TIM1 timer clocks enable during Sleep and Stop modes TIM1SMEN: u1, - /// SPI1 clocks enable during Sleep and Stop modes + /// SPI1 clocks enable during Sleep and Stop modes SPI1SMEN: u1, - /// TIM8 timer clocks enable during Sleep and Stop modes + /// TIM8 timer clocks enable during Sleep and Stop modes TIM8SMEN: u1, - /// USART1clocks enable during Sleep and Stop modes + /// USART1clocks enable during Sleep and Stop modes USART1SMEN: u1, reserved16: u1, - /// TIM15 timer clocks enable during Sleep and Stop modes + /// TIM15 timer clocks enable during Sleep and Stop modes TIM15SMEN: u1, - /// TIM16 timer clocks enable during Sleep and Stop modes + /// TIM16 timer clocks enable during Sleep and Stop modes TIM16SMEN: u1, - /// TIM17 timer clocks enable during Sleep and Stop modes + /// TIM17 timer clocks enable during Sleep and Stop modes TIM17SMEN: u1, reserved21: u2, - /// SAI1 clocks enable during Sleep and Stop modes + /// SAI1 clocks enable during Sleep and Stop modes SAI1SMEN: u1, - /// SAI2 clocks enable during Sleep and Stop modes + /// SAI2 clocks enable during Sleep and Stop modes SAI2SMEN: u1, reserved24: u1, - /// DFSDM timer clocks enable during Sleep and Stop modes + /// DFSDM timer clocks enable during Sleep and Stop modes DFSDMSMEN: u1, padding: u7, }), reserved136: [4]u8, - /// CCIPR + /// CCIPR CCIPR: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection - USART1SEL: packed union { - raw: u2, - value: USART1SEL, - }, - /// USART2 clock source selection - USART2SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// USART3 clock source selection - USART3SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// UART4 clock source selection - UART4SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// UART5 clock source selection - UART5SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// LPUART1 clock source selection - LPUART1SEL: packed union { - raw: u2, - value: LPUART1SEL, - }, - /// I2C1 clock source selection - I2C1SEL: packed union { - raw: u2, - value: I2C1SEL, - }, - /// I2C2 clock source selection - I2C2SEL: packed union { - raw: u2, - value: I2C2SEL, - }, - /// I2C3 clock source selection - I2C3SEL: packed union { - raw: u2, - value: I2C3SEL, - }, - /// Low power timer 1 clock source selection - LPTIM1SEL: packed union { - raw: u2, - value: LPTIM1SEL, - }, - /// Low power timer 2 clock source selection - LPTIM2SEL: packed union { - raw: u2, - value: LPTIM2SEL, - }, - /// SAI1 clock source selection - SAI1SEL: packed union { - raw: u2, - value: SAI1SEL, - }, - /// SAI2 clock source selection - SAI2SEL: packed union { - raw: u2, - value: SAI2SEL, - }, - /// 48 MHz clock source selection - CLK48SEL: packed union { - raw: u2, - value: CLK48SEL, - }, - /// ADCs clock source selection - ADCSEL: packed union { - raw: u2, - value: ADCSEL, - }, - /// SWPMI1 clock source selection - SWPMI1SEL: packed union { - raw: u1, - value: SWPMI1SEL, - }, - /// DFSDM clock source selection - DFSDMSEL: packed union { - raw: u1, - value: DFSDMSEL, - }, + /// USART1 clock source selection + USART1SEL: USART1SEL, + /// USART2 clock source selection + USART2SEL: USARTSEL, + /// USART3 clock source selection + USART3SEL: USARTSEL, + /// UART4 clock source selection + UART4SEL: USARTSEL, + /// UART5 clock source selection + UART5SEL: USARTSEL, + /// LPUART1 clock source selection + LPUART1SEL: LPUART1SEL, + /// I2C1 clock source selection + I2C1SEL: I2C1SEL, + /// I2C2 clock source selection + I2C2SEL: I2C2SEL, + /// I2C3 clock source selection + I2C3SEL: I2C3SEL, + /// Low power timer 1 clock source selection + LPTIM1SEL: LPTIM1SEL, + /// Low power timer 2 clock source selection + LPTIM2SEL: LPTIM2SEL, + /// SAI1 clock source selection + SAI1SEL: SAI1SEL, + /// SAI2 clock source selection + SAI2SEL: SAI2SEL, + /// 48 MHz clock source selection + CLK48SEL: CLK48SEL, + /// ADCs clock source selection + ADCSEL: ADCSEL, + /// SWPMI1 clock source selection + SWPMI1SEL: SWPMI1SEL, + /// DFSDM clock source selection + DFSDMSEL: DFSDMSEL, }), reserved144: [4]u8, - /// BDCR + /// BDCR BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enable + /// LSE oscillator enable LSEON: u1, - /// LSE oscillator ready + /// LSE oscillator ready LSERDY: u1, - /// LSE oscillator bypass + /// LSE oscillator bypass LSEBYP: u1, - /// SE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// LSECSSON + /// SE oscillator drive capability + LSEDRV: LSEDRV, + /// LSECSSON LSECSSON: u1, - /// LSECSSD + /// LSECSSD LSECSSD: u1, reserved8: u1, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, reserved24: u7, - /// Low speed clock output enable + /// Low speed clock output enable LSCOEN: u1, - /// Low speed clock output selection - LSCOSEL: packed union { - raw: u1, - value: LSCOSEL, - }, + /// Low speed clock output selection + LSCOSEL: LSCOSEL, padding: u6, }), - /// CSR + /// CSR CSR: mmio.Mmio(packed struct(u32) { - /// LSI oscillator enable + /// LSI oscillator enable LSION: u1, - /// LSI oscillator ready + /// LSI oscillator ready LSIRDY: u1, reserved8: u6, - /// SI range after Standby mode + /// SI range after Standby mode MSISRANGE: u4, reserved23: u11, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// Firewall reset flag + /// Firewall reset flag FWRSTF: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// Pin reset flag + /// Pin reset flag PINRSTF: u1, - /// BOR flag + /// BOR flag BORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent window watchdog reset flag + /// Independent window watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), - /// Clock recovery RC register + /// Clock recovery RC register CRRCR: mmio.Mmio(packed struct(u32) { - /// HSI48 clock enable + /// HSI48 clock enable HSI48ON: u1, - /// HSI48 clock ready flag + /// HSI48 clock ready flag HSI48RDY: u1, reserved7: u5, - /// HSI48 clock calibration + /// HSI48 clock calibration HSI48CAL: u9, padding: u16, }), @@ -401892,240 +394608,240 @@ pub const types = struct { pub const rcc_l4plus = struct { pub const ADCSEL = enum(u2) { - /// No clock selected + /// No clock selected DISABLE = 0x0, - /// PLLADC1CLK clock selected + /// PLLADC1CLK clock selected PLLSAI1_R = 0x1, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x3, _, }; pub const ADFSDMSEL = enum(u2) { - /// SAI1clock selected as DFSDM audio clock + /// SAI1clock selected as DFSDM audio clock PLLSAI1_P = 0x0, - /// HSI clock selected as DFSDM audio clock + /// HSI clock selected as DFSDM audio clock HSI = 0x1, - /// MSI clock selected as DFSDM audio clock + /// MSI clock selected as DFSDM audio clock MSI = 0x2, _, }; pub const CLK48SEL = enum(u2) { - /// HSI48 clock selected + /// HSI48 clock selected HSI48 = 0x0, - /// PLLSAI1_Q aka PLL48M1CLK clock selected + /// PLLSAI1_Q aka PLL48M1CLK clock selected PLLSAI1_Q = 0x1, - /// PLL_Q aka PLL48M2CLK clock selected + /// PLL_Q aka PLL48M2CLK clock selected PLL1_Q = 0x2, - /// MSI clock selected + /// MSI clock selected MSI = 0x3, }; pub const DFSDMSEL = enum(u1) { - /// APB2 clock (PCLK2) selected as DFSDM kernel clock + /// APB2 clock (PCLK2) selected as DFSDM kernel clock PCLK2 = 0x0, - /// System clock selected as DFSDM kernel clock + /// System clock selected as DFSDM kernel clock SYS = 0x1, }; pub const DSISEL = enum(u1) { - /// DSI-PHY is selected as DSI byte lane clock source (usual case) + /// DSI-PHY is selected as DSI byte lane clock source (usual case) DSI_PHY = 0x0, - /// PLLDSICLK is selected as DSI byte lane clock source, used in case DSI PLL and DSIPHY are off (low-power mode) + /// PLLDSICLK is selected as DSI byte lane clock source, used in case DSI PLL and DSIPHY are off (low-power mode) PLLSAI2_Q = 0x1, }; pub const HPRE = enum(u4) { - /// system clock not divided + /// system clock not divided Div1 = 0x0, - /// system clock divided by 2 + /// system clock divided by 2 Div2 = 0x8, - /// system clock divided by 4 + /// system clock divided by 4 Div4 = 0x9, - /// system clock divided by 8 + /// system clock divided by 8 Div8 = 0xa, - /// system clock divided by 16 + /// system clock divided by 16 Div16 = 0xb, - /// system clock divided by 64 + /// system clock divided by 64 Div64 = 0xc, - /// system clock divided by 128 + /// system clock divided by 128 Div128 = 0xd, - /// system clock divided by 256 + /// system clock divided by 256 Div256 = 0xe, - /// system clock divided by 512 + /// system clock divided by 512 Div512 = 0xf, _, }; pub const I2C1SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, _, }; pub const I2C2SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, _, }; pub const I2C3SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, _, }; pub const I2C4SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, _, }; pub const LPTIM1SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// LSI clock selected + /// LSI clock selected LSI = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, - /// LSE clock selected + /// LSE clock selected LSE = 0x3, }; pub const LPTIM2SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// LSI clock selected + /// LSI clock selected LSI = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, - /// LSE clock selected + /// LSE clock selected LSE = 0x3, }; pub const LPUART1SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, - /// LSE clock selected + /// LSE clock selected LSE = 0x3, }; pub const LSCOSEL = enum(u1) { - /// LSI clock selected + /// LSI clock selected LSI = 0x0, - /// LSE clock selected + /// LSE clock selected LSE = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u3) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x1, - /// Division by 4 + /// Division by 4 Div4 = 0x2, - /// Division by 8 + /// Division by 8 Div8 = 0x3, - /// Division by 16 + /// Division by 16 Div16 = 0x4, _, }; pub const MCOSEL = enum(u4) { - /// No clock + /// No clock DISABLE = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// MSI oscillator clock selected + /// MSI oscillator clock selected MSI = 0x2, - /// HSI oscillator clock selected + /// HSI oscillator clock selected HSI = 0x3, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x4, - /// PLL clock selected + /// PLL clock selected PLL = 0x5, - /// LSI oscillator clock selected + /// LSI oscillator clock selected LSI = 0x6, - /// LSE oscillator clock selected + /// LSE oscillator clock selected LSE = 0x7, - /// HSI48 oscillator clock selected + /// HSI48 oscillator clock selected HSI48 = 0x8, _, }; pub const MSIRANGE = enum(u4) { - /// range 0 around 100 kHz + /// range 0 around 100 kHz Range100K = 0x0, - /// range 1 around 200 kHz + /// range 1 around 200 kHz Range200K = 0x1, - /// range 2 around 400 kHz + /// range 2 around 400 kHz Range400K = 0x2, - /// range 3 around 800 kHz + /// range 3 around 800 kHz Range800K = 0x3, - /// range 4 around 1 MHz + /// range 4 around 1 MHz Range1M = 0x4, - /// range 5 around 2 MHz + /// range 5 around 2 MHz Range2M = 0x5, - /// range 6 around 4 MHz + /// range 6 around 4 MHz Range4M = 0x6, - /// range 7 around 8 MHz + /// range 7 around 8 MHz Range8M = 0x7, - /// range 8 around 16 MHz + /// range 8 around 16 MHz Range16M = 0x8, - /// range 9 around 24 MHz + /// range 9 around 24 MHz Range24M = 0x9, - /// range 10 around 32 MHz + /// range 10 around 32 MHz Range32M = 0xa, - /// range 11 around 48 MHz + /// range 11 around 48 MHz Range48M = 0xb, _, }; pub const MSIRGSEL = enum(u1) { - /// MSI Range is provided by MSISRANGE[3:0] in RCC_CSR register + /// MSI Range is provided by MSISRANGE[3:0] in RCC_CSR register CSR = 0x0, - /// MSI Range is provided by MSIRANGE[3:0] in the RCC_CR register + /// MSI Range is provided by MSIRANGE[3:0] in the RCC_CR register CR = 0x1, }; pub const OCTOSPISEL = enum(u2) { - /// System clock selected as OctoSPI kernel clock + /// System clock selected as OctoSPI kernel clock SYS = 0x0, - /// MSI clock selected as OctoSPI kernel clock + /// MSI clock selected as OctoSPI kernel clock MSI = 0x1, - /// PLL48M1CLK clock selected as OctoSPI kernel clock + /// PLL48M1CLK clock selected as OctoSPI kernel clock PLL1_Q = 0x2, _, }; @@ -402327,1191 +395043,1032 @@ pub const types = struct { }; pub const PLLSRC = enum(u2) { - /// No clock sent to PLL + /// No clock sent to PLL DISABLE = 0x0, - /// MSI selected as PLL input clock + /// MSI selected as PLL input clock MSI = 0x1, - /// HSI selected as PLL input clock + /// HSI selected as PLL input clock HSI = 0x2, - /// HSE selected as PLL input clock + /// HSE selected as PLL input clock HSE = 0x3, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock Disable = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by 32 used as the RTC clock + /// HSE oscillator clock divided by 32 used as the RTC clock HSE = 0x3, }; pub const SAI1SEL = enum(u3) { - /// PLLSAI1CLK clock is selected as SAIx clock + /// PLLSAI1CLK clock is selected as SAIx clock PLLSAI1_P = 0x0, - /// PLLSAI2CLK clock is selected as SAIx clock + /// PLLSAI2CLK clock is selected as SAIx clock PLLSAI2_P = 0x1, - /// PLLSAI3CLK clock is selected as SAIx clock + /// PLLSAI3CLK clock is selected as SAIx clock PLL1_P = 0x2, - /// External clock SAIx_EXTCLK clock selected as SAIx clock + /// External clock SAIx_EXTCLK clock selected as SAIx clock SAI1_EXTCLK = 0x3, - /// HSI clock selected as SAIx clock + /// HSI clock selected as SAIx clock HSI = 0x4, _, }; pub const SAI2SEL = enum(u3) { - /// PLLSAI1CLK clock is selected as SAIx clock + /// PLLSAI1CLK clock is selected as SAIx clock PLLSAI1_P = 0x0, - /// PLLSAI2CLK clock is selected as SAIx clock + /// PLLSAI2CLK clock is selected as SAIx clock PLLSAI2_P = 0x1, - /// PLLSAI3CLK clock is selected as SAIx clock + /// PLLSAI3CLK clock is selected as SAIx clock PLL1_P = 0x2, - /// External clock SAIx_EXTCLK clock selected as SAIx clock + /// External clock SAIx_EXTCLK clock selected as SAIx clock SAI2_EXTCLK = 0x3, - /// HSI clock selected as SAIx clock + /// HSI clock selected as SAIx clock HSI = 0x4, _, }; pub const SDMMCSEL = enum(u1) { - /// 48 MHz clock is selected as SDMMC kernel clock + /// 48 MHz clock is selected as SDMMC kernel clock HSI48 = 0x0, - /// PLLSAI3CLK is selected as SDMMC kernel clock, used in case higher frequency than 48MHz is needed (for SDR50 mode) + /// PLLSAI3CLK is selected as SDMMC kernel clock, used in case higher frequency than 48MHz is needed (for SDR50 mode) PLL1_P = 0x1, }; pub const STOPWUCK = enum(u1) { - /// MSI oscillator selected as wake-up from Stop clock + /// MSI oscillator selected as wake-up from Stop clock MSI = 0x0, - /// HSI oscillator selected as wake-up from Stop clock + /// HSI oscillator selected as wake-up from Stop clock HSI = 0x1, }; pub const SW = enum(u2) { - /// MSI selected as system clock + /// MSI selected as system clock MSI = 0x0, - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x1, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x2, - /// PLL selected as system clock + /// PLL selected as system clock PLL1_R = 0x3, }; pub const USART1SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK2 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, - /// LSE clock selected + /// LSE clock selected LSE = 0x3, }; pub const USARTSEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, - /// LSE clock selected + /// LSE clock selected LSE = 0x3, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// MSI clock enable + /// MSI clock enable MSION: u1, - /// MSI clock ready flag + /// MSI clock ready flag MSIRDY: u1, - /// MSI clock PLL enable + /// MSI clock PLL enable MSIPLLEN: u1, - /// MSI clock range selection - MSIRGSEL: packed union { - raw: u1, - value: MSIRGSEL, - }, - /// MSI clock ranges - MSIRANGE: packed union { - raw: u4, - value: MSIRANGE, - }, - /// HSI clock enable + /// MSI clock range selection + MSIRGSEL: MSIRGSEL, + /// MSI clock ranges + MSIRANGE: MSIRANGE, + /// HSI clock enable HSION: u1, - /// HSI always enable for peripheral kernels + /// HSI always enable for peripheral kernels HSIKERON: u1, - /// HSI clock ready flag + /// HSI clock ready flag HSIRDY: u1, - /// HSI automatic start from Stop + /// HSI automatic start from Stop HSIASFS: u1, reserved16: u4, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE crystal oscillator bypass + /// HSE crystal oscillator bypass HSEBYP: u1, - /// Clock security system enable + /// Clock security system enable CSSON: u1, reserved24: u4, - /// Main PLL enable + /// Main PLL enable PLLON: u1, - /// Main PLL clock ready flag + /// Main PLL clock ready flag PLLRDY: u1, - /// SAI1 PLL enable + /// SAI1 PLL enable PLLSAI1ON: u1, - /// SAI1 PLL clock ready flag + /// SAI1 PLL clock ready flag PLLSAI1RDY: u1, - /// SAI2 PLL enable + /// SAI2 PLL enable PLLSAI2ON: u1, - /// SAI2 PLL clock ready flag + /// SAI2 PLL clock ready flag PLLSAI2RDY: u1, padding: u2, }), - /// Internal clock sources calibration register + /// Internal clock sources calibration register ICSCR: mmio.Mmio(packed struct(u32) { - /// MSI clock calibration + /// MSI clock calibration MSICAL: u8, - /// MSI clock trimming + /// MSI clock trimming MSITRIM: u8, - /// HSI clock calibration + /// HSI clock calibration HSICAL: u8, - /// HSI clock trimming + /// HSI clock trimming HSITRIM: u7, padding: u1, }), - /// Clock configuration register + /// Clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB low-speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high-speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB low-speed prescaler (APB1) + PPRE1: PPRE, + /// APB high-speed prescaler (APB2) + PPRE2: PPRE, reserved15: u1, - /// Wakeup from Stop and CSS backup clock selection - STOPWUCK: packed union { - raw: u1, - value: STOPWUCK, - }, + /// Wakeup from Stop and CSS backup clock selection + STOPWUCK: STOPWUCK, reserved24: u8, - /// Microcontroller clock output selection - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller clock output prescaler - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, + /// Microcontroller clock output selection + MCOSEL: MCOSEL, + /// Microcontroller clock output prescaler + MCOPRE: MCOPRE, padding: u1, }), - /// PLL configuration register + /// PLL configuration register PLLCFGR: mmio.Mmio(packed struct(u32) { - /// Main PLL, PLLSAI1 and PLLSAI2 entry clock source - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, + /// Main PLL, PLLSAI1 and PLLSAI2 entry clock source + PLLSRC: PLLSRC, reserved4: u2, - /// Division factor for the main PLL and audio PLL (PLLSAI1 and PLLSAI2) input clock - PLLM: packed union { - raw: u4, - value: PLLM, - }, - /// Main PLL multiplication factor for VCO - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// Division factor for the main PLL and audio PLL (PLLSAI1 and PLLSAI2) input clock + PLLM: PLLM, + /// Main PLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// Main PLL PLLSAI3CLK output enable + /// Main PLL PLLSAI3CLK output enable PLLPEN: u1, - /// Main PLL division factor for PLLSAI3CLK (SAI1 and SAI2 clock) - PLLPBIT: packed union { - raw: u1, - value: PLLPBIT, - }, + /// Main PLL division factor for PLLSAI3CLK (SAI1 and SAI2 clock) + PLLPBIT: PLLPBIT, reserved20: u2, - /// Main PLL PLLUSB1CLK output enable + /// Main PLL PLLUSB1CLK output enable PLLQEN: u1, - /// Main PLL division factor for PLLUSB1CLK(48 MHz clock) - PLLQ: packed union { - raw: u2, - value: PLLQ, - }, + /// Main PLL division factor for PLLUSB1CLK(48 MHz clock) + PLLQ: PLLQ, reserved24: u1, - /// Main PLL PLLCLK output enable + /// Main PLL PLLCLK output enable PLLREN: u1, - /// Main PLL division factor for PLLCLK (system clock) - PLLR: packed union { - raw: u2, - value: PLLR, - }, - /// Main PLL division factor for PLLSAI2CLK - PLLP: packed union { - raw: u5, - value: PLLP, - }, - }), - /// PLLSAI1 configuration register + /// Main PLL division factor for PLLCLK (system clock) + PLLR: PLLR, + /// Main PLL division factor for PLLSAI2CLK + PLLP: PLLP, + }), + /// PLLSAI1 configuration register PLLSAI1CFGR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Division factor for PLLSAI input clock - PLLM: packed union { - raw: u4, - value: PLLM, - }, - /// SAI1PLL multiplication factor for VCO - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// Division factor for PLLSAI input clock + PLLM: PLLM, + /// SAI1PLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// SAI1PLL PLLSAICLK output enable + /// SAI1PLL PLLSAICLK output enable PLLPEN: u1, - /// SAI1PLL division factor for PLLSAICLK - PLLPBIT: packed union { - raw: u1, - value: PLLPBIT, - }, + /// SAI1PLL division factor for PLLSAICLK + PLLPBIT: PLLPBIT, reserved20: u2, - /// SAI1PLL PLLUSB2CLK output enable + /// SAI1PLL PLLUSB2CLK output enable PLLQEN: u1, - /// SAI1PLL division factor for PLLUSB2CLK - PLLQ: packed union { - raw: u2, - value: PLLQ, - }, + /// SAI1PLL division factor for PLLUSB2CLK + PLLQ: PLLQ, reserved24: u1, - /// PLLSAI PLLADC1CLK output enable + /// PLLSAI PLLADC1CLK output enable PLLREN: u1, - /// PLLSAI division factor for PLLADC1CLK - PLLR: packed union { - raw: u2, - value: PLLR, - }, - /// PLLSAI division factor for PLLSAICLK - PLLP: packed union { - raw: u5, - value: PLLP, - }, - }), - /// PLLSAI2 configuration register + /// PLLSAI division factor for PLLADC1CLK + PLLR: PLLR, + /// PLLSAI division factor for PLLSAICLK + PLLP: PLLP, + }), + /// PLLSAI2 configuration register PLLSAI2CFGR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Division factor for PLLSAI input clock - PLLM: packed union { - raw: u4, - value: PLLM, - }, - /// SAI1PLL multiplication factor for VCO - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// Division factor for PLLSAI input clock + PLLM: PLLM, + /// SAI1PLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// SAI1PLL PLLSAICLK output enable + /// SAI1PLL PLLSAICLK output enable PLLPEN: u1, - /// SAI1PLL division factor for PLLSAICLK - PLLPBIT: packed union { - raw: u1, - value: PLLPBIT, - }, + /// SAI1PLL division factor for PLLSAICLK + PLLPBIT: PLLPBIT, reserved20: u2, - /// SAI1PLL PLLUSB2CLK output enable + /// SAI1PLL PLLUSB2CLK output enable PLLQEN: u1, - /// SAI1PLL division factor for PLLUSB2CLK - PLLQ: packed union { - raw: u2, - value: PLLQ, - }, + /// SAI1PLL division factor for PLLUSB2CLK + PLLQ: PLLQ, reserved24: u1, - /// PLLSAI PLLADC1CLK output enable + /// PLLSAI PLLADC1CLK output enable PLLREN: u1, - /// PLLSAI division factor for PLLADC1CLK - PLLR: packed union { - raw: u2, - value: PLLR, - }, - /// PLLSAI division factor for PLLSAICLK - PLLP: packed union { - raw: u5, - value: PLLP, - }, - }), - /// Clock interrupt enable register + /// PLLSAI division factor for PLLADC1CLK + PLLR: PLLR, + /// PLLSAI division factor for PLLSAICLK + PLLP: PLLP, + }), + /// Clock interrupt enable register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt enable + /// LSI ready interrupt enable LSIRDYIE: u1, - /// LSE ready interrupt enable + /// LSE ready interrupt enable LSERDYIE: u1, - /// MSI ready interrupt enable + /// MSI ready interrupt enable MSIRDYIE: u1, - /// HSI ready interrupt enable + /// HSI ready interrupt enable HSIRDYIE: u1, - /// HSE ready interrupt enable + /// HSE ready interrupt enable HSERDYIE: u1, - /// PLL ready interrupt enable + /// PLL ready interrupt enable PLLRDYIE: u1, - /// PLLSAI1 ready interrupt enable + /// PLLSAI1 ready interrupt enable PLLSAI1RDYIE: u1, - /// PLLSAI2 ready interrupt enable + /// PLLSAI2 ready interrupt enable PLLSAI2RDYIE: u1, reserved9: u1, - /// LSE clock security system interrupt enable + /// LSE clock security system interrupt enable LSECSSIE: u1, - /// HSI48 ready interrupt enable + /// HSI48 ready interrupt enable HSI48RDYIE: u1, padding: u21, }), - /// Clock interrupt flag register + /// Clock interrupt flag register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYF: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYF: u1, - /// MSI ready interrupt flag + /// MSI ready interrupt flag MSIRDYF: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYF: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYF: u1, - /// PLL ready interrupt flag + /// PLL ready interrupt flag PLLRDYF: u1, - /// PLLSAI1 ready interrupt flag + /// PLLSAI1 ready interrupt flag PLLSAI1RDYF: u1, - /// PLLSAI2 ready interrupt flag + /// PLLSAI2 ready interrupt flag PLLSAI2RDYF: u1, - /// Clock security system interrupt flag + /// Clock security system interrupt flag CSSF: u1, - /// LSE Clock security system interrupt flag + /// LSE Clock security system interrupt flag LSECSSF: u1, - /// HSI48 ready interrupt flag + /// HSI48 ready interrupt flag HSI48RDYF: u1, padding: u21, }), - /// Clock interrupt clear register + /// Clock interrupt clear register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt clear + /// LSI ready interrupt clear LSIRDYC: u1, - /// LSE ready interrupt clear + /// LSE ready interrupt clear LSERDYC: u1, - /// MSI ready interrupt clear + /// MSI ready interrupt clear MSIRDYC: u1, - /// HSI ready interrupt clear + /// HSI ready interrupt clear HSIRDYC: u1, - /// HSE ready interrupt clear + /// HSE ready interrupt clear HSERDYC: u1, - /// PLL ready interrupt clear + /// PLL ready interrupt clear PLLRDYC: u1, - /// PLLSAI1 ready interrupt clear + /// PLLSAI1 ready interrupt clear PLLSAI1RDYC: u1, - /// PLLSAI2 ready interrupt clear + /// PLLSAI2 ready interrupt clear PLLSAI2RDYC: u1, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, - /// LSE Clock security system interrupt clear + /// LSE Clock security system interrupt clear LSECSSC: u1, - /// HSI48 oscillator ready interrupt clear + /// HSI48 oscillator ready interrupt clear HSI48RDYC: u1, padding: u21, }), reserved40: [4]u8, - /// AHB1 peripheral reset register + /// AHB1 peripheral reset register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// DMA1 reset + /// DMA1 reset DMA1RST: u1, - /// DMA2 reset + /// DMA2 reset DMA2RST: u1, - /// DMAMUX1RST + /// DMAMUX1RST DMAMUX1RST: u1, reserved8: u5, - /// Flash memory interface reset + /// Flash memory interface reset FLASHRST: u1, reserved12: u3, - /// CRC reset + /// CRC reset CRCRST: u1, reserved16: u3, - /// Touch Sensing Controller reset + /// Touch Sensing Controller reset TSCRST: u1, - /// DMA2D reset + /// DMA2D reset DMA2DRST: u1, - /// GFXMMU reset + /// GFXMMU reset GFXMMURST: u1, padding: u13, }), - /// AHB2 peripheral reset register + /// AHB2 peripheral reset register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// IO port A reset + /// IO port A reset GPIOARST: u1, - /// IO port B reset + /// IO port B reset GPIOBRST: u1, - /// IO port C reset + /// IO port C reset GPIOCRST: u1, - /// IO port D reset + /// IO port D reset GPIODRST: u1, - /// IO port E reset + /// IO port E reset GPIOERST: u1, - /// IO port F reset + /// IO port F reset GPIOFRST: u1, - /// IO port G reset + /// IO port G reset GPIOGRST: u1, - /// IO port H reset + /// IO port H reset GPIOHRST: u1, - /// IO port I reset + /// IO port I reset GPIOIRST: u1, reserved12: u3, - /// USB OTG FS reset + /// USB OTG FS reset USB_OTG_FSRST: u1, - /// ADC reset + /// ADC reset ADCRST: u1, - /// Digital Camera Interface reset + /// Digital Camera Interface reset DCMIRST: u1, - /// PKA reset + /// PKA reset PKARST: u1, - /// AES hardware accelerator reset + /// AES hardware accelerator reset AESRST: u1, - /// Hash reset + /// Hash reset HASHRST: u1, - /// Random number generator reset + /// Random number generator reset RNGRST: u1, reserved20: u1, - /// OCTOSPI IO manager reset + /// OCTOSPI IO manager reset OCTOSPIMRST: u1, reserved22: u1, - /// SDMMC1 reset + /// SDMMC1 reset SDMMC1RST: u1, - /// SDMMC2 reset + /// SDMMC2 reset SDMMC2RST: u1, padding: u8, }), - /// AHB3 peripheral reset register + /// AHB3 peripheral reset register AHB3RSTR: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller reset + /// Flexible memory controller reset FMCRST: u1, reserved8: u7, - /// OctoSPI1 memory interface reset + /// OctoSPI1 memory interface reset OCTOSPI1RST: u1, - /// OctOSPI2 memory interface reset + /// OctOSPI2 memory interface reset OCTOSPI2RST: u1, padding: u22, }), reserved56: [4]u8, - /// APB1 peripheral reset register 1 + /// APB1 peripheral reset register 1 APB1RSTR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer reset + /// TIM2 timer reset TIM2RST: u1, - /// TIM3 timer reset + /// TIM3 timer reset TIM3RST: u1, - /// TIM3 timer reset + /// TIM3 timer reset TIM4RST: u1, - /// TIM5 timer reset + /// TIM5 timer reset TIM5RST: u1, - /// TIM6 timer reset + /// TIM6 timer reset TIM6RST: u1, - /// TIM7 timer reset + /// TIM7 timer reset TIM7RST: u1, reserved14: u8, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, - /// SPI3 reset + /// SPI3 reset SPI3RST: u1, reserved17: u1, - /// USART2 reset + /// USART2 reset USART2RST: u1, - /// USART3 reset + /// USART3 reset USART3RST: u1, - /// UART4 reset + /// UART4 reset UART4RST: u1, - /// UART5 reset + /// UART5 reset UART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// I2C3 reset + /// I2C3 reset I2C3RST: u1, - /// CRS reset + /// CRS reset CRSRST: u1, - /// CAN1 reset + /// CAN1 reset CAN1RST: u1, reserved28: u2, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC1 interface reset + /// DAC1 interface reset DAC1RST: u1, - /// OPAMP interface reset + /// OPAMP interface reset OPAMPRST: u1, - /// Low Power Timer 1 reset + /// Low Power Timer 1 reset LPTIM1RST: u1, }), - /// APB1 peripheral reset register 2 + /// APB1 peripheral reset register 2 APB1RSTR2: mmio.Mmio(packed struct(u32) { - /// Low-power UART 1 reset + /// Low-power UART 1 reset LPUART1RST: u1, - /// I2C4 reset + /// I2C4 reset I2C4RST: u1, reserved5: u3, - /// Low-power timer 2 reset + /// Low-power timer 2 reset LPTIM2RST: u1, padding: u26, }), - /// APB2 peripheral reset register + /// APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { - /// System configuration (SYSCFG) reset + /// System configuration (SYSCFG) reset SYSCFGRST: u1, reserved11: u10, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI1 reset + /// SPI1 reset SPI1RST: u1, - /// TIM8 timer reset + /// TIM8 timer reset TIM8RST: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, reserved16: u1, - /// TIM15 timer reset + /// TIM15 timer reset TIM15RST: u1, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, reserved21: u2, - /// Serial audio interface 1 (SAI1) reset + /// Serial audio interface 1 (SAI1) reset SAI1RST: u1, - /// Serial audio interface 2 (SAI2) reset + /// Serial audio interface 2 (SAI2) reset SAI2RST: u1, reserved24: u1, - /// Digital filters for sigma-delata modulators (DFSDM) reset + /// Digital filters for sigma-delata modulators (DFSDM) reset DFSDM1RST: u1, reserved26: u1, - /// LCD-TFT reset + /// LCD-TFT reset LTDCRST: u1, - /// DSI reset + /// DSI reset DSIRST: u1, padding: u4, }), reserved72: [4]u8, - /// AHB1 peripheral clock enable register + /// AHB1 peripheral clock enable register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// DMAMUX clock enable + /// DMAMUX clock enable DMAMUX1EN: u1, reserved8: u5, - /// Flash memory interface clock enable + /// Flash memory interface clock enable FLASHEN: u1, reserved12: u3, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved16: u3, - /// Touch Sensing Controller clock enable + /// Touch Sensing Controller clock enable TSCEN: u1, - /// DMA2D clock enable + /// DMA2D clock enable DMA2DEN: u1, - /// Graphic MMU clock enable + /// Graphic MMU clock enable GFXMMUEN: u1, padding: u13, }), - /// AHB2 peripheral clock enable register + /// AHB2 peripheral clock enable register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable + /// IO port A clock enable GPIOAEN: u1, - /// IO port B clock enable + /// IO port B clock enable GPIOBEN: u1, - /// IO port C clock enable + /// IO port C clock enable GPIOCEN: u1, - /// IO port D clock enable + /// IO port D clock enable GPIODEN: u1, - /// IO port E clock enable + /// IO port E clock enable GPIOEEN: u1, - /// IO port F clock enable + /// IO port F clock enable GPIOFEN: u1, - /// IO port G clock enable + /// IO port G clock enable GPIOGEN: u1, - /// IO port H clock enable + /// IO port H clock enable GPIOHEN: u1, - /// IO port I clock enable + /// IO port I clock enable GPIOIEN: u1, reserved12: u3, - /// OTG full speed clock enable + /// OTG full speed clock enable USB_OTG_FSEN: u1, - /// ADC clock enable + /// ADC clock enable ADCEN: u1, - /// DCMI clock enable + /// DCMI clock enable DCMIEN: u1, - /// PKA clock enable + /// PKA clock enable PKAEN: u1, - /// AES accelerator clock enable + /// AES accelerator clock enable AESEN: u1, - /// HASH clock enable + /// HASH clock enable HASHEN: u1, - /// Random Number Generator clock enable + /// Random Number Generator clock enable RNGEN: u1, reserved20: u1, - /// OctoSPI IO manager clock enable + /// OctoSPI IO manager clock enable OCTOSPIMEN: u1, reserved22: u1, - /// SDMMC1 clock enable + /// SDMMC1 clock enable SDMMC1EN: u1, - /// SDMMC2 clock enable + /// SDMMC2 clock enable SDMMC2EN: u1, padding: u8, }), - /// AHB3 peripheral clock enable register + /// AHB3 peripheral clock enable register AHB3ENR: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller clock enable + /// Flexible memory controller clock enable FMCEN: u1, reserved8: u7, - /// OctoSPI1 memory interface clock enable + /// OctoSPI1 memory interface clock enable OCTOSPI1EN: u1, - /// OSPI2EN memory interface clock enable + /// OSPI2EN memory interface clock enable OCTOSPI2EN: u1, padding: u22, }), reserved88: [4]u8, - /// APB1ENR1 + /// APB1ENR1 APB1ENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clock enable + /// TIM2 timer clock enable TIM2EN: u1, - /// TIM3 timer clock enable + /// TIM3 timer clock enable TIM3EN: u1, - /// TIM4 timer clock enable + /// TIM4 timer clock enable TIM4EN: u1, - /// TIM5 timer clock enable + /// TIM5 timer clock enable TIM5EN: u1, - /// TIM6 timer clock enable + /// TIM6 timer clock enable TIM6EN: u1, - /// TIM7 timer clock enable + /// TIM7 timer clock enable TIM7EN: u1, reserved10: u4, - /// RTC APB clock enable + /// RTC APB clock enable RTCAPBEN: u1, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI2 clock enable + /// SPI2 clock enable SPI2EN: u1, - /// SPI3 clock enable + /// SPI3 clock enable SPI3EN: u1, reserved17: u1, - /// USART2 clock enable + /// USART2 clock enable USART2EN: u1, - /// USART3 clock enable + /// USART3 clock enable USART3EN: u1, - /// UART4 clock enable + /// UART4 clock enable UART4EN: u1, - /// UART5 clock enable + /// UART5 clock enable UART5EN: u1, - /// I2C1 clock enable + /// I2C1 clock enable I2C1EN: u1, - /// I2C2 clock enable + /// I2C2 clock enable I2C2EN: u1, - /// I2C3 clock enable + /// I2C3 clock enable I2C3EN: u1, - /// Clock Recovery System clock enable + /// Clock Recovery System clock enable CRSEN: u1, - /// CAN1 clock enable + /// CAN1 clock enable CAN1EN: u1, reserved28: u2, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC1 interface clock enable + /// DAC1 interface clock enable DAC1EN: u1, - /// OPAMP interface clock enable + /// OPAMP interface clock enable OPAMPEN: u1, - /// Low power timer 1 clock enable + /// Low power timer 1 clock enable LPTIM1EN: u1, }), - /// APB1 peripheral clock enable register 2 + /// APB1 peripheral clock enable register 2 APB1ENR2: mmio.Mmio(packed struct(u32) { - /// Low power UART 1 clock enable + /// Low power UART 1 clock enable LPUART1EN: u1, - /// I2C4 clock enable + /// I2C4 clock enable I2C4EN: u1, reserved5: u3, - /// LPTIM2EN + /// LPTIM2EN LPTIM2EN: u1, padding: u26, }), - /// APB2ENR + /// APB2ENR APB2ENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock enable + /// SYSCFG clock enable SYSCFGEN: u1, reserved7: u6, - /// Firewall clock enable + /// Firewall clock enable FWEN: u1, reserved11: u3, - /// TIM1 timer clock enable + /// TIM1 timer clock enable TIM1EN: u1, - /// SPI1 clock enable + /// SPI1 clock enable SPI1EN: u1, - /// TIM8 timer clock enable + /// TIM8 timer clock enable TIM8EN: u1, - /// USART1clock enable + /// USART1clock enable USART1EN: u1, reserved16: u1, - /// TIM15 timer clock enable + /// TIM15 timer clock enable TIM15EN: u1, - /// TIM16 timer clock enable + /// TIM16 timer clock enable TIM16EN: u1, - /// TIM17 timer clock enable + /// TIM17 timer clock enable TIM17EN: u1, reserved21: u2, - /// SAI1 clock enable + /// SAI1 clock enable SAI1EN: u1, - /// SAI2 clock enable + /// SAI2 clock enable SAI2EN: u1, reserved24: u1, - /// DFSDM timer clock enable + /// DFSDM timer clock enable DFSDM1EN: u1, reserved26: u1, - /// LCD-TFT clock enable + /// LCD-TFT clock enable LTDCEN: u1, - /// DSI clock enable + /// DSI clock enable DSIEN: u1, padding: u4, }), reserved104: [4]u8, - /// AHB1 peripheral clocks enable in Sleep and Stop modes register + /// AHB1 peripheral clocks enable in Sleep and Stop modes register AHB1SMENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clocks enable during Sleep and Stop modes + /// DMA1 clocks enable during Sleep and Stop modes DMA1SMEN: u1, - /// DMA2 clocks enable during Sleep and Stop modes + /// DMA2 clocks enable during Sleep and Stop modes DMA2SMEN: u1, - /// DMAMUX clock enable during Sleep and Stop modes + /// DMAMUX clock enable during Sleep and Stop modes DMAMUX1SMEN: u1, reserved8: u5, - /// Flash memory interface clocks enable during Sleep and Stop modes + /// Flash memory interface clocks enable during Sleep and Stop modes FLASHSMEN: u1, - /// SRAM1 interface clocks enable during Sleep and Stop modes + /// SRAM1 interface clocks enable during Sleep and Stop modes SRAM1SMEN: u1, reserved12: u2, - /// CRCSMEN + /// CRCSMEN CRCSMEN: u1, reserved16: u3, - /// Touch Sensing Controller clocks enable during Sleep and Stop modes + /// Touch Sensing Controller clocks enable during Sleep and Stop modes TSCSMEN: u1, - /// DMA2D clock enable during Sleep and Stop modes + /// DMA2D clock enable during Sleep and Stop modes DMA2DSMEN: u1, - /// GFXMMU clock enable during Sleep and Stop modes + /// GFXMMU clock enable during Sleep and Stop modes GFXMMUSMEN: u1, padding: u13, }), - /// AHB2 peripheral clocks enable in Sleep and Stop modes register + /// AHB2 peripheral clocks enable in Sleep and Stop modes register AHB2SMENR: mmio.Mmio(packed struct(u32) { - /// IO port A clocks enable during Sleep and Stop modes + /// IO port A clocks enable during Sleep and Stop modes GPIOASMEN: u1, - /// IO port B clocks enable during Sleep and Stop modes + /// IO port B clocks enable during Sleep and Stop modes GPIOBSMEN: u1, - /// IO port C clocks enable during Sleep and Stop modes + /// IO port C clocks enable during Sleep and Stop modes GPIOCSMEN: u1, - /// IO port D clocks enable during Sleep and Stop modes + /// IO port D clocks enable during Sleep and Stop modes GPIODSMEN: u1, - /// IO port E clocks enable during Sleep and Stop modes + /// IO port E clocks enable during Sleep and Stop modes GPIOESMEN: u1, - /// IO port F clocks enable during Sleep and Stop modes + /// IO port F clocks enable during Sleep and Stop modes GPIOFSMEN: u1, - /// IO port G clocks enable during Sleep and Stop modes + /// IO port G clocks enable during Sleep and Stop modes GPIOGSMEN: u1, - /// IO port H clocks enable during Sleep and Stop modes + /// IO port H clocks enable during Sleep and Stop modes GPIOHSMEN: u1, - /// IO port I clocks enable during Sleep and Stop modes + /// IO port I clocks enable during Sleep and Stop modes GPIOISMEN: u1, - /// SRAM2 interface clocks enable during Sleep and Stop modes + /// SRAM2 interface clocks enable during Sleep and Stop modes SRAM2SMEN: u1, - /// SRAM2 interface clocks enable during Sleep and Stop modes + /// SRAM2 interface clocks enable during Sleep and Stop modes SRAM3SMEN: u1, reserved12: u1, - /// OTG full speed clocks enable during Sleep and Stop modes + /// OTG full speed clocks enable during Sleep and Stop modes USB_OTG_FSSMEN: u1, - /// ADC clocks enable during Sleep and Stop modes + /// ADC clocks enable during Sleep and Stop modes ADCFSSMEN: u1, - /// DCMI clock enable during Sleep and Stop modes + /// DCMI clock enable during Sleep and Stop modes DCMISMEN: u1, - /// PKA clocks enable during Sleep and Stop modes + /// PKA clocks enable during Sleep and Stop modes PKASMEN: u1, - /// AES accelerator clocks enable during Sleep and Stop modes + /// AES accelerator clocks enable during Sleep and Stop modes AESSMEN: u1, - /// HASH clock enable during Sleep and Stop modes + /// HASH clock enable during Sleep and Stop modes HASH1SMEN: u1, - /// Random Number Generator clocks enable during Sleep and Stop modes + /// Random Number Generator clocks enable during Sleep and Stop modes RNGSMEN: u1, reserved20: u1, - /// OctoSPI IO manager clocks enable during Sleep and Stop modes + /// OctoSPI IO manager clocks enable during Sleep and Stop modes OCTOSPIMSMEN: u1, reserved22: u1, - /// SDMMC1 clocks enable during Sleep and Stop modes + /// SDMMC1 clocks enable during Sleep and Stop modes SDMMC1SMEN: u1, - /// SDMMC2 clocks enable during Sleep and Stop modes + /// SDMMC2 clocks enable during Sleep and Stop modes SDMMC2SMEN: u1, padding: u8, }), - /// AHB3 peripheral clocks enable in Sleep and Stop modes register + /// AHB3 peripheral clocks enable in Sleep and Stop modes register AHB3SMENR: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller clocks enable during Sleep and Stop modes + /// Flexible memory controller clocks enable during Sleep and Stop modes FMCSMEN: u1, reserved8: u7, - /// OctoSPI1 memory interface clocks enable during Sleep and Stop modes + /// OctoSPI1 memory interface clocks enable during Sleep and Stop modes OCTOSPI1SMEN: u1, - /// OctoSPI2 memory interface clocks enable during Sleep and Stop modes + /// OctoSPI2 memory interface clocks enable during Sleep and Stop modes OCTOSPI2SMEN: u1, padding: u22, }), reserved120: [4]u8, - /// APB1SMENR1 + /// APB1SMENR1 APB1SMENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clocks enable during Sleep and Stop modes + /// TIM2 timer clocks enable during Sleep and Stop modes TIM2SMEN: u1, - /// TIM3 timer clocks enable during Sleep and Stop modes + /// TIM3 timer clocks enable during Sleep and Stop modes TIM3SMEN: u1, - /// TIM4 timer clocks enable during Sleep and Stop modes + /// TIM4 timer clocks enable during Sleep and Stop modes TIM4SMEN: u1, - /// TIM5 timer clocks enable during Sleep and Stop modes + /// TIM5 timer clocks enable during Sleep and Stop modes TIM5SMEN: u1, - /// TIM6 timer clocks enable during Sleep and Stop modes + /// TIM6 timer clocks enable during Sleep and Stop modes TIM6SMEN: u1, - /// TIM7 timer clocks enable during Sleep and Stop modes + /// TIM7 timer clocks enable during Sleep and Stop modes TIM7SMEN: u1, reserved10: u4, - /// RTC APB clock enable during Sleep and Stop modes + /// RTC APB clock enable during Sleep and Stop modes RTCAPBSMEN: u1, - /// Window watchdog clocks enable during Sleep and Stop modes + /// Window watchdog clocks enable during Sleep and Stop modes WWDGSMEN: u1, reserved14: u2, - /// SPI2 clocks enable during Sleep and Stop modes + /// SPI2 clocks enable during Sleep and Stop modes SPI2SMEN: u1, - /// SPI3 clocks enable during Sleep and Stop modes + /// SPI3 clocks enable during Sleep and Stop modes SP3SMEN: u1, reserved17: u1, - /// USART2 clocks enable during Sleep and Stop modes + /// USART2 clocks enable during Sleep and Stop modes USART2SMEN: u1, - /// USART3 clocks enable during Sleep and Stop modes + /// USART3 clocks enable during Sleep and Stop modes USART3SMEN: u1, - /// UART4 clocks enable during Sleep and Stop modes + /// UART4 clocks enable during Sleep and Stop modes UART4SMEN: u1, - /// UART5 clocks enable during Sleep and Stop modes + /// UART5 clocks enable during Sleep and Stop modes UART5SMEN: u1, - /// I2C1 clocks enable during Sleep and Stop modes + /// I2C1 clocks enable during Sleep and Stop modes I2C1SMEN: u1, - /// I2C2 clocks enable during Sleep and Stop modes + /// I2C2 clocks enable during Sleep and Stop modes I2C2SMEN: u1, - /// I2C3 clocks enable during Sleep and Stop modes + /// I2C3 clocks enable during Sleep and Stop modes I2C3SMEN: u1, - /// CRS clock enable during Sleep and Stop modes + /// CRS clock enable during Sleep and Stop modes CRSSMEN: u1, - /// CAN1 clocks enable during Sleep and Stop modes + /// CAN1 clocks enable during Sleep and Stop modes CAN1SMEN: u1, reserved28: u2, - /// Power interface clocks enable during Sleep and Stop modes + /// Power interface clocks enable during Sleep and Stop modes PWRSMEN: u1, - /// DAC1 interface clocks enable during Sleep and Stop modes + /// DAC1 interface clocks enable during Sleep and Stop modes DAC1SMEN: u1, - /// OPAMP interface clocks enable during Sleep and Stop modes + /// OPAMP interface clocks enable during Sleep and Stop modes OPAMPSMEN: u1, - /// Low power timer 1 clocks enable during Sleep and Stop modes + /// Low power timer 1 clocks enable during Sleep and Stop modes LPTIM1SMEN: u1, }), - /// APB1 peripheral clocks enable in Sleep and Stop modes register 2 + /// APB1 peripheral clocks enable in Sleep and Stop modes register 2 APB1SMENR2: mmio.Mmio(packed struct(u32) { - /// Low power UART 1 clocks enable during Sleep and Stop modes + /// Low power UART 1 clocks enable during Sleep and Stop modes LPUART1SMEN: u1, - /// I2C4 clocks enable during Sleep and Stop modes + /// I2C4 clocks enable during Sleep and Stop modes I2C4SMEN: u1, reserved5: u3, - /// LPTIM2SMEN + /// LPTIM2SMEN LPTIM2SMEN: u1, padding: u26, }), - /// APB2SMENR + /// APB2SMENR APB2SMENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clocks enable during Sleep and Stop modes + /// SYSCFG clocks enable during Sleep and Stop modes SYSCFGSMEN: u1, reserved11: u10, - /// TIM1 timer clocks enable during Sleep and Stop modes + /// TIM1 timer clocks enable during Sleep and Stop modes TIM1SMEN: u1, - /// SPI1 clocks enable during Sleep and Stop modes + /// SPI1 clocks enable during Sleep and Stop modes SPI1SMEN: u1, - /// TIM8 timer clocks enable during Sleep and Stop modes + /// TIM8 timer clocks enable during Sleep and Stop modes TIM8SMEN: u1, - /// USART1clocks enable during Sleep and Stop modes + /// USART1clocks enable during Sleep and Stop modes USART1SMEN: u1, reserved16: u1, - /// TIM15 timer clocks enable during Sleep and Stop modes + /// TIM15 timer clocks enable during Sleep and Stop modes TIM15SMEN: u1, - /// TIM16 timer clocks enable during Sleep and Stop modes + /// TIM16 timer clocks enable during Sleep and Stop modes TIM16SMEN: u1, - /// TIM17 timer clocks enable during Sleep and Stop modes + /// TIM17 timer clocks enable during Sleep and Stop modes TIM17SMEN: u1, reserved21: u2, - /// SAI1 clocks enable during Sleep and Stop modes + /// SAI1 clocks enable during Sleep and Stop modes SAI1SMEN: u1, - /// SAI2 clocks enable during Sleep and Stop modes + /// SAI2 clocks enable during Sleep and Stop modes SAI2SMEN: u1, reserved24: u1, - /// DFSDM timer clocks enable during Sleep and Stop modes + /// DFSDM timer clocks enable during Sleep and Stop modes DFSDM1SMEN: u1, reserved26: u1, - /// LCD-TFT timer clocks enable during Sleep and Stop modes + /// LCD-TFT timer clocks enable during Sleep and Stop modes LTDCSMEN: u1, - /// DSI clocks enable during Sleep and Stop modes + /// DSI clocks enable during Sleep and Stop modes DSISMEN: u1, padding: u4, }), reserved136: [4]u8, - /// CCIPR + /// CCIPR CCIPR: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection - USART1SEL: packed union { - raw: u2, - value: USART1SEL, - }, - /// USART2 clock source selection - USART2SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// USART3 clock source selection - USART3SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// UART4 clock source selection - UART4SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// UART5 clock source selection - UART5SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// LPUART1 clock source selection - LPUART1SEL: packed union { - raw: u2, - value: LPUART1SEL, - }, - /// I2C1 clock source selection - I2C1SEL: packed union { - raw: u2, - value: I2C1SEL, - }, - /// I2C2 clock source selection - I2C2SEL: packed union { - raw: u2, - value: I2C2SEL, - }, - /// I2C3 clock source selection - I2C3SEL: packed union { - raw: u2, - value: I2C3SEL, - }, - /// Low power timer 1 clock source selection - LPTIM1SEL: packed union { - raw: u2, - value: LPTIM1SEL, - }, - /// Low power timer 2 clock source selection - LPTIM2SEL: packed union { - raw: u2, - value: LPTIM2SEL, - }, + /// USART1 clock source selection + USART1SEL: USART1SEL, + /// USART2 clock source selection + USART2SEL: USARTSEL, + /// USART3 clock source selection + USART3SEL: USARTSEL, + /// UART4 clock source selection + UART4SEL: USARTSEL, + /// UART5 clock source selection + UART5SEL: USARTSEL, + /// LPUART1 clock source selection + LPUART1SEL: LPUART1SEL, + /// I2C1 clock source selection + I2C1SEL: I2C1SEL, + /// I2C2 clock source selection + I2C2SEL: I2C2SEL, + /// I2C3 clock source selection + I2C3SEL: I2C3SEL, + /// Low power timer 1 clock source selection + LPTIM1SEL: LPTIM1SEL, + /// Low power timer 2 clock source selection + LPTIM2SEL: LPTIM2SEL, reserved26: u4, - /// 48 MHz clock source selection - CLK48SEL: packed union { - raw: u2, - value: CLK48SEL, - }, - /// ADCs clock source selection - ADCSEL: packed union { - raw: u2, - value: ADCSEL, - }, + /// 48 MHz clock source selection + CLK48SEL: CLK48SEL, + /// ADCs clock source selection + ADCSEL: ADCSEL, padding: u2, }), reserved144: [4]u8, - /// BDCR + /// BDCR BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enable + /// LSE oscillator enable LSEON: u1, - /// LSE oscillator ready + /// LSE oscillator ready LSERDY: u1, - /// LSE oscillator bypass + /// LSE oscillator bypass LSEBYP: u1, - /// SE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// LSECSSON + /// SE oscillator drive capability + LSEDRV: LSEDRV, + /// LSECSSON LSECSSON: u1, - /// LSECSSD + /// LSECSSD LSECSSD: u1, - /// Disable the Clock LSE propagation to the system + /// Disable the Clock LSE propagation to the system LSESYSDIS: u1, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, reserved24: u7, - /// Low speed clock output enable + /// Low speed clock output enable LSCOEN: u1, - /// Low speed clock output selection - LSCOSEL: packed union { - raw: u1, - value: LSCOSEL, - }, + /// Low speed clock output selection + LSCOSEL: LSCOSEL, padding: u6, }), - /// CSR + /// CSR CSR: mmio.Mmio(packed struct(u32) { - /// LSI oscillator enable + /// LSI oscillator enable LSION: u1, - /// LSI oscillator ready + /// LSI oscillator ready LSIRDY: u1, reserved4: u2, - /// Internal low-speed oscillator predivided by 128. Note - This bit is available only on STM32L4P5xx and STM32L4Q5xx devices. + /// Internal low-speed oscillator predivided by 128. Note - This bit is available only on STM32L4P5xx and STM32L4Q5xx devices. LSIPREDIV: u1, reserved8: u3, - /// SI range after Standby mode + /// SI range after Standby mode MSISRANGE: u4, reserved23: u11, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// Firewall reset flag + /// Firewall reset flag FWRSTF: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// Pin reset flag + /// Pin reset flag PINRSTF: u1, - /// BOR flag + /// BOR flag BORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent window watchdog reset flag + /// Independent window watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), - /// Clock recovery RC register + /// Clock recovery RC register CRRCR: mmio.Mmio(packed struct(u32) { - /// HSI48 clock enable + /// HSI48 clock enable HSI48ON: u1, - /// HSI48 clock ready flag + /// HSI48 clock ready flag HSI48RDY: u1, reserved7: u5, - /// HSI48 clock calibration + /// HSI48 clock calibration HSI48CAL: u9, padding: u16, }), - /// Peripherals independent clock configuration register + /// Peripherals independent clock configuration register CCIPR2: mmio.Mmio(packed struct(u32) { - /// I2C4 clock source selection - I2C4SEL: packed union { - raw: u2, - value: I2C4SEL, - }, - /// Digital filter for sigma delta modulator kernel clock source selection - DFSDMSEL: packed union { - raw: u1, - value: DFSDMSEL, - }, - /// Digital filter for sigma delta modulator audio clock source selection - ADFSDMSEL: packed union { - raw: u2, - value: ADFSDMSEL, - }, - /// SAI1 clock source selection - SAI1SEL: packed union { - raw: u3, - value: SAI1SEL, - }, - /// SAI2 clock source selection - SAI2SEL: packed union { - raw: u3, - value: SAI2SEL, - }, + /// I2C4 clock source selection + I2C4SEL: I2C4SEL, + /// Digital filter for sigma delta modulator kernel clock source selection + DFSDMSEL: DFSDMSEL, + /// Digital filter for sigma delta modulator audio clock source selection + ADFSDMSEL: ADFSDMSEL, + /// SAI1 clock source selection + SAI1SEL: SAI1SEL, + /// SAI2 clock source selection + SAI2SEL: SAI2SEL, reserved12: u1, - /// clock selection - DSISEL: packed union { - raw: u1, - value: DSISEL, - }, + /// clock selection + DSISEL: DSISEL, reserved14: u1, - /// SDMMC clock selection - SDMMCSEL: packed union { - raw: u1, - value: SDMMCSEL, - }, + /// SDMMC clock selection + SDMMCSEL: SDMMCSEL, reserved16: u1, - /// division factor for LTDC clock + /// division factor for LTDC clock LTDCDIV: u2, reserved20: u2, - /// Octospi clock source selection - OCTOSPISEL: packed union { - raw: u2, - value: OCTOSPISEL, - }, + /// Octospi clock source selection + OCTOSPISEL: OCTOSPISEL, padding: u10, }), reserved164: [4]u8, - /// delay configuration register + /// delay configuration register DLYCFGR: mmio.Mmio(packed struct(u32) { - /// Delay sampling configuration on OCTOSPI1 to be used for internal sampling clock (called feedback clock) or for DQS data strobe + /// Delay sampling configuration on OCTOSPI1 to be used for internal sampling clock (called feedback clock) or for DQS data strobe OCTOSPI1_DLY: u4, - /// Delay sampling configuration on OCTOSPI2 to be used for internal sampling clock (called feedback clock) or for DQS data strobe + /// Delay sampling configuration on OCTOSPI2 to be used for internal sampling clock (called feedback clock) or for DQS data strobe OCTOSPI2_DLY: u4, padding: u24, }), @@ -403520,144 +396077,144 @@ pub const types = struct { pub const rcc_l5 = struct { pub const ADCSEL = enum(u2) { - /// No clock selected + /// No clock selected DISABLE = 0x0, - /// PLLADC1CLK clock selected + /// PLLADC1CLK clock selected PLLSAI1_R = 0x1, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x3, _, }; pub const CLK48SEL = enum(u2) { - /// HSI48 clock selected + /// HSI48 clock selected HSI48 = 0x0, - /// PLLSAI1_Q aka PLL48M1CLK clock selected + /// PLLSAI1_Q aka PLL48M1CLK clock selected PLLSAI1_Q = 0x1, - /// PLL_Q aka PLL48M2CLK clock selected + /// PLL_Q aka PLL48M2CLK clock selected PLL1_Q = 0x2, - /// MSI clock selected + /// MSI clock selected MSI = 0x3, }; pub const FDCANSEL = enum(u2) { - /// HSE clock selected + /// HSE clock selected HSE = 0x0, - /// PLL "Q" clock selected + /// PLL "Q" clock selected PLL1_Q = 0x1, - /// PLLSAI "P" clock selected + /// PLLSAI "P" clock selected PLLSAI1_P = 0x2, _, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const LSCOSEL = enum(u1) { - /// LSI clock selected" + /// LSI clock selected" LSI = 0x0, - /// LSE clock selected + /// LSE clock selected LSE = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u3) { - /// MCO divided by 1 + /// MCO divided by 1 Div1 = 0x0, - /// MCO divided by 2 + /// MCO divided by 2 Div2 = 0x1, - /// MCO divided by 4 + /// MCO divided by 4 Div4 = 0x2, - /// MCO divided by 8 + /// MCO divided by 8 Div8 = 0x3, - /// MCO divided by 16 + /// MCO divided by 16 Div16 = 0x4, _, }; pub const MCOSEL = enum(u4) { - /// MCO output disabled, no clock on MCO + /// MCO output disabled, no clock on MCO DISABLE = 0x0, - /// SYSCLK system clock selected + /// SYSCLK system clock selected SYS = 0x1, - /// MSI clock selected + /// MSI clock selected MSI = 0x2, - /// HSI clock selected + /// HSI clock selected HSI = 0x3, - /// HSE clock selected + /// HSE clock selected HSE = 0x4, - /// Main PLL clock selected + /// Main PLL clock selected PLL = 0x5, - /// LSI clock selected + /// LSI clock selected LSI = 0x6, - /// LSE clock selected + /// LSE clock selected LSE = 0x7, - /// Internal HSI48 clock selected + /// Internal HSI48 clock selected HSI48 = 0x8, _, }; pub const MSIRANGE = enum(u4) { - /// range 0 around 100 kHz + /// range 0 around 100 kHz Range100K = 0x0, - /// range 1 around 200 kHz + /// range 1 around 200 kHz Range200K = 0x1, - /// range 2 around 400 kHz + /// range 2 around 400 kHz Range400K = 0x2, - /// range 3 around 800 kHz + /// range 3 around 800 kHz Range800K = 0x3, - /// range 4 around 1 MHz + /// range 4 around 1 MHz Range1M = 0x4, - /// range 5 around 2 MHz + /// range 5 around 2 MHz Range2M = 0x5, - /// range 6 around 4 MHz + /// range 6 around 4 MHz Range4M = 0x6, - /// range 7 around 8 MHz + /// range 7 around 8 MHz Range8M = 0x7, - /// range 8 around 16 MHz + /// range 8 around 16 MHz Range16M = 0x8, - /// range 9 around 24 MHz + /// range 9 around 24 MHz Range24M = 0x9, - /// range 10 around 32 MHz + /// range 10 around 32 MHz Range32M = 0xa, - /// range 11 around 48 MHz + /// range 11 around 48 MHz Range48M = 0xb, _, }; pub const MSIRGSEL = enum(u1) { - /// MSI Range is provided by MSISRANGE[3:0] in RCC_CSR register + /// MSI Range is provided by MSISRANGE[3:0] in RCC_CSR register CSR = 0x0, - /// MSI Range is provided by MSIRANGE[3:0] in the RCC_CR register + /// MSI Range is provided by MSIRANGE[3:0] in the RCC_CR register CR = 0x1, }; @@ -403858,1288 +396415,1177 @@ pub const types = struct { }; pub const PLLSRC = enum(u2) { - /// No clock sent to PLL + /// No clock sent to PLL DISABLE = 0x0, - /// MSI selected as PLL input clock + /// MSI selected as PLL input clock MSI = 0x1, - /// HSI selected as PLL input clock + /// HSI selected as PLL input clock HSI = 0x2, - /// HSE selected as PLL input clock + /// HSE selected as PLL input clock HSE = 0x3, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const RTCSEL = enum(u2) { - /// No clock + /// No clock DISABLE = 0x0, - /// LSE oscillator clock used as RTC clock + /// LSE oscillator clock used as RTC clock LSE = 0x1, - /// LSI oscillator clock used as RTC clock + /// LSI oscillator clock used as RTC clock LSI = 0x2, - /// HSE oscillator clock divided by a prescaler used as RTC clock + /// HSE oscillator clock divided by a prescaler used as RTC clock HSE = 0x3, }; pub const STOPWUCK = enum(u1) { - /// MSI oscillator selected as wake-up from Stop clock and CSS backup clock + /// MSI oscillator selected as wake-up from Stop clock and CSS backup clock MSI = 0x0, - /// HSI oscillator selected as wake-up from stop clock and CSS backup clock + /// HSI oscillator selected as wake-up from stop clock and CSS backup clock HSI = 0x1, }; pub const SW = enum(u2) { - /// MSI selected as system clock + /// MSI selected as system clock MSI = 0x0, - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x1, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x2, - /// PLL selected as system clock + /// PLL selected as system clock PLL1_R = 0x3, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// MSI clock enable + /// MSI clock enable MSION: u1, - /// MSI clock ready flag + /// MSI clock ready flag MSIRDY: u1, - /// MSI clock PLL enable + /// MSI clock PLL enable MSIPLLEN: u1, - /// MSI clock range selection - MSIRGSEL: packed union { - raw: u1, - value: MSIRGSEL, - }, - /// MSI clock ranges - MSIRANGE: packed union { - raw: u4, - value: MSIRANGE, - }, - /// HSI clock enable + /// MSI clock range selection + MSIRGSEL: MSIRGSEL, + /// MSI clock ranges + MSIRANGE: MSIRANGE, + /// HSI clock enable HSION: u1, - /// HSI always enable for peripheral kernels + /// HSI always enable for peripheral kernels HSIKERON: u1, - /// HSI clock ready flag + /// HSI clock ready flag HSIRDY: u1, - /// HSI automatic start from Stop + /// HSI automatic start from Stop HSIASFS: u1, reserved16: u4, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE crystal oscillator bypass + /// HSE crystal oscillator bypass HSEBYP: u1, - /// Clock security system enable + /// Clock security system enable CSSON: u1, reserved24: u4, - /// Main PLL enable + /// Main PLL enable PLLON: u1, - /// Main PLL clock ready flag + /// Main PLL clock ready flag PLLRDY: u1, - /// SAI1 PLL enable + /// SAI1 PLL enable PLLSAI1ON: u1, - /// SAI1 PLL clock ready flag + /// SAI1 PLL clock ready flag PLLSAI1RDY: u1, - /// SAI2 PLL enable + /// SAI2 PLL enable PLLSAI2ON: u1, - /// SAI2 PLL clock ready flag + /// SAI2 PLL clock ready flag PLLSAI2RDY: u1, reserved31: u1, - /// PRIV + /// PRIV PRIV: u1, }), - /// Internal clock sources calibration register + /// Internal clock sources calibration register ICSCR: mmio.Mmio(packed struct(u32) { - /// MSI clock calibration + /// MSI clock calibration MSICAL: u8, - /// MSI clock trimming + /// MSI clock trimming MSITRIM: u8, - /// HSI clock calibration + /// HSI clock calibration HSICAL: u8, - /// HSI clock trimming + /// HSI clock trimming HSITRIM: u7, padding: u1, }), - /// Clock configuration register + /// Clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB low-speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high-speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// APB low-speed prescaler (APB1) + PPRE1: PPRE, + /// APB high-speed prescaler (APB2) + PPRE2: PPRE, reserved15: u1, - /// Wakeup from Stop and CSS backup clock selection - STOPWUCK: packed union { - raw: u1, - value: STOPWUCK, - }, + /// Wakeup from Stop and CSS backup clock selection + STOPWUCK: STOPWUCK, reserved24: u8, - /// Microcontroller clock output selection - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller clock output prescaler - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, + /// Microcontroller clock output selection + MCOSEL: MCOSEL, + /// Microcontroller clock output prescaler + MCOPRE: MCOPRE, padding: u1, }), - /// PLL configuration register + /// PLL configuration register PLLCFGR: mmio.Mmio(packed struct(u32) { - /// PLL clock source - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, + /// PLL clock source + PLLSRC: PLLSRC, reserved4: u2, - /// Division factor for the PLL input clock - PLLM: packed union { - raw: u4, - value: PLLM, - }, - /// PLL multiplication factor for VCO - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// Division factor for the PLL input clock + PLLM: PLLM, + /// PLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// PLL PLLSAI3CLK output enable + /// PLL PLLSAI3CLK output enable PLLPEN: u1, - /// PLL division factor for PLLSAI3CLK (SAI1 and SAI2 clock) - PLLPBIT: packed union { - raw: u1, - value: PLLPBIT, - }, + /// PLL division factor for PLLSAI3CLK (SAI1 and SAI2 clock) + PLLPBIT: PLLPBIT, reserved20: u2, - /// PLL PLLUSB1CLK output enable + /// PLL PLLUSB1CLK output enable PLLQEN: u1, - /// PLL division factor for PLLUSB1CLK(48 MHz clock) - PLLQ: packed union { - raw: u2, - value: PLLQ, - }, + /// PLL division factor for PLLUSB1CLK(48 MHz clock) + PLLQ: PLLQ, reserved24: u1, - /// PLL PLLCLK output enable + /// PLL PLLCLK output enable PLLREN: u1, - /// PLL division factor for PLLCLK (system clock) - PLLR: packed union { - raw: u2, - value: PLLR, - }, - /// PLL division factor for PLLSAI2CLK - PLLP: packed union { - raw: u5, - value: PLLP, - }, - }), - /// PLLSAI1 configuration register + /// PLL division factor for PLLCLK (system clock) + PLLR: PLLR, + /// PLL division factor for PLLSAI2CLK + PLLP: PLLP, + }), + /// PLLSAI1 configuration register PLLSAI1CFGR: mmio.Mmio(packed struct(u32) { - /// PLL clock source - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, + /// PLL clock source + PLLSRC: PLLSRC, reserved4: u2, - /// Division factor for the PLL input clock - PLLM: packed union { - raw: u4, - value: PLLM, - }, - /// PLL multiplication factor for VCO - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// Division factor for the PLL input clock + PLLM: PLLM, + /// PLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// PLL PLLSAI3CLK output enable + /// PLL PLLSAI3CLK output enable PLLPEN: u1, - /// PLL division factor for PLLSAI3CLK (SAI1 and SAI2 clock) - PLLPBIT: packed union { - raw: u1, - value: PLLPBIT, - }, + /// PLL division factor for PLLSAI3CLK (SAI1 and SAI2 clock) + PLLPBIT: PLLPBIT, reserved20: u2, - /// PLL PLLUSB1CLK output enable + /// PLL PLLUSB1CLK output enable PLLQEN: u1, - /// PLL division factor for PLLUSB1CLK(48 MHz clock) - PLLQ: packed union { - raw: u2, - value: PLLQ, - }, + /// PLL division factor for PLLUSB1CLK(48 MHz clock) + PLLQ: PLLQ, reserved24: u1, - /// PLL PLLCLK output enable + /// PLL PLLCLK output enable PLLREN: u1, - /// PLL division factor for PLLCLK (system clock) - PLLR: packed union { - raw: u2, - value: PLLR, - }, - /// PLL division factor for PLLSAI2CLK - PLLP: packed union { - raw: u5, - value: PLLP, - }, - }), - /// PLLSAI2 configuration register + /// PLL division factor for PLLCLK (system clock) + PLLR: PLLR, + /// PLL division factor for PLLSAI2CLK + PLLP: PLLP, + }), + /// PLLSAI2 configuration register PLLSAI2CFGR: mmio.Mmio(packed struct(u32) { - /// PLL clock source - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, + /// PLL clock source + PLLSRC: PLLSRC, reserved4: u2, - /// Division factor for the PLL input clock - PLLM: packed union { - raw: u4, - value: PLLM, - }, - /// PLL multiplication factor for VCO - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// Division factor for the PLL input clock + PLLM: PLLM, + /// PLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// PLL PLLSAI3CLK output enable + /// PLL PLLSAI3CLK output enable PLLPEN: u1, - /// PLL division factor for PLLSAI3CLK (SAI1 and SAI2 clock) - PLLPBIT: packed union { - raw: u1, - value: PLLPBIT, - }, + /// PLL division factor for PLLSAI3CLK (SAI1 and SAI2 clock) + PLLPBIT: PLLPBIT, reserved20: u2, - /// PLL PLLUSB1CLK output enable + /// PLL PLLUSB1CLK output enable PLLQEN: u1, - /// PLL division factor for PLLUSB1CLK(48 MHz clock) - PLLQ: packed union { - raw: u2, - value: PLLQ, - }, + /// PLL division factor for PLLUSB1CLK(48 MHz clock) + PLLQ: PLLQ, reserved24: u1, - /// PLL PLLCLK output enable + /// PLL PLLCLK output enable PLLREN: u1, - /// PLL division factor for PLLCLK (system clock) - PLLR: packed union { - raw: u2, - value: PLLR, - }, - /// PLL division factor for PLLSAI2CLK - PLLP: packed union { - raw: u5, - value: PLLP, - }, - }), - /// Clock interrupt enable register + /// PLL division factor for PLLCLK (system clock) + PLLR: PLLR, + /// PLL division factor for PLLSAI2CLK + PLLP: PLLP, + }), + /// Clock interrupt enable register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt enable + /// LSI ready interrupt enable LSIRDYIE: u1, - /// LSE ready interrupt enable + /// LSE ready interrupt enable LSERDYIE: u1, - /// MSI ready interrupt enable + /// MSI ready interrupt enable MSIRDYIE: u1, - /// HSI ready interrupt enable + /// HSI ready interrupt enable HSIRDYIE: u1, - /// HSE ready interrupt enable + /// HSE ready interrupt enable HSERDYIE: u1, - /// PLL ready interrupt enable + /// PLL ready interrupt enable PLLRDYIE: u1, - /// PLLSAI1 ready interrupt enable + /// PLLSAI1 ready interrupt enable PLLSAI1RDYIE: u1, - /// PLLSAI2 ready interrupt enable + /// PLLSAI2 ready interrupt enable PLLSAI2RDYIE: u1, reserved9: u1, - /// LSE clock security system interrupt enable + /// LSE clock security system interrupt enable LSECSSIE: u1, - /// HSI48 ready interrupt enable + /// HSI48 ready interrupt enable HSI48RDYIE: u1, padding: u21, }), - /// Clock interrupt flag register + /// Clock interrupt flag register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYF: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYF: u1, - /// MSI ready interrupt flag + /// MSI ready interrupt flag MSIRDYF: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYF: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYF: u1, - /// PLL ready interrupt flag + /// PLL ready interrupt flag PLLRDYF: u1, - /// PLLSAI1 ready interrupt flag + /// PLLSAI1 ready interrupt flag PLLSAI1RDYF: u1, - /// PLLSAI2 ready interrupt flag + /// PLLSAI2 ready interrupt flag PLLSAI2RDYF: u1, - /// Clock security system interrupt flag + /// Clock security system interrupt flag CSSF: u1, - /// LSE Clock security system interrupt flag + /// LSE Clock security system interrupt flag LSECSSF: u1, - /// HSI48 ready interrupt flag + /// HSI48 ready interrupt flag HSI48RDYF: u1, padding: u21, }), - /// Clock interrupt clear register + /// Clock interrupt clear register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt clear + /// LSI ready interrupt clear LSIRDYC: u1, - /// LSE ready interrupt clear + /// LSE ready interrupt clear LSERDYC: u1, - /// MSI ready interrupt clear + /// MSI ready interrupt clear MSIRDYC: u1, - /// HSI ready interrupt clear + /// HSI ready interrupt clear HSIRDYC: u1, - /// HSE ready interrupt clear + /// HSE ready interrupt clear HSERDYC: u1, - /// PLL ready interrupt clear + /// PLL ready interrupt clear PLLRDYC: u1, - /// PLLSAI1 ready interrupt clear + /// PLLSAI1 ready interrupt clear PLLSAI1RDYC: u1, - /// PLLSAI2 ready interrupt clear + /// PLLSAI2 ready interrupt clear PLLSAI2RDYC: u1, - /// Clock security system interrupt clear + /// Clock security system interrupt clear CSSC: u1, - /// LSE Clock security system interrupt clear + /// LSE Clock security system interrupt clear LSECSSC: u1, - /// HSI48 oscillator ready interrupt clear + /// HSI48 oscillator ready interrupt clear HSI48RDYC: u1, padding: u21, }), reserved40: [4]u8, - /// AHB1 peripheral reset register + /// AHB1 peripheral reset register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// DMA1 reset + /// DMA1 reset DMA1RST: u1, - /// DMA2 reset + /// DMA2 reset DMA2RST: u1, - /// DMAMUX1RST + /// DMAMUX1RST DMAMUX1RST: u1, reserved8: u5, - /// Flash memory interface reset + /// Flash memory interface reset FLASHRST: u1, reserved12: u3, - /// CRC reset + /// CRC reset CRCRST: u1, reserved16: u3, - /// Touch Sensing Controller reset + /// Touch Sensing Controller reset TSCRST: u1, reserved22: u5, - /// GTZC reset + /// GTZC reset GTZCRST: u1, padding: u9, }), - /// AHB2 peripheral reset register + /// AHB2 peripheral reset register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// IO port A reset + /// IO port A reset GPIOARST: u1, - /// IO port B reset + /// IO port B reset GPIOBRST: u1, - /// IO port C reset + /// IO port C reset GPIOCRST: u1, - /// IO port D reset + /// IO port D reset GPIODRST: u1, - /// IO port E reset + /// IO port E reset GPIOERST: u1, - /// IO port F reset + /// IO port F reset GPIOFRST: u1, - /// IO port G reset + /// IO port G reset GPIOGRST: u1, - /// IO port H reset + /// IO port H reset GPIOHRST: u1, reserved13: u5, - /// ADC reset + /// ADC reset ADCRST: u1, reserved16: u2, - /// AES hardware accelerator reset + /// AES hardware accelerator reset AESRST: u1, - /// Hash reset + /// Hash reset HASHRST: u1, - /// Random number generator reset + /// Random number generator reset RNGRST: u1, - /// PKARST + /// PKARST PKARST: u1, reserved21: u1, - /// OTFDEC1RST + /// OTFDEC1RST OTFDEC1RST: u1, - /// SDMMC1 reset + /// SDMMC1 reset SDMMC1RST: u1, padding: u9, }), - /// AHB3 peripheral reset register + /// AHB3 peripheral reset register AHB3RSTR: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller reset + /// Flexible memory controller reset FMCRST: u1, reserved8: u7, - /// OCTOSPI1RST + /// OCTOSPI1RST OCTOSPI1RST: u1, padding: u23, }), reserved56: [4]u8, - /// APB1 peripheral reset register 1 + /// APB1 peripheral reset register 1 APB1RSTR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer reset + /// TIM2 timer reset TIM2RST: u1, - /// TIM3 timer reset + /// TIM3 timer reset TIM3RST: u1, - /// TIM3 timer reset + /// TIM3 timer reset TIM4RST: u1, - /// TIM5 timer reset + /// TIM5 timer reset TIM5RST: u1, - /// TIM6 timer reset + /// TIM6 timer reset TIM6RST: u1, - /// TIM7 timer reset + /// TIM7 timer reset TIM7RST: u1, reserved14: u8, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, - /// SPI3 reset + /// SPI3 reset SPI3RST: u1, reserved17: u1, - /// USART2 reset + /// USART2 reset USART2RST: u1, - /// USART3 reset + /// USART3 reset USART3RST: u1, - /// UART4 reset + /// UART4 reset UART4RST: u1, - /// UART5 reset + /// UART5 reset UART5RST: u1, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// I2C3 reset + /// I2C3 reset I2C3RST: u1, - /// CRS reset + /// CRS reset CRSRST: u1, reserved28: u3, - /// Power interface reset + /// Power interface reset PWRRST: u1, - /// DAC1 interface reset + /// DAC1 interface reset DAC1RST: u1, - /// OPAMP interface reset + /// OPAMP interface reset OPAMPRST: u1, - /// Low Power Timer 1 reset + /// Low Power Timer 1 reset LPTIM1RST: u1, }), - /// APB1 peripheral reset register 2 + /// APB1 peripheral reset register 2 APB1RSTR2: mmio.Mmio(packed struct(u32) { - /// Low-power UART 1 reset + /// Low-power UART 1 reset LPUART1RST: u1, - /// I2C4 reset + /// I2C4 reset I2C4RST: u1, reserved5: u3, - /// Low-power timer 2 reset + /// Low-power timer 2 reset LPTIM2RST: u1, - /// LPTIM3RST + /// LPTIM3RST LPTIM3RST: u1, reserved9: u2, - /// FDCAN1RST + /// FDCAN1RST FDCAN1RST: u1, reserved21: u11, - /// USBRST + /// USBRST USBRST: u1, reserved23: u1, - /// UCPD1RST + /// UCPD1RST UCPD1RST: u1, padding: u8, }), - /// APB2 peripheral reset register + /// APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { - /// System configuration (SYSCFG) reset + /// System configuration (SYSCFG) reset SYSCFGRST: u1, reserved11: u10, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI1 reset + /// SPI1 reset SPI1RST: u1, - /// TIM8 timer reset + /// TIM8 timer reset TIM8RST: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, reserved16: u1, - /// TIM15 timer reset + /// TIM15 timer reset TIM15RST: u1, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, reserved21: u2, - /// Serial audio interface 1 (SAI1) reset + /// Serial audio interface 1 (SAI1) reset SAI1RST: u1, - /// Serial audio interface 2 (SAI2) reset + /// Serial audio interface 2 (SAI2) reset SAI2RST: u1, reserved24: u1, - /// Digital filters for sigma-delata modulators (DFSDM) reset + /// Digital filters for sigma-delata modulators (DFSDM) reset DFSDM1RST: u1, padding: u7, }), reserved72: [4]u8, - /// AHB1 peripheral clock enable register + /// AHB1 peripheral clock enable register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// DMAMUX clock enable + /// DMAMUX clock enable DMAMUX1EN: u1, reserved8: u5, - /// Flash memory interface clock enable + /// Flash memory interface clock enable FLASHEN: u1, reserved12: u3, - /// CRC clock enable + /// CRC clock enable CRCEN: u1, reserved16: u3, - /// Touch Sensing Controller clock enable + /// Touch Sensing Controller clock enable TSCEN: u1, reserved22: u5, - /// GTZCEN + /// GTZCEN GTZCEN: u1, padding: u9, }), - /// AHB2 peripheral clock enable register + /// AHB2 peripheral clock enable register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable + /// IO port A clock enable GPIOAEN: u1, - /// IO port B clock enable + /// IO port B clock enable GPIOBEN: u1, - /// IO port C clock enable + /// IO port C clock enable GPIOCEN: u1, - /// IO port D clock enable + /// IO port D clock enable GPIODEN: u1, - /// IO port E clock enable + /// IO port E clock enable GPIOEEN: u1, - /// IO port F clock enable + /// IO port F clock enable GPIOFEN: u1, - /// IO port G clock enable + /// IO port G clock enable GPIOGEN: u1, - /// IO port H clock enable + /// IO port H clock enable GPIOHEN: u1, reserved13: u5, - /// ADC clock enable + /// ADC clock enable ADCEN: u1, reserved16: u2, - /// AES accelerator clock enable + /// AES accelerator clock enable AESEN: u1, - /// HASH clock enable + /// HASH clock enable HASHEN: u1, - /// Random Number Generator clock enable + /// Random Number Generator clock enable RNGEN: u1, - /// PKAEN + /// PKAEN PKAEN: u1, reserved21: u1, - /// OTFDEC1EN + /// OTFDEC1EN OTFDEC1EN: u1, - /// SDMMC1 clock enable + /// SDMMC1 clock enable SDMMC1EN: u1, padding: u9, }), - /// AHB3 peripheral clock enable register + /// AHB3 peripheral clock enable register AHB3ENR: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller clock enable + /// Flexible memory controller clock enable FMCEN: u1, reserved8: u7, - /// OCTOSPI1EN + /// OCTOSPI1EN OCTOSPI1EN: u1, padding: u23, }), reserved88: [4]u8, - /// APB1ENR1 + /// APB1ENR1 APB1ENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clock enable + /// TIM2 timer clock enable TIM2EN: u1, - /// TIM3 timer clock enable + /// TIM3 timer clock enable TIM3EN: u1, - /// TIM4 timer clock enable + /// TIM4 timer clock enable TIM4EN: u1, - /// TIM5 timer clock enable + /// TIM5 timer clock enable TIM5EN: u1, - /// TIM6 timer clock enable + /// TIM6 timer clock enable TIM6EN: u1, - /// TIM7 timer clock enable + /// TIM7 timer clock enable TIM7EN: u1, reserved10: u4, - /// RTC APB clock enable + /// RTC APB clock enable RTCAPBEN: u1, - /// Window watchdog clock enable + /// Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// SPI2 clock enable + /// SPI2 clock enable SPI2EN: u1, - /// SPI3 clock enable + /// SPI3 clock enable SPI3EN: u1, reserved17: u1, - /// USART2 clock enable + /// USART2 clock enable USART2EN: u1, - /// USART3 clock enable + /// USART3 clock enable USART3EN: u1, - /// UART4 clock enable + /// UART4 clock enable UART4EN: u1, - /// UART5 clock enable + /// UART5 clock enable UART5EN: u1, - /// I2C1 clock enable + /// I2C1 clock enable I2C1EN: u1, - /// I2C2 clock enable + /// I2C2 clock enable I2C2EN: u1, - /// I2C3 clock enable + /// I2C3 clock enable I2C3EN: u1, - /// Clock Recovery System clock enable + /// Clock Recovery System clock enable CRSEN: u1, reserved28: u3, - /// Power interface clock enable + /// Power interface clock enable PWREN: u1, - /// DAC1 interface clock enable + /// DAC1 interface clock enable DAC1EN: u1, - /// OPAMP interface clock enable + /// OPAMP interface clock enable OPAMPEN: u1, - /// Low power timer 1 clock enable + /// Low power timer 1 clock enable LPTIM1EN: u1, }), - /// APB1 peripheral clock enable register 2 + /// APB1 peripheral clock enable register 2 APB1ENR2: mmio.Mmio(packed struct(u32) { - /// Low power UART 1 clock enable + /// Low power UART 1 clock enable LPUART1EN: u1, - /// I2C4 clock enable + /// I2C4 clock enable I2C4EN: u1, reserved5: u3, - /// LPTIM2EN + /// LPTIM2EN LPTIM2EN: u1, - /// LPTIM3EN + /// LPTIM3EN LPTIM3EN: u1, reserved9: u2, - /// FDCAN1EN + /// FDCAN1EN FDCAN1EN: u1, reserved21: u11, - /// USBEN + /// USBEN USBEN: u1, reserved23: u1, - /// UCPD1EN + /// UCPD1EN UCPD1EN: u1, padding: u8, }), - /// APB2ENR + /// APB2ENR APB2ENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock enable + /// SYSCFG clock enable SYSCFGEN: u1, reserved11: u10, - /// TIM1 timer clock enable + /// TIM1 timer clock enable TIM1EN: u1, - /// SPI1 clock enable + /// SPI1 clock enable SPI1EN: u1, - /// TIM8 timer clock enable + /// TIM8 timer clock enable TIM8EN: u1, - /// USART1clock enable + /// USART1clock enable USART1EN: u1, reserved16: u1, - /// TIM15 timer clock enable + /// TIM15 timer clock enable TIM15EN: u1, - /// TIM16 timer clock enable + /// TIM16 timer clock enable TIM16EN: u1, - /// TIM17 timer clock enable + /// TIM17 timer clock enable TIM17EN: u1, reserved21: u2, - /// SAI1 clock enable + /// SAI1 clock enable SAI1EN: u1, - /// SAI2 clock enable + /// SAI2 clock enable SAI2EN: u1, reserved24: u1, - /// DFSDM timer clock enable + /// DFSDM timer clock enable DFSDM1EN: u1, padding: u7, }), reserved104: [4]u8, - /// AHB1 peripheral clocks enable in Sleep and Stop modes register + /// AHB1 peripheral clocks enable in Sleep and Stop modes register AHB1SMENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clocks enable during Sleep and Stop modes + /// DMA1 clocks enable during Sleep and Stop modes DMA1SMEN: u1, - /// DMA2 clocks enable during Sleep and Stop modes + /// DMA2 clocks enable during Sleep and Stop modes DMA2SMEN: u1, - /// DMAMUX clock enable during Sleep and Stop modes + /// DMAMUX clock enable during Sleep and Stop modes DMAMUX1SMEN: u1, reserved8: u5, - /// Flash memory interface clocks enable during Sleep and Stop modes + /// Flash memory interface clocks enable during Sleep and Stop modes FLASHSMEN: u1, - /// SRAM1 interface clocks enable during Sleep and Stop modes + /// SRAM1 interface clocks enable during Sleep and Stop modes SRAM1SMEN: u1, reserved12: u2, - /// CRCSMEN + /// CRCSMEN CRCSMEN: u1, reserved16: u3, - /// Touch Sensing Controller clocks enable during Sleep and Stop modes + /// Touch Sensing Controller clocks enable during Sleep and Stop modes TSCSMEN: u1, reserved22: u5, - /// GTZCSMEN + /// GTZCSMEN GTZCSMEN: u1, - /// ICACHESMEN + /// ICACHESMEN ICACHESMEN: u1, padding: u8, }), - /// AHB2 peripheral clocks enable in Sleep and Stop modes register + /// AHB2 peripheral clocks enable in Sleep and Stop modes register AHB2SMENR: mmio.Mmio(packed struct(u32) { - /// IO port A clocks enable during Sleep and Stop modes + /// IO port A clocks enable during Sleep and Stop modes GPIOASMEN: u1, - /// IO port B clocks enable during Sleep and Stop modes + /// IO port B clocks enable during Sleep and Stop modes GPIOBSMEN: u1, - /// IO port C clocks enable during Sleep and Stop modes + /// IO port C clocks enable during Sleep and Stop modes GPIOCSMEN: u1, - /// IO port D clocks enable during Sleep and Stop modes + /// IO port D clocks enable during Sleep and Stop modes GPIODSMEN: u1, - /// IO port E clocks enable during Sleep and Stop modes + /// IO port E clocks enable during Sleep and Stop modes GPIOESMEN: u1, - /// IO port F clocks enable during Sleep and Stop modes + /// IO port F clocks enable during Sleep and Stop modes GPIOFSMEN: u1, - /// IO port G clocks enable during Sleep and Stop modes + /// IO port G clocks enable during Sleep and Stop modes GPIOGSMEN: u1, - /// IO port H clocks enable during Sleep and Stop modes + /// IO port H clocks enable during Sleep and Stop modes GPIOHSMEN: u1, reserved9: u1, - /// SRAM2 interface clocks enable during Sleep and Stop modes + /// SRAM2 interface clocks enable during Sleep and Stop modes SRAM2SMEN: u1, reserved13: u3, - /// ADC clocks enable during Sleep and Stop modes + /// ADC clocks enable during Sleep and Stop modes ADCFSSMEN: u1, reserved16: u2, - /// AES accelerator clocks enable during Sleep and Stop modes + /// AES accelerator clocks enable during Sleep and Stop modes AESSMEN: u1, - /// HASH clock enable during Sleep and Stop modes + /// HASH clock enable during Sleep and Stop modes HASHSMEN: u1, - /// Random Number Generator clocks enable during Sleep and Stop modes + /// Random Number Generator clocks enable during Sleep and Stop modes RNGSMEN: u1, - /// PKASMEN + /// PKASMEN PKASMEN: u1, reserved21: u1, - /// OTFDEC1SMEN + /// OTFDEC1SMEN OTFDEC1SMEN: u1, - /// SDMMC1 clocks enable during Sleep and Stop modes + /// SDMMC1 clocks enable during Sleep and Stop modes SDMMC1SMEN: u1, padding: u9, }), - /// AHB3 peripheral clocks enable in Sleep and Stop modes register + /// AHB3 peripheral clocks enable in Sleep and Stop modes register AHB3SMENR: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller clocks enable during Sleep and Stop modes + /// Flexible memory controller clocks enable during Sleep and Stop modes FMCSMEN: u1, reserved8: u7, - /// OCTOSPI1SMEN + /// OCTOSPI1SMEN OCTOSPI1SMEN: u1, padding: u23, }), reserved120: [4]u8, - /// APB1SMENR1 + /// APB1SMENR1 APB1SMENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clocks enable during Sleep and Stop modes + /// TIM2 timer clocks enable during Sleep and Stop modes TIM2SMEN: u1, - /// TIM3 timer clocks enable during Sleep and Stop modes + /// TIM3 timer clocks enable during Sleep and Stop modes TIM3SMEN: u1, - /// TIM4 timer clocks enable during Sleep and Stop modes + /// TIM4 timer clocks enable during Sleep and Stop modes TIM4SMEN: u1, - /// TIM5 timer clocks enable during Sleep and Stop modes + /// TIM5 timer clocks enable during Sleep and Stop modes TIM5SMEN: u1, - /// TIM6 timer clocks enable during Sleep and Stop modes + /// TIM6 timer clocks enable during Sleep and Stop modes TIM6SMEN: u1, - /// TIM7 timer clocks enable during Sleep and Stop modes + /// TIM7 timer clocks enable during Sleep and Stop modes TIM7SMEN: u1, reserved10: u4, - /// RTC APB clock enable during Sleep and Stop modes + /// RTC APB clock enable during Sleep and Stop modes RTCAPBSMEN: u1, - /// Window watchdog clocks enable during Sleep and Stop modes + /// Window watchdog clocks enable during Sleep and Stop modes WWDGSMEN: u1, reserved14: u2, - /// SPI2 clocks enable during Sleep and Stop modes + /// SPI2 clocks enable during Sleep and Stop modes SPI2SMEN: u1, - /// SPI3 clocks enable during Sleep and Stop modes + /// SPI3 clocks enable during Sleep and Stop modes SP3SMEN: u1, reserved17: u1, - /// USART2 clocks enable during Sleep and Stop modes + /// USART2 clocks enable during Sleep and Stop modes USART2SMEN: u1, - /// USART3 clocks enable during Sleep and Stop modes + /// USART3 clocks enable during Sleep and Stop modes USART3SMEN: u1, - /// UART4 clocks enable during Sleep and Stop modes + /// UART4 clocks enable during Sleep and Stop modes UART4SMEN: u1, - /// UART5 clocks enable during Sleep and Stop modes + /// UART5 clocks enable during Sleep and Stop modes UART5SMEN: u1, - /// I2C1 clocks enable during Sleep and Stop modes + /// I2C1 clocks enable during Sleep and Stop modes I2C1SMEN: u1, - /// I2C2 clocks enable during Sleep and Stop modes + /// I2C2 clocks enable during Sleep and Stop modes I2C2SMEN: u1, - /// I2C3 clocks enable during Sleep and Stop modes + /// I2C3 clocks enable during Sleep and Stop modes I2C3SMEN: u1, - /// CRS clock enable during Sleep and Stop modes + /// CRS clock enable during Sleep and Stop modes CRSSMEN: u1, reserved28: u3, - /// Power interface clocks enable during Sleep and Stop modes + /// Power interface clocks enable during Sleep and Stop modes PWRSMEN: u1, - /// DAC1 interface clocks enable during Sleep and Stop modes + /// DAC1 interface clocks enable during Sleep and Stop modes DAC1SMEN: u1, - /// OPAMP interface clocks enable during Sleep and Stop modes + /// OPAMP interface clocks enable during Sleep and Stop modes OPAMPSMEN: u1, - /// Low power timer 1 clocks enable during Sleep and Stop modes + /// Low power timer 1 clocks enable during Sleep and Stop modes LPTIM1SMEN: u1, }), - /// APB1 peripheral clocks enable in Sleep and Stop modes register 2 + /// APB1 peripheral clocks enable in Sleep and Stop modes register 2 APB1SMENR2: mmio.Mmio(packed struct(u32) { - /// Low power UART 1 clocks enable during Sleep and Stop modes + /// Low power UART 1 clocks enable during Sleep and Stop modes LPUART1SMEN: u1, - /// I2C4 clocks enable during Sleep and Stop modes + /// I2C4 clocks enable during Sleep and Stop modes I2C4SMEN: u1, reserved5: u3, - /// LPTIM2SMEN + /// LPTIM2SMEN LPTIM2SMEN: u1, - /// LPTIM3SMEN + /// LPTIM3SMEN LPTIM3SMEN: u1, reserved9: u2, - /// FDCAN1SMEN + /// FDCAN1SMEN FDCAN1SMEN: u1, reserved21: u11, - /// USBSMEN + /// USBSMEN USBSMEN: u1, reserved23: u1, - /// UCPD1SMEN + /// UCPD1SMEN UCPD1SMEN: u1, padding: u8, }), - /// APB2SMENR + /// APB2SMENR APB2SMENR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clocks enable during Sleep and Stop modes + /// SYSCFG clocks enable during Sleep and Stop modes SYSCFGSMEN: u1, reserved11: u10, - /// TIM1 timer clocks enable during Sleep and Stop modes + /// TIM1 timer clocks enable during Sleep and Stop modes TIM1SMEN: u1, - /// SPI1 clocks enable during Sleep and Stop modes + /// SPI1 clocks enable during Sleep and Stop modes SPI1SMEN: u1, - /// TIM8 timer clocks enable during Sleep and Stop modes + /// TIM8 timer clocks enable during Sleep and Stop modes TIM8SMEN: u1, - /// USART1clocks enable during Sleep and Stop modes + /// USART1clocks enable during Sleep and Stop modes USART1SMEN: u1, reserved16: u1, - /// TIM15 timer clocks enable during Sleep and Stop modes + /// TIM15 timer clocks enable during Sleep and Stop modes TIM15SMEN: u1, - /// TIM16 timer clocks enable during Sleep and Stop modes + /// TIM16 timer clocks enable during Sleep and Stop modes TIM16SMEN: u1, - /// TIM17 timer clocks enable during Sleep and Stop modes + /// TIM17 timer clocks enable during Sleep and Stop modes TIM17SMEN: u1, reserved21: u2, - /// SAI1 clocks enable during Sleep and Stop modes + /// SAI1 clocks enable during Sleep and Stop modes SAI1SMEN: u1, - /// SAI2 clocks enable during Sleep and Stop modes + /// SAI2 clocks enable during Sleep and Stop modes SAI2SMEN: u1, reserved24: u1, - /// DFSDM timer clocks enable during Sleep and Stop modes + /// DFSDM timer clocks enable during Sleep and Stop modes DFSDM1SMEN: u1, padding: u7, }), reserved136: [4]u8, - /// CCIPR + /// CCIPR CCIPR: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection + /// USART1 clock source selection USART1SEL: u2, - /// USART2 clock source selection + /// USART2 clock source selection USART2SEL: u2, - /// USART3 clock source selection + /// USART3 clock source selection USART3SEL: u2, - /// UART4 clock source selection + /// UART4 clock source selection UART4SEL: u2, - /// UART5 clock source selection + /// UART5 clock source selection UART5SEL: u2, - /// LPUART1 clock source selection + /// LPUART1 clock source selection LPUART1SEL: u2, - /// I2C1 clock source selection + /// I2C1 clock source selection I2C1SEL: u2, - /// I2C2 clock source selection + /// I2C2 clock source selection I2C2SEL: u2, - /// I2C3 clock source selection + /// I2C3 clock source selection I2C3SEL: u2, - /// Low power timer 1 clock source selection + /// Low power timer 1 clock source selection LPTIM1SEL: u2, - /// Low power timer 2 clock source selection + /// Low power timer 2 clock source selection LPTIM2SEL: u2, - /// Low-power timer 3 clock source selection + /// Low-power timer 3 clock source selection LPTIM3SEL: u2, - /// FDCAN clock source selection - FDCANSEL: packed union { - raw: u2, - value: FDCANSEL, - }, - /// 48 MHz clock source selection - CLK48SEL: packed union { - raw: u2, - value: CLK48SEL, - }, - /// ADCs clock source selection - ADCSEL: packed union { - raw: u2, - value: ADCSEL, - }, + /// FDCAN clock source selection + FDCANSEL: FDCANSEL, + /// 48 MHz clock source selection + CLK48SEL: CLK48SEL, + /// ADCs clock source selection + ADCSEL: ADCSEL, padding: u2, }), reserved144: [4]u8, - /// BDCR + /// BDCR BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enable + /// LSE oscillator enable LSEON: u1, - /// LSE oscillator ready + /// LSE oscillator ready LSERDY: u1, - /// LSE oscillator bypass + /// LSE oscillator bypass LSEBYP: u1, - /// SE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// LSECSSON + /// SE oscillator drive capability + LSEDRV: LSEDRV, + /// LSECSSON LSECSSON: u1, - /// LSECSSD + /// LSECSSD LSECSSD: u1, - /// LSESYSEN + /// LSESYSEN LSESYSEN: u1, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved11: u1, - /// LSESYSRDY + /// LSESYSRDY LSESYSRDY: u1, reserved15: u3, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, reserved24: u7, - /// Low speed clock output enable + /// Low speed clock output enable LSCOEN: u1, - /// Low speed clock output selection - LSCOSEL: packed union { - raw: u1, - value: LSCOSEL, - }, + /// Low speed clock output selection + LSCOSEL: LSCOSEL, padding: u6, }), - /// CSR + /// CSR CSR: mmio.Mmio(packed struct(u32) { - /// LSI oscillator enable + /// LSI oscillator enable LSION: u1, - /// LSI oscillator ready + /// LSI oscillator ready LSIRDY: u1, reserved4: u2, - /// LSIPREDIV + /// LSIPREDIV LSIPREDIV: u1, reserved8: u3, - /// SI range after Standby mode + /// SI range after Standby mode MSISRANGE: u4, reserved23: u11, - /// Remove reset flag + /// Remove reset flag RMVF: u1, reserved25: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// Pin reset flag + /// Pin reset flag PINRSTF: u1, - /// BOR flag + /// BOR flag BORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent window watchdog reset flag + /// Independent window watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), - /// Clock recovery RC register + /// Clock recovery RC register CRRCR: mmio.Mmio(packed struct(u32) { - /// HSI48 clock enable + /// HSI48 clock enable HSI48ON: u1, - /// HSI48 clock ready flag + /// HSI48 clock ready flag HSI48RDY: u1, reserved7: u5, - /// HSI48 clock calibration + /// HSI48 clock calibration HSI48CAL: u9, padding: u16, }), - /// Peripherals independent clock configuration register + /// Peripherals independent clock configuration register CCIPR2: mmio.Mmio(packed struct(u32) { - /// I2C4 clock source selection + /// I2C4 clock source selection I2C4SEL: u2, - /// Digital filter for sigma delta modulator kernel clock source selection + /// Digital filter for sigma delta modulator kernel clock source selection DFSDMSEL: u1, - /// Digital filter for sigma delta modulator audio clock source selection + /// Digital filter for sigma delta modulator audio clock source selection ADFSDMSEL: u2, - /// SAI1 clock source selection + /// SAI1 clock source selection SAI1SEL: u3, - /// SAI2 clock source selection + /// SAI2 clock source selection SAI2SEL: u3, reserved14: u3, - /// SDMMC clock selection + /// SDMMC clock selection SDMMCSEL: u1, reserved20: u5, - /// Octospi clock source selection + /// Octospi clock source selection OCTOSPISEL: u2, padding: u10, }), reserved184: [24]u8, - /// RCC secure configuration register + /// RCC secure configuration register SECCFGR: mmio.Mmio(packed struct(u32) { - /// HSISEC + /// HSISEC HSISEC: u1, - /// HSESEC + /// HSESEC HSESEC: u1, - /// MSISEC + /// MSISEC MSISEC: u1, - /// LSISEC + /// LSISEC LSISEC: u1, - /// LSESEC + /// LSESEC LSESEC: u1, - /// SYSCLKSEC + /// SYSCLKSEC SYSCLKSEC: u1, - /// PRESCSEC + /// PRESCSEC PRESCSEC: u1, - /// PLLSEC + /// PLLSEC PLLSEC: u1, - /// PLLSAI1SEC + /// PLLSAI1SEC PLLSAI1SEC: u1, - /// PLLSAI2SEC + /// PLLSAI2SEC PLLSAI2SEC: u1, - /// CLK48SEC + /// CLK48SEC CLK48SEC: u1, - /// HSI48SEC + /// HSI48SEC HSI48SEC: u1, - /// RMVFSEC + /// RMVFSEC RMVFSEC: u1, padding: u19, }), - /// RCC secure status register + /// RCC secure status register SECSR: mmio.Mmio(packed struct(u32) { - /// HSISECF + /// HSISECF HSISECF: u1, - /// HSESECF + /// HSESECF HSESECF: u1, - /// MSISECF + /// MSISECF MSISECF: u1, - /// LSISECF + /// LSISECF LSISECF: u1, - /// LSESECF + /// LSESECF LSESECF: u1, - /// SYSCLKSECF + /// SYSCLKSECF SYSCLKSECF: u1, - /// PRESCSECF + /// PRESCSECF PRESCSECF: u1, - /// PLLSECF + /// PLLSECF PLLSECF: u1, - /// PLLSAI1SECF + /// PLLSAI1SECF PLLSAI1SECF: u1, - /// PLLSAI2SECF + /// PLLSAI2SECF PLLSAI2SECF: u1, - /// CLK48SECF + /// CLK48SECF CLK48SECF: u1, - /// HSI48SECF + /// HSI48SECF HSI48SECF: u1, - /// RMVFSECF + /// RMVFSECF RMVFSECF: u1, padding: u19, }), reserved232: [40]u8, - /// RCC AHB1 security status register + /// RCC AHB1 security status register AHB1SECSR: mmio.Mmio(packed struct(u32) { - /// DMA1SECF + /// DMA1SECF DMA1SECF: u1, - /// DMA2SECF + /// DMA2SECF DMA2SECF: u1, - /// DMAMUX1SECF + /// DMAMUX1SECF DMAMUX1SECF: u1, reserved8: u5, - /// FLASHSECF + /// FLASHSECF FLASHSECF: u1, - /// SRAM1SECF + /// SRAM1SECF SRAM1SECF: u1, reserved12: u2, - /// CRCSECF + /// CRCSECF CRCSECF: u1, reserved16: u3, - /// TSCSECF + /// TSCSECF TSCSECF: u1, reserved22: u5, - /// GTZCSECF + /// GTZCSECF GTZCSECF: u1, - /// ICACHESECF + /// ICACHESECF ICACHESECF: u1, padding: u8, }), - /// RCC AHB2 security status register + /// RCC AHB2 security status register AHB2SECSR: mmio.Mmio(packed struct(u32) { - /// GPIOASECF + /// GPIOASECF GPIOASECF: u1, - /// GPIOBSECF + /// GPIOBSECF GPIOBSECF: u1, - /// GPIOCSECF + /// GPIOCSECF GPIOCSECF: u1, - /// GPIODSECF + /// GPIODSECF GPIODSECF: u1, - /// GPIOESECF + /// GPIOESECF GPIOESECF: u1, - /// GPIOFSECF + /// GPIOFSECF GPIOFSECF: u1, - /// GPIOGSECF + /// GPIOGSECF GPIOGSECF: u1, - /// GPIOHSECF + /// GPIOHSECF GPIOHSECF: u1, reserved9: u1, - /// SRAM2SECF + /// SRAM2SECF SRAM2SECF: u1, reserved21: u11, - /// OTFDEC1SECF + /// OTFDEC1SECF OTFDEC1SECF: u1, - /// SDMMC1SECF + /// SDMMC1SECF SDMMC1SECF: u1, padding: u9, }), - /// RCC AHB3 security status register + /// RCC AHB3 security status register AHB3SECSR: mmio.Mmio(packed struct(u32) { - /// FSMCSECF + /// FSMCSECF FSMCSECF: u1, reserved8: u7, - /// OCTOSPI1SECF + /// OCTOSPI1SECF OCTOSPI1SECF: u1, padding: u23, }), reserved248: [4]u8, - /// RCC APB1 security status register 1 + /// RCC APB1 security status register 1 APB1SECSR1: mmio.Mmio(packed struct(u32) { - /// TIM2SECF + /// TIM2SECF TIM2SECF: u1, - /// TIM3SECF + /// TIM3SECF TIM3SECF: u1, - /// TIM4SECF + /// TIM4SECF TIM4SECF: u1, - /// TIM5SECF + /// TIM5SECF TIM5SECF: u1, - /// TIM6SECF + /// TIM6SECF TIM6SECF: u1, - /// TIM7SECF + /// TIM7SECF TIM7SECF: u1, reserved10: u4, - /// RTCAPBSECF + /// RTCAPBSECF RTCAPBSECF: u1, - /// WWDGSECF + /// WWDGSECF WWDGSECF: u1, reserved14: u2, - /// SPI2SECF + /// SPI2SECF SPI2SECF: u1, - /// SPI3SECF + /// SPI3SECF SPI3SECF: u1, reserved17: u1, - /// UART2SECF + /// UART2SECF UART2SECF: u1, - /// UART3SECF + /// UART3SECF UART3SECF: u1, - /// UART4SECF + /// UART4SECF UART4SECF: u1, - /// UART5SECF + /// UART5SECF UART5SECF: u1, - /// I2C1SECF + /// I2C1SECF I2C1SECF: u1, - /// I2C2SECF + /// I2C2SECF I2C2SECF: u1, - /// I2C3SECF + /// I2C3SECF I2C3SECF: u1, - /// CRSSECF + /// CRSSECF CRSSECF: u1, reserved28: u3, - /// PWRSECF + /// PWRSECF PWRSECF: u1, - /// DACSECF + /// DACSECF DACSECF: u1, - /// OPAMPSECF + /// OPAMPSECF OPAMPSECF: u1, - /// LPTIM1SECF + /// LPTIM1SECF LPTIM1SECF: u1, }), - /// RCC APB1 security status register 2 + /// RCC APB1 security status register 2 APB1SECSR2: mmio.Mmio(packed struct(u32) { - /// LPUART1SECF + /// LPUART1SECF LPUART1SECF: u1, - /// I2C4SECF + /// I2C4SECF I2C4SECF: u1, reserved5: u3, - /// LPTIM2SECF + /// LPTIM2SECF LPTIM2SECF: u1, - /// LPTIM3SECF + /// LPTIM3SECF LPTIM3SECF: u1, reserved9: u2, - /// FDCAN1SECF + /// FDCAN1SECF FDCAN1SECF: u1, reserved21: u11, - /// USBSECF + /// USBSECF USBSECF: u1, reserved23: u1, - /// UCPD1SECF + /// UCPD1SECF UCPD1SECF: u1, padding: u8, }), - /// RCC APB2 security status register + /// RCC APB2 security status register APB2SECSR: mmio.Mmio(packed struct(u32) { - /// SYSCFGSECF + /// SYSCFGSECF SYSCFGSECF: u1, reserved11: u10, - /// TIM1SECF + /// TIM1SECF TIM1SECF: u1, - /// SPI1SECF + /// SPI1SECF SPI1SECF: u1, - /// TIM8SECF + /// TIM8SECF TIM8SECF: u1, - /// USART1SECF + /// USART1SECF USART1SECF: u1, reserved16: u1, - /// TIM15SECF + /// TIM15SECF TIM15SECF: u1, - /// TIM16SECF + /// TIM16SECF TIM16SECF: u1, - /// TIM17SECF + /// TIM17SECF TIM17SECF: u1, reserved21: u2, - /// SAI1SECF + /// SAI1SECF SAI1SECF: u1, - /// SAI2SECF + /// SAI2SECF SAI2SECF: u1, reserved24: u1, - /// DFSDM1SECF + /// DFSDM1SECF DFSDM1SECF: u1, padding: u7, }), @@ -405236,13 +397682,13 @@ pub const types = struct { }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; @@ -405282,37 +397728,37 @@ pub const types = struct { }; pub const MSIRANGE = enum(u4) { - /// range 0 around 100 kHz + /// range 0 around 100 kHz Range100K = 0x0, - /// range 1 around 200 kHz + /// range 1 around 200 kHz Range200K = 0x1, - /// range 2 around 400 kHz + /// range 2 around 400 kHz Range400K = 0x2, - /// range 3 around 800 kHz + /// range 3 around 800 kHz Range800K = 0x3, - /// range 4 around 1 MHz + /// range 4 around 1 MHz Range1M = 0x4, - /// range 5 around 2 MHz + /// range 5 around 2 MHz Range2M = 0x5, - /// range 6 around 4 MHz + /// range 6 around 4 MHz Range4M = 0x6, - /// range 7 around 8 MHz + /// range 7 around 8 MHz Range8M = 0x7, - /// range 8 around 16 MHz + /// range 8 around 16 MHz Range16M = 0x8, - /// range 9 around 24 MHz + /// range 9 around 24 MHz Range24M = 0x9, - /// range 10 around 32 MHz + /// range 10 around 32 MHz Range32M = 0xa, - /// range 11 around 48 MHz + /// range 11 around 48 MHz Range48M = 0xb, _, }; pub const MSIRGSEL = enum(u1) { - /// MSI Range is provided by MSISRANGE[3:0] in RCC_CSR register + /// MSI Range is provided by MSISRANGE[3:0] in RCC_CSR register CSR = 0x0, - /// MSI Range is provided by MSIRANGE[3:0] in the RCC_CR register + /// MSI Range is provided by MSIRANGE[3:0] in the RCC_CR register CR = 0x1, }; @@ -405525,15 +397971,15 @@ pub const types = struct { }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; @@ -405579,765 +398025,660 @@ pub const types = struct { LSE = 0x3, }; - /// RCC address block description. + /// RCC address block description. pub const RCC = extern struct { - /// Clock control register. + /// Clock control register. CR: mmio.Mmio(packed struct(u32) { - /// MSI clock enable This bit is set and cleared by software. Cleared by hardware to stop the MSI oscillator when entering Stop, Standby or Shutdown mode. Set by hardware to force the MSI oscillator ON when exiting Standby or Shutdown mode. Set by hardware to force the MSI oscillator ON when STOPWUCK=0 when exiting from Stop modes, or in case of a failure of the HSE oscillator Set by hardware when used directly or indirectly as system clock. + /// MSI clock enable This bit is set and cleared by software. Cleared by hardware to stop the MSI oscillator when entering Stop, Standby or Shutdown mode. Set by hardware to force the MSI oscillator ON when exiting Standby or Shutdown mode. Set by hardware to force the MSI oscillator ON when STOPWUCK=0 when exiting from Stop modes, or in case of a failure of the HSE oscillator Set by hardware when used directly or indirectly as system clock. MSION: u1, - /// MSI clock ready flag This bit is set by hardware to indicate that the MSI oscillator is stable. Note: Once the MSION bit is cleared, MSIRDY goes low after 6 MSI clock cycles. + /// MSI clock ready flag This bit is set by hardware to indicate that the MSI oscillator is stable. Note: Once the MSION bit is cleared, MSIRDY goes low after 6 MSI clock cycles. MSIRDY: u1, - /// MSI clock PLL enable Set and cleared by software to enable/ disable the PLL part of the MSI clock source. MSIPLLEN must be enabled after LSE is enabled (LSEON enabled) and ready (LSERDY set by hardware).There is a hardware protection to avoid enabling MSIPLLEN if LSE is not ready. This bit is cleared by hardware when LSE is disabled (LSEON = 0) or when the Clock Security System on LSE detects a LSE failure (refer to RCC_CSR register). + /// MSI clock PLL enable Set and cleared by software to enable/ disable the PLL part of the MSI clock source. MSIPLLEN must be enabled after LSE is enabled (LSEON enabled) and ready (LSERDY set by hardware).There is a hardware protection to avoid enabling MSIPLLEN if LSE is not ready. This bit is cleared by hardware when LSE is disabled (LSEON = 0) or when the Clock Security System on LSE detects a LSE failure (refer to RCC_CSR register). MSIPLLEN: u1, - /// MSI clock range selection Set by software to select the MSI clock range with MSIRANGE[3:0]. Write 0 has no effect. After a standby or a reset MSIRGSEL is at 0 and the MSI range value is provided by MSISRANGE in CSR register. - MSIRGSEL: packed union { - raw: u1, - value: MSIRGSEL, - }, - /// MSI clock ranges These bits are configured by software to choose the frequency range of MSI when MSIRGSEL is set.12 frequency ranges are available: others: not allowed (hardware write protection) Note: Warning: MSIRANGE can be modified when MSI is OFF (MSION=0) or when MSI is ready (MSIRDY=1). MSIRANGE must NOT be modified when MSI is ON and NOT ready (MSION=1 and MSIRDY=0). - MSIRANGE: packed union { - raw: u4, - value: MSIRANGE, - }, - /// HSI clock enable Set and cleared by software. Cleared by hardware to stop the HSI oscillator when entering Stop, Standby, or Shutdown mode. Forced by hardware to keep the HSI oscillator ON when it is used directly or indirectly as system clock (also when leaving Stop, Standby, or Shutdown modes, or in case of failure of the HSE oscillator used for system clock). + /// MSI clock range selection Set by software to select the MSI clock range with MSIRANGE[3:0]. Write 0 has no effect. After a standby or a reset MSIRGSEL is at 0 and the MSI range value is provided by MSISRANGE in CSR register. + MSIRGSEL: MSIRGSEL, + /// MSI clock ranges These bits are configured by software to choose the frequency range of MSI when MSIRGSEL is set.12 frequency ranges are available: others: not allowed (hardware write protection) Note: Warning: MSIRANGE can be modified when MSI is OFF (MSION=0) or when MSI is ready (MSIRDY=1). MSIRANGE must NOT be modified when MSI is ON and NOT ready (MSION=1 and MSIRDY=0). + MSIRANGE: MSIRANGE, + /// HSI clock enable Set and cleared by software. Cleared by hardware to stop the HSI oscillator when entering Stop, Standby, or Shutdown mode. Forced by hardware to keep the HSI oscillator ON when it is used directly or indirectly as system clock (also when leaving Stop, Standby, or Shutdown modes, or in case of failure of the HSE oscillator used for system clock). HSION: u1, - /// HSI always enable for peripheral kernels. Set and cleared by software to force HSI ON even in Stop modes. The HSI can only feed USART1, USART2, CEC and I2C1 peripherals configured with HSI as kernel clock. Keeping the HSI ON in Stop mode allows avoiding to slow down the communication speed because of the HSI startup time. This bit has no effect on HSION value. + /// HSI always enable for peripheral kernels. Set and cleared by software to force HSI ON even in Stop modes. The HSI can only feed USART1, USART2, CEC and I2C1 peripherals configured with HSI as kernel clock. Keeping the HSI ON in Stop mode allows avoiding to slow down the communication speed because of the HSI startup time. This bit has no effect on HSION value. HSIKERON: u1, - /// HSI clock ready flag Set by hardware to indicate that HSI oscillator is stable. This bit is set only when HSI is enabled by software by setting HSION. Note: Once the HSION bit is cleared, HSIRDY goes low after 6 HSI clock cycles. + /// HSI clock ready flag Set by hardware to indicate that HSI oscillator is stable. This bit is set only when HSI is enabled by software by setting HSION. Note: Once the HSION bit is cleared, HSIRDY goes low after 6 HSI clock cycles. HSIRDY: u1, - /// HSI automatic start from Stop Set and cleared by software. When the system wake-up clock is MSI, this bit is used to wake up the HSI is parallel of the system wake-up. + /// HSI automatic start from Stop Set and cleared by software. When the system wake-up clock is MSI, this bit is used to wake up the HSI is parallel of the system wake-up. HSIASFS: u1, reserved16: u4, - /// HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE oscillator when entering Stop, Standby, or Shutdown mode. This bit cannot be reset if the HSE oscillator is used directly or indirectly as the system clock. + /// HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE oscillator when entering Stop, Standby, or Shutdown mode. This bit cannot be reset if the HSE oscillator is used directly or indirectly as the system clock. HSEON: u1, - /// HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable. Note: Once the HSEON bit is cleared, HSERDY goes low after 6 HSE clock cycles. + /// HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable. Note: Once the HSEON bit is cleared, HSERDY goes low after 6 HSE clock cycles. HSERDY: u1, - /// HSE crystal oscillator bypass Set and cleared by software to bypass the oscillator with an external clock. The external clock must be enabled with the HSEON bit set, to be used by the device. The HSEBYP bit can be written only if the HSE oscillator is disabled. + /// HSE crystal oscillator bypass Set and cleared by software to bypass the oscillator with an external clock. The external clock must be enabled with the HSEON bit set, to be used by the device. The HSEBYP bit can be written only if the HSE oscillator is disabled. HSEBYP: u1, - /// Clock security system enable Set by software to enable the clock security system. When CSSON is set, the clock detector is enabled by hardware when the HSE oscillator is ready, and disabled by hardware if a HSE clock failure is detected. This bit is set only and is cleared by reset. + /// Clock security system enable Set by software to enable the clock security system. When CSSON is set, the clock detector is enabled by hardware when the HSE oscillator is ready, and disabled by hardware if a HSE clock failure is detected. This bit is set only and is cleared by reset. CSSON: u1, reserved24: u4, - /// PLL enable Set and cleared by software to enable the PLL. Cleared by hardware when entering Stop, Standby or Shutdown mode. This bit cannot be reset if the PLL clock is used as the system clock. + /// PLL enable Set and cleared by software to enable the PLL. Cleared by hardware when entering Stop, Standby or Shutdown mode. This bit cannot be reset if the PLL clock is used as the system clock. PLLON: u1, - /// PLL clock ready flag Set by hardware to indicate that the PLL is locked. + /// PLL clock ready flag Set by hardware to indicate that the PLL is locked. PLLRDY: u1, padding: u6, }), - /// Internal clock sources calibration register. + /// Internal clock sources calibration register. ICSCR: mmio.Mmio(packed struct(u32) { - /// MSI clock calibration These bits are initialized at startup with the factory-programmed MSI calibration trim value. When MSITRIM is written, MSICAL is updated with the sum of MSITRIM and the factory trim value. + /// MSI clock calibration These bits are initialized at startup with the factory-programmed MSI calibration trim value. When MSITRIM is written, MSICAL is updated with the sum of MSITRIM and the factory trim value. MSICAL: u8, - /// MSI clock trimming These bits provide an additional user-programmable trimming value that is added to the MSICAL[7:0] bits. It can be programmed to adjust to variations in voltage and temperature that influence the frequency of the MSI. + /// MSI clock trimming These bits provide an additional user-programmable trimming value that is added to the MSICAL[7:0] bits. It can be programmed to adjust to variations in voltage and temperature that influence the frequency of the MSI. MSITRIM: u8, - /// HSI clock calibration These bits are initialized at startup with the factory-programmed HSI calibration trim value. When HSITRIM is written, HSICAL is updated with the sum of HSITRIM and the factory trim value. + /// HSI clock calibration These bits are initialized at startup with the factory-programmed HSI calibration trim value. When HSITRIM is written, HSICAL is updated with the sum of HSITRIM and the factory trim value. HSICAL: u8, - /// HSI clock trimming These bits provide an additional user-programmable trimming value that is added to the HSICAL[7:0] bits. It can be programmed to adjust to variations in voltage and temperature that influence the frequency of the HSI. The default value is 64 when added to the HSICAL value, trim the HSI to 161MHz 1 11%. + /// HSI clock trimming These bits provide an additional user-programmable trimming value that is added to the HSICAL[7:0] bits. It can be programmed to adjust to variations in voltage and temperature that influence the frequency of the HSI. The default value is 64 when added to the HSICAL value, trim the HSI to 161MHz 1 11%. HSITRIM: u7, padding: u1, }), - /// Clock configuration register. + /// Clock configuration register. CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch This bitfield is controlled by software and hardware. The bitfield selects the clock for SYSCLK as follows: Others: Reserved The setting is forced by hardware to 000 (HSISYS selected) when the MCU exits Stop, Standby, or Shutdown mode, or when the setting is 001 (HSE selected) and HSE oscillator failure is detected. - SW: packed union { - raw: u3, - value: SW, - }, - /// System clock switch status This bitfield is controlled by hardware to indicate the clock source used as system clock: Others: Reserved. - SWS: packed union { - raw: u3, - value: SW, - }, + /// System clock switch This bitfield is controlled by software and hardware. The bitfield selects the clock for SYSCLK as follows: Others: Reserved The setting is forced by hardware to 000 (HSISYS selected) when the MCU exits Stop, Standby, or Shutdown mode, or when the setting is 001 (HSE selected) and HSE oscillator failure is detected. + SW: SW, + /// System clock switch status This bitfield is controlled by hardware to indicate the clock source used as system clock: Others: Reserved. + SWS: SW, reserved8: u2, - /// AHB prescaler This bitfield is controlled by software. To produce HCLK clock, it sets the division factor of SYSCLK clock as follows: 0xxx: 1 Caution: Depending on the device voltage range, the software has to set correctly these bits to ensure that the system frequency does not exceed the maximum allowed frequency (for more details, refer to Section14.1.4: Dynamic voltage scaling management). After a write operation to these bits and before decreasing the voltage range, this register must be read to be sure that the new value has been taken into account. - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB prescaler This bitfield is controlled by software. To produce PCLK clock, it sets the division factor of HCLK clock as follows: 0xx: 1. - PPRE: packed union { - raw: u3, - value: PPRE, - }, - /// Wake-up from Stop and CSS backup clock selection Set and cleared by software to select the system clock used when exiting Stop mode. The selected clock is also used as emergency clock for the Clock Security System on HSE. Warning: STOPWUCK must not be modified when the Clock Security System is enabled by HSECSSON in RCC_CR register and the system clock is HSE (SWS=10) or a switch on HSE is requested (SW=10). + /// AHB prescaler This bitfield is controlled by software. To produce HCLK clock, it sets the division factor of SYSCLK clock as follows: 0xxx: 1 Caution: Depending on the device voltage range, the software has to set correctly these bits to ensure that the system frequency does not exceed the maximum allowed frequency (for more details, refer to Section14.1.4: Dynamic voltage scaling management). After a write operation to these bits and before decreasing the voltage range, this register must be read to be sure that the new value has been taken into account. + HPRE: HPRE, + /// APB prescaler This bitfield is controlled by software. To produce PCLK clock, it sets the division factor of HCLK clock as follows: 0xx: 1. + PPRE: PPRE, + /// Wake-up from Stop and CSS backup clock selection Set and cleared by software to select the system clock used when exiting Stop mode. The selected clock is also used as emergency clock for the Clock Security System on HSE. Warning: STOPWUCK must not be modified when the Clock Security System is enabled by HSECSSON in RCC_CR register and the system clock is HSE (SWS=10) or a switch on HSE is requested (SW=10). STOPWUCK: u1, - /// Microcontroller clock output 2 clock selector This bitfield is controlled by software. It sets the clock selector for MCO2 output as follows: Others: Reserved Note: This clock output may have some truncated cycles at startup or during MCO2 clock source switching. - MCO2SEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller clock output 2 prescaler This bitfield is controlled by software. It sets the division factor of the clock sent to the MCO2 output as follows: ... Others: reserved It is highly recommended to set this field before the MCO2 output is enabled. - MCO2PRE: packed union { - raw: u4, - value: MCOPRE, - }, - /// Microcontroller clock output clock selector This bitfield is controlled by software. It sets the clock selector for MCO output as follows: Others: Reserved Note: This clock output may have some truncated cycles at startup or during MCO clock source switching. - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller clock output prescaler This bitfield is controlled by software. It sets the division factor of the clock sent to the MCO output as follows: ... Others: reserved It is highly recommended to set this field before the MCO output is enabled. - MCOPRE: packed union { - raw: u4, - value: MCOPRE, - }, - }), - /// PLL configuration register. + /// Microcontroller clock output 2 clock selector This bitfield is controlled by software. It sets the clock selector for MCO2 output as follows: Others: Reserved Note: This clock output may have some truncated cycles at startup or during MCO2 clock source switching. + MCO2SEL: MCOSEL, + /// Microcontroller clock output 2 prescaler This bitfield is controlled by software. It sets the division factor of the clock sent to the MCO2 output as follows: ... Others: reserved It is highly recommended to set this field before the MCO2 output is enabled. + MCO2PRE: MCOPRE, + /// Microcontroller clock output clock selector This bitfield is controlled by software. It sets the clock selector for MCO output as follows: Others: Reserved Note: This clock output may have some truncated cycles at startup or during MCO clock source switching. + MCOSEL: MCOSEL, + /// Microcontroller clock output prescaler This bitfield is controlled by software. It sets the division factor of the clock sent to the MCO output as follows: ... Others: reserved It is highly recommended to set this field before the MCO output is enabled. + MCOPRE: MCOPRE, + }), + /// PLL configuration register. PLLCFGR: mmio.Mmio(packed struct(u32) { - /// PLL input clock source This bit is controlled by software to select PLL clock source, as follows: The bitfield can be written only when the PLL is disabled. When the PLL is not used, selecting 00 allows saving power. - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, + /// PLL input clock source This bit is controlled by software to select PLL clock source, as follows: The bitfield can be written only when the PLL is disabled. When the PLL is not used, selecting 00 allows saving power. + PLLSRC: PLLSRC, reserved4: u2, - /// Division factor M of the PLL input clock divider This bit is controlled by software to divide the PLL input clock before the actual phase-locked loop, as follows: The bitfield can be written only when the PLL is disabled. Caution: The software must set these bits so that the PLL input frequency after the /M divider is between 2.66 and 161MHz. - PLLM: packed union { - raw: u3, - value: PLLM, - }, + /// Division factor M of the PLL input clock divider This bit is controlled by software to divide the PLL input clock before the actual phase-locked loop, as follows: The bitfield can be written only when the PLL is disabled. Caution: The software must set these bits so that the PLL input frequency after the /M divider is between 2.66 and 161MHz. + PLLM: PLLM, reserved8: u1, - /// PLL frequency multiplication factor N This bit is controlled by software to set the division factor of the fVCO feedback divider (that determines the PLL multiplication ratio) as follows: ... ... The bitfield can be written only when the PLL is disabled. Caution: The software must set these bits so that the VCO output frequency is between 96 and 3441MHz. - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// PLL frequency multiplication factor N This bit is controlled by software to set the division factor of the fVCO feedback divider (that determines the PLL multiplication ratio) as follows: ... ... The bitfield can be written only when the PLL is disabled. Caution: The software must set these bits so that the VCO output frequency is between 96 and 3441MHz. + PLLN: PLLN, reserved16: u1, - /// PLLPCLK clock output enable This bit is controlled by software to enable/disable the PLLPCLK clock output of the PLL: Disabling the PLLPCLK clock output, when not used, allows saving power. + /// PLLPCLK clock output enable This bit is controlled by software to enable/disable the PLLPCLK clock output of the PLL: Disabling the PLLPCLK clock output, when not used, allows saving power. PLLPEN: u1, - /// PLL VCO division factor P for PLLPCLK clock output This bitfield is controlled by software. It sets the PLL VCO division factor P as follows: ... The bitfield can be written only when the PLL is disabled. Caution: The software must set this bitfield so as not to exceed 541MHz on this clock. - PLLP: packed union { - raw: u5, - value: PLLP, - }, + /// PLL VCO division factor P for PLLPCLK clock output This bitfield is controlled by software. It sets the PLL VCO division factor P as follows: ... The bitfield can be written only when the PLL is disabled. Caution: The software must set this bitfield so as not to exceed 541MHz on this clock. + PLLP: PLLP, reserved24: u2, - /// PLLQCLK clock output enable This bit is controlled by software to enable/disable the PLLQCLK clock output of the PLL: Disabling the PLLQCLK clock output, when not used, allows saving power. + /// PLLQCLK clock output enable This bit is controlled by software to enable/disable the PLLQCLK clock output of the PLL: Disabling the PLLQCLK clock output, when not used, allows saving power. PLLQEN: u1, - /// PLL VCO division factor Q for PLLQCLK clock output This bitfield is controlled by software. It sets the PLL VCO division factor Q as follows: The bitfield can be written only when the PLL is disabled. Caution: The software must set this bitfield so as not to exceed 541MHz on this clock. - PLLQ: packed union { - raw: u3, - value: PLLQ, - }, - /// PLLRCLK clock output enable This bit is controlled by software to enable/disable the PLLRCLK clock output of the PLL: This bit cannot be written when PLLRCLK output of the PLL is selected for system clock. Disabling the PLLRCLK clock output, when not used, allows saving power. + /// PLL VCO division factor Q for PLLQCLK clock output This bitfield is controlled by software. It sets the PLL VCO division factor Q as follows: The bitfield can be written only when the PLL is disabled. Caution: The software must set this bitfield so as not to exceed 541MHz on this clock. + PLLQ: PLLQ, + /// PLLRCLK clock output enable This bit is controlled by software to enable/disable the PLLRCLK clock output of the PLL: This bit cannot be written when PLLRCLK output of the PLL is selected for system clock. Disabling the PLLRCLK clock output, when not used, allows saving power. PLLREN: u1, - /// PLL VCO division factor R for PLLRCLK clock output This bitfield is controlled by software. It sets the PLL VCO division factor R as follows: The bitfield can be written only when the PLL is disabled. The PLLRCLK clock can be selected as system clock. Caution: The software must set this bitfield so as not to exceed 122MHz on this clock. - PLLR: packed union { - raw: u3, - value: PLLR, - }, + /// PLL VCO division factor R for PLLRCLK clock output This bitfield is controlled by software. It sets the PLL VCO division factor R as follows: The bitfield can be written only when the PLL is disabled. The PLLRCLK clock can be selected as system clock. Caution: The software must set this bitfield so as not to exceed 122MHz on this clock. + PLLR: PLLR, }), reserved24: [8]u8, - /// Clock interrupt enable register. + /// Clock interrupt enable register. CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSI oscillator stabilization:. + /// LSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSI oscillator stabilization:. LSIRDYIE: u1, - /// LSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSE oscillator stabilization:. + /// LSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSE oscillator stabilization:. LSERDYIE: u1, - /// MSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the MSI oscillator stabilization. + /// MSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the MSI oscillator stabilization. MSIRDYIE: u1, - /// HSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSI oscillator stabilization:. + /// HSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSI oscillator stabilization:. HSIRDYIE: u1, - /// HSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSE oscillator stabilization:. + /// HSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSE oscillator stabilization:. HSERDYIE: u1, - /// PLL ready interrupt enable Set and cleared by software to enable/disable interrupt caused by PLL lock:. + /// PLL ready interrupt enable Set and cleared by software to enable/disable interrupt caused by PLL lock:. PLLRDYIE: u1, reserved9: u3, - /// LSE clock security system interrupt enable Set and cleared by software to enable/disable interrupt caused by the clock security system on LSE. + /// LSE clock security system interrupt enable Set and cleared by software to enable/disable interrupt caused by the clock security system on LSE. LSECSSIE: u1, - /// HSI48 ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the internal HSI48 oscillator. + /// HSI48 ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the internal HSI48 oscillator. HSI48RDYIE: u1, padding: u21, }), - /// Clock interrupt flag register. + /// Clock interrupt flag register. CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag Set by hardware when the LSI clock becomes stable and LSIRDYDIE is set. Cleared by software setting the LSIRDYC bit. + /// LSI ready interrupt flag Set by hardware when the LSI clock becomes stable and LSIRDYDIE is set. Cleared by software setting the LSIRDYC bit. LSIRDYF: u1, - /// LSE ready interrupt flag Set by hardware when the LSE clock becomes stable and LSERDYDIE is set. Cleared by software setting the LSERDYC bit. + /// LSE ready interrupt flag Set by hardware when the LSE clock becomes stable and LSERDYDIE is set. Cleared by software setting the LSERDYC bit. LSERDYF: u1, - /// MSI ready interrupt flag Set by hardware when the MSI clock becomes stable and MSIRDYDIE is set. Cleared by software setting the MSIRDYC bit. + /// MSI ready interrupt flag Set by hardware when the MSI clock becomes stable and MSIRDYDIE is set. Cleared by software setting the MSIRDYC bit. MSIRDYF: u1, - /// HSI ready interrupt flag Set by hardware when the HSI clock becomes stable and HSIRDYIE is set in a response to setting the HSION (refer to Clock control register (RCC_CR)). When HSION is not set but the HSI oscillator is enabled by the peripheral through a clock request, this bit is not set and no interrupt is generated. Cleared by software setting the HSIRDYC bit. + /// HSI ready interrupt flag Set by hardware when the HSI clock becomes stable and HSIRDYIE is set in a response to setting the HSION (refer to Clock control register (RCC_CR)). When HSION is not set but the HSI oscillator is enabled by the peripheral through a clock request, this bit is not set and no interrupt is generated. Cleared by software setting the HSIRDYC bit. HSIRDYF: u1, - /// HSE ready interrupt flag Set by hardware when the HSE clock becomes stable and HSERDYIE is set. Cleared by software setting the HSERDYC bit. + /// HSE ready interrupt flag Set by hardware when the HSE clock becomes stable and HSERDYIE is set. Cleared by software setting the HSERDYC bit. HSERDYF: u1, - /// PLL ready interrupt flag Set by hardware when the PLL locks and PLLRDYIE is set. Cleared by software setting the PLLRDYC bit. + /// PLL ready interrupt flag Set by hardware when the PLL locks and PLLRDYIE is set. Cleared by software setting the PLLRDYC bit. PLLRDYF: u1, reserved8: u2, - /// HSE clock security system interrupt flag Set by hardware when a failure is detected in the HSE oscillator. Cleared by software setting the CSSC bit. + /// HSE clock security system interrupt flag Set by hardware when a failure is detected in the HSE oscillator. Cleared by software setting the CSSC bit. CSSF: u1, - /// LSE clock security system interrupt flag Set by hardware when a failure is detected in the LSE oscillator. Cleared by software by setting the LSECSSC bit. + /// LSE clock security system interrupt flag Set by hardware when a failure is detected in the LSE oscillator. Cleared by software by setting the LSECSSC bit. LSECSSF: u1, - /// HSI48 ready interrupt flag Set by hardware when the HSI48 clock becomes stable and HSI48RDYIE is set in a response to setting the HSI48ON (refer to RCC clock recovery RC register (RCC_CRRCR)). Cleared by software setting the HSI48RDYC bit. + /// HSI48 ready interrupt flag Set by hardware when the HSI48 clock becomes stable and HSI48RDYIE is set in a response to setting the HSI48ON (refer to RCC clock recovery RC register (RCC_CRRCR)). Cleared by software setting the HSI48RDYC bit. HSI48RDYF: u1, padding: u21, }), - /// Clock interrupt clear register. + /// Clock interrupt clear register. CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt clear This bit is set by software to clear the LSIRDYF flag. + /// LSI ready interrupt clear This bit is set by software to clear the LSIRDYF flag. LSIRDYC: u1, - /// LSE ready interrupt clear This bit is set by software to clear the LSERDYF flag. + /// LSE ready interrupt clear This bit is set by software to clear the LSERDYF flag. LSERDYC: u1, - /// MSI ready interrupt clear This bit is set by software to clear the MSIRDYF flag. + /// MSI ready interrupt clear This bit is set by software to clear the MSIRDYF flag. MSIRDYC: u1, - /// HSI ready interrupt clear This bit is set software to clear the HSIRDYF flag. + /// HSI ready interrupt clear This bit is set software to clear the HSIRDYF flag. HSIRDYC: u1, - /// HSE ready interrupt clear This bit is set by software to clear the HSERDYF flag. + /// HSE ready interrupt clear This bit is set by software to clear the HSERDYF flag. HSERDYC: u1, - /// PLL ready interrupt clear This bit is set by software to clear the PLLRDYF flag. + /// PLL ready interrupt clear This bit is set by software to clear the PLLRDYF flag. PLLRDYC: u1, reserved8: u2, - /// Clock security system interrupt clear This bit is set by software to clear the HSECSSF flag. + /// Clock security system interrupt clear This bit is set by software to clear the HSECSSF flag. CSSC: u1, - /// LSE Clock security system interrupt clear This bit is set by software to clear the LSECSSF flag. + /// LSE Clock security system interrupt clear This bit is set by software to clear the LSECSSF flag. LSECSSC: u1, - /// HSI48 oscillator ready interrupt clear This bit is set by software to clear the HSI48RDYF flag. + /// HSI48 oscillator ready interrupt clear This bit is set by software to clear the HSI48RDYF flag. HSI48RDYC: u1, padding: u21, }), reserved40: [4]u8, - /// AHB peripheral reset register. + /// AHB peripheral reset register. AHBRSTR: mmio.Mmio(packed struct(u32) { - /// DMA1 and DMAMUX reset Set and cleared by software. + /// DMA1 and DMAMUX reset Set and cleared by software. DMA1RST: u1, - /// DMA2 and DMAMUX reset Set and cleared by software. + /// DMA2 and DMAMUX reset Set and cleared by software. DMA2RST: u1, reserved8: u6, - /// Flash memory interface reset Set and cleared by software. This bit can only be set when the flash memory is in power down mode. + /// Flash memory interface reset Set and cleared by software. This bit can only be set when the flash memory is in power down mode. FLASHRST: u1, reserved12: u3, - /// CRC reset Set and cleared by software. + /// CRC reset Set and cleared by software. CRCRST: u1, reserved16: u3, - /// AES hardware accelerator reset Set and cleared by software. + /// AES hardware accelerator reset Set and cleared by software. AESRST: u1, reserved18: u1, - /// Random number generator reset Set and cleared by software. + /// Random number generator reset Set and cleared by software. RNGRST: u1, reserved24: u5, - /// Touch sensing controller reset Set and cleared by software. + /// Touch sensing controller reset Set and cleared by software. TSCRST: u1, padding: u7, }), - /// I/O port reset register. + /// I/O port reset register. GPIORSTR: mmio.Mmio(packed struct(u32) { - /// I/O port A reset This bit is set and cleared by software. + /// I/O port A reset This bit is set and cleared by software. GPIOARST: u1, - /// I/O port B reset This bit is set and cleared by software. + /// I/O port B reset This bit is set and cleared by software. GPIOBRST: u1, - /// I/O port C reset This bit is set and cleared by software. + /// I/O port C reset This bit is set and cleared by software. GPIOCRST: u1, - /// I/O port D reset This bit is set and cleared by software. + /// I/O port D reset This bit is set and cleared by software. GPIODRST: u1, - /// I/O port E reset This bit is set and cleared by software. + /// I/O port E reset This bit is set and cleared by software. GPIOERST: u1, - /// I/O port F reset This bit is set and cleared by software. + /// I/O port F reset This bit is set and cleared by software. GPIOFRST: u1, padding: u26, }), reserved56: [8]u8, - /// APB peripheral reset register 1. + /// APB peripheral reset register 1. APBRSTR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer reset Set and cleared by software. + /// TIM2 timer reset Set and cleared by software. TIM2RST: u1, - /// TIM3 timer reset Set and cleared by software. + /// TIM3 timer reset Set and cleared by software. TIM3RST: u1, reserved4: u2, - /// TIM6 timer reset Set and cleared by software. + /// TIM6 timer reset Set and cleared by software. TIM6RST: u1, - /// TIM7 timer reset Set and cleared by software. + /// TIM7 timer reset Set and cleared by software. TIM7RST: u1, reserved7: u1, - /// LPUART2 reset Set and cleared by software. + /// LPUART2 reset Set and cleared by software. LPUART2RST: u1, reserved9: u1, - /// LCD reset(1) Set and cleared by software. + /// LCD reset(1) Set and cleared by software. LCDRST: u1, reserved12: u2, - /// LPUART3 reset(1) Set and cleared by software. + /// LPUART3 reset(1) Set and cleared by software. LPUART3RST: u1, - /// USB reset(1) Set and cleared by software. + /// USB reset(1) Set and cleared by software. USBRST: u1, - /// SPI2 reset Set and cleared by software. + /// SPI2 reset Set and cleared by software. SPI2RST: u1, - /// SPI3 reset(1) Set and cleared by software. + /// SPI3 reset(1) Set and cleared by software. SPI3RST: u1, - /// CRS reset(1) Set and cleared by software. + /// CRS reset(1) Set and cleared by software. CRSRST: u1, - /// USART2 reset Set and cleared by software. + /// USART2 reset Set and cleared by software. USART2RST: u1, - /// USART3 reset Set and cleared by software. + /// USART3 reset Set and cleared by software. USART3RST: u1, - /// USART4 reset Set and cleared by software. + /// USART4 reset Set and cleared by software. USART4RST: u1, - /// LPUART1 reset Set and cleared by software. + /// LPUART1 reset Set and cleared by software. LPUART1RST: u1, - /// I2C1 reset Set and cleared by software. + /// I2C1 reset Set and cleared by software. I2C1RST: u1, - /// I2C2 reset Set and cleared by software. + /// I2C2 reset Set and cleared by software. I2C2RST: u1, - /// I2C3 reset Set and cleared by software. + /// I2C3 reset Set and cleared by software. I2C3RST: u1, - /// OPAMP reset Set and cleared by software. + /// OPAMP reset Set and cleared by software. OPAMPRST: u1, - /// I2C4 reset(1) Set and cleared by software. + /// I2C4 reset(1) Set and cleared by software. I2C4RST: u1, - /// LPTIM3 reset Set and cleared by software. + /// LPTIM3 reset Set and cleared by software. LPTIM3RST: u1, reserved28: u1, - /// Power interface reset Set and cleared by software. + /// Power interface reset Set and cleared by software. PWRRST: u1, - /// DAC1 interface reset Set and cleared by software. + /// DAC1 interface reset Set and cleared by software. DAC1RST: u1, - /// Low Power Timer 2 reset Set and cleared by software. + /// Low Power Timer 2 reset Set and cleared by software. LPTIM2RST: u1, - /// Low Power Timer 1 reset Set and cleared by software. + /// Low Power Timer 1 reset Set and cleared by software. LPTIM1RST: u1, }), reserved64: [4]u8, - /// APB peripheral reset register 2. + /// APB peripheral reset register 2. APBRSTR2: mmio.Mmio(packed struct(u32) { - /// SYSCFG, COMP and VREFBUF reset Set and cleared by software. + /// SYSCFG, COMP and VREFBUF reset Set and cleared by software. SYSCFGRST: u1, reserved11: u10, - /// TIM1 timer reset Set and cleared by software. + /// TIM1 timer reset Set and cleared by software. TIM1RST: u1, - /// SPI1 reset Set and cleared by software. + /// SPI1 reset Set and cleared by software. SPI1RST: u1, reserved14: u1, - /// USART1 reset Set and cleared by software. + /// USART1 reset Set and cleared by software. USART1RST: u1, reserved16: u1, - /// TIM15 timer reset Set and cleared by software. + /// TIM15 timer reset Set and cleared by software. TIM15RST: u1, - /// TIM16 timer reset Set and cleared by software. + /// TIM16 timer reset Set and cleared by software. TIM16RST: u1, reserved20: u2, - /// ADC reset Set and cleared by software. + /// ADC reset Set and cleared by software. ADCRST: u1, padding: u11, }), reserved72: [4]u8, - /// AHB peripheral clock enable register. + /// AHB peripheral clock enable register. AHBENR: mmio.Mmio(packed struct(u32) { - /// DMA1 and DMAMUX clock enable Set and cleared by software. DMAMUX is enabled as long as at least one DMA peripheral is enabled. + /// DMA1 and DMAMUX clock enable Set and cleared by software. DMAMUX is enabled as long as at least one DMA peripheral is enabled. DMA1EN: u1, - /// DMA2 and DMAMUX clock enable Set and cleared by software. DMAMUX is enabled as long as at least one DMA peripheral is enabled. + /// DMA2 and DMAMUX clock enable Set and cleared by software. DMAMUX is enabled as long as at least one DMA peripheral is enabled. DMA2EN: u1, reserved8: u6, - /// Flash memory interface clock enable Set and cleared by software. This bit can only be cleared when the flash memory is in power down mode. + /// Flash memory interface clock enable Set and cleared by software. This bit can only be cleared when the flash memory is in power down mode. FLASHEN: u1, reserved12: u3, - /// CRC clock enable Set and cleared by software. + /// CRC clock enable Set and cleared by software. CRCEN: u1, reserved16: u3, - /// AES hardware accelerator Set and cleared by software. + /// AES hardware accelerator Set and cleared by software. AESEN: u1, reserved18: u1, - /// Random number generator clock enable Set and cleared by software. + /// Random number generator clock enable Set and cleared by software. RNGEN: u1, reserved24: u5, - /// Touch sensing controller clock enable Set and cleared by software. + /// Touch sensing controller clock enable Set and cleared by software. TSCEN: u1, padding: u7, }), - /// I/O port clock enable register. + /// I/O port clock enable register. GPIOENR: mmio.Mmio(packed struct(u32) { - /// I/O port A clock enable This bit is set and cleared by software. + /// I/O port A clock enable This bit is set and cleared by software. GPIOAEN: u1, - /// I/O port B clock enable This bit is set and cleared by software. + /// I/O port B clock enable This bit is set and cleared by software. GPIOBEN: u1, - /// I/O port C clock enable This bit is set and cleared by software. + /// I/O port C clock enable This bit is set and cleared by software. GPIOCEN: u1, - /// I/O port D clock enable This bit is set and cleared by software. + /// I/O port D clock enable This bit is set and cleared by software. GPIODEN: u1, - /// I/O port E clock enable(1) This bit is set and cleared by software. + /// I/O port E clock enable(1) This bit is set and cleared by software. GPIOEEN: u1, - /// I/O port F clock enable This bit is set and cleared by software. + /// I/O port F clock enable This bit is set and cleared by software. GPIOFEN: u1, padding: u26, }), - /// Debug configuration register. + /// Debug configuration register. DBGCFGR: mmio.Mmio(packed struct(u32) { - /// Debug support clock enable Set and cleared by software. + /// Debug support clock enable Set and cleared by software. DBGEN: u1, - /// Debug support reset Set and cleared by software. + /// Debug support reset Set and cleared by software. DBGRST: u1, padding: u30, }), reserved88: [4]u8, - /// APB peripheral clock enable register 1. + /// APB peripheral clock enable register 1. APBENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clock enable Set and cleared by software. + /// TIM2 timer clock enable Set and cleared by software. TIM2EN: u1, - /// TIM3 timer clock enable Set and cleared by software. + /// TIM3 timer clock enable Set and cleared by software. TIM3EN: u1, reserved4: u2, - /// TIM6 timer clock enable Set and cleared by software. + /// TIM6 timer clock enable Set and cleared by software. TIM6EN: u1, - /// TIM7 timer clock enable Set and cleared by software. + /// TIM7 timer clock enable Set and cleared by software. TIM7EN: u1, reserved7: u1, - /// LPUART2 clock enable Set and cleared by software. + /// LPUART2 clock enable Set and cleared by software. LPUART2EN: u1, reserved9: u1, - /// LCD clock enable(1) Set and cleared by software. + /// LCD clock enable(1) Set and cleared by software. LCDEN: u1, - /// RTC APB clock enable Set and cleared by software. + /// RTC APB clock enable Set and cleared by software. RTCAPBEN: u1, - /// WWDG clock enable Set by software to enable the window watchdog clock. Cleared by hardware system reset This bit can also be set by hardware if the WWDG_SW option bit is 0. + /// WWDG clock enable Set by software to enable the window watchdog clock. Cleared by hardware system reset This bit can also be set by hardware if the WWDG_SW option bit is 0. WWDGEN: u1, - /// LPUART3 clock enable Set and cleared by software. + /// LPUART3 clock enable Set and cleared by software. LPUART3EN: u1, - /// USB clock enable(1) Set and cleared by software. + /// USB clock enable(1) Set and cleared by software. USBEN: u1, - /// SPI2 clock enable Set and cleared by software. + /// SPI2 clock enable Set and cleared by software. SPI2EN: u1, - /// SPI3 clock enable(1) Set and cleared by software. + /// SPI3 clock enable(1) Set and cleared by software. SPI3EN: u1, - /// CRS clock enable(1) Set and cleared by software. + /// CRS clock enable(1) Set and cleared by software. CRSEN: u1, - /// USART2 clock enable Set and cleared by software. + /// USART2 clock enable Set and cleared by software. USART2EN: u1, - /// USART3 clock enable Set and cleared by software. + /// USART3 clock enable Set and cleared by software. USART3EN: u1, - /// USART4 clock enable Set and cleared by software. + /// USART4 clock enable Set and cleared by software. USART4EN: u1, - /// LPUART1 clock enable Set and cleared by software. + /// LPUART1 clock enable Set and cleared by software. LPUART1EN: u1, - /// I2C1 clock enable Set and cleared by software. + /// I2C1 clock enable Set and cleared by software. I2C1EN: u1, - /// I2C2 clock enable Set and cleared by software. + /// I2C2 clock enable Set and cleared by software. I2C2EN: u1, - /// I2C3 clock enable Set and cleared by software. + /// I2C3 clock enable Set and cleared by software. I2C3EN: u1, - /// OPAMP clock enable Set and cleared by software. + /// OPAMP clock enable Set and cleared by software. OPAMPEN: u1, - /// I2C4EN clock enable(1) Set and cleared by software. + /// I2C4EN clock enable(1) Set and cleared by software. I2C4EN: u1, - /// LPTIM3 clock enable Set and cleared by software. + /// LPTIM3 clock enable Set and cleared by software. LPTIM3EN: u1, reserved28: u1, - /// Power interface clock enable Set and cleared by software. + /// Power interface clock enable Set and cleared by software. PWREN: u1, - /// DAC1 interface clock enable Set and cleared by software. + /// DAC1 interface clock enable Set and cleared by software. DAC1EN: u1, - /// LPTIM2 clock enable Set and cleared by software. + /// LPTIM2 clock enable Set and cleared by software. LPTIM2EN: u1, - /// LPTIM1 clock enable Set and cleared by software. + /// LPTIM1 clock enable Set and cleared by software. LPTIM1EN: u1, }), reserved96: [4]u8, - /// APB peripheral clock enable register 2. + /// APB peripheral clock enable register 2. APBENR2: mmio.Mmio(packed struct(u32) { - /// SYSCFG, COMP and VREFBUF clock enable Set and cleared by software. + /// SYSCFG, COMP and VREFBUF clock enable Set and cleared by software. SYSCFGEN: u1, reserved11: u10, - /// TIM1 timer clock enable Set and cleared by software. + /// TIM1 timer clock enable Set and cleared by software. TIM1EN: u1, - /// SPI1 clock enable Set and cleared by software. + /// SPI1 clock enable Set and cleared by software. SPI1EN: u1, reserved14: u1, - /// USART1 clock enable Set and cleared by software. + /// USART1 clock enable Set and cleared by software. USART1EN: u1, reserved16: u1, - /// TIM15 timer clock enable Set and cleared by software. + /// TIM15 timer clock enable Set and cleared by software. TIM15EN: u1, - /// TIM16 timer clock enable Set and cleared by software. + /// TIM16 timer clock enable Set and cleared by software. TIM16EN: u1, reserved20: u2, - /// ADC clock enable Set and cleared by software. + /// ADC clock enable Set and cleared by software. ADCEN: u1, padding: u11, }), reserved104: [4]u8, - /// AHB peripheral clock enable in Sleep/Stop mode register. + /// AHB peripheral clock enable in Sleep/Stop mode register. AHBSMENR: mmio.Mmio(packed struct(u32) { - /// DMA1 and DMAMUX clock enable during Sleep mode Set and cleared by software. Clock to DMAMUX during Sleep mode is enabled as long as the clock in Sleep mode is enabled to at least one DMA peripheral. + /// DMA1 and DMAMUX clock enable during Sleep mode Set and cleared by software. Clock to DMAMUX during Sleep mode is enabled as long as the clock in Sleep mode is enabled to at least one DMA peripheral. DMA1SMEN: u1, - /// DMA2 and DMAMUX clock enable during Sleep mode Set and cleared by software. Clock to DMAMUX during Sleep mode is enabled as long as the clock in Sleep mode is enabled to at least one DMA peripheral. + /// DMA2 and DMAMUX clock enable during Sleep mode Set and cleared by software. Clock to DMAMUX during Sleep mode is enabled as long as the clock in Sleep mode is enabled to at least one DMA peripheral. DMA2SMEN: u1, reserved8: u6, - /// Flash memory interface clock enable during Sleep mode Set and cleared by software. This bit can be activated only when the flash memory is in power down mode. + /// Flash memory interface clock enable during Sleep mode Set and cleared by software. This bit can be activated only when the flash memory is in power down mode. FLASHSMEN: u1, - /// SRAM clock enable during Sleep mode Set and cleared by software. + /// SRAM clock enable during Sleep mode Set and cleared by software. SRAMSMEN: u1, reserved12: u2, - /// CRC clock enable during Sleep mode Set and cleared by software. + /// CRC clock enable during Sleep mode Set and cleared by software. CRCSMEN: u1, reserved16: u3, - /// AES hardware accelerator clock enable during Sleep mode Set and cleared by software. + /// AES hardware accelerator clock enable during Sleep mode Set and cleared by software. AESSMEN: u1, reserved18: u1, - /// RNG clock enable during Sleep and Stop mode Set and cleared by software. + /// RNG clock enable during Sleep and Stop mode Set and cleared by software. RNGSMEN: u1, reserved24: u5, - /// TSC clock enable during Sleep and Stop mode Set and cleared by software. + /// TSC clock enable during Sleep and Stop mode Set and cleared by software. TSCSMEN: u1, padding: u7, }), - /// I/O port in Sleep mode clock enable register. + /// I/O port in Sleep mode clock enable register. GPIOSMENR: mmio.Mmio(packed struct(u32) { - /// I/O port A clock enable during Sleep mode Set and cleared by software. + /// I/O port A clock enable during Sleep mode Set and cleared by software. GPIOASMEN: u1, - /// I/O port B clock enable during Sleep mode Set and cleared by software. + /// I/O port B clock enable during Sleep mode Set and cleared by software. GPIOBSMEN: u1, - /// I/O port C clock enable during Sleep mode Set and cleared by software. + /// I/O port C clock enable during Sleep mode Set and cleared by software. GPIOCSMEN: u1, - /// I/O port D clock enable during Sleep mode(1) Set and cleared by software. + /// I/O port D clock enable during Sleep mode(1) Set and cleared by software. GPIODSMEN: u1, - /// I/O port E clock enable during Sleep mode Set and cleared by software. + /// I/O port E clock enable during Sleep mode Set and cleared by software. GPIOESMEN: u1, - /// I/O port F clock enable during Sleep mode Set and cleared by software. + /// I/O port F clock enable during Sleep mode Set and cleared by software. GPIOFSMEN: u1, padding: u26, }), reserved120: [8]u8, - /// APB peripheral clock enable in Sleep/Stop mode register 1. + /// APB peripheral clock enable in Sleep/Stop mode register 1. APBSMENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clock enable during Sleep mode Set and cleared by software. + /// TIM2 timer clock enable during Sleep mode Set and cleared by software. TIM2SMEN: u1, - /// TIM3 timer clock enable during Sleep mode Set and cleared by software. + /// TIM3 timer clock enable during Sleep mode Set and cleared by software. TIM3SMEN: u1, reserved4: u2, - /// TIM6 timer clock enable during Sleep mode Set and cleared by software. + /// TIM6 timer clock enable during Sleep mode Set and cleared by software. TIM6SMEN: u1, - /// TIM7 timer clock enable during Sleep mode Set and cleared by software. + /// TIM7 timer clock enable during Sleep mode Set and cleared by software. TIM7SMEN: u1, reserved7: u1, - /// LPUART2 clock enable during Sleep and Stop modes Set and cleared by software. + /// LPUART2 clock enable during Sleep and Stop modes Set and cleared by software. LPUART2SMEN: u1, reserved9: u1, - /// LCD clock enable during Sleep mode(1) Set and cleared by software. + /// LCD clock enable during Sleep mode(1) Set and cleared by software. LCDSMEN: u1, - /// RTC APB clock enable during Sleep mode Set and cleared by software. + /// RTC APB clock enable during Sleep mode Set and cleared by software. RTCAPBSMEN: u1, - /// WWDG clock enable during Sleep and Stop modes Set and cleared by software. + /// WWDG clock enable during Sleep and Stop modes Set and cleared by software. WWDGSMEN: u1, - /// LPUART3 clock enable during Sleep and Stop modes Set and cleared by software. + /// LPUART3 clock enable during Sleep and Stop modes Set and cleared by software. LPUART3SMEN: u1, - /// USB clock enable during Sleep mode(1) Set and cleared by software. + /// USB clock enable during Sleep mode(1) Set and cleared by software. USBSMEN: u1, - /// SPI2 clock enable during Sleep mode Set and cleared by software. + /// SPI2 clock enable during Sleep mode Set and cleared by software. SPI2SMEN: u1, - /// SPI3 clock enable during Sleep mode(1) Set and cleared by software. + /// SPI3 clock enable during Sleep mode(1) Set and cleared by software. SPI3SMEN: u1, - /// CRS clock enable during Sleep and Stop modes(1) Set and cleared by software. + /// CRS clock enable during Sleep and Stop modes(1) Set and cleared by software. CRSSMEN: u1, - /// USART2 clock enable during Sleep and Stop modes Set and cleared by software. + /// USART2 clock enable during Sleep and Stop modes Set and cleared by software. USART2SMEN: u1, - /// USART3 clock enable during Sleep mode Set and cleared by software. + /// USART3 clock enable during Sleep mode Set and cleared by software. USART3SMEN: u1, - /// USART4 clock enable during Sleep mode Set and cleared by software. + /// USART4 clock enable during Sleep mode Set and cleared by software. USART4SMEN: u1, - /// LPUART1 clock enable during Sleep and Stop modes Set and cleared by software. + /// LPUART1 clock enable during Sleep and Stop modes Set and cleared by software. LPUART1SMEN: u1, - /// I2C1 clock enable during Sleep and Stop modes Set and cleared by software. + /// I2C1 clock enable during Sleep and Stop modes Set and cleared by software. I2C1SMEN: u1, - /// I2C2 clock enable during Sleep mode Set and cleared by software. + /// I2C2 clock enable during Sleep mode Set and cleared by software. I2C2SMEN: u1, - /// I2C3 clock enable during Sleep mode Set and cleared by software. + /// I2C3 clock enable during Sleep mode Set and cleared by software. I2C3SMEN: u1, - /// OPAMP clock enable during Sleep and Stop modes Set and cleared by software. + /// OPAMP clock enable during Sleep and Stop modes Set and cleared by software. OPAMPSMEN: u1, - /// I2C4 clock enable during Sleep mode(1) Set and cleared by software. + /// I2C4 clock enable during Sleep mode(1) Set and cleared by software. I2C4SMEN: u1, - /// Low power timer 3 clock enable during Sleep mode Set and cleared by software. + /// Low power timer 3 clock enable during Sleep mode Set and cleared by software. LPTIM3SMEN: u1, reserved28: u1, - /// Power interface clock enable during Sleep mode Set and cleared by software. + /// Power interface clock enable during Sleep mode Set and cleared by software. PWRSMEN: u1, - /// DAC1 interface clock enable during Sleep and Stop modes Set and cleared by software. + /// DAC1 interface clock enable during Sleep and Stop modes Set and cleared by software. DAC1SMEN: u1, - /// Low Power Timer 2 clock enable during Sleep and Stop modes Set and cleared by software. + /// Low Power Timer 2 clock enable during Sleep and Stop modes Set and cleared by software. LPTIM2SMEN: u1, - /// Low Power Timer 1 clock enable during Sleep and Stop modes Set and cleared by software. + /// Low Power Timer 1 clock enable during Sleep and Stop modes Set and cleared by software. LPTIM1SMEN: u1, }), reserved128: [4]u8, - /// APB peripheral clock enable in Sleep/Stop mode register 2. + /// APB peripheral clock enable in Sleep/Stop mode register 2. APBSMENR2: mmio.Mmio(packed struct(u32) { - /// SYSCFG, COMP and VREFBUF clock enable during Sleep and Stop modes Set and cleared by software. + /// SYSCFG, COMP and VREFBUF clock enable during Sleep and Stop modes Set and cleared by software. SYSCFGSMEN: u1, reserved11: u10, - /// TIM1 timer clock enable during Sleep mode Set and cleared by software. + /// TIM1 timer clock enable during Sleep mode Set and cleared by software. TIM1SMEN: u1, - /// SPI1 clock enable during Sleep mode Set and cleared by software. + /// SPI1 clock enable during Sleep mode Set and cleared by software. SPI1SMEN: u1, reserved14: u1, - /// USART1 clock enable during Sleep and Stop modes Set and cleared by software. + /// USART1 clock enable during Sleep and Stop modes Set and cleared by software. USART1SMEN: u1, reserved16: u1, - /// TIM15 timer clock enable during Sleep mode Set and cleared by software. + /// TIM15 timer clock enable during Sleep mode Set and cleared by software. TIM15SMEN: u1, - /// TIM16 timer clock enable during Sleep mode Set and cleared by software. + /// TIM16 timer clock enable during Sleep mode Set and cleared by software. TIM16SMEN: u1, reserved20: u2, - /// ADC clock enable during Sleep mode Set and cleared by software. + /// ADC clock enable during Sleep mode Set and cleared by software. ADCSMEN: u1, padding: u11, }), reserved136: [4]u8, - /// Peripherals independent clock configuration register. + /// Peripherals independent clock configuration register. CCIPR: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection This bitfield is controlled by software to select USART1 clock source as follows:. - USART1SEL: packed union { - raw: u2, - value: USART1SEL, - }, - /// USART2 clock source selection This bitfield is controlled by software to select USART2 clock source as follows:. - USART2SEL: packed union { - raw: u2, - value: USART2SEL, - }, + /// USART1 clock source selection This bitfield is controlled by software to select USART1 clock source as follows:. + USART1SEL: USART1SEL, + /// USART2 clock source selection This bitfield is controlled by software to select USART2 clock source as follows:. + USART2SEL: USART2SEL, reserved6: u2, - /// LPUART3 clock source selection(1) This bitfield is controlled by software to select LPUART3 clock source as follows:. - LPUART3SEL: packed union { - raw: u2, - value: LPUART3SEL, - }, - /// LPUART2 clock source selection This bitfield is controlled by software to select LPUART2 clock source as follows:. - LPUART2SEL: packed union { - raw: u2, - value: LPUART2SEL, - }, - /// LPUART1 clock source selection This bitfield is controlled by software to select LPUART1 clock source as follows:. - LPUART1SEL: packed union { - raw: u2, - value: LPUART1SEL, - }, - /// I2C1 clock source selection This bitfield is controlled by software to select I2C1 clock source as follows:. - I2C1SEL: packed union { - raw: u2, - value: I2C1SEL, - }, + /// LPUART3 clock source selection(1) This bitfield is controlled by software to select LPUART3 clock source as follows:. + LPUART3SEL: LPUART3SEL, + /// LPUART2 clock source selection This bitfield is controlled by software to select LPUART2 clock source as follows:. + LPUART2SEL: LPUART2SEL, + /// LPUART1 clock source selection This bitfield is controlled by software to select LPUART1 clock source as follows:. + LPUART1SEL: LPUART1SEL, + /// I2C1 clock source selection This bitfield is controlled by software to select I2C1 clock source as follows:. + I2C1SEL: I2C1SEL, reserved16: u2, - /// I2C3 clock source selection This bitfield is controlled by software to select I2C3 clock source as follows:. - I2C3SEL: packed union { - raw: u2, - value: I2C3SEL, - }, - /// LPTIM1 clock source selection This bitfield is controlled by software to select LPTIM1 clock source as follows:. - LPTIM1SEL: packed union { - raw: u2, - value: LPTIM1SEL, - }, - /// LPTIM2 clock source selection This bitfield is controlled by software to select LPTIM2 clock source as follows:. - LPTIM2SEL: packed union { - raw: u2, - value: LPTIM2SEL, - }, - /// LPTIM3 clock source selection This bitfield is controlled by software to select LPTIM3 clock source as follows:. - LPTIM3SEL: packed union { - raw: u2, - value: LPTIM3SEL, - }, - /// TIM1 clock source selection This bit is set and cleared by software. It selects TIM1 clock source as follows:. - TIM1SEL: packed union { - raw: u1, - value: TIM1SEL, - }, - /// TIM15 clock source selection This bit is set and cleared by software. It selects TIM15 clock source as follows:. - TIM15SEL: packed union { - raw: u1, - value: TIM15SEL, - }, - /// 481MHz clock source selection This bitfield is controlled by software to select the 481MHz clock source used by the USB FS and the RNG:. - CLK48SEL: packed union { - raw: u2, - value: CLK48SEL, - }, - /// ADCs clock source selection This bitfield is controlled by software to select the clock source for ADC:. - ADCSEL: packed union { - raw: u2, - value: ADCSEL, - }, + /// I2C3 clock source selection This bitfield is controlled by software to select I2C3 clock source as follows:. + I2C3SEL: I2C3SEL, + /// LPTIM1 clock source selection This bitfield is controlled by software to select LPTIM1 clock source as follows:. + LPTIM1SEL: LPTIM1SEL, + /// LPTIM2 clock source selection This bitfield is controlled by software to select LPTIM2 clock source as follows:. + LPTIM2SEL: LPTIM2SEL, + /// LPTIM3 clock source selection This bitfield is controlled by software to select LPTIM3 clock source as follows:. + LPTIM3SEL: LPTIM3SEL, + /// TIM1 clock source selection This bit is set and cleared by software. It selects TIM1 clock source as follows:. + TIM1SEL: TIM1SEL, + /// TIM15 clock source selection This bit is set and cleared by software. It selects TIM15 clock source as follows:. + TIM15SEL: TIM15SEL, + /// 481MHz clock source selection This bitfield is controlled by software to select the 481MHz clock source used by the USB FS and the RNG:. + CLK48SEL: CLK48SEL, + /// ADCs clock source selection This bitfield is controlled by software to select the clock source for ADC:. + ADCSEL: ADCSEL, padding: u2, }), reserved144: [4]u8, - /// RTC domain control register. + /// RTC domain control register. BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enable Set and cleared by software to enable LSE oscillator:. + /// LSE oscillator enable Set and cleared by software to enable LSE oscillator:. LSEON: u1, - /// LSE oscillator ready Set and cleared by hardware to indicate when the external 321kHz oscillator is ready (stable): After the LSEON bit is cleared, LSERDY goes low after 6 external low-speed oscillator clock cycles. + /// LSE oscillator ready Set and cleared by hardware to indicate when the external 321kHz oscillator is ready (stable): After the LSEON bit is cleared, LSERDY goes low after 6 external low-speed oscillator clock cycles. LSERDY: u1, - /// LSE oscillator bypass Set and cleared by software to bypass the LSE oscillator (in debug mode). This bit can be written only when the external 321kHz oscillator is disabled (LSEON=0 and LSERDY=0). + /// LSE oscillator bypass Set and cleared by software to bypass the LSE oscillator (in debug mode). This bit can be written only when the external 321kHz oscillator is disabled (LSEON=0 and LSERDY=0). LSEBYP: u1, - /// LSE oscillator drive capability Set by software to select the LSE oscillator drive capability as follows: Applicable when the LSE oscillator is in Xtal mode, as opposed to bypass mode. - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// CSS on LSE enable Set by software to enable the clock security system on LSE (321kHz) oscillator as follows: LSECSSON must be enabled after the LSE oscillator is enabled (LSEON bit enabled) and ready (LSERDY flag set by hardware), and after the RTCSEL bit is selected. Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD =1). In that case the software must disable the LSECSSON bit. + /// LSE oscillator drive capability Set by software to select the LSE oscillator drive capability as follows: Applicable when the LSE oscillator is in Xtal mode, as opposed to bypass mode. + LSEDRV: LSEDRV, + /// CSS on LSE enable Set by software to enable the clock security system on LSE (321kHz) oscillator as follows: LSECSSON must be enabled after the LSE oscillator is enabled (LSEON bit enabled) and ready (LSERDY flag set by hardware), and after the RTCSEL bit is selected. Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD =1). In that case the software must disable the LSECSSON bit. LSECSSON: u1, - /// CSS on LSE failure Detection Set by hardware to indicate when a failure is detected by the clock security system on the external 321kHz oscillator (LSE):. + /// CSS on LSE failure Detection Set by hardware to indicate when a failure is detected by the clock security system on the external 321kHz oscillator (LSE):. LSECSSD: u1, - /// LSE clock enable for system usage This bit must be set by software to enable the LSE clock for a system usage. + /// LSE clock enable for system usage This bit must be set by software to enable the LSE clock for a system usage. LSESYSEN: u1, - /// RTC clock source selection Set by software to select the clock source for the RTC as follows: Once the RTC clock source is selected, it cannot be changed anymore unless the RTC domain is reset, or unless a failure is detected on LSE (LSECSSD is set). The BDRST bit can be used to reset this bitfield to 00. - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection Set by software to select the clock source for the RTC as follows: Once the RTC clock source is selected, it cannot be changed anymore unless the RTC domain is reset, or unless a failure is detected on LSE (LSECSSD is set). The BDRST bit can be used to reset this bitfield to 00. + RTCSEL: RTCSEL, reserved11: u1, - /// LSE clock ready for system usage This flag is set by hardware to indicate that the LSE clock is ready for being used by the system (see LSESYSEN bit). This flag is set when LSE clock is ready (LSEON1=11 and LSERDY1=11) and two LSE clock cycles after that LSESYSEN is set. Cleared by hardware to indicate that the LSE clock is not ready to be used by the system. + /// LSE clock ready for system usage This flag is set by hardware to indicate that the LSE clock is ready for being used by the system (see LSESYSEN bit). This flag is set when LSE clock is ready (LSEON1=11 and LSERDY1=11) and two LSE clock cycles after that LSESYSEN is set. Cleared by hardware to indicate that the LSE clock is not ready to be used by the system. LSESYSRDY: u1, reserved15: u3, - /// RTC clock enable Set and cleared by software. The bit enables clock to RTC and TAMP. + /// RTC clock enable Set and cleared by software. The bit enables clock to RTC and TAMP. RTCEN: u1, - /// RTC domain software reset Set and cleared by software to reset the RTC domain:. + /// RTC domain software reset Set and cleared by software to reset the RTC domain:. BDRST: u1, reserved24: u7, - /// Low-speed clock output (LSCO) enable Set and cleared by software. + /// Low-speed clock output (LSCO) enable Set and cleared by software. LSCOEN: u1, - /// Low-speed clock output selection Set and cleared by software to select the low-speed output clock:. - LSCOSEL: packed union { - raw: u1, - value: LSCOSEL, - }, + /// Low-speed clock output selection Set and cleared by software to select the low-speed output clock:. + LSCOSEL: LSCOSEL, padding: u6, }), - /// Control/status register. + /// Control/status register. CSR: mmio.Mmio(packed struct(u32) { - /// LSI oscillator enable Set and cleared by software to enable/disable the LSI oscillator:. + /// LSI oscillator enable Set and cleared by software to enable/disable the LSI oscillator:. LSION: u1, - /// LSI oscillator ready Set and cleared by hardware to indicate when the LSI oscillator is ready (stable): After the LSION bit is cleared, LSIRDY goes low after 3 LSI oscillator clock cycles. This bit can be set even if LSION = 0 if the LSI is requested by the Clock Security System on LSE, by the Independent Watchdog or by the RTC. + /// LSI oscillator ready Set and cleared by hardware to indicate when the LSI oscillator is ready (stable): After the LSION bit is cleared, LSIRDY goes low after 3 LSI oscillator clock cycles. This bit can be set even if LSION = 0 if the LSI is requested by the Clock Security System on LSE, by the Independent Watchdog or by the RTC. LSIRDY: u1, - /// Internal low-speed oscillator pre-divided by 128 Set and reset by hardware to indicate when the low-speed internal RC oscillator has to be divided by 128. The software has to switch off the LSI before changing this bit. - LSIPREDIV: packed union { - raw: u1, - value: LSIPREDIV, - }, + /// Internal low-speed oscillator pre-divided by 128 Set and reset by hardware to indicate when the low-speed internal RC oscillator has to be divided by 128. The software has to switch off the LSI before changing this bit. + LSIPREDIV: LSIPREDIV, reserved8: u5, - /// MSI range after Standby mode Set by software to chose the MSI frequency at startup. This range is used after exiting Standby mode until MSIRGSEL is set. After a pad or a power-on reset, the range is always 41MHz. MSISRANGE[3:0] can be written only when MSIRGSEL1=11. Others: Reserved Note: Changing the MSISRANGE[3:0] does not change the current MSI frequency. - MSISRANGE: packed union { - raw: u4, - value: MSISRANGE, - }, + /// MSI range after Standby mode Set by software to chose the MSI frequency at startup. This range is used after exiting Standby mode until MSIRGSEL is set. After a pad or a power-on reset, the range is always 41MHz. MSISRANGE[3:0] can be written only when MSIRGSEL1=11. Others: Reserved Note: Changing the MSISRANGE[3:0] does not change the current MSI frequency. + MSISRANGE: MSISRANGE, reserved23: u11, - /// Remove reset flags Set by software to clear the reset flags. + /// Remove reset flags Set by software to clear the reset flags. RMVF: u1, reserved25: u1, - /// Option byte loader reset flag Set by hardware when a reset from the Option byte loading occurs. Cleared by setting the RMVF bit. + /// Option byte loader reset flag Set by hardware when a reset from the Option byte loading occurs. Cleared by setting the RMVF bit. OBLRSTF: u1, - /// Pin reset flag Set by hardware when a reset from the NRST pin occurs. Cleared by setting the RMVF bit. + /// Pin reset flag Set by hardware when a reset from the NRST pin occurs. Cleared by setting the RMVF bit. PINRSTF: u1, - /// BOR or POR/PDR flag Set by hardware when a BOR or POR/PDR occurs. Cleared by setting the RMVF bit. + /// BOR or POR/PDR flag Set by hardware when a BOR or POR/PDR occurs. Cleared by setting the RMVF bit. PWRRSTF: u1, - /// Software reset flag Set by hardware when a software reset occurs. Cleared by setting the RMVF bit. + /// Software reset flag Set by hardware when a software reset occurs. Cleared by setting the RMVF bit. SFTRSTF: u1, - /// Independent window watchdog reset flag Set by hardware when an independent watchdog reset domain occurs. Cleared by setting the RMVF bit. + /// Independent window watchdog reset flag Set by hardware when an independent watchdog reset domain occurs. Cleared by setting the RMVF bit. IWDGRSTF: u1, - /// Window watchdog reset flag Set by hardware when a window watchdog reset occurs. Cleared by setting the RMVF bit. + /// Window watchdog reset flag Set by hardware when a window watchdog reset occurs. Cleared by setting the RMVF bit. WWDGRSTF: u1, - /// Low-power reset flag Set by hardware when a reset occurs due to illegal Stop, Standby, or Shutdown mode entry. Cleared by setting the RMVF bit. This operates only if nRST_STOP, nRST_STDBY or nRST_SHDW option bits are cleared. + /// Low-power reset flag Set by hardware when a reset occurs due to illegal Stop, Standby, or Shutdown mode entry. Cleared by setting the RMVF bit. This operates only if nRST_STOP, nRST_STDBY or nRST_SHDW option bits are cleared. LPWRRSTF: u1, }), - /// RCC clock recovery RC register. + /// RCC clock recovery RC register. CRRCR: mmio.Mmio(packed struct(u32) { - /// HSI48 RC oscillator enable(1). + /// HSI48 RC oscillator enable(1). HSI48ON: u1, - /// HSI48 clock ready flag(1) The flag is set when the HSI48 clock is ready for use. + /// HSI48 clock ready flag(1) The flag is set when the HSI48 clock is ready for use. HSI48RDY: u1, reserved7: u5, - /// HSI48 clock calibration These bits are initialized at startup with the factory-programmed HSI48 calibration trim value. + /// HSI48 clock calibration These bits are initialized at startup with the factory-programmed HSI48 calibration trim value. HSI48CAL: u9, padding: u16, }), @@ -406346,362 +398687,362 @@ pub const types = struct { pub const rcc_u5 = struct { pub const ADCDACSEL = enum(u3) { - /// HCLK clock selected + /// HCLK clock selected HCLK1 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// PLL2 R (pll2_r_ck) selected + /// PLL2 R (pll2_r_ck) selected PLL2_R = 0x2, - /// HSE clock selected + /// HSE clock selected HSE = 0x3, - /// HSI clock selected + /// HSI clock selected HSI = 0x4, - /// MSIK clock selected + /// MSIK clock selected MSIK = 0x5, _, }; pub const ADFSEL = enum(u3) { - /// HCLK selected + /// HCLK selected HCLK3 = 0x0, - /// PLL1 P (pll1_p_ck) selected + /// PLL1 P (pll1_p_ck) selected PLL1_P = 0x1, - /// PLL3 Q (pll3_q_ck) selected + /// PLL3 Q (pll3_q_ck) selected PLL3_Q = 0x2, - /// input pin AUDIOCLK selected + /// input pin AUDIOCLK selected AUDIOCLK = 0x3, - /// MSIK clock selected + /// MSIK clock selected MSIK = 0x4, _, }; pub const DACSEL = enum(u1) { - /// LSE selected + /// LSE selected LSE = 0x0, - /// LSI selected + /// LSI selected LSI = 0x1, }; pub const DPRE = enum(u3) { - /// DCLK not divided + /// DCLK not divided Div1 = 0x0, - /// DCLK divided by 2 + /// DCLK divided by 2 Div2 = 0x4, - /// DCLK divided by 4 + /// DCLK divided by 4 Div4 = 0x5, - /// DCLK divided by 8 + /// DCLK divided by 8 Div8 = 0x6, - /// DCLK divided by 16 + /// DCLK divided by 16 Div16 = 0x7, _, }; pub const DSISEL = enum(u1) { - /// PLL3 “P” (pll3_p_ck) selected + /// PLL3 “P” (pll3_p_ck) selected PLL3_P = 0x0, - /// DSI PHY PLL output selected (formerly called DCLK, renamed to DSI_PHY to match other chip families) + /// DSI PHY PLL output selected (formerly called DCLK, renamed to DSI_PHY to match other chip families) DSI_PHY = 0x1, }; pub const FDCANSEL = enum(u2) { - /// HSE clock selected + /// HSE clock selected HSE = 0x0, - /// PLL1 Q (pll1_q_ck) selected + /// PLL1 Q (pll1_q_ck) selected PLL1_Q = 0x1, - /// PLL2 P (pll2_p_ck) selected + /// PLL2 P (pll2_p_ck) selected PLL2_P = 0x2, _, }; pub const HPRE = enum(u4) { - /// SYSCLK not divided + /// SYSCLK not divided Div1 = 0x0, - /// SYSCLK divided by 2 + /// SYSCLK divided by 2 Div2 = 0x8, - /// SYSCLK divided by 4 + /// SYSCLK divided by 4 Div4 = 0x9, - /// SYSCLK divided by 8 + /// SYSCLK divided by 8 Div8 = 0xa, - /// SYSCLK divided by 16 + /// SYSCLK divided by 16 Div16 = 0xb, - /// SYSCLK divided by 64 + /// SYSCLK divided by 64 Div64 = 0xc, - /// SYSCLK divided by 128 + /// SYSCLK divided by 128 Div128 = 0xd, - /// SYSCLK divided by 256 + /// SYSCLK divided by 256 Div256 = 0xe, - /// SYSCLK divided by 512 + /// SYSCLK divided by 512 Div512 = 0xf, _, }; pub const HSEEXT = enum(u1) { - /// external HSE clock analog mode + /// external HSE clock analog mode ANALOG = 0x0, - /// external HSE clock digital mode (through I/O Schmitt trigger) + /// external HSE clock digital mode (through I/O Schmitt trigger) DIGITAL = 0x1, }; pub const HSPISEL = enum(u2) { - /// SYSCLK selected + /// SYSCLK selected SYS = 0x0, - /// PLL1 “Q” (pll1_q_ck) selected, can be up to 200 MHz + /// PLL1 “Q” (pll1_q_ck) selected, can be up to 200 MHz PLL1_Q = 0x1, - /// PLL2 “Q” (pll2_q_ck) selected, can be up to 200 MHz + /// PLL2 “Q” (pll2_q_ck) selected, can be up to 200 MHz PLL2_Q = 0x2, - /// PLL3 “R” (pll3_r_ck) selected, can be up to 200 MHz + /// PLL3 “R” (pll3_r_ck) selected, can be up to 200 MHz PLL3_R = 0x3, }; pub const I2C3SEL = enum(u2) { - /// PCLK3 selected + /// PCLK3 selected PCLK3 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// MSIK selected + /// MSIK selected MSIK = 0x3, }; pub const I2CSEL = enum(u2) { - /// PCLK1 selected + /// PCLK1 selected PCLK1 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// MSIK selected + /// MSIK selected MSIK = 0x3, }; pub const ICLKSEL = enum(u2) { - /// HSI48 clock selected + /// HSI48 clock selected HSI48 = 0x0, - /// PLL2 Q (pll2_q_ck) selected + /// PLL2 Q (pll2_q_ck) selected PLL2_Q = 0x1, - /// PLL1 Q (pll1_q_ck) selected + /// PLL1 Q (pll1_q_ck) selected PLL1_Q = 0x2, - /// MSIK clock selected + /// MSIK clock selected MSIK = 0x3, }; pub const LPTIM2SEL = enum(u2) { - /// PCLK1 selected + /// PCLK1 selected PCLK1 = 0x0, - /// LSI selected + /// LSI selected LSI = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// LSE selected + /// LSE selected LSE = 0x3, }; pub const LPTIMSEL = enum(u2) { - /// PCLK3 selected + /// PCLK3 selected PCLK3 = 0x0, - /// LSI selected + /// LSI selected LSI = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// LSE selected + /// LSE selected LSE = 0x3, }; pub const LPUSARTSEL = enum(u3) { - /// PCLK3 selected + /// PCLK3 selected PCLK3 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// LSE selected + /// LSE selected LSE = 0x3, - /// MSIK selected + /// MSIK selected MSIK = 0x4, _, }; pub const LSCOSEL = enum(u1) { - /// LSI clock selected + /// LSI clock selected LSI = 0x0, - /// LSE clock selected + /// LSE clock selected LSE = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const LSIPREDIV = enum(u1) { - /// LSI not divided + /// LSI not divided Div1 = 0x0, - /// LSI divided by 128 + /// LSI divided by 128 Div128 = 0x1, }; pub const LTDCSEL = enum(u1) { - /// PLL3 “R” (pll3_r_ck) selected + /// PLL3 “R” (pll3_r_ck) selected PLL3_R = 0x0, - /// PLL2 “R” (pll2_r_ck) selected + /// PLL2 “R” (pll2_r_ck) selected PLL2_R = 0x1, }; pub const MCOPRE = enum(u3) { - /// MCO divided by 1 + /// MCO divided by 1 Div1 = 0x0, - /// MCO divided by 2 + /// MCO divided by 2 Div2 = 0x1, - /// MCO divided by 4 + /// MCO divided by 4 Div4 = 0x2, - /// MCO divided by 8 + /// MCO divided by 8 Div8 = 0x3, - /// MCO divided by 16 + /// MCO divided by 16 Div16 = 0x4, _, }; pub const MCOSEL = enum(u4) { - /// MCO output disabled, no clock on MCO + /// MCO output disabled, no clock on MCO DISABLE = 0x0, - /// SYSCLK system clock selected + /// SYSCLK system clock selected SYS = 0x1, - /// MSIS clock selected + /// MSIS clock selected MSIS = 0x2, - /// HSI clock selected + /// HSI clock selected HSI = 0x3, - /// HSE clock selected + /// HSE clock selected HSE = 0x4, - /// Main PLL clock pll1_r_ck selected + /// Main PLL clock pll1_r_ck selected PLL1_R = 0x5, - /// LSI clock selected + /// LSI clock selected LSI = 0x6, - /// LSE clock selected + /// LSE clock selected LSE = 0x7, - /// Internal HSI48 clock selected + /// Internal HSI48 clock selected HSI48 = 0x8, - /// MSIK clock selected + /// MSIK clock selected MSIK = 0x9, _, }; pub const MDFSEL = enum(u3) { - /// HCLK selected + /// HCLK selected HCLK1 = 0x0, - /// PLL1 P (pll1_p_ck) selected + /// PLL1 P (pll1_p_ck) selected PLL1_P = 0x1, - /// PLL3 Q (pll3_q_ck) selected + /// PLL3 Q (pll3_q_ck) selected PLL3_Q = 0x2, - /// input pin AUDIOCLK selected + /// input pin AUDIOCLK selected AUDIOCLK = 0x3, - /// MSIK clock selected + /// MSIK clock selected MSIK = 0x4, _, }; pub const MSIBIAS = enum(u1) { - /// MSI bias continuous mode (clock accuracy fast settling time) + /// MSI bias continuous mode (clock accuracy fast settling time) CONTINUOUS = 0x0, - /// MSI bias sampling mode (ultra-low-power mode) + /// MSI bias sampling mode (ultra-low-power mode) SAMPLING = 0x1, }; pub const MSIPLLFAST = enum(u1) { - /// MSI PLL normal start-up + /// MSI PLL normal start-up NORMAL = 0x0, - /// MSI PLL fast start-up + /// MSI PLL fast start-up FAST = 0x1, }; pub const MSIPLLSEL = enum(u1) { - /// PLL mode applied to MSIK (MSI kernel) clock output + /// PLL mode applied to MSIK (MSI kernel) clock output MSIK = 0x0, - /// PLL mode applied to MSIS (MSI system) clock output + /// PLL mode applied to MSIS (MSI system) clock output MSIS = 0x1, }; pub const MSIRANGE = enum(u4) { - /// range 0 around 48 MHz + /// range 0 around 48 MHz RANGE_48MHZ = 0x0, - /// range 1 around 24 MHz + /// range 1 around 24 MHz RANGE_24MHZ = 0x1, - /// range 2 around 16 MHz + /// range 2 around 16 MHz RANGE_16MHZ = 0x2, - /// range 3 around 12 MHz + /// range 3 around 12 MHz RANGE_12MHZ = 0x3, - /// range 4 around 4 MHz (reset value) + /// range 4 around 4 MHz (reset value) RANGE_4MHZ = 0x4, - /// range 5 around 2 MHz + /// range 5 around 2 MHz RANGE_2MHZ = 0x5, - /// range 6 around 1.33 MHz + /// range 6 around 1.33 MHz RANGE_1_33MHZ = 0x6, - /// range 7 around 1 MHz + /// range 7 around 1 MHz RANGE_1MHZ = 0x7, - /// range 8 around 3.072 MHz + /// range 8 around 3.072 MHz RANGE_3_072MHZ = 0x8, - /// range 9 around 1.536 MHz + /// range 9 around 1.536 MHz RANGE_1_536MHZ = 0x9, - /// range 10 around 1.024 MHz + /// range 10 around 1.024 MHz RANGE_1_024MHZ = 0xa, - /// range 11 around 768 kHz + /// range 11 around 768 kHz RANGE_768KHZ = 0xb, - /// range 12 around 400 kHz + /// range 12 around 400 kHz RANGE_400KHZ = 0xc, - /// range 13 around 200 kHz + /// range 13 around 200 kHz RANGE_200KHZ = 0xd, - /// range 14 around 133 kHz + /// range 14 around 133 kHz RANGE_133KHZ = 0xe, - /// range 15 around 100 kHz + /// range 15 around 100 kHz RANGE_100KHZ = 0xf, }; pub const MSIRGSEL = enum(u1) { - /// MSIS/MSIK ranges provided by MSISSRANGE[3:0] and MSIKSRANGE[3:0] in RCC_CSR + /// MSIS/MSIK ranges provided by MSISSRANGE[3:0] and MSIKSRANGE[3:0] in RCC_CSR CSR = 0x0, - /// MSIS/MSIK ranges provided by MSISRANGE[3:0] and MSIKRANGE[3:0] in RCC_ICSCR1 + /// MSIS/MSIK ranges provided by MSISRANGE[3:0] and MSIKRANGE[3:0] in RCC_ICSCR1 ICSCR1 = 0x1, }; pub const MSIXSRANGE = enum(u4) { - /// range 4 around 4M Hz (reset value) + /// range 4 around 4M Hz (reset value) RANGE_4MHZ = 0x4, - /// range 5 around 2 MHz + /// range 5 around 2 MHz RANGE_2MHZ = 0x5, - /// range 6 around 1.5 MHz + /// range 6 around 1.5 MHz RANGE_1_5MHZ = 0x6, - /// range 7 around 1 MHz + /// range 7 around 1 MHz RANGE_1MHZ = 0x7, - /// range 8 around 3.072 MHz + /// range 8 around 3.072 MHz RANGE_3_072MHZ = 0x8, _, }; pub const OCTOSPISEL = enum(u2) { - /// SYSCLK selected + /// SYSCLK selected SYS = 0x0, - /// MSIK selected + /// MSIK selected MSIK = 0x1, - /// PLL1 Q (pll1_q_ck) selected, can be up to 200 MHz + /// PLL1 Q (pll1_q_ck) selected, can be up to 200 MHz PLL1_Q = 0x2, - /// PLL2 Q (pll2_q_ck) selected, can be up to 200 MHz + /// PLL2 Q (pll2_q_ck) selected, can be up to 200 MHz PLL2_Q = 0x3, }; pub const OTGHSSEL = enum(u2) { - /// HSE selected + /// HSE selected HSE = 0x0, - /// PLL1 “P” (pll1_q_ck) selected, + /// PLL1 “P” (pll1_q_ck) selected, PLL1_P = 0x1, - /// HSE/2 selected + /// HSE/2 selected HSE_DIV_2 = 0x2, - /// PLL1 “P” divided by 2 (pll1_p_ck/2) selected + /// PLL1 “P” divided by 2 (pll1_p_ck/2) selected PLL1_P_DIV_2 = 0x3, }; @@ -406856,23 +399197,23 @@ pub const types = struct { }; pub const PLLMBOOST = enum(u4) { - /// division by 1 (bypass) + /// division by 1 (bypass) Div1 = 0x0, - /// division by 2 + /// division by 2 Div2 = 0x1, - /// division by 4 + /// division by 4 Div4 = 0x2, - /// division by 6 + /// division by 6 Div6 = 0x3, - /// division by 8 + /// division by 8 Div8 = 0x4, - /// division by 10 + /// division by 10 Div10 = 0x5, - /// division by 12 + /// division by 12 Div12 = 0x6, - /// division by 14 + /// division by 14 Div14 = 0x7, - /// division by 16 + /// division by 16 Div16 = 0x8, _, }; @@ -407391,1842 +399732,1560 @@ pub const types = struct { }; pub const PLLRGE = enum(u2) { - /// PLL2 input (ref2_ck) clock range frequency between 4 and 8 MHz + /// PLL2 input (ref2_ck) clock range frequency between 4 and 8 MHz FREQ_4TO8MHZ = 0x0, - /// PLL2 input (ref2_ck) clock range frequency between 8 and 16 MHz + /// PLL2 input (ref2_ck) clock range frequency between 8 and 16 MHz FREQ_8TO16MHZ = 0x3, _, }; pub const PLLSRC = enum(u2) { - /// No clock sent to PLL3 + /// No clock sent to PLL3 DISABLE = 0x0, - /// MSIS clock selected as PLL3 clock entry + /// MSIS clock selected as PLL3 clock entry MSIS = 0x1, - /// HSI clock selected as PLL3 clock entry + /// HSI clock selected as PLL3 clock entry HSI = 0x2, - /// HSE clock selected as PLL3 clock entry + /// HSE clock selected as PLL3 clock entry HSE = 0x3, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const RNGSEL = enum(u2) { - /// HSI48 selected + /// HSI48 selected HSI48 = 0x0, - /// HSI48 / 2 selected, can be used in Range 4 + /// HSI48 / 2 selected, can be used in Range 4 HSI48_DIV_2 = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, _, }; pub const RTCSEL = enum(u2) { - /// No clock selected + /// No clock selected DISABLE = 0x0, - /// LSE oscillator clock selected + /// LSE oscillator clock selected LSE = 0x1, - /// LSI oscillator clock selected + /// LSI oscillator clock selected LSI = 0x2, - /// HSE oscillator clock divided by 32 selected + /// HSE oscillator clock divided by 32 selected HSE = 0x3, }; pub const SAESSEL = enum(u1) { - /// SHSI selected + /// SHSI selected SHSI = 0x0, - /// SHSI / 2 selected, can be used in Range 4 + /// SHSI / 2 selected, can be used in Range 4 SHSI_DIV_2 = 0x1, }; pub const SAISEL = enum(u3) { - /// PLL2 P (pll2_p_ck) selected + /// PLL2 P (pll2_p_ck) selected PLL2_P = 0x0, - /// PLL3 P (pll3_p_ck) selected + /// PLL3 P (pll3_p_ck) selected PLL3_P = 0x1, - /// PLL1 P (pll1_p_ck) selected + /// PLL1 P (pll1_p_ck) selected PLL1_P = 0x2, - /// input pin AUDIOCLK selected + /// input pin AUDIOCLK selected AUDIOCLK = 0x3, - /// HSI clock selected + /// HSI clock selected HSI = 0x4, _, }; pub const SDMMCSEL = enum(u1) { - /// ICLK clock selected + /// ICLK clock selected ICLK = 0x0, - /// PLL1 P (pll1_p_ck) selected, in case higher than 48 MHz is needed (for SDR50 mode) + /// PLL1 P (pll1_p_ck) selected, in case higher than 48 MHz is needed (for SDR50 mode) PLL1_P = 0x1, }; pub const SECURITY = enum(u1) { - /// non secure + /// non secure NON_SECURE = 0x0, - /// secure + /// secure SECURE = 0x1, }; pub const SPI1SEL = enum(u2) { - /// PCLK2 selected + /// PCLK2 selected PCLK2 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// MSIK selected + /// MSIK selected MSIK = 0x3, }; pub const SPI2SEL = enum(u2) { - /// PCLK2 selected + /// PCLK2 selected PCLK1 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// MSIK selected + /// MSIK selected MSIK = 0x3, }; pub const SPI3SEL = enum(u2) { - /// PCLK2 selected + /// PCLK2 selected PCLK3 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// MSIK selected + /// MSIK selected MSIK = 0x3, }; pub const STOPKERWUCK = enum(u1) { - /// MSIK oscillator automatically enabled when exiting Stop mode + /// MSIK oscillator automatically enabled when exiting Stop mode MSIK = 0x0, - /// HSI oscillator automatically enabled when exiting Stop mode + /// HSI oscillator automatically enabled when exiting Stop mode HSI = 0x1, }; pub const STOPWUCK = enum(u1) { - /// MSIS oscillator selected as wakeup from stop clock and CSS backup clock + /// MSIS oscillator selected as wakeup from stop clock and CSS backup clock MSIS = 0x0, - /// HSI oscillator selected as wakeup from stop clock and CSS backup clock + /// HSI oscillator selected as wakeup from stop clock and CSS backup clock HSI = 0x1, }; pub const SW = enum(u2) { - /// MSIS selected as system clock + /// MSIS selected as system clock MSIS = 0x0, - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x1, - /// HSE selected as system clock + /// HSE selected as system clock HSE = 0x2, - /// PLL pll1_r_ck selected as system clock + /// PLL pll1_r_ck selected as system clock PLL1_R = 0x3, }; pub const SYSTICKSEL = enum(u2) { - /// HCLK/8 selected + /// HCLK/8 selected HCLK1_DIV_8 = 0x0, - /// LSI selected + /// LSI selected LSI = 0x1, - /// LSE selected + /// LSE selected LSE = 0x2, _, }; pub const TIMICSEL = enum(u3) { - /// No sources can be selected by TIM16, TIM17 and LPTIM2 as internal input capture + /// No sources can be selected by TIM16, TIM17 and LPTIM2 as internal input capture DISABLE = 0x0, - /// HSI/256, MSIS/1024 and MSIS/4 generated and can be selected by TIM16, TIM17 and LPTIM2 as internal input capture + /// HSI/256, MSIS/1024 and MSIS/4 generated and can be selected by TIM16, TIM17 and LPTIM2 as internal input capture HSI256_MSIS1024_MSIS4 = 0x4, - /// HSI/256, MSIS/1024 and MSIK/4 generated and can be selected by TIM16, TIM17 and LPTIM2 as internal input capture + /// HSI/256, MSIS/1024 and MSIK/4 generated and can be selected by TIM16, TIM17 and LPTIM2 as internal input capture HSI256_MSIS1024_MSIK4 = 0x5, - /// HSI/256, MSIK/1024 and MSIS/4 generated and can be selected by TIM16, TIM17 and LPTIM2 as internal input capture + /// HSI/256, MSIK/1024 and MSIS/4 generated and can be selected by TIM16, TIM17 and LPTIM2 as internal input capture HSI256_MSIK1024_MSIS4 = 0x6, - /// HSI/256, MSIK/1024 and MSIK/4 generated and can be selected by TIM16, TIM17 and LPTIM2 as internal input capture + /// HSI/256, MSIK/1024 and MSIK/4 generated and can be selected by TIM16, TIM17 and LPTIM2 as internal input capture HSI256_MSIK1024_MSIK4 = 0x7, _, }; pub const USART1SEL = enum(u2) { - /// PCLK2 selected + /// PCLK2 selected PCLK2 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// LSE selected + /// LSE selected LSE = 0x3, }; pub const USARTSEL = enum(u2) { - /// PCLK1 selected + /// PCLK1 selected PCLK1 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// LSE selected + /// LSE selected LSE = 0x3, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// RCC clock control register + /// RCC clock control register CR: mmio.Mmio(packed struct(u32) { - /// MSIS clock enable Set and cleared by software. Cleared by hardware to stop the MSIS oscillator when entering Stop, Standby or Shutdown mode. Set by hardware to force the MSIS oscillator ON when exiting Standby or Shutdown mode. Set by hardware to force the MSIS oscillator ON when STOPWUCK = 0 when exiting Stop modes or in case of a failure of the HSE oscillator. Set by hardware when used directly or indirectly as system clock. + /// MSIS clock enable Set and cleared by software. Cleared by hardware to stop the MSIS oscillator when entering Stop, Standby or Shutdown mode. Set by hardware to force the MSIS oscillator ON when exiting Standby or Shutdown mode. Set by hardware to force the MSIS oscillator ON when STOPWUCK = 0 when exiting Stop modes or in case of a failure of the HSE oscillator. Set by hardware when used directly or indirectly as system clock. MSISON: u1, - /// MSI enable for some peripheral kernels Set and cleared by software to force MSI ON even in Stop modes. Keeping the MSI ON in Stop mode allows the communication speed not to be reduced by the MSI startup time. This bit has no effect on MSISON and MSIKON values (see autonomous mode for more details). The MSIKERON must be configured at 0 before entering Stop 3 mode. + /// MSI enable for some peripheral kernels Set and cleared by software to force MSI ON even in Stop modes. Keeping the MSI ON in Stop mode allows the communication speed not to be reduced by the MSI startup time. This bit has no effect on MSISON and MSIKON values (see autonomous mode for more details). The MSIKERON must be configured at 0 before entering Stop 3 mode. MSIKERON: u1, - /// MSIS clock ready flag Set by hardware to indicate that the MSIS oscillator is stable. This bit is set only when MSIS is enabled by software by setting MSISON. Note: Once the MSISON bit is cleared, MSISRDY goes low after six MSIS clock cycles. + /// MSIS clock ready flag Set by hardware to indicate that the MSIS oscillator is stable. This bit is set only when MSIS is enabled by software by setting MSISON. Note: Once the MSISON bit is cleared, MSISRDY goes low after six MSIS clock cycles. MSISRDY: u1, - /// MSI clock PLL-mode enable Set and cleared by software to enable/disable the PLL part of the MSI clock source. MSIPLLEN must be enabled after LSE is enabled (LSEON enabled) and ready (LSERDY set by hardware). A hardware protection prevents from enabling MSIPLLEN if LSE is not ready. This bit is cleared by hardware when LSE is disabled (LSEON = 0) or when the CSS on LSE detects a LSE failure (see RCC_CSR). + /// MSI clock PLL-mode enable Set and cleared by software to enable/disable the PLL part of the MSI clock source. MSIPLLEN must be enabled after LSE is enabled (LSEON enabled) and ready (LSERDY set by hardware). A hardware protection prevents from enabling MSIPLLEN if LSE is not ready. This bit is cleared by hardware when LSE is disabled (LSEON = 0) or when the CSS on LSE detects a LSE failure (see RCC_CSR). MSIPLLEN: u1, - /// MSIK clock enable Set and cleared by software. Cleared by hardware to stop the MSIK when entering Stop, Standby or Shutdown mode. Set by hardware to force the MSIK oscillator ON when exiting Standby or Shutdown mode. Set by hardware to force the MSIK oscillator ON when STOPWUCK = 0 or STOPKERWUCK = 0 when exiting Stop modes or in case of a failure of the HSE oscillator. + /// MSIK clock enable Set and cleared by software. Cleared by hardware to stop the MSIK when entering Stop, Standby or Shutdown mode. Set by hardware to force the MSIK oscillator ON when exiting Standby or Shutdown mode. Set by hardware to force the MSIK oscillator ON when STOPWUCK = 0 or STOPKERWUCK = 0 when exiting Stop modes or in case of a failure of the HSE oscillator. MSIKON: u1, - /// MSIK clock ready flag Set by hardware to indicate that the MSIK is stable. This bit is set only when MSI kernel oscillator is enabled by software by setting MSIKON. Note: Once the MSIKON bit is cleared, MSIKRDY goes low after six MSIK oscillator clock cycles. + /// MSIK clock ready flag Set by hardware to indicate that the MSIK is stable. This bit is set only when MSI kernel oscillator is enabled by software by setting MSIKON. Note: Once the MSIKON bit is cleared, MSIKRDY goes low after six MSIK oscillator clock cycles. MSIKRDY: u1, - /// MSI clock with PLL mode selection Set and cleared by software to select which MSI output clock uses the PLL mode. This bit can be written only when the MSI PLL mode is disabled (MSIPLLEN = 0). Note: If the MSI kernel clock output uses the same oscillator source than the MSI system clock output, then the PLL mode is applied to the both clocks outputs. - MSIPLLSEL: packed union { - raw: u1, - value: MSIPLLSEL, - }, - /// MSI PLL mode fast startup Set and reset by software to enable/disable the fast PLL mode start-up of the MSI clock source. This bit is used only if PLL mode is selected (MSIPLLEN = 1). The fast start-up feature is not active the first time the PLL mode is selected. The fast start-up is active when the MSI in PLL mode returns from switch off. - MSIPLLFAST: packed union { - raw: u1, - value: MSIPLLFAST, - }, - /// HSI clock enable Set and cleared by software. Cleared by hardware to stop the HSI oscillator when entering Stop, Standby or Shutdown mode. Set by hardware to force the HSI oscillator ON when STOPWUCK = 1 when leaving Stop modes, or in case of failure of the HSE crystal oscillator. This bit is set by hardware if the HSI is used directly or indirectly as system clock. + /// MSI clock with PLL mode selection Set and cleared by software to select which MSI output clock uses the PLL mode. This bit can be written only when the MSI PLL mode is disabled (MSIPLLEN = 0). Note: If the MSI kernel clock output uses the same oscillator source than the MSI system clock output, then the PLL mode is applied to the both clocks outputs. + MSIPLLSEL: MSIPLLSEL, + /// MSI PLL mode fast startup Set and reset by software to enable/disable the fast PLL mode start-up of the MSI clock source. This bit is used only if PLL mode is selected (MSIPLLEN = 1). The fast start-up feature is not active the first time the PLL mode is selected. The fast start-up is active when the MSI in PLL mode returns from switch off. + MSIPLLFAST: MSIPLLFAST, + /// HSI clock enable Set and cleared by software. Cleared by hardware to stop the HSI oscillator when entering Stop, Standby or Shutdown mode. Set by hardware to force the HSI oscillator ON when STOPWUCK = 1 when leaving Stop modes, or in case of failure of the HSE crystal oscillator. This bit is set by hardware if the HSI is used directly or indirectly as system clock. HSION: u1, - /// HSI enable for some peripheral kernels Set and cleared by software to force HSI ON even in Stop modes. Keeping the HSI ON in Stop mode allows the communication speed not to be reduced by the HSI startup time. This bit has no effect on HSION value. Refer to for more details. The HSIKERON must be configured at 0 before entering Stop 3 mode. + /// HSI enable for some peripheral kernels Set and cleared by software to force HSI ON even in Stop modes. Keeping the HSI ON in Stop mode allows the communication speed not to be reduced by the HSI startup time. This bit has no effect on HSION value. Refer to for more details. The HSIKERON must be configured at 0 before entering Stop 3 mode. HSIKERON: u1, - /// HSI clock ready flag Set by hardware to indicate that HSI oscillator is stable. This bit is set only when HSI is enabled by software by setting HSION. Note: Once the HSION bit is cleared, HSIRDY goes low after six HSI clock cycles. + /// HSI clock ready flag Set by hardware to indicate that HSI oscillator is stable. This bit is set only when HSI is enabled by software by setting HSION. Note: Once the HSION bit is cleared, HSIRDY goes low after six HSI clock cycles. HSIRDY: u1, reserved12: u1, - /// HSI48 clock enable Set and cleared by software. Cleared by hardware to stop the HSI48 when entering in Stop, Standby or Shutdown modes. + /// HSI48 clock enable Set and cleared by software. Cleared by hardware to stop the HSI48 when entering in Stop, Standby or Shutdown modes. HSI48ON: u1, - /// HSI48 clock ready flag Set by hardware to indicate that HSI48 oscillator is stable. This bit is set only when HSI48 is enabled by software by setting HSI48ON. + /// HSI48 clock ready flag Set by hardware to indicate that HSI48 oscillator is stable. This bit is set only when HSI48 is enabled by software by setting HSI48ON. HSI48RDY: u1, - /// SHSI clock enable Set and cleared by software. Cleared by hardware to stop the SHSI when entering in Stop, Standby or Shutdown modes. + /// SHSI clock enable Set and cleared by software. Cleared by hardware to stop the SHSI when entering in Stop, Standby or Shutdown modes. SHSION: u1, - /// SHSI clock ready flag Set by hardware to indicate that the SHSI oscillator is stable. This bit is set only when SHSI is enabled by software by setting SHSION. Note: Once the SHSION bit is cleared, SHSIRDY goes low after six SHSI clock cycles. + /// SHSI clock ready flag Set by hardware to indicate that the SHSI oscillator is stable. This bit is set only when SHSI is enabled by software by setting SHSION. Note: Once the SHSION bit is cleared, SHSIRDY goes low after six SHSI clock cycles. SHSIRDY: u1, - /// HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE oscillator when entering Stop, Standby or Shutdown mode. This bit cannot be reset if the HSE oscillator is used directly or indirectly as the system clock. + /// HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE oscillator when entering Stop, Standby or Shutdown mode. This bit cannot be reset if the HSE oscillator is used directly or indirectly as the system clock. HSEON: u1, - /// HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable. Note: Once the HSEON bit is cleared, HSERDY goes low after six HSE clock cycles. + /// HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable. Note: Once the HSEON bit is cleared, HSERDY goes low after six HSE clock cycles. HSERDY: u1, - /// HSE crystal oscillator bypass Set and cleared by software to bypass the oscillator with an external clock. The external clock must be enabled with the HSEON bit set, to be used by the device. The HSEBYP bit can be written only if the HSE oscillator is disabled. + /// HSE crystal oscillator bypass Set and cleared by software to bypass the oscillator with an external clock. The external clock must be enabled with the HSEON bit set, to be used by the device. The HSEBYP bit can be written only if the HSE oscillator is disabled. HSEBYP: u1, - /// Clock security system enable Set by software to enable the clock security system. When CSSON is set, the clock detector is enabled by hardware when the HSE oscillator is ready, and disabled by hardware if a HSE clock failure is detected. This bit is set only and is cleared by reset. + /// Clock security system enable Set by software to enable the clock security system. When CSSON is set, the clock detector is enabled by hardware when the HSE oscillator is ready, and disabled by hardware if a HSE clock failure is detected. This bit is set only and is cleared by reset. CSSON: u1, - /// HSE external clock bypass mode Set and reset by software to select the external clock mode in bypass mode. External clock mode must be configured with HSEON bit to be used by the device. This bit can be written only if the HSE oscillator is disabled. This bit is active only if the HSE bypass mode is enabled. - HSEEXT: packed union { - raw: u1, - value: HSEEXT, - }, + /// HSE external clock bypass mode Set and reset by software to select the external clock mode in bypass mode. External clock mode must be configured with HSEON bit to be used by the device. This bit can be written only if the HSE oscillator is disabled. This bit is active only if the HSE bypass mode is enabled. + HSEEXT: HSEEXT, reserved24: u3, - /// PLL1 enable Set and cleared by software to enable the main PLL. Cleared by hardware when entering Stop, Standby or Shutdown mode. This bit cannot be reset if the PLL1 clock is used as the system clock. + /// PLL1 enable Set and cleared by software to enable the main PLL. Cleared by hardware when entering Stop, Standby or Shutdown mode. This bit cannot be reset if the PLL1 clock is used as the system clock. PLLON: u1, - /// PLL1 clock ready flag Set by hardware to indicate that the PLL1 is locked. + /// PLL1 clock ready flag Set by hardware to indicate that the PLL1 is locked. PLLRDY: u1, padding: u6, }), reserved8: [4]u8, - /// RCC internal clock sources calibration register 1 + /// RCC internal clock sources calibration register 1 ICSCR1: mmio.Mmio(packed struct(u32) { - /// MSIRC3 clock calibration for MSI ranges 12 to 15 These bits are initialized at startup with the factory-programmed MSIRC3 calibration trim value for ranges 12 to 15. When MSITRIM3 is written, MSICAL3 is updated with the sum of MSITRIM3[4:0] and the factory calibration trim value MSIRC2[4:0]. There is no hardware protection to limit a potential overflow due to the addition of MSITRIM bitfield and factory program bitfield for this calibration value. Control must be managed by software at user level. + /// MSIRC3 clock calibration for MSI ranges 12 to 15 These bits are initialized at startup with the factory-programmed MSIRC3 calibration trim value for ranges 12 to 15. When MSITRIM3 is written, MSICAL3 is updated with the sum of MSITRIM3[4:0] and the factory calibration trim value MSIRC2[4:0]. There is no hardware protection to limit a potential overflow due to the addition of MSITRIM bitfield and factory program bitfield for this calibration value. Control must be managed by software at user level. MSICAL3: u5, - /// MSIRC2 clock calibration for MSI ranges 8 to 11 These bits are initialized at startup with the factory-programmed MSIRC2 calibration trim value for ranges 8 to 11. When MSITRIM2 is written, MSICAL2 is updated with the sum of MSITRIM2[4:0] and the factory calibration trim value MSIRC2[4:0]. There is no hardware protection to limit a potential overflow due to the addition of MSITRIM bitfield and factory program bitfield for this calibration value. Control must be managed by software at user level. + /// MSIRC2 clock calibration for MSI ranges 8 to 11 These bits are initialized at startup with the factory-programmed MSIRC2 calibration trim value for ranges 8 to 11. When MSITRIM2 is written, MSICAL2 is updated with the sum of MSITRIM2[4:0] and the factory calibration trim value MSIRC2[4:0]. There is no hardware protection to limit a potential overflow due to the addition of MSITRIM bitfield and factory program bitfield for this calibration value. Control must be managed by software at user level. MSICAL2: u5, - /// MSIRC1 clock calibration for MSI ranges 4 to 7 These bits are initialized at startup with the factory-programmed MSIRC1 calibration trim value for ranges 4 to 7. When MSITRIM1 is written, MSICAL1 is updated with the sum of MSITRIM1[4:0] and the factory calibration trim value MSIRC1[4:0]. There is no hardware protection to limit a potential overflow due to the addition of MSITRIM bitfield and factory program bitfield for this calibration value. Control must be managed by software at user level. + /// MSIRC1 clock calibration for MSI ranges 4 to 7 These bits are initialized at startup with the factory-programmed MSIRC1 calibration trim value for ranges 4 to 7. When MSITRIM1 is written, MSICAL1 is updated with the sum of MSITRIM1[4:0] and the factory calibration trim value MSIRC1[4:0]. There is no hardware protection to limit a potential overflow due to the addition of MSITRIM bitfield and factory program bitfield for this calibration value. Control must be managed by software at user level. MSICAL1: u5, - /// MSIRC0 clock calibration for MSI ranges 0 to 3 These bits are initialized at startup with the factory-programmed MSIRC0 calibration trim value for ranges 0 to 3. When MSITRIM0 is written, MSICAL0 is updated with the sum of MSITRIM0[4:0] and the factory-programmed calibration trim value MSIRC0[4:0]. + /// MSIRC0 clock calibration for MSI ranges 0 to 3 These bits are initialized at startup with the factory-programmed MSIRC0 calibration trim value for ranges 0 to 3. When MSITRIM0 is written, MSICAL0 is updated with the sum of MSITRIM0[4:0] and the factory-programmed calibration trim value MSIRC0[4:0]. MSICAL0: u5, reserved22: u2, - /// MSI bias mode selection Set by software to select the MSI bias mode. By default, the MSI bias is in continuous mode in order to maintain the output clocks accuracy. Setting this bit reduces the MSI consumption under range 4 but decrease its accuracy. - MSIBIAS: packed union { - raw: u1, - value: MSIBIAS, - }, - /// MSI clock range selection Set by software to select the MSIS and MSIK clocks range with MSISRANGE[3:0] and MSIKRANGE[3:0]. Write 0 has no effect. After exiting Standby or Shutdown mode, or after a reset, this bit is at 0 and the MSIS and MSIK ranges are provided by MSISSRANGE[3:0] and MSIKSRANGE[3:0] in RCC_CSR. - MSIRGSEL: packed union { - raw: u1, - value: MSIRGSEL, - }, - /// MSIK clock ranges These bits are configured by software to choose the frequency range of MSIK oscillator when MSIRGSEL is set. 16 frequency ranges are available: Note: MSIKRANGE can be modified when MSIK is OFF (MSISON = 0) or when MSIK is ready (MSIKRDY = 1). MSIKRANGE must NOT be modified when MSIK is ON and NOT ready (MSIKON = 1 and MSIKRDY = 0) MSIKRANGE is kept when the device wakes up from Stop mode, except when the MSIK range is above 24 MHz. In this case MSIKRANGE is changed by hardware into Range 2 (24 MHz). - MSIKRANGE: packed union { - raw: u4, - value: MSIRANGE, - }, - /// MSIS clock ranges These bits are configured by software to choose the frequency range of MSIS oscillator when MSIRGSEL is set. 16 frequency ranges are available: Note: MSISRANGE can be modified when MSIS is OFF (MSISON = 0) or when MSIS is ready (MSISRDY = 1). MSISRANGE must NOT be modified when MSIS is ON and NOT ready (MSISON = 1 and MSISRDY = 0) MSISRANGE is kept when the device wakes up from Stop mode, except when the MSIS range is above 24 MHz. In this case MSISRANGE is changed by hardware into Range 2 (24 MHz). - MSISRANGE: packed union { - raw: u4, - value: MSIRANGE, - }, - }), - /// RCC internal clock sources calibration register 2 + /// MSI bias mode selection Set by software to select the MSI bias mode. By default, the MSI bias is in continuous mode in order to maintain the output clocks accuracy. Setting this bit reduces the MSI consumption under range 4 but decrease its accuracy. + MSIBIAS: MSIBIAS, + /// MSI clock range selection Set by software to select the MSIS and MSIK clocks range with MSISRANGE[3:0] and MSIKRANGE[3:0]. Write 0 has no effect. After exiting Standby or Shutdown mode, or after a reset, this bit is at 0 and the MSIS and MSIK ranges are provided by MSISSRANGE[3:0] and MSIKSRANGE[3:0] in RCC_CSR. + MSIRGSEL: MSIRGSEL, + /// MSIK clock ranges These bits are configured by software to choose the frequency range of MSIK oscillator when MSIRGSEL is set. 16 frequency ranges are available: Note: MSIKRANGE can be modified when MSIK is OFF (MSISON = 0) or when MSIK is ready (MSIKRDY = 1). MSIKRANGE must NOT be modified when MSIK is ON and NOT ready (MSIKON = 1 and MSIKRDY = 0) MSIKRANGE is kept when the device wakes up from Stop mode, except when the MSIK range is above 24 MHz. In this case MSIKRANGE is changed by hardware into Range 2 (24 MHz). + MSIKRANGE: MSIRANGE, + /// MSIS clock ranges These bits are configured by software to choose the frequency range of MSIS oscillator when MSIRGSEL is set. 16 frequency ranges are available: Note: MSISRANGE can be modified when MSIS is OFF (MSISON = 0) or when MSIS is ready (MSISRDY = 1). MSISRANGE must NOT be modified when MSIS is ON and NOT ready (MSISON = 1 and MSISRDY = 0) MSISRANGE is kept when the device wakes up from Stop mode, except when the MSIS range is above 24 MHz. In this case MSISRANGE is changed by hardware into Range 2 (24 MHz). + MSISRANGE: MSIRANGE, + }), + /// RCC internal clock sources calibration register 2 ICSCR2: mmio.Mmio(packed struct(u32) { - /// MSI clock trimming for ranges 12 to 15 These bits provide an additional user-programmable trimming value that is added to the factory-programmed calibration trim value MSIRC3[4:0] bits. It can be programmed to adjust to voltage and temperature variations that influence the frequency of the MSI. + /// MSI clock trimming for ranges 12 to 15 These bits provide an additional user-programmable trimming value that is added to the factory-programmed calibration trim value MSIRC3[4:0] bits. It can be programmed to adjust to voltage and temperature variations that influence the frequency of the MSI. MSITRIM3: u5, - /// MSI clock trimming for ranges 8 to 11 These bits provide an additional user-programmable trimming value that is added to the factory-programmed calibration trim value MSIRC2[4:0] bits. It can be programmed to adjust to voltage and temperature variations that influence the frequency of the MSI. + /// MSI clock trimming for ranges 8 to 11 These bits provide an additional user-programmable trimming value that is added to the factory-programmed calibration trim value MSIRC2[4:0] bits. It can be programmed to adjust to voltage and temperature variations that influence the frequency of the MSI. MSITRIM2: u5, - /// MSI clock trimming for ranges 4 to 7 These bits provide an additional user-programmable trimming value that is added to the factory-programmed calibration trim value MSIRC1[4:0] bits. It can be programmed to adjust to voltage and temperature variations that influence the frequency of the MSI. + /// MSI clock trimming for ranges 4 to 7 These bits provide an additional user-programmable trimming value that is added to the factory-programmed calibration trim value MSIRC1[4:0] bits. It can be programmed to adjust to voltage and temperature variations that influence the frequency of the MSI. MSITRIM1: u5, - /// MSI clock trimming for ranges 0 to 3 These bits provide an additional user-programmable trimming value that is added to the factory-programmed calibration trim value MSIRC0[4:0] bits. It can be programmed to adjust to voltage and temperature variations that influence the frequency of the MSI. + /// MSI clock trimming for ranges 0 to 3 These bits provide an additional user-programmable trimming value that is added to the factory-programmed calibration trim value MSIRC0[4:0] bits. It can be programmed to adjust to voltage and temperature variations that influence the frequency of the MSI. MSITRIM0: u5, padding: u12, }), - /// RCC internal clock sources calibration register 3 + /// RCC internal clock sources calibration register 3 ICSCR3: mmio.Mmio(packed struct(u32) { - /// HSI clock calibration These bits are initialized at startup with the factory-programmed HSI calibration trim value. When HSITRIM is written, HSICAL is updated with the sum of HSITRIM and the factory trim value. + /// HSI clock calibration These bits are initialized at startup with the factory-programmed HSI calibration trim value. When HSITRIM is written, HSICAL is updated with the sum of HSITRIM and the factory trim value. HSICAL: u12, reserved16: u4, - /// HSI clock trimming These bits provide an additional user-programmable trimming value that is added to the HSICAL[11:0] bits. It can be programmed to adjust to voltage and temperature variations that influence the frequency of the HSI. + /// HSI clock trimming These bits provide an additional user-programmable trimming value that is added to the HSICAL[11:0] bits. It can be programmed to adjust to voltage and temperature variations that influence the frequency of the HSI. HSITRIM: u5, padding: u11, }), - /// RCC clock recovery RC register + /// RCC clock recovery RC register CRRCR: mmio.Mmio(packed struct(u32) { - /// HSI48 clock calibration These bits are initialized at startup with the factory-programmed HSI48 calibration trim value. + /// HSI48 clock calibration These bits are initialized at startup with the factory-programmed HSI48 calibration trim value. HSI48CAL: u9, padding: u23, }), reserved28: [4]u8, - /// RCC clock configuration register 1 + /// RCC clock configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { - /// system clock switch Set and cleared by software to select system clock source (SYSCLK). Configured by hardware to force MSIS oscillator selection when exiting Standby or Shutdown mode. Configured by hardware to force MSIS or HSI oscillator selection when exiting Stop mode or in case of HSE oscillator failure, depending on STOPWUCK value. - SW: packed union { - raw: u2, - value: SW, - }, - /// system clock switch status Set and cleared by hardware to indicate which clock source is used as system clock. - SWS: packed union { - raw: u2, - value: SW, - }, - /// wakeup from Stop and CSS backup clock selection Set and cleared by software to select the system clock used when exiting Stop mode. The selected clock is also used as emergency clock for the clock security system on HSE. Warning: STOPWUCK must not be modified when the CSS is enabled by HSECSSON bit in RCC_CR and the system clock is HSE (SWS = 10) or a switch on HSE is requested (SW = 10). - STOPWUCK: packed union { - raw: u1, - value: STOPWUCK, - }, - /// wakeup from Stop kernel clock automatic enable selection Set and cleared by software to enable automatically another oscillator when exiting Stop mode. This oscillator can be used as independent kernel clock by peripherals. - STOPKERWUCK: packed union { - raw: u1, - value: STOPKERWUCK, - }, + /// system clock switch Set and cleared by software to select system clock source (SYSCLK). Configured by hardware to force MSIS oscillator selection when exiting Standby or Shutdown mode. Configured by hardware to force MSIS or HSI oscillator selection when exiting Stop mode or in case of HSE oscillator failure, depending on STOPWUCK value. + SW: SW, + /// system clock switch status Set and cleared by hardware to indicate which clock source is used as system clock. + SWS: SW, + /// wakeup from Stop and CSS backup clock selection Set and cleared by software to select the system clock used when exiting Stop mode. The selected clock is also used as emergency clock for the clock security system on HSE. Warning: STOPWUCK must not be modified when the CSS is enabled by HSECSSON bit in RCC_CR and the system clock is HSE (SWS = 10) or a switch on HSE is requested (SW = 10). + STOPWUCK: STOPWUCK, + /// wakeup from Stop kernel clock automatic enable selection Set and cleared by software to enable automatically another oscillator when exiting Stop mode. This oscillator can be used as independent kernel clock by peripherals. + STOPKERWUCK: STOPKERWUCK, reserved24: u18, - /// microcontroller clock output Set and cleared by software. Others: reserved Note: This clock output may have some truncated cycles at startup or during MCO clock source switching. - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// microcontroller clock output prescaler Set and cleared by software. It is highly recommended to change this prescaler before MCO output is enabled. Others: not allowed - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, + /// microcontroller clock output Set and cleared by software. Others: reserved Note: This clock output may have some truncated cycles at startup or during MCO clock source switching. + MCOSEL: MCOSEL, + /// microcontroller clock output prescaler Set and cleared by software. It is highly recommended to change this prescaler before MCO output is enabled. Others: not allowed + MCOPRE: MCOPRE, padding: u1, }), - /// RCC clock configuration register 2 + /// RCC clock configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// AHB prescaler Set and cleared by software to control the division factor of the AHB clock (HCLK). Depending on the device voltage range, the software must set these bits correctly to ensure that the system frequency does not exceed the maximum allowed frequency (for more details, refer to ). After a write operation to these bits and before decreasing the voltage range, this register must be read to be sure that the new value is taken into account. 0xxx: SYSCLK not divided - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// APB1 prescaler Set and cleared by software to control the division factor of the APB1 clock (PCLK1). 0xx: HCLK not divided - PPRE1: packed union { - raw: u3, - value: PPRE, - }, + /// AHB prescaler Set and cleared by software to control the division factor of the AHB clock (HCLK). Depending on the device voltage range, the software must set these bits correctly to ensure that the system frequency does not exceed the maximum allowed frequency (for more details, refer to ). After a write operation to these bits and before decreasing the voltage range, this register must be read to be sure that the new value is taken into account. 0xxx: SYSCLK not divided + HPRE: HPRE, + /// APB1 prescaler Set and cleared by software to control the division factor of the APB1 clock (PCLK1). 0xx: HCLK not divided + PPRE1: PPRE, reserved8: u1, - /// APB2 prescaler Set and cleared by software to control the division factor of the APB2 clock (PCLK2). 0xx: HCLK not divided - PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// APB2 prescaler Set and cleared by software to control the division factor of the APB2 clock (PCLK2). 0xx: HCLK not divided + PPRE2: PPRE, reserved12: u1, - /// DSI PHY prescaler This bitfiled is set and cleared by software to control the division factor of DSI PHY bus clock (DCLK). 0xx: DCLK not divided Note: This bitfield is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bitfield as reserved and keep it at reset value. - DPRE: packed union { - raw: u3, - value: DPRE, - }, + /// DSI PHY prescaler This bitfiled is set and cleared by software to control the division factor of DSI PHY bus clock (DCLK). 0xx: DCLK not divided Note: This bitfield is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bitfield as reserved and keep it at reset value. + DPRE: DPRE, reserved16: u1, - /// AHB1 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB1 peripherals (except those listed hereafter) are used and when their clocks are disabled in RCC_AHB1ENR. When this bit is set, all the AHB1 peripherals clocks are off, except for FLASH, BKPSRAM, ICACHE, DCACHE1 and SRAM1. + /// AHB1 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB1 peripherals (except those listed hereafter) are used and when their clocks are disabled in RCC_AHB1ENR. When this bit is set, all the AHB1 peripherals clocks are off, except for FLASH, BKPSRAM, ICACHE, DCACHE1 and SRAM1. AHB1DIS: u1, - /// AHB2_1 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB2 peripherals from RCC_AHB2ENR1 (except SRAM2 and SRAM3) are used and when their clocks are disabled in RCC_AHB2ENR1. When this bit is set, all the AHB2 peripherals clocks from RCC_AHB2ENR1 are off, except for SRAM2 and SRAM3. + /// AHB2_1 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB2 peripherals from RCC_AHB2ENR1 (except SRAM2 and SRAM3) are used and when their clocks are disabled in RCC_AHB2ENR1. When this bit is set, all the AHB2 peripherals clocks from RCC_AHB2ENR1 are off, except for SRAM2 and SRAM3. AHB2DIS1: u1, - /// AHB2_2 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB2 peripherals from RCC_AHB2ENR2 are used and when their clocks are disabled in RCC_AHB2ENR2. When this bit is set, all the AHB2 peripherals clocks from RCC_AHB2EBNR2 are off. + /// AHB2_2 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB2 peripherals from RCC_AHB2ENR2 are used and when their clocks are disabled in RCC_AHB2ENR2. When this bit is set, all the AHB2 peripherals clocks from RCC_AHB2EBNR2 are off. AHB2DIS2: u1, - /// APB1 clock disable This bit can be set in order to further reduce power consumption, when none of the APB1 peripherals (except IWDG) are used and when their clocks are disabled in RCC_APB1ENR. When this bit is set, all the APB1 peripherals clocks are off, except for IWDG. + /// APB1 clock disable This bit can be set in order to further reduce power consumption, when none of the APB1 peripherals (except IWDG) are used and when their clocks are disabled in RCC_APB1ENR. When this bit is set, all the APB1 peripherals clocks are off, except for IWDG. APB1DIS: u1, - /// APB2 clock disable This bit can be set in order to further reduce power consumption, when none of the APB2 peripherals are used and when their clocks are disabled in RCC_APB2ENR. When this bit is set, all the APB2 peripherals clocks are off. + /// APB2 clock disable This bit can be set in order to further reduce power consumption, when none of the APB2 peripherals are used and when their clocks are disabled in RCC_APB2ENR. When this bit is set, all the APB2 peripherals clocks are off. APB2DIS: u1, padding: u11, }), - /// RCC clock configuration register 3 + /// RCC clock configuration register 3 CFGR3: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// APB3 prescaler Set and cleared by software to control the division factor of the APB3 clock (PCLK3). 0xx: HCLK not divided - PPRE3: packed union { - raw: u3, - value: PPRE, - }, + /// APB3 prescaler Set and cleared by software to control the division factor of the APB3 clock (PCLK3). 0xx: HCLK not divided + PPRE3: PPRE, reserved16: u9, - /// AHB3 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB3 peripherals (except SRAM4) are used and when their clocks are disabled in RCC_AHB3ENR. When this bit is set, all the AHB3 peripherals clocks are off, except for SRAM4. + /// AHB3 clock disable This bit can be set in order to further reduce power consumption, when none of the AHB3 peripherals (except SRAM4) are used and when their clocks are disabled in RCC_AHB3ENR. When this bit is set, all the AHB3 peripherals clocks are off, except for SRAM4. AHB3DIS: u1, - /// APB3 clock disable This bit can be set in order to further reduce power consumption, when none of the APB3 peripherals from RCC_APB3ENR are used and when their clocks are disabled in RCC_APB3ENR. When this bit is set, all the APB3 peripherals clocks are off. + /// APB3 clock disable This bit can be set in order to further reduce power consumption, when none of the APB3 peripherals from RCC_APB3ENR are used and when their clocks are disabled in RCC_APB3ENR. When this bit is set, all the APB3 peripherals clocks are off. APB3DIS: u1, padding: u14, }), - /// RCC PLL1 configuration register + /// RCC PLL1 configuration register PLL1CFGR: mmio.Mmio(packed struct(u32) { - /// PLL entry clock source Set and cleared by software to select PLL clock source. These bits can be written only when the PLL is disabled. In order to save power, when no PLL is used, the value of PLLSRC must be 0. - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, - /// PLL input frequency range Set and reset by software to select the proper reference frequency range used for PLL. This bit must be written before enabling the PLL. 00-01-10: PLL input (ref1_ck) clock range frequency between 4 and 8 MHz - PLLRGE: packed union { - raw: u2, - value: PLLRGE, - }, - /// PLL fractional latch enable Set and reset by software to latch the content of PLLFRACN into the ΣΠmodulator. In order to latch the PLLFRACN value into the ΣΠmodulator, PLLFRACEN must be set to 0, then set to 1: the transition 0 to 1 transfers the content of PLLFRACN into the modulator (see for details). + /// PLL entry clock source Set and cleared by software to select PLL clock source. These bits can be written only when the PLL is disabled. In order to save power, when no PLL is used, the value of PLLSRC must be 0. + PLLSRC: PLLSRC, + /// PLL input frequency range Set and reset by software to select the proper reference frequency range used for PLL. This bit must be written before enabling the PLL. 00-01-10: PLL input (ref1_ck) clock range frequency between 4 and 8 MHz + PLLRGE: PLLRGE, + /// PLL fractional latch enable Set and reset by software to latch the content of PLLFRACN into the ΣΠmodulator. In order to latch the PLLFRACN value into the ΣΠmodulator, PLLFRACEN must be set to 0, then set to 1: the transition 0 to 1 transfers the content of PLLFRACN into the modulator (see for details). PLLFRACEN: u1, reserved8: u3, - /// Prescaler for PLL Set and cleared by software to configure the prescaler of the PLL. The VCO1 input frequency is PLL input clock frequency/PLLM. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). ... - PLLM: packed union { - raw: u4, - value: PLLM, - }, - /// Prescaler for EPOD booster input clock Set and cleared by software to configure the prescaler of the PLL, used for the EPOD booster. The EPOD booster input frequency is PLL input clock frequency/PLLMBOOST. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0) and EPOD Boost mode is disabled (see ). others: reserved - PLLMBOOST: packed union { - raw: u4, - value: PLLMBOOST, - }, - /// PLL DIVP divider output enable Set and reset by software to enable the PLL_p_ck output of the PLL. To save power, PLLPEN and PLLP bits must be set to 0 when the PLL_p_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). + /// Prescaler for PLL Set and cleared by software to configure the prescaler of the PLL. The VCO1 input frequency is PLL input clock frequency/PLLM. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). ... + PLLM: PLLM, + /// Prescaler for EPOD booster input clock Set and cleared by software to configure the prescaler of the PLL, used for the EPOD booster. The EPOD booster input frequency is PLL input clock frequency/PLLMBOOST. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0) and EPOD Boost mode is disabled (see ). others: reserved + PLLMBOOST: PLLMBOOST, + /// PLL DIVP divider output enable Set and reset by software to enable the PLL_p_ck output of the PLL. To save power, PLLPEN and PLLP bits must be set to 0 when the PLL_p_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). PLLPEN: u1, - /// PLL DIVQ divider output enable Set and reset by software to enable the PLL_q_ck output of the PLL. To save power, PLLQEN and PLLQ bits must be set to 0 when the PLL_q_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). + /// PLL DIVQ divider output enable Set and reset by software to enable the PLL_q_ck output of the PLL. To save power, PLLQEN and PLLQ bits must be set to 0 when the PLL_q_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). PLLQEN: u1, - /// PLL DIVR divider output enable Set and reset by software to enable the PLL_r_ck output of the PLL. To save power, PLLRENPLL2REN and PLLR bits must be set to 0 when the PLL_r_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). + /// PLL DIVR divider output enable Set and reset by software to enable the PLL_r_ck output of the PLL. To save power, PLLRENPLL2REN and PLLR bits must be set to 0 when the PLL_r_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). PLLREN: u1, padding: u13, }), - /// RCC PLL2 configuration register + /// RCC PLL2 configuration register PLL2CFGR: mmio.Mmio(packed struct(u32) { - /// PLL entry clock source Set and cleared by software to select PLL clock source. These bits can be written only when the PLL is disabled. In order to save power, when no PLL is used, the value of PLLSRC must be 0. - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, - /// PLL input frequency range Set and reset by software to select the proper reference frequency range used for PLL. This bit must be written before enabling the PLL. 00-01-10: PLL input (ref1_ck) clock range frequency between 4 and 8 MHz - PLLRGE: packed union { - raw: u2, - value: PLLRGE, - }, - /// PLL fractional latch enable Set and reset by software to latch the content of PLLFRACN into the ΣΠmodulator. In order to latch the PLLFRACN value into the ΣΠmodulator, PLLFRACEN must be set to 0, then set to 1: the transition 0 to 1 transfers the content of PLLFRACN into the modulator (see for details). + /// PLL entry clock source Set and cleared by software to select PLL clock source. These bits can be written only when the PLL is disabled. In order to save power, when no PLL is used, the value of PLLSRC must be 0. + PLLSRC: PLLSRC, + /// PLL input frequency range Set and reset by software to select the proper reference frequency range used for PLL. This bit must be written before enabling the PLL. 00-01-10: PLL input (ref1_ck) clock range frequency between 4 and 8 MHz + PLLRGE: PLLRGE, + /// PLL fractional latch enable Set and reset by software to latch the content of PLLFRACN into the ΣΠmodulator. In order to latch the PLLFRACN value into the ΣΠmodulator, PLLFRACEN must be set to 0, then set to 1: the transition 0 to 1 transfers the content of PLLFRACN into the modulator (see for details). PLLFRACEN: u1, reserved8: u3, - /// Prescaler for PLL Set and cleared by software to configure the prescaler of the PLL. The VCO1 input frequency is PLL input clock frequency/PLLM. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). ... - PLLM: packed union { - raw: u4, - value: PLLM, - }, + /// Prescaler for PLL Set and cleared by software to configure the prescaler of the PLL. The VCO1 input frequency is PLL input clock frequency/PLLM. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). ... + PLLM: PLLM, reserved16: u4, - /// PLL DIVP divider output enable Set and reset by software to enable the PLL_p_ck output of the PLL. To save power, PLLPEN and PLLP bits must be set to 0 when the PLL_p_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). + /// PLL DIVP divider output enable Set and reset by software to enable the PLL_p_ck output of the PLL. To save power, PLLPEN and PLLP bits must be set to 0 when the PLL_p_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). PLLPEN: u1, - /// PLL DIVQ divider output enable Set and reset by software to enable the PLL_q_ck output of the PLL. To save power, PLLQEN and PLLQ bits must be set to 0 when the PLL_q_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). + /// PLL DIVQ divider output enable Set and reset by software to enable the PLL_q_ck output of the PLL. To save power, PLLQEN and PLLQ bits must be set to 0 when the PLL_q_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). PLLQEN: u1, - /// PLL DIVR divider output enable Set and reset by software to enable the PLL_r_ck output of the PLL. To save power, PLLRENPLL2REN and PLLR bits must be set to 0 when the PLL_r_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). + /// PLL DIVR divider output enable Set and reset by software to enable the PLL_r_ck output of the PLL. To save power, PLLRENPLL2REN and PLLR bits must be set to 0 when the PLL_r_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). PLLREN: u1, padding: u13, }), - /// RCC PLL3 configuration register + /// RCC PLL3 configuration register PLL3CFGR: mmio.Mmio(packed struct(u32) { - /// PLL entry clock source Set and cleared by software to select PLL clock source. These bits can be written only when the PLL is disabled. In order to save power, when no PLL is used, the value of PLLSRC must be 0. - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, - /// PLL input frequency range Set and reset by software to select the proper reference frequency range used for PLL. This bit must be written before enabling the PLL. 00-01-10: PLL input (ref1_ck) clock range frequency between 4 and 8 MHz - PLLRGE: packed union { - raw: u2, - value: PLLRGE, - }, - /// PLL fractional latch enable Set and reset by software to latch the content of PLLFRACN into the ΣΠmodulator. In order to latch the PLLFRACN value into the ΣΠmodulator, PLLFRACEN must be set to 0, then set to 1: the transition 0 to 1 transfers the content of PLLFRACN into the modulator (see for details). + /// PLL entry clock source Set and cleared by software to select PLL clock source. These bits can be written only when the PLL is disabled. In order to save power, when no PLL is used, the value of PLLSRC must be 0. + PLLSRC: PLLSRC, + /// PLL input frequency range Set and reset by software to select the proper reference frequency range used for PLL. This bit must be written before enabling the PLL. 00-01-10: PLL input (ref1_ck) clock range frequency between 4 and 8 MHz + PLLRGE: PLLRGE, + /// PLL fractional latch enable Set and reset by software to latch the content of PLLFRACN into the ΣΠmodulator. In order to latch the PLLFRACN value into the ΣΠmodulator, PLLFRACEN must be set to 0, then set to 1: the transition 0 to 1 transfers the content of PLLFRACN into the modulator (see for details). PLLFRACEN: u1, reserved8: u3, - /// Prescaler for PLL Set and cleared by software to configure the prescaler of the PLL. The VCO1 input frequency is PLL input clock frequency/PLLM. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). ... - PLLM: packed union { - raw: u4, - value: PLLM, - }, + /// Prescaler for PLL Set and cleared by software to configure the prescaler of the PLL. The VCO1 input frequency is PLL input clock frequency/PLLM. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). ... + PLLM: PLLM, reserved16: u4, - /// PLL DIVP divider output enable Set and reset by software to enable the PLL_p_ck output of the PLL. To save power, PLLPEN and PLLP bits must be set to 0 when the PLL_p_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). + /// PLL DIVP divider output enable Set and reset by software to enable the PLL_p_ck output of the PLL. To save power, PLLPEN and PLLP bits must be set to 0 when the PLL_p_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). PLLPEN: u1, - /// PLL DIVQ divider output enable Set and reset by software to enable the PLL_q_ck output of the PLL. To save power, PLLQEN and PLLQ bits must be set to 0 when the PLL_q_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). + /// PLL DIVQ divider output enable Set and reset by software to enable the PLL_q_ck output of the PLL. To save power, PLLQEN and PLLQ bits must be set to 0 when the PLL_q_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). PLLQEN: u1, - /// PLL DIVR divider output enable Set and reset by software to enable the PLL_r_ck output of the PLL. To save power, PLLRENPLL2REN and PLLR bits must be set to 0 when the PLL_r_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). + /// PLL DIVR divider output enable Set and reset by software to enable the PLL_r_ck output of the PLL. To save power, PLLRENPLL2REN and PLLR bits must be set to 0 when the PLL_r_ck is not used. This bit can be written only when the PLL is disabled (PLLON = 0 and PLLRDY = 0). PLLREN: u1, padding: u13, }), - /// RCC PLL1 dividers register + /// RCC PLL1 dividers register PLL1DIVR: mmio.Mmio(packed struct(u32) { - /// Multiplication factor for PLL1 VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL is disabled (PLL1ON = 0 and PLL1RDY = 0). ... ... Others: reserved VCO output frequency = Fref1_ck x PLL1N, when fractional value 0 has been loaded into PLL1FRACN, with: PLL1N between 4 and 512 input frequency Fref1_ck between 4 and 16 MHz - PLLN: packed union { - raw: u9, - value: PLLN, - }, - /// PLL1 DIVP division factor Set and reset by software to control the frequency of the pll1_p_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). Note that odd division factors are not allowed. ... - PLLP: packed union { - raw: u7, - value: PLLDIV, - }, - /// PLL1 DIVQ division factor Set and reset by software to control the frequency of the pll1_q_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... - PLLQ: packed union { - raw: u7, - value: PLLDIV, - }, + /// Multiplication factor for PLL1 VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL is disabled (PLL1ON = 0 and PLL1RDY = 0). ... ... Others: reserved VCO output frequency = Fref1_ck x PLL1N, when fractional value 0 has been loaded into PLL1FRACN, with: PLL1N between 4 and 512 input frequency Fref1_ck between 4 and 16 MHz + PLLN: PLLN, + /// PLL1 DIVP division factor Set and reset by software to control the frequency of the pll1_p_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). Note that odd division factors are not allowed. ... + PLLP: PLLDIV, + /// PLL1 DIVQ division factor Set and reset by software to control the frequency of the pll1_q_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... + PLLQ: PLLDIV, reserved24: u1, - /// PLL1 DIVR division factor Set and reset by software to control the frequency of the pll1_r_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... - PLLR: packed union { - raw: u7, - value: PLLDIV, - }, + /// PLL1 DIVR division factor Set and reset by software to control the frequency of the pll1_r_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... + PLLR: PLLDIV, padding: u1, }), - /// RCC PLL1 fractional divider register + /// RCC PLL1 fractional divider register PLL1FRACR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Fractional part of the multiplication factor for PLL1 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO. VCO output frequency = Fref1_ck x (PLL1N + (PLL1FRACN / 213)), with: PLL1N must be between 4 and 512. PLL1FRACN can be between 0 and 213- 1. The input frequency Fref1_ck must be between 4 and 16 MHz. To change the FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows: Set the bit PLL1FRACEN to 0. Write the new fractional value into PLL1FRACN. Set the bit PLL1FRACEN to 1. + /// Fractional part of the multiplication factor for PLL1 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO. VCO output frequency = Fref1_ck x (PLL1N + (PLL1FRACN / 213)), with: PLL1N must be between 4 and 512. PLL1FRACN can be between 0 and 213- 1. The input frequency Fref1_ck must be between 4 and 16 MHz. To change the FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows: Set the bit PLL1FRACEN to 0. Write the new fractional value into PLL1FRACN. Set the bit PLL1FRACEN to 1. PLLFRACN: u13, padding: u16, }), - /// RCC PLL2 dividers configuration register + /// RCC PLL2 dividers configuration register PLL2DIVR: mmio.Mmio(packed struct(u32) { - /// Multiplication factor for PLL1 VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL is disabled (PLL1ON = 0 and PLL1RDY = 0). ... ... Others: reserved VCO output frequency = Fref1_ck x PLL1N, when fractional value 0 has been loaded into PLL1FRACN, with: PLL1N between 4 and 512 input frequency Fref1_ck between 4 and 16 MHz - PLLN: packed union { - raw: u9, - value: PLLN, - }, - /// PLL1 DIVP division factor Set and reset by software to control the frequency of the pll1_p_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). Note that odd division factors are not allowed. ... - PLLP: packed union { - raw: u7, - value: PLLDIV, - }, - /// PLL1 DIVQ division factor Set and reset by software to control the frequency of the pll1_q_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... - PLLQ: packed union { - raw: u7, - value: PLLDIV, - }, + /// Multiplication factor for PLL1 VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL is disabled (PLL1ON = 0 and PLL1RDY = 0). ... ... Others: reserved VCO output frequency = Fref1_ck x PLL1N, when fractional value 0 has been loaded into PLL1FRACN, with: PLL1N between 4 and 512 input frequency Fref1_ck between 4 and 16 MHz + PLLN: PLLN, + /// PLL1 DIVP division factor Set and reset by software to control the frequency of the pll1_p_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). Note that odd division factors are not allowed. ... + PLLP: PLLDIV, + /// PLL1 DIVQ division factor Set and reset by software to control the frequency of the pll1_q_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... + PLLQ: PLLDIV, reserved24: u1, - /// PLL1 DIVR division factor Set and reset by software to control the frequency of the pll1_r_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... - PLLR: packed union { - raw: u7, - value: PLLDIV, - }, + /// PLL1 DIVR division factor Set and reset by software to control the frequency of the pll1_r_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... + PLLR: PLLDIV, padding: u1, }), - /// RCC PLL2 fractional divider register + /// RCC PLL2 fractional divider register PLL2FRACR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Fractional part of the multiplication factor for PLL1 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO. VCO output frequency = Fref1_ck x (PLL1N + (PLL1FRACN / 213)), with: PLL1N must be between 4 and 512. PLL1FRACN can be between 0 and 213- 1. The input frequency Fref1_ck must be between 4 and 16 MHz. To change the FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows: Set the bit PLL1FRACEN to 0. Write the new fractional value into PLL1FRACN. Set the bit PLL1FRACEN to 1. + /// Fractional part of the multiplication factor for PLL1 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO. VCO output frequency = Fref1_ck x (PLL1N + (PLL1FRACN / 213)), with: PLL1N must be between 4 and 512. PLL1FRACN can be between 0 and 213- 1. The input frequency Fref1_ck must be between 4 and 16 MHz. To change the FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows: Set the bit PLL1FRACEN to 0. Write the new fractional value into PLL1FRACN. Set the bit PLL1FRACEN to 1. PLLFRACN: u13, padding: u16, }), - /// RCC PLL3 dividers configuration register + /// RCC PLL3 dividers configuration register PLL3DIVR: mmio.Mmio(packed struct(u32) { - /// Multiplication factor for PLL1 VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL is disabled (PLL1ON = 0 and PLL1RDY = 0). ... ... Others: reserved VCO output frequency = Fref1_ck x PLL1N, when fractional value 0 has been loaded into PLL1FRACN, with: PLL1N between 4 and 512 input frequency Fref1_ck between 4 and 16 MHz - PLLN: packed union { - raw: u9, - value: PLLN, - }, - /// PLL1 DIVP division factor Set and reset by software to control the frequency of the pll1_p_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). Note that odd division factors are not allowed. ... - PLLP: packed union { - raw: u7, - value: PLLDIV, - }, - /// PLL1 DIVQ division factor Set and reset by software to control the frequency of the pll1_q_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... - PLLQ: packed union { - raw: u7, - value: PLLDIV, - }, + /// Multiplication factor for PLL1 VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL is disabled (PLL1ON = 0 and PLL1RDY = 0). ... ... Others: reserved VCO output frequency = Fref1_ck x PLL1N, when fractional value 0 has been loaded into PLL1FRACN, with: PLL1N between 4 and 512 input frequency Fref1_ck between 4 and 16 MHz + PLLN: PLLN, + /// PLL1 DIVP division factor Set and reset by software to control the frequency of the pll1_p_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). Note that odd division factors are not allowed. ... + PLLP: PLLDIV, + /// PLL1 DIVQ division factor Set and reset by software to control the frequency of the pll1_q_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... + PLLQ: PLLDIV, reserved24: u1, - /// PLL1 DIVR division factor Set and reset by software to control the frequency of the pll1_r_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... - PLLR: packed union { - raw: u7, - value: PLLDIV, - }, + /// PLL1 DIVR division factor Set and reset by software to control the frequency of the pll1_r_ck clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... + PLLR: PLLDIV, padding: u1, }), - /// RCC PLL3 fractional divider register + /// RCC PLL3 fractional divider register PLL3FRACR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Fractional part of the multiplication factor for PLL1 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO. VCO output frequency = Fref1_ck x (PLL1N + (PLL1FRACN / 213)), with: PLL1N must be between 4 and 512. PLL1FRACN can be between 0 and 213- 1. The input frequency Fref1_ck must be between 4 and 16 MHz. To change the FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows: Set the bit PLL1FRACEN to 0. Write the new fractional value into PLL1FRACN. Set the bit PLL1FRACEN to 1. + /// Fractional part of the multiplication factor for PLL1 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO. VCO output frequency = Fref1_ck x (PLL1N + (PLL1FRACN / 213)), with: PLL1N must be between 4 and 512. PLL1FRACN can be between 0 and 213- 1. The input frequency Fref1_ck must be between 4 and 16 MHz. To change the FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows: Set the bit PLL1FRACEN to 0. Write the new fractional value into PLL1FRACN. Set the bit PLL1FRACEN to 1. PLLFRACN: u13, padding: u16, }), reserved80: [4]u8, - /// RCC clock interrupt enable register + /// RCC clock interrupt enable register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSI oscillator stabilization. + /// LSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSI oscillator stabilization. LSIRDYIE: u1, - /// LSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSE oscillator stabilization. + /// LSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSE oscillator stabilization. LSERDYIE: u1, - /// MSIS ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the MSIS oscillator stabilization. + /// MSIS ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the MSIS oscillator stabilization. MSISRDYIE: u1, - /// HSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSI oscillator stabilization. + /// HSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSI oscillator stabilization. HSIRDYIE: u1, - /// HSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSE oscillator stabilization. + /// HSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSE oscillator stabilization. HSERDYIE: u1, - /// HSI48 ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSI48 oscillator stabilization. + /// HSI48 ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSI48 oscillator stabilization. HSI48RDYIE: u1, - /// PLL ready interrupt enable Set and cleared by software to enable/disable interrupt caused by PLL1 lock. + /// PLL ready interrupt enable Set and cleared by software to enable/disable interrupt caused by PLL1 lock. PLLRDYIE: u1, reserved11: u4, - /// MSIK ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the MSIK oscillator stabilization. + /// MSIK ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the MSIK oscillator stabilization. MSIKRDYIE: u1, - /// SHSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the SHSI oscillator stabilization. + /// SHSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the SHSI oscillator stabilization. SHSIRDYIE: u1, padding: u19, }), - /// RCC clock interrupt flag register + /// RCC clock interrupt flag register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag Set by hardware when the LSI clock becomes stable and LSIRDYIE is set. Cleared by software setting the LSIRDYC bit. + /// LSI ready interrupt flag Set by hardware when the LSI clock becomes stable and LSIRDYIE is set. Cleared by software setting the LSIRDYC bit. LSIRDYF: u1, - /// LSE ready interrupt flag Set by hardware when the LSE clock becomes stable and LSERDYIE is set. Cleared by software setting the LSERDYC bit. + /// LSE ready interrupt flag Set by hardware when the LSE clock becomes stable and LSERDYIE is set. Cleared by software setting the LSERDYC bit. LSERDYF: u1, - /// MSIS ready interrupt flag Set by hardware when the MSIS clock becomes stable and MSISRDYIE is set. Cleared by software setting the MSISRDYC bit. + /// MSIS ready interrupt flag Set by hardware when the MSIS clock becomes stable and MSISRDYIE is set. Cleared by software setting the MSISRDYC bit. MSISRDYF: u1, - /// HSI ready interrupt flag Set by hardware when the HSI clock becomes stable and HSIRDYIE is set in a response to setting the HSION (see RCC_CR). When HSION is not set but the HSI oscillator is enabled by the peripheral through a clock request, this bit is not set and no interrupt is generated. Cleared by software setting the HSIRDYC bit. + /// HSI ready interrupt flag Set by hardware when the HSI clock becomes stable and HSIRDYIE is set in a response to setting the HSION (see RCC_CR). When HSION is not set but the HSI oscillator is enabled by the peripheral through a clock request, this bit is not set and no interrupt is generated. Cleared by software setting the HSIRDYC bit. HSIRDYF: u1, - /// HSE ready interrupt flag Set by hardware when the HSE clock becomes stable and HSERDYIE is set. Cleared by software setting the HSERDYC bit. + /// HSE ready interrupt flag Set by hardware when the HSE clock becomes stable and HSERDYIE is set. Cleared by software setting the HSERDYC bit. HSERDYF: u1, - /// HSI48 ready interrupt flag Set by hardware when the HSI48 clock becomes stable and HSI48RDYIE is set. Cleared by software setting the HSI48RDYC bit. + /// HSI48 ready interrupt flag Set by hardware when the HSI48 clock becomes stable and HSI48RDYIE is set. Cleared by software setting the HSI48RDYC bit. HSI48RDYF: u1, - /// PLL1 ready interrupt flag Set by hardware when the PLL1 locks and PLL1RDYIE is set. Cleared by software setting the PLL1RDYC bit. + /// PLL1 ready interrupt flag Set by hardware when the PLL1 locks and PLL1RDYIE is set. Cleared by software setting the PLL1RDYC bit. PLLRDYF: u1, reserved10: u3, - /// Clock security system interrupt flag Set by hardware when a failure is detected in the HSE oscillator. Cleared by software setting the CSSC bit. + /// Clock security system interrupt flag Set by hardware when a failure is detected in the HSE oscillator. Cleared by software setting the CSSC bit. CSSF: u1, - /// MSIK ready interrupt flag Set by hardware when the MSIK clock becomes stable and MSIKRDYIE is set. Cleared by software setting the MSIKRDYC bit. + /// MSIK ready interrupt flag Set by hardware when the MSIK clock becomes stable and MSIKRDYIE is set. Cleared by software setting the MSIKRDYC bit. MSIKRDYF: u1, - /// SHSI ready interrupt flag Set by hardware when the SHSI clock becomes stable and SHSIRDYIE is set. Cleared by software setting the SHSIRDYC bit. + /// SHSI ready interrupt flag Set by hardware when the SHSI clock becomes stable and SHSIRDYIE is set. Cleared by software setting the SHSIRDYC bit. SHSIRDYF: u1, padding: u19, }), - /// RCC clock interrupt clear register + /// RCC clock interrupt clear register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt clear Writing this bit to 1 clears the LSIRDYF flag. Writing 0 has no effect. + /// LSI ready interrupt clear Writing this bit to 1 clears the LSIRDYF flag. Writing 0 has no effect. LSIRDYC: u1, - /// LSE ready interrupt clear Writing this bit to 1 clears the LSERDYF flag. Writing 0 has no effect. + /// LSE ready interrupt clear Writing this bit to 1 clears the LSERDYF flag. Writing 0 has no effect. LSERDYC: u1, - /// MSIS ready interrupt clear Writing this bit to 1 clears the MSISRDYF flag. Writing 0 has no effect. + /// MSIS ready interrupt clear Writing this bit to 1 clears the MSISRDYF flag. Writing 0 has no effect. MSISRDYC: u1, - /// HSI ready interrupt clear Writing this bit to 1 clears the HSIRDYF flag. Writing 0 has no effect. + /// HSI ready interrupt clear Writing this bit to 1 clears the HSIRDYF flag. Writing 0 has no effect. HSIRDYC: u1, - /// HSE ready interrupt clear Writing this bit to 1 clears the HSERDYF flag. Writing 0 has no effect. + /// HSE ready interrupt clear Writing this bit to 1 clears the HSERDYF flag. Writing 0 has no effect. HSERDYC: u1, - /// HSI48 ready interrupt clear Writing this bit to 1 clears the HSI48RDYF flag. Writing 0 has no effect. + /// HSI48 ready interrupt clear Writing this bit to 1 clears the HSI48RDYF flag. Writing 0 has no effect. HSI48RDYC: u1, - /// PLL1 ready interrupt clear Writing this bit to 1 clears the PLL1RDYF flag. Writing 0 has no effect. + /// PLL1 ready interrupt clear Writing this bit to 1 clears the PLL1RDYF flag. Writing 0 has no effect. PLLRDYC: u1, reserved10: u3, - /// Clock security system interrupt clear Writing this bit to 1 clears the CSSF flag. Writing 0 has no effect. + /// Clock security system interrupt clear Writing this bit to 1 clears the CSSF flag. Writing 0 has no effect. CSSC: u1, - /// MSIK oscillator ready interrupt clear Writing this bit to 1 clears the MSIKRDYF flag. Writing 0 has no effect. + /// MSIK oscillator ready interrupt clear Writing this bit to 1 clears the MSIKRDYF flag. Writing 0 has no effect. MSIKRDYC: u1, - /// SHSI oscillator ready interrupt clear Writing this bit to 1 clears the SHSIRDYF flag. Writing 0 has no effect. + /// SHSI oscillator ready interrupt clear Writing this bit to 1 clears the SHSIRDYF flag. Writing 0 has no effect. SHSIRDYC: u1, padding: u19, }), reserved96: [4]u8, - /// RCC AHB1 peripheral reset register + /// RCC AHB1 peripheral reset register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// GPDMA1 reset Set and cleared by software. + /// GPDMA1 reset Set and cleared by software. GPDMA1RST: u1, - /// CORDIC reset Set and cleared by software. + /// CORDIC reset Set and cleared by software. CORDICRST: u1, - /// FMAC reset Set and cleared by software. + /// FMAC reset Set and cleared by software. FMACRST: u1, - /// MDF1 reset Set and cleared by software. + /// MDF1 reset Set and cleared by software. MDF1RST: u1, reserved12: u8, - /// CRC reset Set and cleared by software. + /// CRC reset Set and cleared by software. CRCRST: u1, reserved15: u2, - /// JPEG reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// JPEG reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. JPEGRST: u1, - /// TSC reset Set and cleared by software. + /// TSC reset Set and cleared by software. TSCRST: u1, - /// RAMCFG reset Set and cleared by software. + /// RAMCFG reset Set and cleared by software. RAMCFGRST: u1, - /// DMA2D reset Set and cleared by software. + /// DMA2D reset Set and cleared by software. DMA2DRST: u1, - /// GFXMMU reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// GFXMMU reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. GFXMMURST: u1, - /// GPU2D reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// GPU2D reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. GPU2DRST: u1, padding: u11, }), - /// RCC AHB2 peripheral reset register 1 + /// RCC AHB2 peripheral reset register 1 AHB2RSTR1: mmio.Mmio(packed struct(u32) { - /// IO port A reset Set and cleared by software. + /// IO port A reset Set and cleared by software. GPIOARST: u1, - /// IO port B reset Set and cleared by software. + /// IO port B reset Set and cleared by software. GPIOBRST: u1, - /// IO port C reset Set and cleared by software. + /// IO port C reset Set and cleared by software. GPIOCRST: u1, - /// IO port D reset Set and cleared by software. + /// IO port D reset Set and cleared by software. GPIODRST: u1, - /// IO port E reset Set and cleared by software. + /// IO port E reset Set and cleared by software. GPIOERST: u1, - /// IO port F reset Set and cleared by software. + /// IO port F reset Set and cleared by software. GPIOFRST: u1, - /// IO port G reset Set and cleared by software. + /// IO port G reset Set and cleared by software. GPIOGRST: u1, - /// IO port H reset Set and cleared by software. + /// IO port H reset Set and cleared by software. GPIOHRST: u1, - /// IO port I reset Set and cleared by software. + /// IO port I reset Set and cleared by software. GPIOIRST: u1, - /// I/O port J reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// I/O port J reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. GPIOJRST: u1, - /// ADC1 and ADC2 reset This bit is set and cleared by software. Note: This bit impacts ADC1 in STM32U535/545/575/585, and ADC1/ADC2 in�STM32U59x/5Ax/5Fx/5Gx. + /// ADC1 and ADC2 reset This bit is set and cleared by software. Note: This bit impacts ADC1 in STM32U535/545/575/585, and ADC1/ADC2 in�STM32U59x/5Ax/5Fx/5Gx. ADC12RST: u1, reserved12: u1, - /// DCMI and PSSI reset Set and cleared by software. + /// DCMI and PSSI reset Set and cleared by software. DCMIRST: u1, reserved14: u1, - /// OTG_FS reset Set and cleared by software. + /// OTG_FS reset Set and cleared by software. USB_OTG_FSRST: u1, reserved16: u1, - /// AES hardware accelerator reset Set and cleared by software. + /// AES hardware accelerator reset Set and cleared by software. AESRST: u1, - /// Hash reset Set and cleared by software. + /// Hash reset Set and cleared by software. HASHRST: u1, - /// Random number generator reset Set and cleared by software. + /// Random number generator reset Set and cleared by software. RNGRST: u1, - /// PKA reset Set and cleared by software. + /// PKA reset Set and cleared by software. PKARST: u1, - /// SAES hardware accelerator reset Set and cleared by software. + /// SAES hardware accelerator reset Set and cleared by software. SAESRST: u1, - /// OCTOSPIM reset Set and cleared by software. + /// OCTOSPIM reset Set and cleared by software. OCTOSPIMRST: u1, reserved23: u1, - /// OTFDEC1 reset Set and cleared by software. + /// OTFDEC1 reset Set and cleared by software. OTFDEC1RST: u1, - /// OTFDEC2 reset Set and cleared by software. + /// OTFDEC2 reset Set and cleared by software. OTFDEC2RST: u1, reserved27: u2, - /// SDMMC1 reset Set and cleared by software. + /// SDMMC1 reset Set and cleared by software. SDMMC1RST: u1, - /// SDMMC2 reset Set and cleared by software. + /// SDMMC2 reset Set and cleared by software. SDMMC2RST: u1, padding: u3, }), - /// RCC AHB2 peripheral reset register 2 + /// RCC AHB2 peripheral reset register 2 AHB2RSTR2: mmio.Mmio(packed struct(u32) { - /// Flexible memory controller reset Set and cleared by software. + /// Flexible memory controller reset Set and cleared by software. FSMCRST: u1, reserved4: u3, - /// OCTOSPI1 reset Set and cleared by software. + /// OCTOSPI1 reset Set and cleared by software. OCTOSPI1RST: u1, reserved8: u3, - /// OCTOSPI2 reset Set and cleared by software. + /// OCTOSPI2 reset Set and cleared by software. OCTOSPI2RST: u1, reserved12: u3, - /// HSPI1 reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// HSPI1 reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. HSPI1RST: u1, padding: u19, }), - /// RCC AHB3 peripheral reset register + /// RCC AHB3 peripheral reset register AHB3RSTR: mmio.Mmio(packed struct(u32) { - /// LPGPIO1 reset Set and cleared by software. + /// LPGPIO1 reset Set and cleared by software. LPGPIO1RST: u1, reserved5: u4, - /// ADC4 reset Set and cleared by software. + /// ADC4 reset Set and cleared by software. ADC4RST: u1, - /// DAC1 reset Set and cleared by software. + /// DAC1 reset Set and cleared by software. DAC1RST: u1, reserved9: u2, - /// LPDMA1 reset Set and cleared by software. + /// LPDMA1 reset Set and cleared by software. LPDMA1RST: u1, - /// ADF1 reset Set and cleared by software. + /// ADF1 reset Set and cleared by software. ADF1RST: u1, padding: u21, }), reserved116: [4]u8, - /// RCC APB1 peripheral reset register 1 + /// RCC APB1 peripheral reset register 1 APB1RSTR1: mmio.Mmio(packed struct(u32) { - /// TIM2 reset Set and cleared by software. + /// TIM2 reset Set and cleared by software. TIM2RST: u1, - /// TIM3 reset Set and cleared by software. + /// TIM3 reset Set and cleared by software. TIM3RST: u1, - /// TIM4 reset Set and cleared by software. + /// TIM4 reset Set and cleared by software. TIM4RST: u1, - /// TIM5 reset Set and cleared by software. + /// TIM5 reset Set and cleared by software. TIM5RST: u1, - /// TIM6 reset Set and cleared by software. + /// TIM6 reset Set and cleared by software. TIM6RST: u1, - /// TIM7 reset Set and cleared by software. + /// TIM7 reset Set and cleared by software. TIM7RST: u1, reserved14: u8, - /// SPI2 reset Set and cleared by software. + /// SPI2 reset Set and cleared by software. SPI2RST: u1, reserved17: u2, - /// USART2 reset Set and cleared by software. + /// USART2 reset Set and cleared by software. USART2RST: u1, - /// USART3 reset Set and cleared by software. + /// USART3 reset Set and cleared by software. USART3RST: u1, - /// UART4 reset Set and cleared by software. + /// UART4 reset Set and cleared by software. UART4RST: u1, - /// UART5 reset Set and cleared by software. + /// UART5 reset Set and cleared by software. UART5RST: u1, - /// I2C1 reset Set and cleared by software. + /// I2C1 reset Set and cleared by software. I2C1RST: u1, - /// I2C2 reset Set and cleared by software. + /// I2C2 reset Set and cleared by software. I2C2RST: u1, reserved24: u1, - /// CRS reset Set and cleared by software. + /// CRS reset Set and cleared by software. CRSRST: u1, - /// USART6 reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// USART6 reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. USART6RST: u1, padding: u6, }), - /// RCC APB1 peripheral reset register 2 + /// RCC APB1 peripheral reset register 2 APB1RSTR2: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// I2C4 reset Set and cleared by software + /// I2C4 reset Set and cleared by software I2C4RST: u1, reserved5: u3, - /// LPTIM2 reset Set and cleared by software. + /// LPTIM2 reset Set and cleared by software. LPTIM2RST: u1, - /// I2C5 reset This bit is set and cleared by software Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// I2C5 reset This bit is set and cleared by software Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. I2C5RST: u1, - /// I2C6 reset This bit is set and cleared by software Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// I2C6 reset This bit is set and cleared by software Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. I2C6RST: u1, reserved9: u1, - /// FDCAN1 reset Set and cleared by software. + /// FDCAN1 reset Set and cleared by software. FDCAN1RST: u1, reserved23: u13, - /// UCPD1 reset Set and cleared by software. + /// UCPD1 reset Set and cleared by software. UCPD1RST: u1, padding: u8, }), - /// RCC APB2 peripheral reset register + /// RCC APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 reset Set and cleared by software. + /// TIM1 reset Set and cleared by software. TIM1RST: u1, - /// SPI1 reset Set and cleared by software. + /// SPI1 reset Set and cleared by software. SPI1RST: u1, - /// TIM8 reset Set and cleared by software. + /// TIM8 reset Set and cleared by software. TIM8RST: u1, - /// USART1 reset Set and cleared by software. + /// USART1 reset Set and cleared by software. USART1RST: u1, reserved16: u1, - /// TIM15 reset Set and cleared by software. + /// TIM15 reset Set and cleared by software. TIM15RST: u1, - /// TIM16 reset Set and cleared by software. + /// TIM16 reset Set and cleared by software. TIM16RST: u1, - /// TIM17 reset Set and cleared by software. + /// TIM17 reset Set and cleared by software. TIM17RST: u1, reserved21: u2, - /// SAI1 reset Set and cleared by software. + /// SAI1 reset Set and cleared by software. SAI1RST: u1, - /// SAI2 reset Set and cleared by software. + /// SAI2 reset Set and cleared by software. SAI2RST: u1, reserved24: u1, - /// USB reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// USB reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. USBRST: u1, - /// GFXTIM reset This bit is set and cleared by software. Note: .This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// GFXTIM reset This bit is set and cleared by software. Note: .This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. GFXTIMRST: u1, - /// LTDC reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// LTDC reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. LTDCRST: u1, - /// DSI reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// DSI reset This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. DSIRST: u1, padding: u4, }), - /// RCC APB3 peripheral reset register + /// RCC APB3 peripheral reset register APB3RSTR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG reset Set and cleared by software. + /// SYSCFG reset Set and cleared by software. SYSCFGRST: u1, reserved5: u3, - /// SPI3 reset Set and cleared by software. + /// SPI3 reset Set and cleared by software. SPI3RST: u1, - /// LPUART1 reset Set and cleared by software. + /// LPUART1 reset Set and cleared by software. LPUART1RST: u1, - /// I2C3 reset Set and cleared by software. + /// I2C3 reset Set and cleared by software. I2C3RST: u1, reserved11: u3, - /// LPTIM1 reset Set and cleared by software. + /// LPTIM1 reset Set and cleared by software. LPTIM1RST: u1, - /// LPTIM3 reset Set and cleared by software. + /// LPTIM3 reset Set and cleared by software. LPTIM3RST: u1, - /// LPTIM4 reset Set and cleared by software. + /// LPTIM4 reset Set and cleared by software. LPTIM4RST: u1, - /// OPAMP reset Set and cleared by software. + /// OPAMP reset Set and cleared by software. OPAMPRST: u1, - /// COMP reset Set and cleared by software. + /// COMP reset Set and cleared by software. COMPRST: u1, reserved20: u4, - /// VREFBUF reset Set and cleared by software. + /// VREFBUF reset Set and cleared by software. VREFRST: u1, padding: u11, }), reserved136: [4]u8, - /// RCC AHB1 peripheral clock enable register + /// RCC AHB1 peripheral clock enable register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// GPDMA1 clock enable Set and cleared by software. + /// GPDMA1 clock enable Set and cleared by software. GPDMA1EN: u1, - /// CORDIC clock enable Set and cleared by software. + /// CORDIC clock enable Set and cleared by software. CORDICEN: u1, - /// FMAC clock enable Set and reset by software. + /// FMAC clock enable Set and reset by software. FMACEN: u1, - /// MDF1 clock enable Set and reset by software. + /// MDF1 clock enable Set and reset by software. MDF1EN: u1, reserved8: u4, - /// FLASH clock enable Set and cleared by software. This bit can be disabled only when the Flash memory is in power down mode. + /// FLASH clock enable Set and cleared by software. This bit can be disabled only when the Flash memory is in power down mode. FLASHEN: u1, reserved12: u3, - /// CRC clock enable Set and cleared by software. + /// CRC clock enable Set and cleared by software. CRCEN: u1, reserved15: u2, - /// JPEG clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// JPEG clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. JPEGEN: u1, - /// Touch sensing controller clock enable Set and cleared by software. + /// Touch sensing controller clock enable Set and cleared by software. TSCEN: u1, - /// RAMCFG clock enable Set and cleared by software. + /// RAMCFG clock enable Set and cleared by software. RAMCFGEN: u1, - /// DMA2D clock enable Set and cleared by software. + /// DMA2D clock enable Set and cleared by software. DMA2DEN: u1, - /// GFXMMU clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// GFXMMU clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. GFXMMUEN: u1, - /// GPU2D clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// GPU2D clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. GPU2DEN: u1, - /// DCACHE2 clock enable This bit is set and reset by software. Note: DCACHE2 clock must be enabled to access memories, even if the DCACHE2 is bypassed. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// DCACHE2 clock enable This bit is set and reset by software. Note: DCACHE2 clock must be enabled to access memories, even if the DCACHE2 is bypassed. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. DCACHE2EN: u1, reserved24: u2, - /// GTZC1 clock enable Set and reset by software. + /// GTZC1 clock enable Set and reset by software. GTZC1EN: u1, reserved28: u3, - /// BKPSRAM clock enable Set and reset by software. + /// BKPSRAM clock enable Set and reset by software. BKPSRAMEN: u1, reserved30: u1, - /// DCACHE1 clock enable Set and reset by software. Note: DCACHE1 clock must be enabled when external memories are accessed through OCTOSPI1, OCTOSPI2 or FSMC, even if the DCACHE1 is bypassed. + /// DCACHE1 clock enable Set and reset by software. Note: DCACHE1 clock must be enabled when external memories are accessed through OCTOSPI1, OCTOSPI2 or FSMC, even if the DCACHE1 is bypassed. DCACHE1EN: u1, - /// SRAM1 clock enable Set and reset by software. + /// SRAM1 clock enable Set and reset by software. SRAM1EN: u1, }), - /// RCC AHB2 peripheral clock enable register 1 + /// RCC AHB2 peripheral clock enable register 1 AHB2ENR1: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable Set and cleared by software. + /// IO port A clock enable Set and cleared by software. GPIOAEN: u1, - /// IO port B clock enable Set and cleared by software. + /// IO port B clock enable Set and cleared by software. GPIOBEN: u1, - /// IO port C clock enable Set and cleared by software. + /// IO port C clock enable Set and cleared by software. GPIOCEN: u1, - /// IO port D clock enable Set and cleared by software. + /// IO port D clock enable Set and cleared by software. GPIODEN: u1, - /// IO port E clock enable Set and cleared by software. + /// IO port E clock enable Set and cleared by software. GPIOEEN: u1, - /// IO port F clock enable Set and cleared by software. + /// IO port F clock enable Set and cleared by software. GPIOFEN: u1, - /// IO port G clock enable Set and cleared by software. + /// IO port G clock enable Set and cleared by software. GPIOGEN: u1, - /// IO port H clock enable Set and cleared by software. + /// IO port H clock enable Set and cleared by software. GPIOHEN: u1, - /// IO port I clock enable Set and cleared by software. + /// IO port I clock enable Set and cleared by software. GPIOIEN: u1, - /// I/O port J clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// I/O port J clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. GPIOJEN: u1, - /// ADC1 and ADC2 clock enable This bit is set and cleared by software. Note: This bit impacts ADC1 in STM32U535/545/575/585, and ADC1/ADC2 in�STM32U59x/5Ax/5Fx/5Gx. + /// ADC1 and ADC2 clock enable This bit is set and cleared by software. Note: This bit impacts ADC1 in STM32U535/545/575/585, and ADC1/ADC2 in�STM32U59x/5Ax/5Fx/5Gx. ADC12EN: u1, reserved12: u1, - /// DCMI and PSSI clock enable Set and cleared by software. + /// DCMI and PSSI clock enable Set and cleared by software. DCMIEN: u1, reserved14: u1, - /// OTG_FS clock enable Set and cleared by software. + /// OTG_FS clock enable Set and cleared by software. USB_OTG_FSEN: u1, - /// OTG_HS PHY clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// OTG_HS PHY clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. USB_OTG_HS_PHYEN: u1, - /// AES clock enable Set and cleared by software. + /// AES clock enable Set and cleared by software. AESEN: u1, - /// HASH clock enable Set and cleared by software + /// HASH clock enable Set and cleared by software HASHEN: u1, - /// RNG clock enable Set and cleared by software. + /// RNG clock enable Set and cleared by software. RNGEN: u1, - /// PKA clock enable Set and cleared by software. + /// PKA clock enable Set and cleared by software. PKAEN: u1, - /// SAES clock enable Set and cleared by software. + /// SAES clock enable Set and cleared by software. SAESEN: u1, - /// OCTOSPIM clock enable Set and cleared by software. + /// OCTOSPIM clock enable Set and cleared by software. OCTOSPIMEN: u1, reserved23: u1, - /// OTFDEC1 clock enable Set and cleared by software. + /// OTFDEC1 clock enable Set and cleared by software. OTFDEC1EN: u1, - /// OTFDEC2 clock enable Set and cleared by software. + /// OTFDEC2 clock enable Set and cleared by software. OTFDEC2EN: u1, reserved27: u2, - /// SDMMC1 clock enable Set and cleared by software. + /// SDMMC1 clock enable Set and cleared by software. SDMMC1EN: u1, - /// SDMMC2 clock enable Set and cleared by software. + /// SDMMC2 clock enable Set and cleared by software. SDMMC2EN: u1, reserved30: u1, - /// SRAM2 clock enable Set and reset by software. + /// SRAM2 clock enable Set and reset by software. SRAM2EN: u1, - /// SRAM3 clock enable Set and reset by software. + /// SRAM3 clock enable Set and reset by software. SRAM3EN: u1, }), - /// RCC AHB2 peripheral clock enable register 2 + /// RCC AHB2 peripheral clock enable register 2 AHB2ENR2: mmio.Mmio(packed struct(u32) { - /// FSMC clock enable Set and cleared by software. + /// FSMC clock enable Set and cleared by software. FSMCEN: u1, reserved4: u3, - /// OCTOSPI1 clock enable Set and cleared by software. + /// OCTOSPI1 clock enable Set and cleared by software. OCTOSPI1EN: u1, reserved8: u3, - /// OCTOSPI2 clock enable Set and cleared by software. + /// OCTOSPI2 clock enable Set and cleared by software. OCTOSPI2EN: u1, reserved12: u3, - /// HSPI1 clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// HSPI1 clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. HSPI1EN: u1, reserved30: u17, - /// SRAM6 clock enable This bit is set and reset by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// SRAM6 clock enable This bit is set and reset by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. SRAM6EN: u1, - /// SRAM5 clock enable This bit is set and reset by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// SRAM5 clock enable This bit is set and reset by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. SRAM5EN: u1, }), - /// RCC AHB3 peripheral clock enable register + /// RCC AHB3 peripheral clock enable register AHB3ENR: mmio.Mmio(packed struct(u32) { - /// LPGPIO1 enable Set and cleared by software. + /// LPGPIO1 enable Set and cleared by software. LPGPIO1EN: u1, reserved2: u1, - /// PWR clock enable Set and cleared by software. + /// PWR clock enable Set and cleared by software. PWREN: u1, reserved5: u2, - /// ADC4 clock enable Set and cleared by software. + /// ADC4 clock enable Set and cleared by software. ADC4EN: u1, - /// DAC1 clock enable Set and cleared by software. + /// DAC1 clock enable Set and cleared by software. DAC1EN: u1, reserved9: u2, - /// LPDMA1 clock enable Set and cleared by software. + /// LPDMA1 clock enable Set and cleared by software. LPDMA1EN: u1, - /// ADF1 clock enable Set and cleared by software. + /// ADF1 clock enable Set and cleared by software. ADF1EN: u1, reserved12: u1, - /// GTZC2 clock enable Set and cleared by software. + /// GTZC2 clock enable Set and cleared by software. GTZC2EN: u1, reserved31: u18, - /// SRAM4 clock enable Set and reset by software. + /// SRAM4 clock enable Set and reset by software. SRAM4EN: u1, }), reserved156: [4]u8, - /// RCC APB1 peripheral clock enable register 1 + /// RCC APB1 peripheral clock enable register 1 APB1ENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 clock enable Set and cleared by software. + /// TIM2 clock enable Set and cleared by software. TIM2EN: u1, - /// TIM3 clock enable Set and cleared by software. + /// TIM3 clock enable Set and cleared by software. TIM3EN: u1, - /// TIM4 clock enable Set and cleared by software. + /// TIM4 clock enable Set and cleared by software. TIM4EN: u1, - /// TIM5 clock enable Set and cleared by software. + /// TIM5 clock enable Set and cleared by software. TIM5EN: u1, - /// TIM6 clock enable Set and cleared by software. + /// TIM6 clock enable Set and cleared by software. TIM6EN: u1, - /// TIM7 clock enable Set and cleared by software. + /// TIM7 clock enable Set and cleared by software. TIM7EN: u1, reserved11: u5, - /// WWDG clock enable Set by software to enable the window watchdog clock. Reset by hardware system reset. This bit can also be set by hardware if the WWDG_SW option bit is reset. + /// WWDG clock enable Set by software to enable the window watchdog clock. Reset by hardware system reset. This bit can also be set by hardware if the WWDG_SW option bit is reset. WWDGEN: u1, reserved14: u2, - /// SPI2 clock enable Set and cleared by software. + /// SPI2 clock enable Set and cleared by software. SPI2EN: u1, reserved17: u2, - /// USART2 clock enable Set and cleared by software. + /// USART2 clock enable Set and cleared by software. USART2EN: u1, - /// USART3 clock enable Set and cleared by software. + /// USART3 clock enable Set and cleared by software. USART3EN: u1, - /// UART4 clock enable Set and cleared by software. + /// UART4 clock enable Set and cleared by software. UART4EN: u1, - /// UART5 clock enable Set and cleared by software. + /// UART5 clock enable Set and cleared by software. UART5EN: u1, - /// I2C1 clock enable Set and cleared by software. + /// I2C1 clock enable Set and cleared by software. I2C1EN: u1, - /// I2C2 clock enable Set and cleared by software. + /// I2C2 clock enable Set and cleared by software. I2C2EN: u1, reserved24: u1, - /// CRS clock enable Set and cleared by software. + /// CRS clock enable Set and cleared by software. CRSEN: u1, - /// USART6 clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// USART6 clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. USART6EN: u1, padding: u6, }), - /// RCC APB1 peripheral clock enable register 2 + /// RCC APB1 peripheral clock enable register 2 APB1ENR2: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// I2C4 clock enable Set and cleared by software + /// I2C4 clock enable Set and cleared by software I2C4EN: u1, reserved5: u3, - /// LPTIM2 clock enable Set and cleared by software. + /// LPTIM2 clock enable Set and cleared by software. LPTIM2EN: u1, - /// I2C5 clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// I2C5 clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. I2C5EN: u1, - /// I2C6 clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// I2C6 clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. I2C6EN: u1, reserved9: u1, - /// FDCAN1 clock enable Set and cleared by software. + /// FDCAN1 clock enable Set and cleared by software. FDCAN1EN: u1, reserved23: u13, - /// UCPD1 clock enable Set and cleared by software. + /// UCPD1 clock enable Set and cleared by software. UCPD1EN: u1, padding: u8, }), - /// RCC APB2 peripheral clock enable register + /// RCC APB2 peripheral clock enable register APB2ENR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 clock enable Set and cleared by software. + /// TIM1 clock enable Set and cleared by software. TIM1EN: u1, - /// SPI1 clock enable Set and cleared by software. + /// SPI1 clock enable Set and cleared by software. SPI1EN: u1, - /// TIM8 clock enable Set and cleared by software. + /// TIM8 clock enable Set and cleared by software. TIM8EN: u1, - /// USART1clock enable Set and cleared by software. + /// USART1clock enable Set and cleared by software. USART1EN: u1, reserved16: u1, - /// TIM15 clock enable Set and cleared by software. + /// TIM15 clock enable Set and cleared by software. TIM15EN: u1, - /// TIM16 clock enable Set and cleared by software. + /// TIM16 clock enable Set and cleared by software. TIM16EN: u1, - /// TIM17 clock enable Set and cleared by software. + /// TIM17 clock enable Set and cleared by software. TIM17EN: u1, reserved21: u2, - /// SAI1 clock enable Set and cleared by software. + /// SAI1 clock enable Set and cleared by software. SAI1EN: u1, - /// SAI2 clock enable Set and cleared by software. + /// SAI2 clock enable Set and cleared by software. SAI2EN: u1, reserved24: u1, - /// USB clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// USB clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. USBEN: u1, - /// GFXTIM clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// GFXTIM clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. GFXTIMEN: u1, - /// LTDC clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// LTDC clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. LTDCEN: u1, - /// DSI clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// DSI clock enable This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. DSIEN: u1, padding: u4, }), - /// RCC APB3 peripheral clock enable register + /// RCC APB3 peripheral clock enable register APB3ENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG clock enable Set and cleared by software. + /// SYSCFG clock enable Set and cleared by software. SYSCFGEN: u1, reserved5: u3, - /// SPI3 clock enable Set and cleared by software. + /// SPI3 clock enable Set and cleared by software. SPI3EN: u1, - /// LPUART1 clock enable Set and cleared by software. + /// LPUART1 clock enable Set and cleared by software. LPUART1EN: u1, - /// I2C3 clock enable Set and cleared by software. + /// I2C3 clock enable Set and cleared by software. I2C3EN: u1, reserved11: u3, - /// LPTIM1 clock enable Set and cleared by software. + /// LPTIM1 clock enable Set and cleared by software. LPTIM1EN: u1, - /// LPTIM3 clock enable Set and cleared by software. + /// LPTIM3 clock enable Set and cleared by software. LPTIM3EN: u1, - /// LPTIM4 clock enable Set and cleared by software. + /// LPTIM4 clock enable Set and cleared by software. LPTIM4EN: u1, - /// OPAMP clock enable Set and cleared by software. + /// OPAMP clock enable Set and cleared by software. OPAMPEN: u1, - /// COMP clock enable Set and cleared by software. + /// COMP clock enable Set and cleared by software. COMPEN: u1, reserved20: u4, - /// VREFBUF clock enable Set and cleared by software. + /// VREFBUF clock enable Set and cleared by software. VREFEN: u1, - /// RTC and TAMP APB clock enable Set and cleared by software. + /// RTC and TAMP APB clock enable Set and cleared by software. RTCAPBEN: u1, padding: u10, }), reserved176: [4]u8, - /// RCC AHB1 peripheral clocks enable in Sleep and Stop modes register + /// RCC AHB1 peripheral clocks enable in Sleep and Stop modes register AHB1SMENR: mmio.Mmio(packed struct(u32) { - /// GPDMA1 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// GPDMA1 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. GPDMA1SMEN: u1, - /// CORDIC clocks enable during Sleep and Stop modes Set and cleared by software during Sleep mode. + /// CORDIC clocks enable during Sleep and Stop modes Set and cleared by software during Sleep mode. CORDICSMEN: u1, - /// FMAC clocks enable during Sleep and Stop modes. Set and cleared by software. + /// FMAC clocks enable during Sleep and Stop modes. Set and cleared by software. FMACSMEN: u1, - /// MDF1 clocks enable during Sleep and Stop modes. Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// MDF1 clocks enable during Sleep and Stop modes. Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. MDF1SMEN: u1, reserved8: u4, - /// FLASH clocks enable during Sleep and Stop modes Set and cleared by software. + /// FLASH clocks enable during Sleep and Stop modes Set and cleared by software. FLASHSMEN: u1, reserved12: u3, - /// CRC clocks enable during Sleep and Stop modes Set and cleared by software. + /// CRC clocks enable during Sleep and Stop modes Set and cleared by software. CRCSMEN: u1, reserved15: u2, - /// JPEG clocks enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// JPEG clocks enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. JPEGSMEN: u1, - /// TSC clocks enable during Sleep and Stop modes Set and cleared by software. + /// TSC clocks enable during Sleep and Stop modes Set and cleared by software. TSCSMEN: u1, - /// RAMCFG clocks enable during Sleep and Stop modes Set and cleared by software. + /// RAMCFG clocks enable during Sleep and Stop modes Set and cleared by software. RAMCFGSMEN: u1, - /// DMA2D clocks enable during Sleep and Stop modes Set and cleared by software. + /// DMA2D clocks enable during Sleep and Stop modes Set and cleared by software. DMA2DSMEN: u1, - /// GFXMMU clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// GFXMMU clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. GFXMMUSMEN: u1, - /// GPU2D clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// GPU2D clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. GPU2DSMEN: u1, - /// DCACHE2 clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// DCACHE2 clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. DCACHE2SMEN: u1, reserved24: u2, - /// GTZC1 clocks enable during Sleep and Stop modes Set and cleared by software. + /// GTZC1 clocks enable during Sleep and Stop modes Set and cleared by software. GTZC1SMEN: u1, reserved28: u3, - /// BKPSRAM clocks enable during Sleep and Stop modes Set and cleared by software + /// BKPSRAM clocks enable during Sleep and Stop modes Set and cleared by software BKPSRAMSMEN: u1, - /// ICACHE clocks enable during Sleep and Stop modes Set and cleared by software. + /// ICACHE clocks enable during Sleep and Stop modes Set and cleared by software. ICACHESMEN: u1, - /// DCACHE1 clocks enable during Sleep and Stop modes Set and cleared by software. + /// DCACHE1 clocks enable during Sleep and Stop modes Set and cleared by software. DCACHE1SMEN: u1, - /// SRAM1 clocks enable during Sleep and Stop modes Set and cleared by software. + /// SRAM1 clocks enable during Sleep and Stop modes Set and cleared by software. SRAM1SMEN: u1, }), - /// RCC AHB2 peripheral clocks enable in Sleep and Stop modes register 1 + /// RCC AHB2 peripheral clocks enable in Sleep and Stop modes register 1 AHB2SMENR1: mmio.Mmio(packed struct(u32) { - /// IO port A clocks enable during Sleep and Stop modes Set and cleared by software. + /// IO port A clocks enable during Sleep and Stop modes Set and cleared by software. GPIOASMEN: u1, - /// IO port B clocks enable during Sleep and Stop modes Set and cleared by software. + /// IO port B clocks enable during Sleep and Stop modes Set and cleared by software. GPIOBSMEN: u1, - /// IO port C clocks enable during Sleep and Stop modes Set and cleared by software. + /// IO port C clocks enable during Sleep and Stop modes Set and cleared by software. GPIOCSMEN: u1, - /// IO port D clocks enable during Sleep and Stop modes Set and cleared by software. + /// IO port D clocks enable during Sleep and Stop modes Set and cleared by software. GPIODSMEN: u1, - /// IO port E clocks enable during Sleep and Stop modes Set and cleared by software. + /// IO port E clocks enable during Sleep and Stop modes Set and cleared by software. GPIOESMEN: u1, - /// IO port F clocks enable during Sleep and Stop modes Set and cleared by software. + /// IO port F clocks enable during Sleep and Stop modes Set and cleared by software. GPIOFSMEN: u1, - /// IO port G clocks enable during Sleep and Stop modes Set and cleared by software. + /// IO port G clocks enable during Sleep and Stop modes Set and cleared by software. GPIOGSMEN: u1, - /// IO port H clocks enable during Sleep and Stop modes Set and cleared by software. + /// IO port H clocks enable during Sleep and Stop modes Set and cleared by software. GPIOHSMEN: u1, - /// IO port I clocks enable during Sleep and Stop modes Set and cleared by software. + /// IO port I clocks enable during Sleep and Stop modes Set and cleared by software. GPIOISMEN: u1, - /// I/O port J clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// I/O port J clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. GPIOJSMEN: u1, - /// ADC1 and ADC2 clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit impacts ADC1 in STM32U535/545/575/585 and ADC1/ADC2 in�STM32U59x/5Ax/5Fx/5Gx. + /// ADC1 and ADC2 clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit impacts ADC1 in STM32U535/545/575/585 and ADC1/ADC2 in�STM32U59x/5Ax/5Fx/5Gx. ADC12SMEN: u1, reserved12: u1, - /// DCMI and PSSI clocks enable during Sleep and Stop modes Set and cleared by software. + /// DCMI and PSSI clocks enable during Sleep and Stop modes Set and cleared by software. DCMISMEN: u1, reserved14: u1, - /// OTG_FS clocks enable during Sleep and Stop modes Set and cleared by software. + /// OTG_FS clocks enable during Sleep and Stop modes Set and cleared by software. USB_OTG_FSSMEN: u1, - /// OTG_HS PHY clock enable during Sleep and Stop modes This bit is set and cleared by software Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// OTG_HS PHY clock enable during Sleep and Stop modes This bit is set and cleared by software Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. USB_OTG_HS_PHYSMEN: u1, - /// AES clock enable during Sleep and Stop modes Set and cleared by software + /// AES clock enable during Sleep and Stop modes Set and cleared by software AESSMEN: u1, - /// HASH clock enable during Sleep and Stop modes Set and cleared by software + /// HASH clock enable during Sleep and Stop modes Set and cleared by software HASHSMEN: u1, - /// Random number generator (RNG) clocks enable during Sleep and Stop modes Set and cleared by software. + /// Random number generator (RNG) clocks enable during Sleep and Stop modes Set and cleared by software. RNGSMEN: u1, - /// PKA clocks enable during Sleep and Stop modes Set and cleared by software. + /// PKA clocks enable during Sleep and Stop modes Set and cleared by software. PKASMEN: u1, - /// SAES accelerator clocks enable during Sleep and Stop modes Set and cleared by software. + /// SAES accelerator clocks enable during Sleep and Stop modes Set and cleared by software. SAESSMEN: u1, - /// OCTOSPIM clocks enable during Sleep and Stop modes Set and cleared by software. + /// OCTOSPIM clocks enable during Sleep and Stop modes Set and cleared by software. OCTOSPIMSMEN: u1, reserved23: u1, - /// OTFDEC1 clocks enable during Sleep and Stop modes Set and cleared by software. + /// OTFDEC1 clocks enable during Sleep and Stop modes Set and cleared by software. OTFDEC1SMEN: u1, - /// OTFDEC2 clocks enable during Sleep and Stop modes Set and cleared by software. + /// OTFDEC2 clocks enable during Sleep and Stop modes Set and cleared by software. OTFDEC2SMEN: u1, reserved27: u2, - /// SDMMC1 clocks enable during Sleep and Stop modes Set and cleared by software. + /// SDMMC1 clocks enable during Sleep and Stop modes Set and cleared by software. SDMMC1SMEN: u1, - /// SDMMC2 clocks enable during Sleep and Stop modes Set and cleared by software. + /// SDMMC2 clocks enable during Sleep and Stop modes Set and cleared by software. SDMMC2SMEN: u1, reserved30: u1, - /// SRAM2 clocks enable during Sleep and Stop modes Set and cleared by software. + /// SRAM2 clocks enable during Sleep and Stop modes Set and cleared by software. SRAM2SMEN: u1, - /// SRAM3 clocks enable during Sleep and Stop modes Set and cleared by software. + /// SRAM3 clocks enable during Sleep and Stop modes Set and cleared by software. SRAM3SMEN: u1, }), - /// RCC AHB2 peripheral clocks enable in Sleep and Stop modes register 2 + /// RCC AHB2 peripheral clocks enable in Sleep and Stop modes register 2 AHB2SMENR2: mmio.Mmio(packed struct(u32) { - /// FSMC clocks enable during Sleep and Stop modes Set and cleared by software. + /// FSMC clocks enable during Sleep and Stop modes Set and cleared by software. FSMCSMEN: u1, reserved4: u3, - /// OCTOSPI1 clocks enable during Sleep and Stop modes Set and cleared by software. + /// OCTOSPI1 clocks enable during Sleep and Stop modes Set and cleared by software. OCTOSPI1SMEN: u1, reserved8: u3, - /// OCTOSPI2 clocks enable during Sleep and Stop modes Set and cleared by software. + /// OCTOSPI2 clocks enable during Sleep and Stop modes Set and cleared by software. OCTOSPI2SMEN: u1, reserved12: u3, - /// HSPI1 clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// HSPI1 clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. HSPI1SMEN: u1, reserved30: u17, - /// SRAM6 clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// SRAM6 clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. SRAM6SMEN: u1, - /// SRAM5 clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// SRAM5 clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. SRAM5SMEN: u1, }), - /// RCC AHB3 peripheral clocks enable in Sleep and Stop modes register + /// RCC AHB3 peripheral clocks enable in Sleep and Stop modes register AHB3SMENR: mmio.Mmio(packed struct(u32) { - /// LPGPIO1 enable during Sleep and Stop modes Set and cleared by software. + /// LPGPIO1 enable during Sleep and Stop modes Set and cleared by software. LPGPIO1SMEN: u1, reserved2: u1, - /// PWR clock enable during Sleep and Stop modes Set and cleared by software. + /// PWR clock enable during Sleep and Stop modes Set and cleared by software. PWRSMEN: u1, reserved5: u2, - /// ADC4 clock enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// ADC4 clock enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. ADC4SMEN: u1, - /// DAC1 clock enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// DAC1 clock enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. DAC1SMEN: u1, reserved9: u2, - /// LPDMA1 clock enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// LPDMA1 clock enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. LPDMA1SMEN: u1, - /// ADF1 clock enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// ADF1 clock enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. ADF1SMEN: u1, reserved12: u1, - /// GTZC2 clock enable during Sleep and Stop modes Set and cleared by software. + /// GTZC2 clock enable during Sleep and Stop modes Set and cleared by software. GTZC2SMEN: u1, reserved31: u18, - /// SRAM4 clocks enable during Sleep and Stop modes Set and cleared by software. + /// SRAM4 clocks enable during Sleep and Stop modes Set and cleared by software. SRAM4SMEN: u1, }), reserved196: [4]u8, - /// RCC APB1 peripheral clocks enable in Sleep and Stop modes register 1 + /// RCC APB1 peripheral clocks enable in Sleep and Stop modes register 1 APB1SMENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 clocks enable during Sleep and Stop modes Set and cleared by software. + /// TIM2 clocks enable during Sleep and Stop modes Set and cleared by software. TIM2SMEN: u1, - /// TIM3 clocks enable during Sleep and Stop modes Set and cleared by software. + /// TIM3 clocks enable during Sleep and Stop modes Set and cleared by software. TIM3SMEN: u1, - /// TIM4 clocks enable during Sleep and Stop modes Set and cleared by software. + /// TIM4 clocks enable during Sleep and Stop modes Set and cleared by software. TIM4SMEN: u1, - /// TIM5 clocks enable during Sleep and Stop modes Set and cleared by software. + /// TIM5 clocks enable during Sleep and Stop modes Set and cleared by software. TIM5SMEN: u1, - /// TIM6 clocks enable during Sleep and Stop modes Set and cleared by software. + /// TIM6 clocks enable during Sleep and Stop modes Set and cleared by software. TIM6SMEN: u1, - /// TIM7 clocks enable during Sleep and Stop modes Set and cleared by software. + /// TIM7 clocks enable during Sleep and Stop modes Set and cleared by software. TIM7SMEN: u1, reserved11: u5, - /// Window watchdog clocks enable during Sleep and Stop modes Set and cleared by software. This bit is forced to 1 by hardware when the hardware WWDG option is activated. + /// Window watchdog clocks enable during Sleep and Stop modes Set and cleared by software. This bit is forced to 1 by hardware when the hardware WWDG option is activated. WWDGSMEN: u1, reserved14: u2, - /// SPI2 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// SPI2 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. SPI2SMEN: u1, reserved17: u2, - /// USART2 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// USART2 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. USART2SMEN: u1, - /// USART3 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// USART3 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. USART3SMEN: u1, - /// UART4 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// UART4 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. UART4SMEN: u1, - /// UART5 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// UART5 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. UART5SMEN: u1, - /// I2C1 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// I2C1 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. I2C1SMEN: u1, - /// I2C2 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// I2C2 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. I2C2SMEN: u1, reserved24: u1, - /// CRS clock enable during Sleep and Stop modes Set and cleared by software. + /// CRS clock enable during Sleep and Stop modes Set and cleared by software. CRSSMEN: u1, - /// USART6 clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// USART6 clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. USART6SMEN: u1, padding: u6, }), - /// RCC APB1 peripheral clocks enable in Sleep and Stop modes register 2 + /// RCC APB1 peripheral clocks enable in Sleep and Stop modes register 2 APB1SMENR2: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// I2C4 clocks enable during Sleep and Stop modes Set and cleared by software Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// I2C4 clocks enable during Sleep and Stop modes Set and cleared by software Note: This bit must be set to allow the peripheral to wake up from Stop modes. I2C4SMEN: u1, reserved5: u3, - /// LPTIM2 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// LPTIM2 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. LPTIM2SMEN: u1, - /// I2C5 clock enable during Sleep and Stop modes This bit is set and cleared by software Note: This bit must be set to allow the peripheral to wake up from Stop modes. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// I2C5 clock enable during Sleep and Stop modes This bit is set and cleared by software Note: This bit must be set to allow the peripheral to wake up from Stop modes. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. I2C5SMEN: u1, - /// I2C6 clock enable during Sleep and Stop modes This bit is set and cleared by software Note: This bit must be set to allow the peripheral to wake up from Stop modes. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// I2C6 clock enable during Sleep and Stop modes This bit is set and cleared by software Note: This bit must be set to allow the peripheral to wake up from Stop modes. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. I2C6SMEN: u1, reserved9: u1, - /// FDCAN1 clocks enable during Sleep and Stop modes Set and cleared by software. + /// FDCAN1 clocks enable during Sleep and Stop modes Set and cleared by software. FDCAN1SMEN: u1, reserved23: u13, - /// UCPD1 clocks enable during Sleep and Stop modes Set and cleared by software. + /// UCPD1 clocks enable during Sleep and Stop modes Set and cleared by software. UCPD1SMEN: u1, padding: u8, }), - /// RCC APB2 peripheral clocks enable in Sleep and Stop modes register + /// RCC APB2 peripheral clocks enable in Sleep and Stop modes register APB2SMENR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 clocks enable during Sleep and Stop modes Set and cleared by software. + /// TIM1 clocks enable during Sleep and Stop modes Set and cleared by software. TIM1SMEN: u1, - /// SPI1 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// SPI1 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. SPI1SMEN: u1, - /// TIM8 clocks enable during Sleep and Stop modes Set and cleared by software. + /// TIM8 clocks enable during Sleep and Stop modes Set and cleared by software. TIM8SMEN: u1, - /// USART1clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// USART1clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. USART1SMEN: u1, reserved16: u1, - /// TIM15 clocks enable during Sleep and Stop modes Set and cleared by software. + /// TIM15 clocks enable during Sleep and Stop modes Set and cleared by software. TIM15SMEN: u1, - /// TIM16 clocks enable during Sleep and Stop modes Set and cleared by software. + /// TIM16 clocks enable during Sleep and Stop modes Set and cleared by software. TIM16SMEN: u1, - /// TIM17 clocks enable during Sleep and Stop modes Set and cleared by software. + /// TIM17 clocks enable during Sleep and Stop modes Set and cleared by software. TIM17SMEN: u1, reserved21: u2, - /// SAI1 clocks enable during Sleep and Stop modes Set and cleared by software. + /// SAI1 clocks enable during Sleep and Stop modes Set and cleared by software. SAI1SMEN: u1, - /// SAI2 clocks enable during Sleep and Stop modes Set and cleared by software. + /// SAI2 clocks enable during Sleep and Stop modes Set and cleared by software. SAI2SMEN: u1, reserved24: u1, - /// USB clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// USB clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. USBSMEN: u1, - /// GFXTIM clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// GFXTIM clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. GFXTIMSMEN: u1, - /// LTDC clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// LTDC clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. LTDCSMEN: u1, - /// DSI clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + /// DSI clock enable during Sleep and Stop modes This bit is set and cleared by software. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. DSISMEN: u1, padding: u4, }), - /// RCC APB3 peripheral clock enable in Sleep and Stop modes register + /// RCC APB3 peripheral clock enable in Sleep and Stop modes register APB3SMENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG clocks enable during Sleep and Stop modes Set and cleared by software. + /// SYSCFG clocks enable during Sleep and Stop modes Set and cleared by software. SYSCFGSMEN: u1, reserved5: u3, - /// SPI3 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// SPI3 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. SPI3SMEN: u1, - /// LPUART1 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// LPUART1 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. LPUART1SMEN: u1, - /// I2C3 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// I2C3 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. I2C3SMEN: u1, reserved11: u3, - /// LPTIM1 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// LPTIM1 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. LPTIM1SMEN: u1, - /// LPTIM3 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// LPTIM3 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. LPTIM3SMEN: u1, - /// LPTIM4 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// LPTIM4 clocks enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. LPTIM4SMEN: u1, - /// OPAMP clocks enable during Sleep and Stop modes Set and cleared by software. + /// OPAMP clocks enable during Sleep and Stop modes Set and cleared by software. OPAMPSMEN: u1, - /// COMP clocks enable during Sleep and Stop modes Set and cleared by software. + /// COMP clocks enable during Sleep and Stop modes Set and cleared by software. COMPSMEN: u1, reserved20: u4, - /// VREFBUF clocks enable during Sleep and Stop modes Set and cleared by software. + /// VREFBUF clocks enable during Sleep and Stop modes Set and cleared by software. VREFSMEN: u1, - /// RTC and TAMP APB clock enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// RTC and TAMP APB clock enable during Sleep and Stop modes Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. RTCAPBSMEN: u1, padding: u10, }), reserved216: [4]u8, - /// RCC SmartRun domain peripheral autonomous mode register + /// RCC SmartRun domain peripheral autonomous mode register SRDAMR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// SPI3 autonomous mode enable in Stop 0,1, 2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// SPI3 autonomous mode enable in Stop 0,1, 2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. SPI3AMEN: u1, - /// LPUART1 autonomous mode enable in Stop 0,1, 2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// LPUART1 autonomous mode enable in Stop 0,1, 2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. LPUART1AMEN: u1, - /// I2C3 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// I2C3 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. I2C3AMEN: u1, reserved11: u3, - /// LPTIM1 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// LPTIM1 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. LPTIM1AMEN: u1, - /// LPTIM3 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// LPTIM3 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. LPTIM3AMEN: u1, - /// LPTIM4 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// LPTIM4 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. LPTIM4AMEN: u1, - /// OPAMP autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. + /// OPAMP autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. OPAMPAMEN: u1, - /// COMP autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. + /// COMP autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. COMPAMEN: u1, reserved20: u4, - /// VREFBUF autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. + /// VREFBUF autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. VREFAMEN: u1, - /// RTC and TAMP autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// RTC and TAMP autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. RTCAPBAMEN: u1, reserved25: u3, - /// ADC4 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// ADC4 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. ADC4AMEN: u1, - /// LPGPIO1 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. + /// LPGPIO1 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. LPGPIO1AMEN: u1, - /// DAC1 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// DAC1 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. DAC1AMEN: u1, - /// LPDMA1 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// LPDMA1 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. LPDMA1AMEN: u1, - /// ADF1 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// ADF1 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. Note: This bit must be set to allow the peripheral to wake up from Stop modes. ADF1AMEN: u1, reserved31: u1, - /// SRAM4 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. + /// SRAM4 autonomous mode enable in Stop 0,1,2 mode Set and cleared by software. SRAM4AMEN: u1, }), reserved224: [4]u8, - /// RCC peripherals independent clock configuration register 1 + /// RCC peripherals independent clock configuration register 1 CCIPR1: mmio.Mmio(packed struct(u32) { - /// USART1 kernel clock source selection This bits are used to select the USART1 kernel clock source. Note: The USART1 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or LSE. - USART1SEL: packed union { - raw: u2, - value: USART1SEL, - }, - /// USART2 kernel clock source selection This bits are used to select the USART2 kernel clock source. Note: The USART2 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or LSE. - USART2SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// USART3 kernel clock source selection This bits are used to select the USART3 kernel clock source. Note: The USART3 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or LSE. - USART3SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// UART4 kernel clock source selection This bits are used to select the UART4 kernel clock source. Note: The UART4 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or LSE. - UART4SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// UART5 kernel clock source selection These bits are used to select the UART5 kernel clock source. Note: The UART5 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or LSE. - UART5SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// I2C1 kernel clock source selection These bits are used to select the I2C1 kernel clock source. Note: The I2C1 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or MSIK. - I2C1SEL: packed union { - raw: u2, - value: I2CSEL, - }, - /// I2C2 kernel clock source selection These bits are used to select the I2C2 kernel clock source. Note: The I2C2 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or MSIK. - I2C2SEL: packed union { - raw: u2, - value: I2CSEL, - }, - /// I2C4 kernel clock source selection These bits are used to select the I2C4 kernel clock source. Note: The I2C4 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or MSIK. - I2C4SEL: packed union { - raw: u2, - value: I2CSEL, - }, - /// SPI2 kernel clock source selection These bits are used to select the SPI2 kernel clock source. Note: The SPI2 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or MSIK. - SPI2SEL: packed union { - raw: u2, - value: SPI2SEL, - }, - /// Low-power timer 2 kernel clock source selection These bits are used to select the LPTIM2 kernel clock source. Note: The LPTIM2 is functional in Stop 0 and Stop 1 mode only when the kernel clock is LSI, LSE or HSI if HSIKERON = 1. - LPTIM2SEL: packed union { - raw: u2, - value: LPTIM2SEL, - }, - /// SPI1 kernel clock source selection These bits are used to select the SPI1 kernel clock source. Note: The SPI1 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or MSIK. - SPI1SEL: packed union { - raw: u2, - value: SPI1SEL, - }, - /// SysTick clock source selection These bits are used to select the SysTick clock source. Note: When LSE or LSI is selected, the AHB frequency must be at least four times higher than the LSI or LSE frequency. In addition, a jitter up to one HCLK cycle is introduced, due to the LSE or LSI sampling with HCLK in the SysTick circuitry. - SYSTICKSEL: packed union { - raw: u2, - value: SYSTICKSEL, - }, - /// FDCAN1 kernel clock source selection These bits are used to select the FDCAN1 kernel clock source. - FDCAN1SEL: packed union { - raw: u2, - value: FDCANSEL, - }, - /// intermediate clock source selection These bits are used to select the clock source used by OTG_FS and SDMMC. - ICLKSEL: packed union { - raw: u2, - value: ICLKSEL, - }, + /// USART1 kernel clock source selection This bits are used to select the USART1 kernel clock source. Note: The USART1 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or LSE. + USART1SEL: USART1SEL, + /// USART2 kernel clock source selection This bits are used to select the USART2 kernel clock source. Note: The USART2 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or LSE. + USART2SEL: USARTSEL, + /// USART3 kernel clock source selection This bits are used to select the USART3 kernel clock source. Note: The USART3 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or LSE. + USART3SEL: USARTSEL, + /// UART4 kernel clock source selection This bits are used to select the UART4 kernel clock source. Note: The UART4 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or LSE. + UART4SEL: USARTSEL, + /// UART5 kernel clock source selection These bits are used to select the UART5 kernel clock source. Note: The UART5 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or LSE. + UART5SEL: USARTSEL, + /// I2C1 kernel clock source selection These bits are used to select the I2C1 kernel clock source. Note: The I2C1 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or MSIK. + I2C1SEL: I2CSEL, + /// I2C2 kernel clock source selection These bits are used to select the I2C2 kernel clock source. Note: The I2C2 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or MSIK. + I2C2SEL: I2CSEL, + /// I2C4 kernel clock source selection These bits are used to select the I2C4 kernel clock source. Note: The I2C4 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or MSIK. + I2C4SEL: I2CSEL, + /// SPI2 kernel clock source selection These bits are used to select the SPI2 kernel clock source. Note: The SPI2 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or MSIK. + SPI2SEL: SPI2SEL, + /// Low-power timer 2 kernel clock source selection These bits are used to select the LPTIM2 kernel clock source. Note: The LPTIM2 is functional in Stop 0 and Stop 1 mode only when the kernel clock is LSI, LSE or HSI if HSIKERON = 1. + LPTIM2SEL: LPTIM2SEL, + /// SPI1 kernel clock source selection These bits are used to select the SPI1 kernel clock source. Note: The SPI1 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or MSIK. + SPI1SEL: SPI1SEL, + /// SysTick clock source selection These bits are used to select the SysTick clock source. Note: When LSE or LSI is selected, the AHB frequency must be at least four times higher than the LSI or LSE frequency. In addition, a jitter up to one HCLK cycle is introduced, due to the LSE or LSI sampling with HCLK in the SysTick circuitry. + SYSTICKSEL: SYSTICKSEL, + /// FDCAN1 kernel clock source selection These bits are used to select the FDCAN1 kernel clock source. + FDCAN1SEL: FDCANSEL, + /// intermediate clock source selection These bits are used to select the clock source used by OTG_FS and SDMMC. + ICLKSEL: ICLKSEL, reserved29: u1, - /// Clocks sources for TIM16,TIM17 and LPTIM2 internal input capture When the TIMICSEL2 bit is set, the TIM16, TIM17 and LPTIM2 internal input capture can be connected either to HSI/256, MSI/4 or MSI/1024. Depending on TIMICSEL[1:0] value, MSI is either MSIK or MSIS. When TIMICSEL2 is cleared, the HSI, MSIK and MSIS clock sources cannot be selected as TIM16, TIM17 or LPTIM2 internal input capture. 0xx: HSI, MSIK and MSIS dividers disabled Note: The clock division must be disabled (TIMICSEL configured to 0xx) before selecting or changing a clock sources division. - TIMICSEL: packed union { - raw: u3, - value: TIMICSEL, - }, + /// Clocks sources for TIM16,TIM17 and LPTIM2 internal input capture When the TIMICSEL2 bit is set, the TIM16, TIM17 and LPTIM2 internal input capture can be connected either to HSI/256, MSI/4 or MSI/1024. Depending on TIMICSEL[1:0] value, MSI is either MSIK or MSIS. When TIMICSEL2 is cleared, the HSI, MSIK and MSIS clock sources cannot be selected as TIM16, TIM17 or LPTIM2 internal input capture. 0xx: HSI, MSIK and MSIS dividers disabled Note: The clock division must be disabled (TIMICSEL configured to 0xx) before selecting or changing a clock sources division. + TIMICSEL: TIMICSEL, }), - /// RCC peripherals independent clock configuration register 2 + /// RCC peripherals independent clock configuration register 2 CCIPR2: mmio.Mmio(packed struct(u32) { - /// MDF1 kernel clock source selection These bits are used to select the MDF1 kernel clock source. others: reserved - MDF1SEL: packed union { - raw: u3, - value: MDFSEL, - }, + /// MDF1 kernel clock source selection These bits are used to select the MDF1 kernel clock source. others: reserved + MDF1SEL: MDFSEL, reserved5: u2, - /// SAI1 kernel clock source selection These bits are used to select the SAI1 kernel clock source. others: reserved Note: If the selected clock is the external clock and this clock is stopped, a switch to another clock is impossible. - SAI1SEL: packed union { - raw: u3, - value: SAISEL, - }, - /// SAI2 kernel clock source selection These bits are used to select the SAI2 kernel clock source. others: reserved Note: If the selected clock is the external clock and this clock is stopped, a switch to another clock is impossible. - SAI2SEL: packed union { - raw: u3, - value: SAISEL, - }, - /// SAES kernel clock source selection This bit is used to select the SAES kernel clock source. - SAESSEL: packed union { - raw: u1, - value: SAESSEL, - }, - /// RNGSEL kernel clock source selection These bits are used to select the RNG kernel clock source. - RNGSEL: packed union { - raw: u2, - value: RNGSEL, - }, - /// SDMMC1 and SDMMC2 kernel clock source selection This bit is used to select the SDMMC kernel clock source. It is recommended to change this bit only after reset and before enabling the SDMMC. - SDMMCSEL: packed union { - raw: u1, - value: SDMMCSEL, - }, - /// DSI kernel clock source selection This bit is used to select the DSI kernel clock source. This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. Note: If not present, consider this bit as reserved and keep it at reset value. - DSISEL: packed union { - raw: u1, - value: DSISEL, - }, - /// USART6 kernel clock source selection These bits are used to select the USART6 kernel clock source. The USART6 is functional in Stop 0 and Stop 1 modes only when the kernel clock is HSI or LSE. Note: This bitfield is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bitfield as reserved and keep it at reset value. - USART6SEL: packed union { - raw: u2, - value: USARTSEL, - }, - /// LTDC kernel clock source selection This bit is used to select the LTDC kernel clock source. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. - LTDCSEL: packed union { - raw: u1, - value: LTDCSEL, - }, + /// SAI1 kernel clock source selection These bits are used to select the SAI1 kernel clock source. others: reserved Note: If the selected clock is the external clock and this clock is stopped, a switch to another clock is impossible. + SAI1SEL: SAISEL, + /// SAI2 kernel clock source selection These bits are used to select the SAI2 kernel clock source. others: reserved Note: If the selected clock is the external clock and this clock is stopped, a switch to another clock is impossible. + SAI2SEL: SAISEL, + /// SAES kernel clock source selection This bit is used to select the SAES kernel clock source. + SAESSEL: SAESSEL, + /// RNGSEL kernel clock source selection These bits are used to select the RNG kernel clock source. + RNGSEL: RNGSEL, + /// SDMMC1 and SDMMC2 kernel clock source selection This bit is used to select the SDMMC kernel clock source. It is recommended to change this bit only after reset and before enabling the SDMMC. + SDMMCSEL: SDMMCSEL, + /// DSI kernel clock source selection This bit is used to select the DSI kernel clock source. This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. Note: If not present, consider this bit as reserved and keep it at reset value. + DSISEL: DSISEL, + /// USART6 kernel clock source selection These bits are used to select the USART6 kernel clock source. The USART6 is functional in Stop 0 and Stop 1 modes only when the kernel clock is HSI or LSE. Note: This bitfield is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bitfield as reserved and keep it at reset value. + USART6SEL: USARTSEL, + /// LTDC kernel clock source selection This bit is used to select the LTDC kernel clock source. Note: This bit is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bit as reserved and keep it at reset value. + LTDCSEL: LTDCSEL, reserved20: u1, - /// OCTOSPI1 and OCTOSPI2 kernel clock source selection These bits are used to select the OCTOSPI1 and OCTOSPI2 kernel clock source. - OCTOSPISEL: packed union { - raw: u2, - value: OCTOSPISEL, - }, - /// HSPI1 kernel clock source selection These bits are used to select the HSPI1 kernel clock source. Note: This bitfield is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bitfield as reserved and keep it at reset value. - HSPI1SEL: packed union { - raw: u2, - value: HSPISEL, - }, - /// I2C5 kernel clock source selection These bits are used to select the I2C5 kernel clock source. The I2C5 is functional in Stop 0 and Stop 1 modes only when the kernel clock is HSI�or MSIK. Note: This bitfield is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bitfield as reserved and keep it at reset value. - I2C5SEL: packed union { - raw: u2, - value: I2CSEL, - }, - /// I2C6 kernel clock source selection These bits are used to select the I2C6 kernel clock source. The I2C6 is functional in Stop 0 and Stop 1 modes only when the kernel clock is HSI�or MSIK. Note: This bitfield is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bitfield as reserved and keep it at reset value. - I2C6SEL: packed union { - raw: u2, - value: I2CSEL, - }, + /// OCTOSPI1 and OCTOSPI2 kernel clock source selection These bits are used to select the OCTOSPI1 and OCTOSPI2 kernel clock source. + OCTOSPISEL: OCTOSPISEL, + /// HSPI1 kernel clock source selection These bits are used to select the HSPI1 kernel clock source. Note: This bitfield is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bitfield as reserved and keep it at reset value. + HSPI1SEL: HSPISEL, + /// I2C5 kernel clock source selection These bits are used to select the I2C5 kernel clock source. The I2C5 is functional in Stop 0 and Stop 1 modes only when the kernel clock is HSI�or MSIK. Note: This bitfield is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bitfield as reserved and keep it at reset value. + I2C5SEL: I2CSEL, + /// I2C6 kernel clock source selection These bits are used to select the I2C6 kernel clock source. The I2C6 is functional in Stop 0 and Stop 1 modes only when the kernel clock is HSI�or MSIK. Note: This bitfield is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bitfield as reserved and keep it at reset value. + I2C6SEL: I2CSEL, reserved30: u2, - /// OTG_HS PHY kernel clock source selection These bits are used to select the OTG_HS PHY kernel clock source. Note: This bitfield is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bitfield as reserved and keep it at reset value. - OTGHSSEL: packed union { - raw: u2, - value: OTGHSSEL, - }, + /// OTG_HS PHY kernel clock source selection These bits are used to select the OTG_HS PHY kernel clock source. Note: This bitfield is only available on some devices in the STM32U5 Series. Refer to the device datasheet for availability of its associated peripheral. If not present, consider this bitfield as reserved and keep it at reset value. + OTGHSSEL: OTGHSSEL, }), - /// RCC peripherals independent clock configuration register 3 + /// RCC peripherals independent clock configuration register 3 CCIPR3: mmio.Mmio(packed struct(u32) { - /// LPUART1 kernel clock source selection These bits are used to select the LPUART1 kernel clock source. others: reserved Note: The LPUART1 is functional in Stop 0, Stop 1 and Stop 2 modes only when the kernel clock is HSI, LSE or MSIK. - LPUART1SEL: packed union { - raw: u3, - value: LPUSARTSEL, - }, - /// SPI3 kernel clock source selection These bits are used to select the SPI3 kernel clock source. Note: The SPI3 is functional in Stop 0, Stop 1 and Stop 2 modes only when the kernel clock is HSI or MSIK. - SPI3SEL: packed union { - raw: u2, - value: SPI3SEL, - }, + /// LPUART1 kernel clock source selection These bits are used to select the LPUART1 kernel clock source. others: reserved Note: The LPUART1 is functional in Stop 0, Stop 1 and Stop 2 modes only when the kernel clock is HSI, LSE or MSIK. + LPUART1SEL: LPUSARTSEL, + /// SPI3 kernel clock source selection These bits are used to select the SPI3 kernel clock source. Note: The SPI3 is functional in Stop 0, Stop 1 and Stop 2 modes only when the kernel clock is HSI or MSIK. + SPI3SEL: SPI3SEL, reserved6: u1, - /// I2C3 kernel clock source selection These bits are used to select the I2C3 kernel clock source. Note: The I2C3 is functional in Stop 0, Stop 1 and Stop 2 modes only when the kernel clock is HSI or MSIK. - I2C3SEL: packed union { - raw: u2, - value: I2C3SEL, - }, - /// LPTIM3 and LPTIM4 kernel clock source selection These bits are used to select the LPTIM3 and LPTIM4 kernel clock source. Note: The LPTIM3 and LPTIM4 are functional in Stop 0, Stop 1 and Stop 2 modes only when the kernel clock is LSI, LSE, HSI with HSIKERON = 1 or MSIK with MSIKERON = 1. - LPTIM34SEL: packed union { - raw: u2, - value: LPTIMSEL, - }, - /// LPTIM1 kernel clock source selection These bits are used to select the LPTIM1 kernel clock source. Note: The LPTIM1 is functional in Stop 0, Stop 1 and Stop 2 modes only when the kernel clock is LSI, LSE, HSI with HSIKERON = 1 or MSIK with MSIKERON = 1. - LPTIM1SEL: packed union { - raw: u2, - value: LPTIMSEL, - }, - /// ADC1, ADC4 and DAC1 kernel clock source selection These bits are used to select the ADC1, ADC4 and DAC1 kernel clock source. others: reserved Note: The ADC1, ADC4 and DAC1 are functional in Stop 0, Stop 1 and Stop 2 modes only when the kernel clock is HSI or MSIK (only ADC4 and DAC1 are functional in Stop 2 mode). - ADCDACSEL: packed union { - raw: u3, - value: ADCDACSEL, - }, - /// DAC1 sample and hold clock source selection This bit is used to select the DAC1 sample and hold clock source. - DAC1SEL: packed union { - raw: u1, - value: DACSEL, - }, - /// ADF1 kernel clock source selection These bits are used to select the ADF1 kernel clock source. others: reserved Note: The ADF1 is functional in Stop 0, Stop 1 and Stop 2 modes only when the kernel clock is AUDIOCLK or MSIK. - ADF1SEL: packed union { - raw: u3, - value: ADFSEL, - }, + /// I2C3 kernel clock source selection These bits are used to select the I2C3 kernel clock source. Note: The I2C3 is functional in Stop 0, Stop 1 and Stop 2 modes only when the kernel clock is HSI or MSIK. + I2C3SEL: I2C3SEL, + /// LPTIM3 and LPTIM4 kernel clock source selection These bits are used to select the LPTIM3 and LPTIM4 kernel clock source. Note: The LPTIM3 and LPTIM4 are functional in Stop 0, Stop 1 and Stop 2 modes only when the kernel clock is LSI, LSE, HSI with HSIKERON = 1 or MSIK with MSIKERON = 1. + LPTIM34SEL: LPTIMSEL, + /// LPTIM1 kernel clock source selection These bits are used to select the LPTIM1 kernel clock source. Note: The LPTIM1 is functional in Stop 0, Stop 1 and Stop 2 modes only when the kernel clock is LSI, LSE, HSI with HSIKERON = 1 or MSIK with MSIKERON = 1. + LPTIM1SEL: LPTIMSEL, + /// ADC1, ADC4 and DAC1 kernel clock source selection These bits are used to select the ADC1, ADC4 and DAC1 kernel clock source. others: reserved Note: The ADC1, ADC4 and DAC1 are functional in Stop 0, Stop 1 and Stop 2 modes only when the kernel clock is HSI or MSIK (only ADC4 and DAC1 are functional in Stop 2 mode). + ADCDACSEL: ADCDACSEL, + /// DAC1 sample and hold clock source selection This bit is used to select the DAC1 sample and hold clock source. + DAC1SEL: DACSEL, + /// ADF1 kernel clock source selection These bits are used to select the ADF1 kernel clock source. others: reserved Note: The ADF1 is functional in Stop 0, Stop 1 and Stop 2 modes only when the kernel clock is AUDIOCLK or MSIK. + ADF1SEL: ADFSEL, padding: u13, }), reserved240: [4]u8, - /// RCC Backup domain control register + /// RCC Backup domain control register BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enable Set and cleared by software. + /// LSE oscillator enable Set and cleared by software. LSEON: u1, - /// LSE oscillator ready Set and cleared by hardware to indicate when the external 32 kHz oscillator is stable. After the LSEON bit is cleared, LSERDY goes low after six external low-speed oscillator clock cycles. + /// LSE oscillator ready Set and cleared by hardware to indicate when the external 32 kHz oscillator is stable. After the LSEON bit is cleared, LSERDY goes low after six external low-speed oscillator clock cycles. LSERDY: u1, - /// LSE oscillator bypass Set and cleared by software to bypass oscillator in debug mode. This bit can be written only when the external 32 kHz oscillator is disabled (LSEON = 0 and LSERDY = 0). + /// LSE oscillator bypass Set and cleared by software to bypass oscillator in debug mode. This bit can be written only when the external 32 kHz oscillator is disabled (LSEON = 0 and LSERDY = 0). LSEBYP: u1, - /// LSE oscillator drive capability Set by software to modulate the drive capability of the LSE oscillator. This field can be written only when the external 32 kHz oscillator is disabled (LSEON = 0 and LSERDY = 0). Note: The oscillator is in 'Xtal mode when it is not in bypass mode. - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// CSS on LSE enable Set by software to enable the CSS on LSE. LSECSSON must be enabled after the LSE oscillator is enabled (LSEON bit enabled) and ready (LSERDY flag set by hardware), and after the RTCSEL bit is selected. Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD = 1). In that case, the software must disable the LSECSSON bit. + /// LSE oscillator drive capability Set by software to modulate the drive capability of the LSE oscillator. This field can be written only when the external 32 kHz oscillator is disabled (LSEON = 0 and LSERDY = 0). Note: The oscillator is in 'Xtal mode when it is not in bypass mode. + LSEDRV: LSEDRV, + /// CSS on LSE enable Set by software to enable the CSS on LSE. LSECSSON must be enabled after the LSE oscillator is enabled (LSEON bit enabled) and ready (LSERDY flag set by hardware), and after the RTCSEL bit is selected. Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD = 1). In that case, the software must disable the LSECSSON bit. LSECSSON: u1, - /// CSS on LSE failure Detection Set by hardware to indicate when a failure is detected by the CCS on the external 32 kHz oscillator (LSE). + /// CSS on LSE failure Detection Set by hardware to indicate when a failure is detected by the CCS on the external 32 kHz oscillator (LSE). LSECSSD: u1, - /// LSE system clock (LSESYS) enable Set by software to enable always the LSE system clock generated by RCC. This clock can be used by any peripheral when its source clock is the LSE or at system level in case of one of the LSCOSEL, MCO, MSI PLL mode or CSS on LSE is needed. The LSESYS clock can be generated even if LSESYSEN= 0 if the LSE clock is requested by the CSS on LSE, by a peripheral or any other source clock using LSE. + /// LSE system clock (LSESYS) enable Set by software to enable always the LSE system clock generated by RCC. This clock can be used by any peripheral when its source clock is the LSE or at system level in case of one of the LSCOSEL, MCO, MSI PLL mode or CSS on LSE is needed. The LSESYS clock can be generated even if LSESYSEN= 0 if the LSE clock is requested by the CSS on LSE, by a peripheral or any other source clock using LSE. LSESYSEN: u1, - /// RTC and TAMP clock source selection Set by software to select the clock source for the RTC and TAMP . Once the RTC and TAMP clock source has been selected, it cannot be changed anymore unless the Backup domain is reset, or unless a failure is detected on LSE (LSECSSD is set). The BDRST bit can be used to reset them. - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC and TAMP clock source selection Set by software to select the clock source for the RTC and TAMP . Once the RTC and TAMP clock source has been selected, it cannot be changed anymore unless the Backup domain is reset, or unless a failure is detected on LSE (LSECSSD is set). The BDRST bit can be used to reset them. + RTCSEL: RTCSEL, reserved11: u1, - /// LSE system clock (LSESYS) ready Set and cleared by hardware to indicate when the LSE system clock is stable.When the LSESYSEN bit is set, the LSESYSRDY flag is set after two LSE clock cycles. The LSE clock must be already enabled and stable (LSEON and LSERDY are set). When the LSEON bit is cleared, LSERDY goes low after six external low-speed oscillator clock cycles. + /// LSE system clock (LSESYS) ready Set and cleared by hardware to indicate when the LSE system clock is stable.When the LSESYSEN bit is set, the LSESYSRDY flag is set after two LSE clock cycles. The LSE clock must be already enabled and stable (LSEON and LSERDY are set). When the LSEON bit is cleared, LSERDY goes low after six external low-speed oscillator clock cycles. LSESYSRDY: u1, - /// LSE clock glitch filter enable Set and cleared by hardware to enable the LSE glitch filter. This bit can be written only when the LSE is disabled (LSEON = 0 and LSERDY = 0) + /// LSE clock glitch filter enable Set and cleared by hardware to enable the LSE glitch filter. This bit can be written only when the LSE is disabled (LSEON = 0 and LSERDY = 0) LSEGFON: u1, reserved15: u2, - /// RTC and TAMP clock enable Set and cleared by software. + /// RTC and TAMP clock enable Set and cleared by software. RTCEN: u1, - /// Backup domain software reset Set and cleared by software. + /// Backup domain software reset Set and cleared by software. BDRST: u1, reserved24: u7, - /// Low-speed clock output (LSCO) enable Set and cleared by software. + /// Low-speed clock output (LSCO) enable Set and cleared by software. LSCOEN: u1, - /// Low-speed clock output selection Set and cleared by software. - LSCOSEL: packed union { - raw: u1, - value: LSCOSEL, - }, - /// LSI oscillator enable Set and cleared by software. + /// Low-speed clock output selection Set and cleared by software. + LSCOSEL: LSCOSEL, + /// LSI oscillator enable Set and cleared by software. LSION: u1, - /// LSI oscillator ready Set and cleared by hardware to indicate when the LSI oscillator is stable. After the LSION bit is cleared, LSIRDY goes low after three internal low-speed oscillator clock cycles. This bit is set when the LSI is used by IWDG or RTC, even if LSION = 0. + /// LSI oscillator ready Set and cleared by hardware to indicate when the LSI oscillator is stable. After the LSION bit is cleared, LSIRDY goes low after three internal low-speed oscillator clock cycles. This bit is set when the LSI is used by IWDG or RTC, even if LSION = 0. LSIRDY: u1, - /// Low-speed clock divider configuration Set and cleared by software to enable the LSI division. This bit can be written only when the LSI is disabled (LSION = 0 and LSIRDY = 0). If the LSI was previously enabled, it is necessary to wait for at least 60 μs after clearing LSION bit (synchronization time for LSI to be really disabled), before writing LSIPREDIV. The LSIPREDIV cannot be changed if the LSI is used by the IWDG or by the RTC. - LSIPREDIV: packed union { - raw: u1, - value: LSIPREDIV, - }, + /// Low-speed clock divider configuration Set and cleared by software to enable the LSI division. This bit can be written only when the LSI is disabled (LSION = 0 and LSIRDY = 0). If the LSI was previously enabled, it is necessary to wait for at least 60 μs after clearing LSION bit (synchronization time for LSI to be really disabled), before writing LSIPREDIV. The LSIPREDIV cannot be changed if the LSI is used by the IWDG or by the RTC. + LSIPREDIV: LSIPREDIV, padding: u3, }), - /// RCC control/status register + /// RCC control/status register CSR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// MSIK range after Standby mode Set by software to chose the MSIK frequency at startup. This range is used after exiting Standby mode until MSIRGSEL is set. After a NRST pin or a power-on reset or when exiting Shutdown mode, the range is always 4 MHz. MSIKSRANGE can be written only when MSIRGSEL = 1. others: reserved Note: Changing the MSIKSRANGE does not change the current MSIK frequency. - MSIKSRANGE: packed union { - raw: u4, - value: MSIXSRANGE, - }, - /// MSIS range after Standby mode Set by software to chose the MSIS frequency at startup. This range is used after exiting Standby mode until MSIRGSEL is set. After a NRST pin or a power-on reset or when exiting Shutdown mode, the range is always 4 MHz. MSISSRANGE can be written only when MSIRGSEL = 1. others: reserved Note: Changing the MSISSRANGE does not change the current MSIS frequency. - MSISSRANGE: packed union { - raw: u4, - value: MSIXSRANGE, - }, + /// MSIK range after Standby mode Set by software to chose the MSIK frequency at startup. This range is used after exiting Standby mode until MSIRGSEL is set. After a NRST pin or a power-on reset or when exiting Shutdown mode, the range is always 4 MHz. MSIKSRANGE can be written only when MSIRGSEL = 1. others: reserved Note: Changing the MSIKSRANGE does not change the current MSIK frequency. + MSIKSRANGE: MSIXSRANGE, + /// MSIS range after Standby mode Set by software to chose the MSIS frequency at startup. This range is used after exiting Standby mode until MSIRGSEL is set. After a NRST pin or a power-on reset or when exiting Shutdown mode, the range is always 4 MHz. MSISSRANGE can be written only when MSIRGSEL = 1. others: reserved Note: Changing the MSISSRANGE does not change the current MSIS frequency. + MSISSRANGE: MSIXSRANGE, reserved23: u7, - /// Remove reset flag Set by software to clear the reset flags. + /// Remove reset flag Set by software to clear the reset flags. RMVF: u1, reserved25: u1, - /// Option byte loader reset flag Set by hardware when a reset from the option byte loading occurs. Cleared by writing to the RMVF bit. + /// Option byte loader reset flag Set by hardware when a reset from the option byte loading occurs. Cleared by writing to the RMVF bit. OBLRSTF: u1, - /// NRST pin reset flag Set by hardware when a reset from the NRST pin occurs. Cleared by writing to the RMVF bit. + /// NRST pin reset flag Set by hardware when a reset from the NRST pin occurs. Cleared by writing to the RMVF bit. PINRSTF: u1, - /// BOR flag Set by hardware when a BOR occurs. Cleared by writing to the RMVF bit. + /// BOR flag Set by hardware when a BOR occurs. Cleared by writing to the RMVF bit. BORRSTF: u1, - /// Software reset flag Set by hardware when a software reset occurs. Cleared by writing to the RMVF bit. + /// Software reset flag Set by hardware when a software reset occurs. Cleared by writing to the RMVF bit. SFTRSTF: u1, - /// Independent watchdog reset flag Set by hardware when an independent watchdog reset domain occurs. Cleared by writing to the RMVF bit. + /// Independent watchdog reset flag Set by hardware when an independent watchdog reset domain occurs. Cleared by writing to the RMVF bit. IWDGRSTF: u1, - /// Window watchdog reset flag Set by hardware when a window watchdog reset occurs. Cleared by writing to the RMVF bit. + /// Window watchdog reset flag Set by hardware when a window watchdog reset occurs. Cleared by writing to the RMVF bit. WWDGRSTF: u1, - /// Low-power reset flag Set by hardware when a reset occurs due to Stop, Standby or Shutdown mode entry, whereas the corresponding nRST_STOP, nRST_STBY or nRST_SHDW option bit is cleared. Cleared by writing to the RMVF bit. + /// Low-power reset flag Set by hardware when a reset occurs due to Stop, Standby or Shutdown mode entry, whereas the corresponding nRST_STOP, nRST_STBY or nRST_SHDW option bit is cleared. Cleared by writing to the RMVF bit. LPWRRSTF: u1, }), reserved272: [24]u8, - /// RCC secure configuration register + /// RCC secure configuration register SECCFGR: mmio.Mmio(packed struct(u32) { - /// HSI clock configuration and status bits security Set and reset by software. - HSISEC: packed union { - raw: u1, - value: SECURITY, - }, - /// HSE clock configuration bits, status bits and HSE_CSS security Set and reset by software. - HSESEC: packed union { - raw: u1, - value: SECURITY, - }, - /// MSI clock configuration and status bits security Set and reset by software. - MSISEC: packed union { - raw: u1, - value: SECURITY, - }, - /// LSI clock configuration and status bits security Set and reset by software. - LSISEC: packed union { - raw: u1, - value: SECURITY, - }, - /// LSE clock configuration and status bits security Set and reset by software. - LSESEC: packed union { - raw: u1, - value: SECURITY, - }, - /// SYSCLK clock selection, STOPWUCK bit, clock output on MCO configuration security Set and reset by software. - SYSCLKSEC: packed union { - raw: u1, - value: SECURITY, - }, - /// AHBx/APBx prescaler configuration bits security Set and reset by software. - PRESCSEC: packed union { - raw: u1, - value: SECURITY, - }, - /// PLL1 clock configuration and status bits security Set and reset by software. - PLLSEC: packed union { - raw: u1, - value: SECURITY, - }, + /// HSI clock configuration and status bits security Set and reset by software. + HSISEC: SECURITY, + /// HSE clock configuration bits, status bits and HSE_CSS security Set and reset by software. + HSESEC: SECURITY, + /// MSI clock configuration and status bits security Set and reset by software. + MSISEC: SECURITY, + /// LSI clock configuration and status bits security Set and reset by software. + LSISEC: SECURITY, + /// LSE clock configuration and status bits security Set and reset by software. + LSESEC: SECURITY, + /// SYSCLK clock selection, STOPWUCK bit, clock output on MCO configuration security Set and reset by software. + SYSCLKSEC: SECURITY, + /// AHBx/APBx prescaler configuration bits security Set and reset by software. + PRESCSEC: SECURITY, + /// PLL1 clock configuration and status bits security Set and reset by software. + PLLSEC: SECURITY, reserved10: u2, - /// intermediate clock source selection security Set and reset by software. - ICLKSEC: packed union { - raw: u1, - value: SECURITY, - }, - /// HSI48 clock configuration and status bits security Set and reset by software. - HSI48SEC: packed union { - raw: u1, - value: SECURITY, - }, - /// Remove reset flag security Set and reset by software. - RMVFSEC: packed union { - raw: u1, - value: SECURITY, - }, + /// intermediate clock source selection security Set and reset by software. + ICLKSEC: SECURITY, + /// HSI48 clock configuration and status bits security Set and reset by software. + HSI48SEC: SECURITY, + /// Remove reset flag security Set and reset by software. + RMVFSEC: SECURITY, padding: u19, }), - /// RCC privilege configuration register + /// RCC privilege configuration register PRIVCFGR: mmio.Mmio(packed struct(u32) { - /// RCC secure functions privilege configuration Set and reset by software. This bit can be written only by a secure privileged access. + /// RCC secure functions privilege configuration Set and reset by software. This bit can be written only by a secure privileged access. SPRIV: u1, - /// RCC non-secure functions privilege configuration Set and reset by software. This bit can be written only by privileged access, secure or non-secure. + /// RCC non-secure functions privilege configuration Set and reset by software. This bit can be written only by privileged access, secure or non-secure. NSPRIV: u1, padding: u30, }), @@ -409235,53 +401294,53 @@ pub const types = struct { pub const rcc_wb = struct { pub const ADCSEL = enum(u2) { - /// No clock selected + /// No clock selected DISABLE = 0x0, PLLSAI1_R = 0x1, PLL1_P = 0x2, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x3, }; pub const CLK48SEL = enum(u2) { - /// HSI48 clock selected + /// HSI48 clock selected HSI48 = 0x0, - /// PLLSAI1_Q aka PLL48M1CLK clock selected + /// PLLSAI1_Q aka PLL48M1CLK clock selected PLLSAI1_Q = 0x1, - /// PLL_Q aka PLL48M2CLK clock selected + /// PLL_Q aka PLL48M2CLK clock selected PLL1_Q = 0x2, - /// MSI clock selected + /// MSI clock selected MSI = 0x3, }; pub const HPRE = enum(u4) { - /// DCLK not divided + /// DCLK not divided Div1 = 0x0, - /// hclk = SYSCLK divided by 3 + /// hclk = SYSCLK divided by 3 Div3 = 0x1, - /// hclk = SYSCLK divided by 5 + /// hclk = SYSCLK divided by 5 Div5 = 0x2, - /// hclk = SYSCLK divided by 6 + /// hclk = SYSCLK divided by 6 Div6 = 0x5, - /// hclk = SYSCLK divided by 8 + /// hclk = SYSCLK divided by 8 Div10 = 0x6, - /// hclk = SYSCLK divided by 32 + /// hclk = SYSCLK divided by 32 Div32 = 0x7, - /// hclk = SYSCLK divided by 2 + /// hclk = SYSCLK divided by 2 Div2 = 0x8, - /// hclk = SYSCLK divided by 4 + /// hclk = SYSCLK divided by 4 Div4 = 0x9, - /// hclk = SYSCLK divided by 8 + /// hclk = SYSCLK divided by 8 Div8 = 0xa, - /// hclk = SYSCLK divided by 16 + /// hclk = SYSCLK divided by 16 Div16 = 0xb, - /// hclk = SYSCLK divided by 64 + /// hclk = SYSCLK divided by 64 Div64 = 0xc, - /// hclk = SYSCLK divided by 128 + /// hclk = SYSCLK divided by 128 Div128 = 0xd, - /// hclk = SYSCLK divided by 256 + /// hclk = SYSCLK divided by 256 Div256 = 0xe, - /// hclk = SYSCLK divided by 256 + /// hclk = SYSCLK divided by 256 Div512 = 0xf, _, }; @@ -409292,132 +401351,132 @@ pub const types = struct { }; pub const I2C1SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, _, }; pub const I2C3SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, _, }; pub const LPTIM1SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// LSI clock selected + /// LSI clock selected LSI = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, - /// LSE clock selected + /// LSE clock selected LSE = 0x3, }; pub const LPTIM2SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// LSI clock selected + /// LSI clock selected LSI = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, - /// LSE clock selected + /// LSE clock selected LSE = 0x3, }; pub const LPUART1SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK1 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, HSE = 0x3, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u3) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x1, - /// Division by 4 + /// Division by 4 Div4 = 0x2, - /// Division by 8 + /// Division by 8 Div8 = 0x3, - /// Division by 16 + /// Division by 16 Div16 = 0x4, _, }; pub const MCOSEL = enum(u4) { - /// No clock + /// No clock DISABLE = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// MSI oscillator clock selected + /// MSI oscillator clock selected MSI = 0x2, - /// HSI oscillator clock selected + /// HSI oscillator clock selected HSI = 0x3, - /// HSE clock selected (after stabilization, after HSERDY = 1) + /// HSE clock selected (after stabilization, after HSERDY = 1) HSE = 0x4, - /// PLL clock selected + /// PLL clock selected PLL_R = 0x5, - /// LSI1 oscillator clock selected + /// LSI1 oscillator clock selected LSI1 = 0x6, - /// LSI2 oscillator clock selected + /// LSI2 oscillator clock selected LSI2 = 0x7, - /// LSE oscillator clock selected + /// LSE oscillator clock selected LSE = 0x8, - /// HSI48 oscillator clock selected + /// HSI48 oscillator clock selected HSI48 = 0x9, - /// HSE clock selected (before stabilization, after HSEON = 1) + /// HSE clock selected (before stabilization, after HSEON = 1) HSE_UNSTABLE = 0xc, _, }; pub const MSIRANGE = enum(u4) { - /// range 0 around 100 kHz + /// range 0 around 100 kHz Range100K = 0x0, - /// range 1 around 200 kHz + /// range 1 around 200 kHz Range200K = 0x1, - /// range 2 around 400 kHz + /// range 2 around 400 kHz Range400K = 0x2, - /// range 3 around 800 kHz + /// range 3 around 800 kHz Range800K = 0x3, - /// range 4 around 1 MHz + /// range 4 around 1 MHz Range1M = 0x4, - /// range 5 around 2 MHz + /// range 5 around 2 MHz Range2M = 0x5, - /// range 6 around 4 MHz + /// range 6 around 4 MHz Range4M = 0x6, - /// range 7 around 8 MHz + /// range 7 around 8 MHz Range8M = 0x7, - /// range 8 around 16 MHz + /// range 8 around 16 MHz Range16M = 0x8, - /// range 9 around 24 MHz + /// range 9 around 24 MHz Range24M = 0x9, - /// range 10 around 32 MHz + /// range 10 around 32 MHz Range32M = 0xa, - /// range 11 around 48 MHz + /// range 11 around 48 MHz Range48M = 0xb, _, }; @@ -409614,48 +401673,48 @@ pub const types = struct { }; pub const PLLSRC = enum(u2) { - /// No clock selected as PLL entry clock source + /// No clock selected as PLL entry clock source DISABLE = 0x0, - /// MSI selected as PLL entry clock source + /// MSI selected as PLL entry clock source MSI = 0x1, - /// HSI selected as PLL entry clock source + /// HSI selected as PLL entry clock source HSI = 0x2, - /// HSE selected as PLL entry clock source + /// HSE selected as PLL entry clock source HSE = 0x3, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const RNGSEL = enum(u2) { - /// CLK48 + /// CLK48 CLK48 = 0x0, - /// LSI clock selected + /// LSI clock selected LSI = 0x1, - /// LSE clock selected + /// LSE clock selected LSE = 0x2, _, }; pub const RTCSEL = enum(u2) { - /// No clock selected + /// No clock selected DISABLE = 0x0, - /// LSE oscillator clock selected + /// LSE oscillator clock selected LSE = 0x1, - /// LSI oscillator clock selected + /// LSI oscillator clock selected LSI = 0x2, - /// HSE oscillator clock divided by 32 selected + /// HSE oscillator clock divided by 32 selected HSE = 0x3, }; @@ -409674,1083 +401733,984 @@ pub const types = struct { }; pub const USART1SEL = enum(u2) { - /// PCLK clock selected + /// PCLK clock selected PCLK2 = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x2, HSE = 0x3, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// MSI clock enable + /// MSI clock enable MSION: u1, - /// MSI clock ready flag + /// MSI clock ready flag MSIRDY: u1, - /// MSI clock PLL enable + /// MSI clock PLL enable MSIPLLEN: u1, reserved4: u1, - /// MSI clock ranges - MSIRANGE: packed union { - raw: u4, - value: MSIRANGE, - }, - /// HSI clock enabled + /// MSI clock ranges + MSIRANGE: MSIRANGE, + /// HSI clock enabled HSION: u1, - /// HSI always enable for peripheral kernels + /// HSI always enable for peripheral kernels HSIKERON: u1, - /// HSI clock ready flag + /// HSI clock ready flag HSIRDY: u1, - /// HSI automatic start from Stop + /// HSI automatic start from Stop HSIASFS: u1, - /// HSI kernel clock ready flag for peripherals requests + /// HSI kernel clock ready flag for peripherals requests HSIKERDY: u1, reserved16: u3, - /// HSE clock enabled + /// HSE clock enabled HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, - /// HSE crystal oscillator bypass + /// HSE crystal oscillator bypass HSEBYP: u1, - /// HSE Clock security system enable + /// HSE Clock security system enable CSSON: u1, - /// HSE sysclk and PLL M divider prescaler - HSEPRE: packed union { - raw: u1, - value: HSEPRE, - }, + /// HSE sysclk and PLL M divider prescaler + HSEPRE: HSEPRE, reserved24: u3, - /// Main PLL enable + /// Main PLL enable PLLON: u1, - /// Main PLL clock ready flag + /// Main PLL clock ready flag PLLRDY: u1, - /// SAI1 PLL enable + /// SAI1 PLL enable PLLSAI1ON: u1, - /// SAI1 PLL clock ready flag + /// SAI1 PLL clock ready flag PLLSAI1RDY: u1, padding: u4, }), - /// Internal clock sources calibration register + /// Internal clock sources calibration register ICSCR: mmio.Mmio(packed struct(u32) { - /// MSI clock calibration + /// MSI clock calibration MSICAL: u8, - /// MSI clock trimming + /// MSI clock trimming MSITRIM: u8, - /// HSI clock calibration + /// HSI clock calibration HSICAL: u8, - /// HSI clock trimming + /// HSI clock trimming HSITRIM: u7, padding: u1, }), - /// Clock configuration register + /// Clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u2, - value: SW, - }, - /// AHB prescaler - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// PB low-speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// APB high-speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// AHB prescaler + HPRE: HPRE, + /// PB low-speed prescaler (APB1) + PPRE1: PPRE, + /// APB high-speed prescaler (APB2) + PPRE2: PPRE, reserved15: u1, - /// Wakeup from Stop and CSS backup clock selection + /// Wakeup from Stop and CSS backup clock selection STOPWUCK: u1, - /// AHB prescaler flag + /// AHB prescaler flag HPREF: u1, - /// APB1 prescaler flag + /// APB1 prescaler flag PPRE1F: u1, - /// APB2 prescaler flag + /// APB2 prescaler flag PPRE2F: u1, reserved24: u5, - /// Microcontroller clock output - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller clock output prescaler - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, + /// Microcontroller clock output + MCOSEL: MCOSEL, + /// Microcontroller clock output prescaler + MCOPRE: MCOPRE, padding: u1, }), - /// PLLSYS configuration register + /// PLLSYS configuration register PLLCFGR: mmio.Mmio(packed struct(u32) { - /// Main PLL, PLLSAI1 and PLLSAI2 entry clock source - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, + /// Main PLL, PLLSAI1 and PLLSAI2 entry clock source + PLLSRC: PLLSRC, reserved4: u2, - /// Division factor M for the main PLL and audio PLL (PLLSAI1 and PLLSAI2) input clock - PLLM: packed union { - raw: u3, - value: PLLM, - }, + /// Division factor M for the main PLL and audio PLL (PLLSAI1 and PLLSAI2) input clock + PLLM: PLLM, reserved8: u1, - /// Main PLLSYS multiplication factor N - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// Main PLLSYS multiplication factor N + PLLN: PLLN, reserved16: u1, - /// Main PLLSYSP output enable + /// Main PLLSYSP output enable PLLPEN: u1, - /// Main PLL division factor P for PPLSYSSAICLK - PLLP: packed union { - raw: u5, - value: PLLP, - }, + /// Main PLL division factor P for PPLSYSSAICLK + PLLP: PLLP, reserved24: u2, - /// Main PLLSYSQ output enable + /// Main PLLSYSQ output enable PLLQEN: u1, - /// Main PLLSYS division factor Q for PLLSYSUSBCLK - PLLQ: packed union { - raw: u3, - value: PLLQ, - }, - /// Main PLLSYSR PLLCLK output enable + /// Main PLLSYS division factor Q for PLLSYSUSBCLK + PLLQ: PLLQ, + /// Main PLLSYSR PLLCLK output enable PLLREN: u1, - /// Main PLLSYS division factor R for SYSCLK (system clock) - PLLR: packed union { - raw: u3, - value: PLLR, - }, + /// Main PLLSYS division factor R for SYSCLK (system clock) + PLLR: PLLR, }), - /// PLLSAI1 configuration register + /// PLLSAI1 configuration register PLLSAI1CFGR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// SAIPLL multiplication factor for VCO - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// SAIPLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// SAIPLL PLLSAI1CLK output enable + /// SAIPLL PLLSAI1CLK output enable PLLPEN: u1, - /// SAI1PLL division factor P for PLLSAICLK (SAI1clock) - PLLP: packed union { - raw: u5, - value: PLLP, - }, + /// SAI1PLL division factor P for PLLSAICLK (SAI1clock) + PLLP: PLLP, reserved24: u2, - /// SAIPLL PLLSAIUSBCLK output enable + /// SAIPLL PLLSAIUSBCLK output enable PLLQEN: u1, - /// SAIPLL division factor Q for PLLSAIUSBCLK (48 MHz clock) - PLLQ: packed union { - raw: u3, - value: PLLQ, - }, - /// PLLSAI PLLADC1CLK output enable + /// SAIPLL division factor Q for PLLSAIUSBCLK (48 MHz clock) + PLLQ: PLLQ, + /// PLLSAI PLLADC1CLK output enable PLLREN: u1, - /// PLLSAI division factor R for PLLADC1CLK (ADC clock) - PLLR: packed union { - raw: u3, - value: PLLR, - }, + /// PLLSAI division factor R for PLLADC1CLK (ADC clock) + PLLR: PLLR, }), reserved24: [4]u8, - /// Clock interrupt enable register + /// Clock interrupt enable register CIER: mmio.Mmio(packed struct(u32) { - /// LSI1 ready interrupt enable + /// LSI1 ready interrupt enable LSI1RDYIE: u1, - /// LSE ready interrupt enable + /// LSE ready interrupt enable LSERDYIE: u1, - /// MSI ready interrupt enable + /// MSI ready interrupt enable MSIRDYIE: u1, - /// HSI ready interrupt enable + /// HSI ready interrupt enable HSIRDYIE: u1, - /// HSE ready interrupt enable + /// HSE ready interrupt enable HSERDYIE: u1, - /// PLLSYS ready interrupt enable + /// PLLSYS ready interrupt enable PLLRDYIE: u1, - /// PLLSAI1 ready interrupt enable + /// PLLSAI1 ready interrupt enable PLLSAI1RDYIE: u1, reserved9: u2, - /// LSE clock security system interrupt enable + /// LSE clock security system interrupt enable LSECSSIE: u1, - /// HSI48 ready interrupt enable + /// HSI48 ready interrupt enable HSI48RDYIE: u1, - /// LSI2 ready interrupt enable + /// LSI2 ready interrupt enable LSI2RDYIE: u1, padding: u20, }), - /// Clock interrupt flag register + /// Clock interrupt flag register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI1 ready interrupt flag + /// LSI1 ready interrupt flag LSI1RDYF: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYF: u1, - /// MSI ready interrupt flag + /// MSI ready interrupt flag MSIRDYF: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYF: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYF: u1, - /// PLL ready interrupt flag + /// PLL ready interrupt flag PLLRDYF: u1, - /// PLLSAI1 ready interrupt flag + /// PLLSAI1 ready interrupt flag PLLSAI1RDYF: u1, reserved8: u1, - /// HSE Clock security system interrupt flag + /// HSE Clock security system interrupt flag HSECSSF: u1, - /// LSE Clock security system interrupt flag + /// LSE Clock security system interrupt flag LSECSSF: u1, - /// HSI48 ready interrupt flag + /// HSI48 ready interrupt flag HSI48RDYF: u1, - /// LSI2 ready interrupt flag + /// LSI2 ready interrupt flag LSI2RDYF: u1, padding: u20, }), - /// Clock interrupt clear register + /// Clock interrupt clear register CICR: mmio.Mmio(packed struct(u32) { - /// LSI1 ready interrupt clear + /// LSI1 ready interrupt clear LSI1RDYC: u1, - /// LSE ready interrupt clear + /// LSE ready interrupt clear LSERDYC: u1, - /// MSI ready interrupt clear + /// MSI ready interrupt clear MSIRDYC: u1, - /// HSI ready interrupt clear + /// HSI ready interrupt clear HSIRDYC: u1, - /// HSE ready interrupt clear + /// HSE ready interrupt clear HSERDYC: u1, - /// PLL ready interrupt clear + /// PLL ready interrupt clear PLLRDYC: u1, - /// PLLSAI1 ready interrupt clear + /// PLLSAI1 ready interrupt clear PLLSAI1RDYC: u1, reserved8: u1, - /// HSE Clock security system interrupt clear + /// HSE Clock security system interrupt clear HSECSSC: u1, - /// LSE Clock security system interrupt clear + /// LSE Clock security system interrupt clear LSECSSC: u1, - /// HSI48 ready interrupt clear + /// HSI48 ready interrupt clear HSI48RDYC: u1, - /// LSI2 ready interrupt clear + /// LSI2 ready interrupt clear LSI2RDYC: u1, padding: u20, }), - /// Step Down converter control register + /// Step Down converter control register SMPSCR: mmio.Mmio(packed struct(u32) { - /// Step Down converter clock selection + /// Step Down converter clock selection SMPSSEL: u2, reserved4: u2, - /// Step Down converter clock prescaler + /// Step Down converter clock prescaler SMPSDIV: u2, reserved8: u2, - /// Step Down converter clock switch status + /// Step Down converter clock switch status SMPSSWS: u2, padding: u22, }), - /// AHB1 peripheral reset register + /// AHB1 peripheral reset register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// DMA1 reset + /// DMA1 reset DMA1RST: u1, - /// DMA2 reset + /// DMA2 reset DMA2RST: u1, - /// DMAMUX reset + /// DMAMUX reset DMAMUX1RST: u1, reserved12: u9, - /// CRC reset + /// CRC reset CRCRST: u1, reserved16: u3, - /// Touch Sensing Controller reset + /// Touch Sensing Controller reset TSCRST: u1, padding: u15, }), - /// AHB2 peripheral reset register + /// AHB2 peripheral reset register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// IO port A reset + /// IO port A reset GPIOARST: u1, - /// IO port B reset + /// IO port B reset GPIOBRST: u1, - /// IO port C reset + /// IO port C reset GPIOCRST: u1, - /// IO port D reset + /// IO port D reset GPIODRST: u1, - /// IO port E reset + /// IO port E reset GPIOERST: u1, reserved7: u2, - /// IO port H reset + /// IO port H reset GPIOHRST: u1, reserved13: u5, - /// ADC reset + /// ADC reset ADCRST: u1, reserved16: u2, - /// AES1 hardware accelerator reset + /// AES1 hardware accelerator reset AES1RST: u1, padding: u15, }), - /// AHB3 peripheral reset register + /// AHB3 peripheral reset register AHB3RSTR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Quad SPI memory interface reset + /// Quad SPI memory interface reset QUADSPIRST: u1, reserved16: u7, - /// PKA interface reset + /// PKA interface reset PKARST: u1, - /// AES2 interface reset + /// AES2 interface reset AES2RST: u1, - /// RNG interface reset + /// RNG interface reset RNGRST: u1, - /// HSEM interface reset + /// HSEM interface reset HSEMRST: u1, - /// IPCC interface reset + /// IPCC interface reset IPCCRST: u1, reserved25: u4, - /// Flash interface reset + /// Flash interface reset FLASHRST: u1, padding: u6, }), reserved56: [4]u8, - /// APB1 peripheral reset register 1 + /// APB1 peripheral reset register 1 APB1RSTR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer reset + /// TIM2 timer reset TIM2RST: u1, reserved9: u8, - /// LCD interface reset + /// LCD interface reset LCDRST: u1, reserved14: u4, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, reserved21: u6, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, reserved23: u1, - /// I2C3 reset + /// I2C3 reset I2C3RST: u1, - /// CRS reset + /// CRS reset CRSRST: u1, reserved26: u1, - /// USB FS reset + /// USB FS reset USBRST: u1, reserved31: u4, - /// Low Power Timer 1 reset + /// Low Power Timer 1 reset LPTIM1RST: u1, }), - /// APB1 peripheral reset register 2 + /// APB1 peripheral reset register 2 APB1RSTR2: mmio.Mmio(packed struct(u32) { - /// Low-power UART 1 reset + /// Low-power UART 1 reset LPUART1RST: u1, reserved5: u4, - /// Low-power timer 2 reset + /// Low-power timer 2 reset LPTIM2RST: u1, padding: u26, }), - /// APB2 peripheral reset register + /// APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI1 reset + /// SPI1 reset SPI1RST: u1, reserved14: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, reserved17: u2, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, reserved21: u2, - /// Serial audio interface 1 (SAI1) reset + /// Serial audio interface 1 (SAI1) reset SAI1RST: u1, padding: u10, }), - /// APB3 peripheral reset register + /// APB3 peripheral reset register APB3RSTR: mmio.Mmio(packed struct(u32) { - /// Radio system BLE reset + /// Radio system BLE reset RFRST: u1, padding: u31, }), - /// AHB1 peripheral clock enable register + /// AHB1 peripheral clock enable register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable + /// DMA1 clock enable DMA1EN: u1, - /// DMA2 clock enable + /// DMA2 clock enable DMA2EN: u1, - /// DMAMUX clock enable + /// DMAMUX clock enable DMAMUX1EN: u1, reserved12: u9, - /// CPU1 CRC clock enable + /// CPU1 CRC clock enable CRCEN: u1, reserved16: u3, - /// Touch Sensing Controller clock enable + /// Touch Sensing Controller clock enable TSCEN: u1, padding: u15, }), - /// AHB2 peripheral clock enable register + /// AHB2 peripheral clock enable register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable + /// IO port A clock enable GPIOAEN: u1, - /// IO port B clock enable + /// IO port B clock enable GPIOBEN: u1, - /// IO port C clock enable + /// IO port C clock enable GPIOCEN: u1, - /// IO port D clock enable + /// IO port D clock enable GPIODEN: u1, - /// IO port E clock enable + /// IO port E clock enable GPIOEEN: u1, reserved7: u2, - /// IO port H clock enable + /// IO port H clock enable GPIOHEN: u1, reserved13: u5, - /// ADC clock enable + /// ADC clock enable ADCEN: u1, reserved16: u2, - /// AES1 accelerator clock enable + /// AES1 accelerator clock enable AES1EN: u1, padding: u15, }), - /// AHB3 peripheral clock enable register + /// AHB3 peripheral clock enable register AHB3ENR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// QUADSPIEN + /// QUADSPIEN QUADSPIEN: u1, reserved16: u7, - /// PKAEN + /// PKAEN PKAEN: u1, - /// AES2EN + /// AES2EN AES2EN: u1, - /// RNGEN + /// RNGEN RNGEN: u1, - /// HSEMEN + /// HSEMEN HSEMEN: u1, - /// IPCCEN + /// IPCCEN IPCCEN: u1, reserved25: u4, - /// FLASHEN + /// FLASHEN FLASHEN: u1, padding: u6, }), reserved88: [4]u8, - /// APB1ENR1 + /// APB1ENR1 APB1ENR1: mmio.Mmio(packed struct(u32) { - /// CPU1 TIM2 timer clock enable + /// CPU1 TIM2 timer clock enable TIM2EN: u1, reserved9: u8, - /// CPU1 LCD clock enable + /// CPU1 LCD clock enable LCDEN: u1, - /// CPU1 RTC APB clock enable + /// CPU1 RTC APB clock enable RTCAPBEN: u1, - /// CPU1 Window watchdog clock enable + /// CPU1 Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// CPU1 SPI2 clock enable + /// CPU1 SPI2 clock enable SPI2EN: u1, reserved21: u6, - /// CPU1 I2C1 clock enable + /// CPU1 I2C1 clock enable I2C1EN: u1, reserved23: u1, - /// CPU1 I2C3 clock enable + /// CPU1 I2C3 clock enable I2C3EN: u1, - /// CPU1 CRS clock enable + /// CPU1 CRS clock enable CRSEN: u1, reserved26: u1, - /// CPU1 USB clock enable + /// CPU1 USB clock enable USBEN: u1, reserved31: u4, - /// CPU1 Low power timer 1 clock enable + /// CPU1 Low power timer 1 clock enable LPTIM1EN: u1, }), - /// APB1 peripheral clock enable register 2 + /// APB1 peripheral clock enable register 2 APB1ENR2: mmio.Mmio(packed struct(u32) { - /// CPU1 Low power UART 1 clock enable + /// CPU1 Low power UART 1 clock enable LPUART1EN: u1, reserved5: u4, - /// CPU1 LPTIM2EN + /// CPU1 LPTIM2EN LPTIM2EN: u1, padding: u26, }), - /// APB2ENR + /// APB2ENR APB2ENR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// CPU1 TIM1 timer clock enable + /// CPU1 TIM1 timer clock enable TIM1EN: u1, - /// CPU1 SPI1 clock enable + /// CPU1 SPI1 clock enable SPI1EN: u1, reserved14: u1, - /// CPU1 USART1clock enable + /// CPU1 USART1clock enable USART1EN: u1, reserved17: u2, - /// CPU1 TIM16 timer clock enable + /// CPU1 TIM16 timer clock enable TIM16EN: u1, - /// CPU1 TIM17 timer clock enable + /// CPU1 TIM17 timer clock enable TIM17EN: u1, reserved21: u2, - /// CPU1 SAI1 clock enable + /// CPU1 SAI1 clock enable SAI1EN: u1, padding: u10, }), reserved104: [4]u8, - /// AHB1 peripheral clocks enable in Sleep and Stop modes register + /// AHB1 peripheral clocks enable in Sleep and Stop modes register AHB1SMENR: mmio.Mmio(packed struct(u32) { - /// CPU1 DMA1 clocks enable during Sleep and Stop modes + /// CPU1 DMA1 clocks enable during Sleep and Stop modes DMA1SMEN: u1, - /// CPU1 DMA2 clocks enable during Sleep and Stop modes + /// CPU1 DMA2 clocks enable during Sleep and Stop modes DMA2SMEN: u1, - /// CPU1 DMAMUX clocks enable during Sleep and Stop modes + /// CPU1 DMAMUX clocks enable during Sleep and Stop modes DMAMUX1SMEN: u1, reserved9: u6, - /// CPU1 SRAM1 interface clocks enable during Sleep and Stop modes + /// CPU1 SRAM1 interface clocks enable during Sleep and Stop modes SRAM1SMEN: u1, reserved12: u2, - /// CPU1 CRCSMEN + /// CPU1 CRCSMEN CRCSMEN: u1, reserved16: u3, - /// CPU1 Touch Sensing Controller clocks enable during Sleep and Stop modes + /// CPU1 Touch Sensing Controller clocks enable during Sleep and Stop modes TSCSMEN: u1, padding: u15, }), - /// AHB2 peripheral clocks enable in Sleep and Stop modes register + /// AHB2 peripheral clocks enable in Sleep and Stop modes register AHB2SMENR: mmio.Mmio(packed struct(u32) { - /// CPU1 IO port A clocks enable during Sleep and Stop modes + /// CPU1 IO port A clocks enable during Sleep and Stop modes GPIOASMEN: u1, - /// CPU1 IO port B clocks enable during Sleep and Stop modes + /// CPU1 IO port B clocks enable during Sleep and Stop modes GPIOBSMEN: u1, - /// CPU1 IO port C clocks enable during Sleep and Stop modes + /// CPU1 IO port C clocks enable during Sleep and Stop modes GPIOCSMEN: u1, - /// CPU1 IO port D clocks enable during Sleep and Stop modes + /// CPU1 IO port D clocks enable during Sleep and Stop modes GPIODSMEN: u1, - /// CPU1 IO port E clocks enable during Sleep and Stop modes + /// CPU1 IO port E clocks enable during Sleep and Stop modes GPIOESMEN: u1, reserved7: u2, - /// CPU1 IO port H clocks enable during Sleep and Stop modes + /// CPU1 IO port H clocks enable during Sleep and Stop modes GPIOHSMEN: u1, reserved13: u5, - /// CPU1 ADC clocks enable during Sleep and Stop modes + /// CPU1 ADC clocks enable during Sleep and Stop modes ADCFSSMEN: u1, reserved16: u2, - /// CPU1 AES1 accelerator clocks enable during Sleep and Stop modes + /// CPU1 AES1 accelerator clocks enable during Sleep and Stop modes AES1SMEN: u1, padding: u15, }), - /// AHB3 peripheral clocks enable in Sleep and Stop modes register + /// AHB3 peripheral clocks enable in Sleep and Stop modes register AHB3SMENR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// QUADSPISMEN + /// QUADSPISMEN QUADSPISMEN: u1, reserved16: u7, - /// PKA accelerator clocks enable during CPU1 sleep mode + /// PKA accelerator clocks enable during CPU1 sleep mode PKASMEN: u1, - /// AES2 accelerator clocks enable during CPU1 sleep mode + /// AES2 accelerator clocks enable during CPU1 sleep mode AES2SMEN: u1, - /// True RNG clocks enable during CPU1 sleep mode + /// True RNG clocks enable during CPU1 sleep mode RNGSMEN: u1, reserved24: u5, - /// SRAM2a and SRAM2b memory interface clocks enable during CPU1 sleep mode + /// SRAM2a and SRAM2b memory interface clocks enable during CPU1 sleep mode SRAM2SMEN: u1, - /// Flash interface clocks enable during CPU1 sleep mode + /// Flash interface clocks enable during CPU1 sleep mode FLASHSMEN: u1, padding: u6, }), reserved120: [4]u8, - /// APB1SMENR1 + /// APB1SMENR1 APB1SMENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clocks enable during CPU1 Sleep mode + /// TIM2 timer clocks enable during CPU1 Sleep mode TIM2SMEN: u1, reserved9: u8, - /// LCD clocks enable during CPU1 Sleep mode + /// LCD clocks enable during CPU1 Sleep mode LCDSMEN: u1, - /// RTC APB clocks enable during CPU1 Sleep mode + /// RTC APB clocks enable during CPU1 Sleep mode RTCAPBSMEN: u1, - /// Window watchdog clocks enable during CPU1 Sleep mode + /// Window watchdog clocks enable during CPU1 Sleep mode WWDGSMEN: u1, reserved14: u2, - /// SPI2 clocks enable during CPU1 Sleep mode + /// SPI2 clocks enable during CPU1 Sleep mode SPI2SMEN: u1, reserved21: u6, - /// I2C1 clocks enable during CPU1 Sleep mode + /// I2C1 clocks enable during CPU1 Sleep mode I2C1SMEN: u1, reserved23: u1, - /// I2C3 clocks enable during CPU1 Sleep mode + /// I2C3 clocks enable during CPU1 Sleep mode I2C3SMEN: u1, - /// CRS clocks enable during CPU1 Sleep mode + /// CRS clocks enable during CPU1 Sleep mode CRSMEN: u1, reserved26: u1, - /// USB FS clocks enable during CPU1 Sleep mode + /// USB FS clocks enable during CPU1 Sleep mode USBSMEN: u1, reserved31: u4, - /// Low power timer 1 clocks enable during CPU1 Sleep mode + /// Low power timer 1 clocks enable during CPU1 Sleep mode LPTIM1SMEN: u1, }), - /// APB1 peripheral clocks enable in Sleep and Stop modes register 2 + /// APB1 peripheral clocks enable in Sleep and Stop modes register 2 APB1SMENR2: mmio.Mmio(packed struct(u32) { - /// Low power UART 1 clocks enable during CPU1 Sleep mode + /// Low power UART 1 clocks enable during CPU1 Sleep mode LPUART1SMEN: u1, reserved5: u4, - /// Low power timer 2 clocks enable during CPU1 Sleep mode + /// Low power timer 2 clocks enable during CPU1 Sleep mode LPTIM2SMEN: u1, padding: u26, }), - /// APB2SMENR + /// APB2SMENR APB2SMENR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 timer clocks enable during CPU1 Sleep mode + /// TIM1 timer clocks enable during CPU1 Sleep mode TIM1SMEN: u1, - /// SPI1 clocks enable during CPU1 Sleep mode + /// SPI1 clocks enable during CPU1 Sleep mode SPI1SMEN: u1, reserved14: u1, - /// USART1clocks enable during CPU1 Sleep mode + /// USART1clocks enable during CPU1 Sleep mode USART1SMEN: u1, reserved17: u2, - /// TIM16 timer clocks enable during CPU1 Sleep mode + /// TIM16 timer clocks enable during CPU1 Sleep mode TIM16SMEN: u1, - /// TIM17 timer clocks enable during CPU1 Sleep mode + /// TIM17 timer clocks enable during CPU1 Sleep mode TIM17SMEN: u1, reserved21: u2, - /// SAI1 clocks enable during CPU1 Sleep mode + /// SAI1 clocks enable during CPU1 Sleep mode SAI1SMEN: u1, padding: u10, }), reserved136: [4]u8, - /// CCIPR + /// CCIPR CCIPR: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection - USART1SEL: packed union { - raw: u2, - value: USART1SEL, - }, + /// USART1 clock source selection + USART1SEL: USART1SEL, reserved10: u8, - /// LPUART1 clock source selection - LPUART1SEL: packed union { - raw: u2, - value: LPUART1SEL, - }, - /// I2C1 clock source selection - I2C1SEL: packed union { - raw: u2, - value: I2C1SEL, - }, + /// LPUART1 clock source selection + LPUART1SEL: LPUART1SEL, + /// I2C1 clock source selection + I2C1SEL: I2C1SEL, reserved16: u2, - /// I2C3 clock source selection - I2C3SEL: packed union { - raw: u2, - value: I2C3SEL, - }, - /// Low power timer 1 clock source selection - LPTIM1SEL: packed union { - raw: u2, - value: LPTIM1SEL, - }, - /// Low power timer 2 clock source selection - LPTIM2SEL: packed union { - raw: u2, - value: LPTIM2SEL, - }, - /// SAI1 clock source selection - SAI1SEL: packed union { - raw: u2, - value: SAI1SEL, - }, + /// I2C3 clock source selection + I2C3SEL: I2C3SEL, + /// Low power timer 1 clock source selection + LPTIM1SEL: LPTIM1SEL, + /// Low power timer 2 clock source selection + LPTIM2SEL: LPTIM2SEL, + /// SAI1 clock source selection + SAI1SEL: SAI1SEL, reserved26: u2, - /// 48 MHz clock source selection - CLK48SEL: packed union { - raw: u2, - value: CLK48SEL, - }, - /// ADCs clock source selection - ADCSEL: packed union { - raw: u2, - value: ADCSEL, - }, - /// RNG clock source selection - RNGSEL: packed union { - raw: u2, - value: RNGSEL, - }, + /// 48 MHz clock source selection + CLK48SEL: CLK48SEL, + /// ADCs clock source selection + ADCSEL: ADCSEL, + /// RNG clock source selection + RNGSEL: RNGSEL, }), reserved144: [4]u8, - /// BDCR + /// BDCR BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enable + /// LSE oscillator enable LSEON: u1, - /// LSE oscillator ready + /// LSE oscillator ready LSERDY: u1, - /// LSE oscillator bypass + /// LSE oscillator bypass LSEBYP: u1, - /// SE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// LSECSSON + /// SE oscillator drive capability + LSEDRV: LSEDRV, + /// LSECSSON LSECSSON: u1, - /// CSS on LSE failure detection + /// CSS on LSE failure detection LSECSSD_: u1, reserved8: u1, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved15: u5, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, reserved24: u7, - /// Low speed clock output enable + /// Low speed clock output enable LSCOEN: u1, - /// Low speed clock output selection + /// Low speed clock output selection LSCOSEL: u2, padding: u5, }), - /// CSR + /// CSR CSR: mmio.Mmio(packed struct(u32) { - /// LSI1 oscillator enabled + /// LSI1 oscillator enabled LSI1ON: u1, - /// LSI1 oscillator ready + /// LSI1 oscillator ready LSI1RDY: u1, - /// LSI2 oscillator enabled + /// LSI2 oscillator enabled LSI2ON: u1, - /// LSI2 oscillator ready + /// LSI2 oscillator ready LSI2RDY: u1, - /// LSI2 oscillator trimming enable + /// LSI2 oscillator trimming enable LSI2TRIMEN: u1, - /// LSI2 oscillator trim OK + /// LSI2 oscillator trim OK LSI2TRIMOK: u1, reserved8: u2, - /// LSI2 oscillator bias configuration + /// LSI2 oscillator bias configuration LSI2BW: u4, reserved14: u2, - /// RF system wakeup clock source selection + /// RF system wakeup clock source selection RFWKPSEL: u2, - /// Radio system BLE and 802.15.4 reset status + /// Radio system BLE and 802.15.4 reset status RFRSTS: u1, reserved23: u6, - /// Remove reset flag + /// Remove reset flag RMVF: u1, reserved25: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// Pin reset flag + /// Pin reset flag PINRSTF: u1, - /// BOR flag + /// BOR flag BORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent window watchdog reset flag + /// Independent window watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), - /// Clock recovery RC register + /// Clock recovery RC register CRRCR: mmio.Mmio(packed struct(u32) { - /// HSI48 oscillator enabled + /// HSI48 oscillator enabled HSI48ON: u1, - /// HSI48 clock ready + /// HSI48 clock ready HSI48RDY: u1, reserved7: u5, - /// HSI48 clock calibration + /// HSI48 clock calibration HSI48CAL: u9, padding: u16, }), - /// Clock HSE register + /// Clock HSE register HSECR: mmio.Mmio(packed struct(u32) { - /// Register lock system + /// Register lock system UNLOCKED: u1, reserved3: u2, - /// HSE Sense amplifier threshold + /// HSE Sense amplifier threshold HSES: u1, - /// HSE current control + /// HSE current control HSEGMC: u3, reserved8: u1, - /// HSE capacitor tuning + /// HSE capacitor tuning HSETUNE: u6, padding: u18, }), reserved264: [104]u8, - /// Extended clock recovery register + /// Extended clock recovery register EXTCFGR: mmio.Mmio(packed struct(u32) { - /// Shared AHB prescaler - SHDHPRE: packed union { - raw: u4, - value: HPRE, - }, - /// CPU2 AHB prescaler - C2HPRE: packed union { - raw: u4, - value: HPRE, - }, + /// Shared AHB prescaler + SHDHPRE: HPRE, + /// CPU2 AHB prescaler + C2HPRE: HPRE, reserved16: u8, - /// Shared AHB prescaler flag + /// Shared AHB prescaler flag SHDHPREF: u1, - /// CPU2 AHB prescaler flag + /// CPU2 AHB prescaler flag C2HPREF: u1, reserved20: u2, - /// RF clock source selected + /// RF clock source selected RFCSS: u1, padding: u11, }), reserved328: [60]u8, - /// CPU2 AHB1 peripheral clock enable register + /// CPU2 AHB1 peripheral clock enable register C2AHB1ENR: mmio.Mmio(packed struct(u32) { - /// CPU2 DMA1 clock enable + /// CPU2 DMA1 clock enable DMA1EN: u1, - /// CPU2 DMA2 clock enable + /// CPU2 DMA2 clock enable DMA2EN: u1, - /// CPU2 DMAMUX clock enable + /// CPU2 DMAMUX clock enable DMAMUX1EN: u1, reserved9: u6, - /// CPU2 SRAM1 clock enable + /// CPU2 SRAM1 clock enable SRAM1EN: u1, reserved12: u2, - /// CPU2 CRC clock enable + /// CPU2 CRC clock enable CRCEN: u1, reserved16: u3, - /// CPU2 Touch Sensing Controller clock enable + /// CPU2 Touch Sensing Controller clock enable TSCEN: u1, padding: u15, }), - /// CPU2 AHB2 peripheral clock enable register + /// CPU2 AHB2 peripheral clock enable register C2AHB2ENR: mmio.Mmio(packed struct(u32) { - /// CPU2 IO port A clock enable + /// CPU2 IO port A clock enable GPIOAEN: u1, - /// CPU2 IO port B clock enable + /// CPU2 IO port B clock enable GPIOBEN: u1, - /// CPU2 IO port C clock enable + /// CPU2 IO port C clock enable GPIOCEN: u1, - /// CPU2 IO port D clock enable + /// CPU2 IO port D clock enable GPIODEN: u1, - /// CPU2 IO port E clock enable + /// CPU2 IO port E clock enable GPIOEEN: u1, reserved7: u2, - /// CPU2 IO port H clock enable + /// CPU2 IO port H clock enable GPIOHEN: u1, reserved13: u5, - /// CPU2 ADC clock enable + /// CPU2 ADC clock enable ADCEN: u1, reserved16: u2, - /// CPU2 AES1 accelerator clock enable + /// CPU2 AES1 accelerator clock enable AES1EN: u1, padding: u15, }), - /// CPU2 AHB3 peripheral clock enable register + /// CPU2 AHB3 peripheral clock enable register C2AHB3ENR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// CPU2 PKAEN + /// CPU2 PKAEN PKAEN: u1, - /// CPU2 AES2EN + /// CPU2 AES2EN AES2EN: u1, - /// CPU2 RNGEN + /// CPU2 RNGEN RNGEN: u1, - /// CPU2 HSEMEN + /// CPU2 HSEMEN HSEMEN: u1, - /// CPU2 IPCCEN + /// CPU2 IPCCEN IPCCEN: u1, reserved25: u4, - /// CPU2 FLASHEN + /// CPU2 FLASHEN FLASHEN: u1, padding: u6, }), reserved344: [4]u8, - /// CPU2 APB1ENR1 + /// CPU2 APB1ENR1 C2APB1ENR1: mmio.Mmio(packed struct(u32) { - /// CPU2 TIM2 timer clock enable + /// CPU2 TIM2 timer clock enable TIM2EN: u1, reserved9: u8, - /// CPU2 LCD clock enable + /// CPU2 LCD clock enable LCDEN: u1, - /// CPU2 RTC APB clock enable + /// CPU2 RTC APB clock enable RTCAPBEN: u1, reserved14: u3, - /// CPU2 SPI2 clock enable + /// CPU2 SPI2 clock enable SPI2EN: u1, reserved21: u6, - /// CPU2 I2C1 clock enable + /// CPU2 I2C1 clock enable I2C1EN: u1, reserved23: u1, - /// CPU2 I2C3 clock enable + /// CPU2 I2C3 clock enable I2C3EN: u1, - /// CPU2 CRS clock enable + /// CPU2 CRS clock enable CRSEN: u1, reserved26: u1, - /// CPU2 USB clock enable + /// CPU2 USB clock enable USBEN: u1, reserved31: u4, - /// CPU2 Low power timer 1 clock enable + /// CPU2 Low power timer 1 clock enable LPTIM1EN: u1, }), - /// CPU2 APB1 peripheral clock enable register 2 + /// CPU2 APB1 peripheral clock enable register 2 C2APB1ENR2: mmio.Mmio(packed struct(u32) { - /// CPU2 Low power UART 1 clock enable + /// CPU2 Low power UART 1 clock enable LPUART1EN: u1, reserved5: u4, - /// CPU2 LPTIM2EN + /// CPU2 LPTIM2EN LPTIM2EN: u1, padding: u26, }), - /// CPU2 APB2ENR + /// CPU2 APB2ENR C2APB2ENR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// CPU2 TIM1 timer clock enable + /// CPU2 TIM1 timer clock enable TIM1EN: u1, - /// CPU2 SPI1 clock enable + /// CPU2 SPI1 clock enable SPI1EN: u1, reserved14: u1, - /// CPU2 USART1clock enable + /// CPU2 USART1clock enable USART1EN: u1, reserved17: u2, - /// CPU2 TIM16 timer clock enable + /// CPU2 TIM16 timer clock enable TIM16EN: u1, - /// CPU2 TIM17 timer clock enable + /// CPU2 TIM17 timer clock enable TIM17EN: u1, reserved21: u2, - /// CPU2 SAI1 clock enable + /// CPU2 SAI1 clock enable SAI1EN: u1, padding: u10, }), - /// CPU2 APB3ENR + /// CPU2 APB3ENR C2APB3ENR: mmio.Mmio(packed struct(u32) { - /// CPU2 BLE interface clock enable + /// CPU2 BLE interface clock enable BLEEN: u1, - /// CPU2 802.15.4 interface clock enable + /// CPU2 802.15.4 interface clock enable EN802: u1, padding: u30, }), - /// CPU2 AHB1 peripheral clocks enable in Sleep and Stop modes register + /// CPU2 AHB1 peripheral clocks enable in Sleep and Stop modes register C2AHB1SMENR: mmio.Mmio(packed struct(u32) { - /// CPU2 DMA1 clocks enable during Sleep and Stop modes + /// CPU2 DMA1 clocks enable during Sleep and Stop modes DMA1SMEN: u1, - /// CPU2 DMA2 clocks enable during Sleep and Stop modes + /// CPU2 DMA2 clocks enable during Sleep and Stop modes DMA2SMEN: u1, - /// CPU2 DMAMUX clocks enable during Sleep and Stop modes + /// CPU2 DMAMUX clocks enable during Sleep and Stop modes DMAMUX1SMEN: u1, reserved9: u6, - /// SRAM1 interface clock enable during CPU1 CSleep mode + /// SRAM1 interface clock enable during CPU1 CSleep mode SRAM1SMEN: u1, reserved12: u2, - /// CPU2 CRCSMEN + /// CPU2 CRCSMEN CRCSMEN: u1, reserved16: u3, - /// CPU2 Touch Sensing Controller clocks enable during Sleep and Stop modes + /// CPU2 Touch Sensing Controller clocks enable during Sleep and Stop modes TSCSMEN: u1, padding: u15, }), - /// CPU2 AHB2 peripheral clocks enable in Sleep and Stop modes register + /// CPU2 AHB2 peripheral clocks enable in Sleep and Stop modes register C2AHB2SMENR: mmio.Mmio(packed struct(u32) { - /// CPU2 IO port A clocks enable during Sleep and Stop modes + /// CPU2 IO port A clocks enable during Sleep and Stop modes GPIOASMEN: u1, - /// CPU2 IO port B clocks enable during Sleep and Stop modes + /// CPU2 IO port B clocks enable during Sleep and Stop modes GPIOBSMEN: u1, - /// CPU2 IO port C clocks enable during Sleep and Stop modes + /// CPU2 IO port C clocks enable during Sleep and Stop modes GPIOCSMEN: u1, - /// CPU2 IO port D clocks enable during Sleep and Stop modes + /// CPU2 IO port D clocks enable during Sleep and Stop modes GPIODSMEN: u1, - /// CPU2 IO port E clocks enable during Sleep and Stop modes + /// CPU2 IO port E clocks enable during Sleep and Stop modes GPIOESMEN: u1, reserved7: u2, - /// CPU2 IO port H clocks enable during Sleep and Stop modes + /// CPU2 IO port H clocks enable during Sleep and Stop modes GPIOHSMEN: u1, reserved13: u5, - /// CPU2 ADC clocks enable during Sleep and Stop modes + /// CPU2 ADC clocks enable during Sleep and Stop modes ADCFSSMEN: u1, reserved16: u2, - /// CPU2 AES1 accelerator clocks enable during Sleep and Stop modes + /// CPU2 AES1 accelerator clocks enable during Sleep and Stop modes AES1SMEN: u1, padding: u15, }), - /// CPU2 AHB3 peripheral clocks enable in Sleep and Stop modes register + /// CPU2 AHB3 peripheral clocks enable in Sleep and Stop modes register C2AHB3SMENR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// PKA accelerator clocks enable during CPU2 sleep modes + /// PKA accelerator clocks enable during CPU2 sleep modes PKASMEN: u1, - /// AES2 accelerator clocks enable during CPU2 sleep modes + /// AES2 accelerator clocks enable during CPU2 sleep modes AES2SMEN: u1, - /// True RNG clocks enable during CPU2 sleep modes + /// True RNG clocks enable during CPU2 sleep modes RNGSMEN: u1, reserved24: u5, - /// SRAM2a and SRAM2b memory interface clocks enable during CPU2 sleep modes + /// SRAM2a and SRAM2b memory interface clocks enable during CPU2 sleep modes SRAM2SMEN: u1, - /// Flash interface clocks enable during CPU2 sleep modes + /// Flash interface clocks enable during CPU2 sleep modes FLASHSMEN: u1, padding: u6, }), reserved376: [4]u8, - /// CPU2 APB1SMENR1 + /// CPU2 APB1SMENR1 C2APB1SMENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clocks enable during CPU2 Sleep mode + /// TIM2 timer clocks enable during CPU2 Sleep mode TIM2SMEN: u1, reserved9: u8, - /// LCD clocks enable during CPU2 Sleep mode + /// LCD clocks enable during CPU2 Sleep mode LCDSMEN: u1, - /// RTC APB clocks enable during CPU2 Sleep mode + /// RTC APB clocks enable during CPU2 Sleep mode RTCAPBSMEN: u1, reserved14: u3, - /// SPI2 clocks enable during CPU2 Sleep mode + /// SPI2 clocks enable during CPU2 Sleep mode SPI2SMEN: u1, reserved21: u6, - /// I2C1 clocks enable during CPU2 Sleep mode + /// I2C1 clocks enable during CPU2 Sleep mode I2C1SMEN: u1, reserved23: u1, - /// I2C3 clocks enable during CPU2 Sleep mode + /// I2C3 clocks enable during CPU2 Sleep mode I2C3SMEN: u1, - /// CRS clocks enable during CPU2 Sleep mode + /// CRS clocks enable during CPU2 Sleep mode CRSMEN: u1, reserved26: u1, - /// USB FS clocks enable during CPU2 Sleep mode + /// USB FS clocks enable during CPU2 Sleep mode USBSMEN: u1, reserved31: u4, - /// Low power timer 1 clocks enable during CPU2 Sleep mode + /// Low power timer 1 clocks enable during CPU2 Sleep mode LPTIM1SMEN: u1, }), - /// CPU2 APB1 peripheral clocks enable in Sleep and Stop modes register 2 + /// CPU2 APB1 peripheral clocks enable in Sleep and Stop modes register 2 C2APB1SMENR2: mmio.Mmio(packed struct(u32) { - /// Low power UART 1 clocks enable during CPU2 Sleep mode + /// Low power UART 1 clocks enable during CPU2 Sleep mode LPUART1SMEN: u1, reserved5: u4, - /// Low power timer 2 clocks enable during CPU2 Sleep mode + /// Low power timer 2 clocks enable during CPU2 Sleep mode LPTIM2SMEN: u1, padding: u26, }), - /// CPU2 APB2SMENR + /// CPU2 APB2SMENR C2APB2SMENR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 timer clocks enable during CPU2 Sleep mode + /// TIM1 timer clocks enable during CPU2 Sleep mode TIM1SMEN: u1, - /// SPI1 clocks enable during CPU2 Sleep mode + /// SPI1 clocks enable during CPU2 Sleep mode SPI1SMEN: u1, reserved14: u1, - /// USART1clocks enable during CPU2 Sleep mode + /// USART1clocks enable during CPU2 Sleep mode USART1SMEN: u1, reserved17: u2, - /// TIM16 timer clocks enable during CPU2 Sleep mode + /// TIM16 timer clocks enable during CPU2 Sleep mode TIM16SMEN: u1, - /// TIM17 timer clocks enable during CPU2 Sleep mode + /// TIM17 timer clocks enable during CPU2 Sleep mode TIM17SMEN: u1, reserved21: u2, - /// SAI1 clocks enable during CPU2 Sleep mode + /// SAI1 clocks enable during CPU2 Sleep mode SAI1SMEN: u1, padding: u10, }), - /// CPU2 APB3SMENR + /// CPU2 APB3SMENR C2APB3SMENR: mmio.Mmio(packed struct(u32) { - /// BLE interface clocks enable during CPU2 Sleep mode + /// BLE interface clocks enable during CPU2 Sleep mode BLESMEN: u1, - /// 802.15.4 interface clocks enable during CPU2 Sleep modes + /// 802.15.4 interface clocks enable during CPU2 Sleep modes SMEN802: u1, padding: u30, }), @@ -410759,1151 +402719,1049 @@ pub const types = struct { pub const rcc_wba = struct { pub const ADCSEL = enum(u3) { - /// hclk4 clock selected + /// hclk4 clock selected HCLK4 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// pll1pclk selected + /// pll1pclk selected PLL1_P = 0x2, - /// HSE clock selected + /// HSE clock selected HSE = 0x3, - /// HSI clock selected + /// HSI clock selected HSI = 0x4, _, }; pub const HDIV5 = enum(u1) { - /// hclk5 = SYSCLK not divided + /// hclk5 = SYSCLK not divided Div1 = 0x0, - /// hclk5 = SYSCLK divided by 2 + /// hclk5 = SYSCLK divided by 2 Div2 = 0x1, }; pub const HPRE = enum(u3) { - /// DCLK not divided + /// DCLK not divided Div1 = 0x0, - /// hclk = SYSCLK divided by 2 + /// hclk = SYSCLK divided by 2 Div2 = 0x4, - /// hclk = SYSCLK divided by 4 + /// hclk = SYSCLK divided by 4 Div4 = 0x5, - /// hclk = SYSCLK divided by 8 + /// hclk = SYSCLK divided by 8 Div8 = 0x6, - /// hclk = SYSCLK divided by 16 + /// hclk = SYSCLK divided by 16 Div16 = 0x7, _, }; pub const HPRE5 = enum(u3) { - /// DCLK not divided + /// DCLK not divided Div1 = 0x0, - /// hclk5 = SYSCLK divided by 2 + /// hclk5 = SYSCLK divided by 2 Div2 = 0x4, - /// hclk5 = SYSCLK divided by 3 + /// hclk5 = SYSCLK divided by 3 Div3 = 0x5, - /// hclk5 = SYSCLK divided by 4 + /// hclk5 = SYSCLK divided by 4 Div4 = 0x6, - /// hclk5 = SYSCLK divided by 6 + /// hclk5 = SYSCLK divided by 6 Div6 = 0x7, _, }; pub const HSEPRE = enum(u1) { - /// HSE not divided, SYSCLK = HSE + /// HSE not divided, SYSCLK = HSE Div1 = 0x0, - /// HSE divided, SYSCLK = HSE/2 + /// HSE divided, SYSCLK = HSE/2 Div2 = 0x1, }; pub const I2C1SEL = enum(u2) { - /// pclk1 selected + /// pclk1 selected PCLK1 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, _, }; pub const I2C3SEL = enum(u2) { - /// pclk7 selected + /// pclk7 selected PCLK7 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, _, }; pub const LPTIM1SEL = enum(u2) { - /// pclk7 selected. + /// pclk7 selected. PCLK7 = 0x0, - /// LSI selected + /// LSI selected LSI = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// LSE selected + /// LSE selected LSE = 0x3, }; pub const LPTIM2SEL = enum(u2) { - /// pclk7 selected. + /// pclk7 selected. PCLK1 = 0x0, - /// LSI selected + /// LSI selected LSI = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// LSE selected + /// LSE selected LSE = 0x3, }; pub const LPUARTSEL = enum(u2) { - /// pclk7 selected + /// pclk7 selected PCLK7 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// LSE selected + /// LSE selected LSE = 0x3, }; pub const LSCOSEL = enum(u1) { - /// LSI clock selected + /// LSI clock selected LSI = 0x0, - /// LSE clock selected + /// LSE clock selected LSE = 0x1, }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const LSETRIM = enum(u2) { - /// current source resistance 5/4 x R + /// current source resistance 5/4 x R R5_4 = 0x0, - /// current source resistance R + /// current source resistance R R = 0x1, - /// current source resistance 3/4 x R + /// current source resistance 3/4 x R R3_4 = 0x2, - /// current source resistance 2/3 x R + /// current source resistance 2/3 x R R2_3 = 0x3, }; pub const LSIPREDIV = enum(u1) { - /// LSI not divided + /// LSI not divided Div1 = 0x0, - /// LSI divided by 128 + /// LSI divided by 128 Div128 = 0x1, }; pub const MCOPRE = enum(u3) { - /// MCO divided by 1 + /// MCO divided by 1 Div1 = 0x0, - /// MCO divided by 2 + /// MCO divided by 2 Div2 = 0x1, - /// MCO divided by 4 + /// MCO divided by 4 Div4 = 0x2, - /// MCO divided by 8 + /// MCO divided by 8 Div8 = 0x3, - /// MCO divided by 16 + /// MCO divided by 16 Div16 = 0x4, _, }; pub const MCOSEL = enum(u4) { - /// MCO output disabled, no clock on MCO + /// MCO output disabled, no clock on MCO DISABLED = 0x0, - /// sysclkpre system clock after PLL1RCLKPRE division selected + /// sysclkpre system clock after PLL1RCLKPRE division selected SYSCLKPRE = 0x1, - /// HSI clock selected + /// HSI clock selected HSI = 0x3, - /// HSE clock selected + /// HSE clock selected HSE = 0x4, - /// pll1rclk clock selected + /// pll1rclk clock selected PLL1_R = 0x5, - /// LSI clock selected + /// LSI clock selected LSI = 0x6, - /// LSE clock selected + /// LSE clock selected LSE = 0x7, - /// pll1pclk clock selected + /// pll1pclk clock selected PLL1_P = 0x8, - /// pll1qclk clock selected + /// pll1qclk clock selected PLL1_Q = 0x9, - /// hclk5 clock selected + /// hclk5 clock selected HCLK5 = 0xa, _, }; pub const PLLRCLKPRE = enum(u1) { - /// pll1rclk not divided, sysclkpre = pll1rclk + /// pll1rclk not divided, sysclkpre = pll1rclk Div1 = 0x0, - /// pll1rclk divided, sysclkpre = pll1rclk divided + /// pll1rclk divided, sysclkpre = pll1rclk divided Divided = 0x1, }; pub const PLLRCLKPRESTEP = enum(u1) { - /// pll1rclk 2-step division + /// pll1rclk 2-step division STEP2 = 0x0, - /// pll1rclk 3-step division + /// pll1rclk 3-step division STEP3 = 0x1, }; pub const PLLRGE = enum(u2) { - /// PLL2 input (ref2_ck) clock range frequency between 4 and 8 MHz + /// PLL2 input (ref2_ck) clock range frequency between 4 and 8 MHz FREQ_4TO8MHZ = 0x0, - /// PLL2 input (ref2_ck) clock range frequency between 8 and 16 MHz + /// PLL2 input (ref2_ck) clock range frequency between 8 and 16 MHz FREQ_8TO16MHZ = 0x3, _, }; pub const PLLSRC = enum(u2) { - /// no clock sent to PLL1 + /// no clock sent to PLL1 DISABLE = 0x0, - /// HSI clock selected as PLL1 clock entry + /// HSI clock selected as PLL1 clock entry HSI = 0x2, - /// HSE clock after HSEPRE divider selected as PLL1 clock entry + /// HSE clock after HSEPRE divider selected as PLL1 clock entry HSE = 0x3, _, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; pub const RADIOSTSEL = enum(u2) { - /// no clock selected, 2.4 GHz RADIO sleep timer kernel clock disabled + /// no clock selected, 2.4 GHz RADIO sleep timer kernel clock disabled DISABLE = 0x0, - /// LSE oscillator clock selected + /// LSE oscillator clock selected LSE = 0x1, - /// HSE oscillator clock divided by 1000 selected + /// HSE oscillator clock divided by 1000 selected HSE = 0x3, _, }; pub const RNGSEL = enum(u2) { - /// LSE selected + /// LSE selected LSE = 0x0, - /// LSI selected + /// LSI selected LSI = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// pll1qclk divide by 2 selected + /// pll1qclk divide by 2 selected PLL1_Q = 0x3, }; pub const RTCSEL = enum(u2) { - /// no clock selected, RTC and TAMP kernel clock disabled + /// no clock selected, RTC and TAMP kernel clock disabled DISABLE = 0x0, - /// LSE oscillator clock selected, and enabled + /// LSE oscillator clock selected, and enabled LSE = 0x1, - /// LSI oscillator clock selected, and enabled + /// LSI oscillator clock selected, and enabled LSI = 0x2, - /// HSE oscillator clock divided by 32 selected, and enabled + /// HSE oscillator clock divided by 32 selected, and enabled HSE = 0x3, }; pub const SPI1SEL = enum(u2) { - /// pclk2 selected + /// pclk2 selected PCLK2 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, _, }; pub const SPI3SEL = enum(u2) { - /// pclk2 selected + /// pclk2 selected PCLK7 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, _, }; pub const SW = enum(u2) { - /// HSI selected as system clock + /// HSI selected as system clock HSI = 0x0, - /// HSE or HSE/2, as defined by HSEPRE, selected as system clock + /// HSE or HSE/2, as defined by HSEPRE, selected as system clock HSE = 0x2, - /// pll1rclk selected as system clock + /// pll1rclk selected as system clock PLL1_R = 0x3, _, }; pub const SYSTICKSEL = enum(u2) { - /// hclk1 divided by 8 selected + /// hclk1 divided by 8 selected HCLK1_DIV_8 = 0x0, - /// LSI selected + /// LSI selected LSI = 0x1, - /// LSE selected + /// LSE selected LSE = 0x2, _, }; pub const TIMICSEL = enum(u1) { - /// HSI divider disabled + /// HSI divider disabled HSI = 0x0, - /// HSI/256 generated and can be selected by TIM16, TIM17 and LPTIM2 as internal input capture + /// HSI/256 generated and can be selected by TIM16, TIM17 and LPTIM2 as internal input capture HSI_DIV_256 = 0x1, }; pub const USART1SEL = enum(u2) { - /// pclk2 selected + /// pclk2 selected PCLK2 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// LSE selected + /// LSE selected LSE = 0x3, }; pub const USARTSEL = enum(u2) { - /// pclk1 selected + /// pclk1 selected PCLK1 = 0x0, - /// SYSCLK selected + /// SYSCLK selected SYS = 0x1, - /// HSI selected + /// HSI selected HSI = 0x2, - /// LSE selected + /// LSE selected LSE = 0x3, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// RCC clock control register + /// RCC clock control register CR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// HSI clock enable Set and cleared by software. Cleared by hardware when entering Stop and Standby modes. Set by hardware to force the HSI oscillator on when exiting Stop and Standby modes. Set by hardware to force the HSI oscillator on in case of clock security failure of the HSE crystal oscillator. This bit is set by hardware if the HSI is used directly or indirectly as system clock. Access to the bit can be secured by RCC HSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// HSI clock enable Set and cleared by software. Cleared by hardware when entering Stop and Standby modes. Set by hardware to force the HSI oscillator on when exiting Stop and Standby modes. Set by hardware to force the HSI oscillator on in case of clock security failure of the HSE crystal oscillator. This bit is set by hardware if the HSI is used directly or indirectly as system clock. Access to the bit can be secured by RCC HSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HSION: u1, - /// HSI enable for some peripheral kernels Set and cleared by software to force HSI oscillator on even in Stop modes. Keeping the HSI oscillator on in Stop modes allows the communication speed not to be reduced by the HSI oscillator startup time. This bit has no effect on register bit HSION value. Cleared by hardware when entering Standby modes. Refer to Peripherals clock gating and autonomous mode for more details. Access to the bit can be secured by RCC HSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// HSI enable for some peripheral kernels Set and cleared by software to force HSI oscillator on even in Stop modes. Keeping the HSI oscillator on in Stop modes allows the communication speed not to be reduced by the HSI oscillator startup time. This bit has no effect on register bit HSION value. Cleared by hardware when entering Standby modes. Refer to Peripherals clock gating and autonomous mode for more details. Access to the bit can be secured by RCC HSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HSIKERON: u1, - /// HSI clock ready flag Set by hardware to indicate that HSI oscillator is stable. This bit is set only when HSI is enabled by software by setting HSION. Access to the bit can be secured by RCC HSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: Once the HSION bit is cleared, HSIRDY goes low after six HSI clock cycles. + /// HSI clock ready flag Set by hardware to indicate that HSI oscillator is stable. This bit is set only when HSI is enabled by software by setting HSION. Access to the bit can be secured by RCC HSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: Once the HSION bit is cleared, HSIRDY goes low after six HSI clock cycles. HSIRDY: u1, reserved16: u5, - /// HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE clock for the CPU when entering Stop and Standby modes and on a HSECSS failure. When the HSE is used as 2.4 GHz RADIO kernel clock, enabled by RADIOEN and RADIOSMEN and the 2.4 GHz RADIO is active, HSEON is not be cleared when entering low power mode. In this case only Stop 0 mode is entered as low power mode. This bit cannot be reset if the HSE oscillator is used directly or indirectly as the system clock. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// HSE clock enable Set and cleared by software. Cleared by hardware to stop the HSE clock for the CPU when entering Stop and Standby modes and on a HSECSS failure. When the HSE is used as 2.4 GHz RADIO kernel clock, enabled by RADIOEN and RADIOSMEN and the 2.4 GHz RADIO is active, HSEON is not be cleared when entering low power mode. In this case only Stop 0 mode is entered as low power mode. This bit cannot be reset if the HSE oscillator is used directly or indirectly as the system clock. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HSEON: u1, - /// HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable. This bit is set both when HSE is enabled by software by setting HSEON and when requested as kernel clock by the 2.4 GHz RADIO. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// HSE clock ready flag Set by hardware to indicate that the HSE oscillator is stable. This bit is set both when HSE is enabled by software by setting HSEON and when requested as kernel clock by the 2.4 GHz RADIO. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HSERDY: u1, reserved19: u1, - /// HSE clock security system enable Set by software to enable the HSE clock security system. When HSECSSON is set, the clock detector is enabled by hardware when the HSE oscillator is ready and disabled by hardware if a HSE clock failure is detected. This bit is set only and is cleared by reset. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// HSE clock security system enable Set by software to enable the HSE clock security system. When HSECSSON is set, the clock detector is enabled by hardware when the HSE oscillator is ready and disabled by hardware if a HSE clock failure is detected. This bit is set only and is cleared by reset. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HSECSSON: u1, - /// HSE clock for SYSCLK prescaler Set and cleared by software to control the division factor of the HSE clock for SYSCLK. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. - HSEPRE: packed union { - raw: u1, - value: HSEPRE, - }, + /// HSE clock for SYSCLK prescaler Set and cleared by software to control the division factor of the HSE clock for SYSCLK. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + HSEPRE: HSEPRE, reserved24: u3, - /// PLL1 enable Set and cleared by software to enable the main PLL. Cleared by hardware when entering Stop or Standby modes and when PLL1 on HSE is selected as sysclk, on a HSECSS failure. This bit cannot be reset if the PLL1 clock is used as the system clock. Access to the bit can be secured by RCC PLL1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// PLL1 enable Set and cleared by software to enable the main PLL. Cleared by hardware when entering Stop or Standby modes and when PLL1 on HSE is selected as sysclk, on a HSECSS failure. This bit cannot be reset if the PLL1 clock is used as the system clock. Access to the bit can be secured by RCC PLL1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. PLLON: u1, - /// PLL1 clock ready flag Set by hardware to indicate that the PLL1 is locked. Access to the bit can be secured by RCC PLL1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// PLL1 clock ready flag Set by hardware to indicate that the PLL1 is locked. Access to the bit can be secured by RCC PLL1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. PLLRDY: u1, padding: u6, }), reserved16: [12]u8, - /// RCC internal clock sources calibration register 3 + /// RCC internal clock sources calibration register 3 ICSCR3: mmio.Mmio(packed struct(u32) { - /// HSI clock calibration These bits are initialized at startup with the factory-programmed HSI calibration value. When HSITRIM[4:0] is written, HSICAL[11:0] is updated with the sum of HSITRIM[4:0] and the initial factory trim value. + /// HSI clock calibration These bits are initialized at startup with the factory-programmed HSI calibration value. When HSITRIM[4:0] is written, HSICAL[11:0] is updated with the sum of HSITRIM[4:0] and the initial factory trim value. HSICAL: u12, reserved16: u4, - /// HSI clock trimming These bits provide an additional user-programmable trimming value that is added to the HSICAL[11:0] bits. It can be programmed to adjust to voltage and temperature variations that influence the frequency of the HSI. + /// HSI clock trimming These bits provide an additional user-programmable trimming value that is added to the HSICAL[11:0] bits. It can be programmed to adjust to voltage and temperature variations that influence the frequency of the HSI. HSITRIM: u5, padding: u11, }), reserved28: [8]u8, - /// RCC clock configuration register 1 + /// RCC clock configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { - /// system clock switch Set and cleared by software to select system clock source (SYSCLK). Cleared by hardware when entering Stop and Standby modes When selecting HSE directly or indirectly as system clock and HSE oscillator clock security fails, cleared by hardware. - SW: packed union { - raw: u2, - value: SW, - }, - /// system clock switch status Set and cleared by hardware to indicate which clock source is used as system clock. - SWS: packed union { - raw: u2, - value: SW, - }, + /// system clock switch Set and cleared by software to select system clock source (SYSCLK). Cleared by hardware when entering Stop and Standby modes When selecting HSE directly or indirectly as system clock and HSE oscillator clock security fails, cleared by hardware. + SW: SW, + /// system clock switch status Set and cleared by hardware to indicate which clock source is used as system clock. + SWS: SW, reserved24: u20, - /// microcontroller clock output Set and cleared by software. others: reserved Note: This clock output may have some truncated cycles at startup or during MCO clock source switching. - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// microcontroller clock output prescaler Set and cleared by software. It is highly recommended to change this prescaler before MCO output is enabled. others: not allowed - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, + /// microcontroller clock output Set and cleared by software. others: reserved Note: This clock output may have some truncated cycles at startup or during MCO clock source switching. + MCOSEL: MCOSEL, + /// microcontroller clock output prescaler Set and cleared by software. It is highly recommended to change this prescaler before MCO output is enabled. others: not allowed + MCOPRE: MCOPRE, padding: u1, }), - /// RCC clock configuration register 2 + /// RCC clock configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// AHB1, AHB2 and AHB4 prescaler Set and cleared by software to control the division factor of the AHB1, AHB2 and AHB4 clock (hclk1). The software must limit the incremental frequency step by setting these bits correctly to ensure that the hclk1 maximum incremental frequency step does not exceed the maximum allowed incremental frequency step (for more details, refer to Table�99: SYSCLK and bus maximum frequency). After a write operation to these bits and before decreasing the voltage range, this register must be read to be sure that the new value is taken into account. 0xx: hclk1 = SYSCLK not divided - HPRE: packed union { - raw: u3, - value: HPRE, - }, + /// AHB1, AHB2 and AHB4 prescaler Set and cleared by software to control the division factor of the AHB1, AHB2 and AHB4 clock (hclk1). The software must limit the incremental frequency step by setting these bits correctly to ensure that the hclk1 maximum incremental frequency step does not exceed the maximum allowed incremental frequency step (for more details, refer to Table�99: SYSCLK and bus maximum frequency). After a write operation to these bits and before decreasing the voltage range, this register must be read to be sure that the new value is taken into account. 0xx: hclk1 = SYSCLK not divided + HPRE: HPRE, reserved4: u1, - /// APB1 prescaler Set and cleared by software to control the division factor of the APB1 clock (pclk1). 0xx: pclk1 = hclk1 not divided - PPRE1: packed union { - raw: u3, - value: PPRE, - }, + /// APB1 prescaler Set and cleared by software to control the division factor of the APB1 clock (pclk1). 0xx: pclk1 = hclk1 not divided + PPRE1: PPRE, reserved8: u1, - /// APB2 prescaler Set and cleared by software to control the division factor of the APB2 clock (pclk2). 0xx: pclk2 = hclk1 not divided - PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// APB2 prescaler Set and cleared by software to control the division factor of the APB2 clock (pclk2). 0xx: pclk2 = hclk1 not divided + PPRE2: PPRE, padding: u21, }), - /// RCC clock configuration register 3 + /// RCC clock configuration register 3 CFGR3: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// APB7 prescaler Set and cleared by software to control the division factor of the APB7 clock (pclk7). 0xx: hclk1 not divided - PPRE7: packed union { - raw: u3, - value: PPRE, - }, + /// APB7 prescaler Set and cleared by software to control the division factor of the APB7 clock (pclk7). 0xx: hclk1 not divided + PPRE7: PPRE, padding: u25, }), - /// RCC PLL1 configuration register + /// RCC PLL1 configuration register PLL1CFGR: mmio.Mmio(packed struct(u32) { - /// PLL1 entry clock source Set and cleared by software to select PLL1 clock source. These bits can be written only when the PLL1 is disabled. Cleared by hardware when entering Stop or Standby modes. Note: In order to save power, when no PLL1 clock is used, the value of PLL1SRC must be 0. - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, - /// PLL1 input frequency range Set and reset by software to select the proper reference frequency range used for PLL1. This bit must be written before enabling the PLL1. 00-01-10: PLL1 input (ref1_ck) clock range frequency between 4 and 8 MHz - PLLRGE: packed union { - raw: u2, - value: PLLRGE, - }, - /// PLL1 fractional latch enable Set and reset by software to latch the content of PLL1FRACN into the ΣΔ modulator. In order to latch the PLL1FRACN value into the ΣΔ modulator, PLL1FRACEN must be set to 0, then set to 1: the transition 0 to 1 transfers the content of PLL1FRACN into the modulator (see PLL1 initialization phase for details). + /// PLL1 entry clock source Set and cleared by software to select PLL1 clock source. These bits can be written only when the PLL1 is disabled. Cleared by hardware when entering Stop or Standby modes. Note: In order to save power, when no PLL1 clock is used, the value of PLL1SRC must be 0. + PLLSRC: PLLSRC, + /// PLL1 input frequency range Set and reset by software to select the proper reference frequency range used for PLL1. This bit must be written before enabling the PLL1. 00-01-10: PLL1 input (ref1_ck) clock range frequency between 4 and 8 MHz + PLLRGE: PLLRGE, + /// PLL1 fractional latch enable Set and reset by software to latch the content of PLL1FRACN into the ΣΔ modulator. In order to latch the PLL1FRACN value into the ΣΔ modulator, PLL1FRACEN must be set to 0, then set to 1: the transition 0 to 1 transfers the content of PLL1FRACN into the modulator (see PLL1 initialization phase for details). PLLFRACEN: u1, reserved8: u3, - /// Prescaler for PLL1 Set and cleared by software to configure the prescaler of the PLL1. The VCO1 input frequency is PLL1 input clock frequency/PLL1M. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... + /// Prescaler for PLL1 Set and cleared by software to configure the prescaler of the PLL1. The VCO1 input frequency is PLL1 input clock frequency/PLL1M. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... PLLM: u3, reserved16: u5, - /// PLL1 DIVP divider output enable Set and reset by software to enable the pll1pclk output of the PLL1. To save power, PLL1PEN and PLL1P bits must be set to 0 when the pll1pclk is not used. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). + /// PLL1 DIVP divider output enable Set and reset by software to enable the pll1pclk output of the PLL1. To save power, PLL1PEN and PLL1P bits must be set to 0 when the pll1pclk is not used. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). PLLPEN: u1, - /// PLL1 DIVQ divider output enable Set and reset by software to enable the pll1qclk output of the PLL1. To save power, PLL1QEN and PLL1Q bits must be set to 0 when the pll1qclk is not used. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). + /// PLL1 DIVQ divider output enable Set and reset by software to enable the pll1qclk output of the PLL1. To save power, PLL1QEN and PLL1Q bits must be set to 0 when the pll1qclk is not used. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). PLLQEN: u1, - /// PLL1 DIVR divider output enable Set and cleared by software to enable the pll1rclk output of the PLL1. To save power, PLL1REN and PLL1R bits must be set to 0 when the pll1rclk is not used. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). + /// PLL1 DIVR divider output enable Set and cleared by software to enable the pll1rclk output of the PLL1. To save power, PLL1REN and PLL1R bits must be set to 0 when the pll1rclk is not used. This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). PLLREN: u1, reserved20: u1, - /// pll1rclk clock for SYSCLK prescaler division enable Set and cleared by software to control the division of the pll1rclk clock for SYSCLK. - PLLRCLKPRE: packed union { - raw: u1, - value: PLLRCLKPRE, - }, - /// pll1rclk clock for SYSCLK prescaler division step selection Set and cleared by software to control the division step of the pll1rclk clock for SYSCLK. - PLLRCLKPRESTEP: packed union { - raw: u1, - value: PLLRCLKPRESTEP, - }, - /// pll1rclkpre not divided ready. Set by hardware after PLL1RCLKPRE has been set from divided to not divide, to indicate that the pll1rclk not divided is available on sysclkpre. + /// pll1rclk clock for SYSCLK prescaler division enable Set and cleared by software to control the division of the pll1rclk clock for SYSCLK. + PLLRCLKPRE: PLLRCLKPRE, + /// pll1rclk clock for SYSCLK prescaler division step selection Set and cleared by software to control the division step of the pll1rclk clock for SYSCLK. + PLLRCLKPRESTEP: PLLRCLKPRESTEP, + /// pll1rclkpre not divided ready. Set by hardware after PLL1RCLKPRE has been set from divided to not divide, to indicate that the pll1rclk not divided is available on sysclkpre. PLLRCLKPRERDY: u1, padding: u9, }), reserved52: [8]u8, - /// RCC PLL1 dividers register + /// RCC PLL1 dividers register PLL1DIVR: mmio.Mmio(packed struct(u32) { - /// Multiplication factor for PLL1 VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... ... others: reserved VCO output frequency = Fref1_ck x multiplication factor for PLL1 VCO, when fractional value 0 has been loaded into PLL1FRACN, with: Multiplication factor for PLL1 VCO between 4 and 512 input frequency Fref1_ck between 4 and 16�MHz + /// Multiplication factor for PLL1 VCO Set and reset by software to control the multiplication factor of the VCO. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... ... others: reserved VCO output frequency = Fref1_ck x multiplication factor for PLL1 VCO, when fractional value 0 has been loaded into PLL1FRACN, with: Multiplication factor for PLL1 VCO between 4 and 512 input frequency Fref1_ck between 4 and 16�MHz PLLN: u9, - /// PLL1 DIVP division factor Set and reset by software to control the frequency of the pll1pclk clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). Note that odd division factors are not allowed. ... + /// PLL1 DIVP division factor Set and reset by software to control the frequency of the pll1pclk clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). Note that odd division factors are not allowed. ... PLLP: u7, - /// PLL1 DIVQ division factor Set and reset by software to control the frequency of the PLl1QCLK clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... + /// PLL1 DIVQ division factor Set and reset by software to control the frequency of the PLl1QCLK clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... PLLQ: u7, reserved24: u1, - /// PLL1 DIVR division factor Set and reset by software to control the frequency of the pll1rclk clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... + /// PLL1 DIVR division factor Set and reset by software to control the frequency of the pll1rclk clock. These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0). ... PLLR: u7, padding: u1, }), - /// RCC PLL1 fractional divider register + /// RCC PLL1 fractional divider register PLL1FRACR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Fractional part of the multiplication factor for PLL1 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO. VCO output frequency = Fref1_ck x [multiplication factor for PLL1 VCO + (PLL1FRACN / 213)], with: Multiplication factor for PLL1 VCO must be between 4 and 512. PLL1FRACN can be between 0 and 213- 1. The input frequency Fref1_ck must be between 4 and 16 MHz. To change the used fractional value on-the-fly even if the PLL1 is enabled, the application must proceed as follows: Set the bit PLL1FRACEN to 0. Write the new fractional value into PLL1FRACN. Set the bit PLL1FRACEN to 1. + /// Fractional part of the multiplication factor for PLL1 VCO Set and reset by software to control the fractional part of the multiplication factor of the VCO. These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO. VCO output frequency = Fref1_ck x [multiplication factor for PLL1 VCO + (PLL1FRACN / 213)], with: Multiplication factor for PLL1 VCO must be between 4 and 512. PLL1FRACN can be between 0 and 213- 1. The input frequency Fref1_ck must be between 4 and 16 MHz. To change the used fractional value on-the-fly even if the PLL1 is enabled, the application must proceed as follows: Set the bit PLL1FRACEN to 0. Write the new fractional value into PLL1FRACN. Set the bit PLL1FRACEN to 1. PLLFRACN: u13, padding: u16, }), reserved80: [20]u8, - /// RCC clock interrupt enable register + /// RCC clock interrupt enable register CIER: mmio.Mmio(packed struct(u32) { - /// LSI1 ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSI1 oscillator stabilization. Access to the bit can be secured by RCC LSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LSI1 ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSI1 oscillator stabilization. Access to the bit can be secured by RCC LSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSI1RDYIE: u1, - /// LSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSE oscillator stabilization. Access to the bit can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the LSE oscillator stabilization. Access to the bit can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSERDYIE: u1, reserved3: u1, - /// HSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSI oscillator stabilization. Access to the bit can be secured by RCC HSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// HSI ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSI oscillator stabilization. Access to the bit can be secured by RCC HSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HSIRDYIE: u1, - /// HSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSE oscillator stabilization. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// HSE ready interrupt enable Set and cleared by software to enable/disable interrupt caused by the HSE oscillator stabilization. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HSERDYIE: u1, reserved6: u1, - /// PLL1 ready interrupt enable Set and cleared by software to enable/disable interrupt caused by PLL1 lock. Access to the bit can be secured by RCC PLL1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// PLL1 ready interrupt enable Set and cleared by software to enable/disable interrupt caused by PLL1 lock. Access to the bit can be secured by RCC PLL1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. PLLRDYIE: u1, padding: u25, }), - /// RCC clock interrupt flag register + /// RCC clock interrupt flag register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI1 ready interrupt flag Set by hardware when the LSI1 clock becomes stable and LSI1RDYIE is set. Cleared by software setting the LSI1RDYC bit. Access to the bit can be secured by RCC LSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LSI1 ready interrupt flag Set by hardware when the LSI1 clock becomes stable and LSI1RDYIE is set. Cleared by software setting the LSI1RDYC bit. Access to the bit can be secured by RCC LSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSI1RDYF: u1, - /// LSE ready interrupt flag Set by hardware when the LSE clock becomes stable and LSERDYIE is set. Cleared by software setting the LSERDYC bit. Access to the bit can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LSE ready interrupt flag Set by hardware when the LSE clock becomes stable and LSERDYIE is set. Cleared by software setting the LSERDYC bit. Access to the bit can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSERDYF: u1, reserved3: u1, - /// HSI ready interrupt flag Set by hardware when the HSI clock becomes stable and HSIRDYIE is set in a response to setting the HSION (see CR). When HSION is not set but the HSI oscillator is enabled by the peripheral through a clock request, this bit is not set and no interrupt is generated. Access to the bit can be secured by RCC HSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Cleared by software setting the HSIRDYC bit. + /// HSI ready interrupt flag Set by hardware when the HSI clock becomes stable and HSIRDYIE is set in a response to setting the HSION (see CR). When HSION is not set but the HSI oscillator is enabled by the peripheral through a clock request, this bit is not set and no interrupt is generated. Access to the bit can be secured by RCC HSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Cleared by software setting the HSIRDYC bit. HSIRDYF: u1, - /// HSE ready interrupt flag Set by hardware when the HSE clock becomes stable and HSERDYIE is set. Cleared by software setting the HSERDYC bit. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// HSE ready interrupt flag Set by hardware when the HSE clock becomes stable and HSERDYIE is set. Cleared by software setting the HSERDYC bit. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HSERDYF: u1, reserved6: u1, - /// PLL1 ready interrupt flag Set by hardware when the PLL1 locks and PLL1RDYIE is set. Cleared by software setting the PLL1RDYC bit. Access to the bit can be secured by RCC PLL1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// PLL1 ready interrupt flag Set by hardware when the PLL1 locks and PLL1RDYIE is set. Cleared by software setting the PLL1RDYC bit. Access to the bit can be secured by RCC PLL1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. PLLRDYF: u1, reserved10: u3, - /// HSE clock security system interrupt flag Set by hardware when a clock security failure is detected in the HSE oscillator. Cleared by software setting the HSECSSC bit. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// HSE clock security system interrupt flag Set by hardware when a clock security failure is detected in the HSE oscillator. Cleared by software setting the HSECSSC bit. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HSECSSF: u1, padding: u21, }), - /// RCC clock interrupt clear register + /// RCC clock interrupt clear register CICR: mmio.Mmio(packed struct(u32) { - /// LSI1 ready interrupt clear Writing this bit to 1 clears the LSI1RDYF flag. Writing 0 has no effect. Access to the bit can be secured by RCC LSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LSI1 ready interrupt clear Writing this bit to 1 clears the LSI1RDYF flag. Writing 0 has no effect. Access to the bit can be secured by RCC LSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSI1RDYC: u1, - /// LSE ready interrupt clear Writing this bit to 1 clears the LSERDYF flag. Writing 0 has no effect. Access to the bit can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LSE ready interrupt clear Writing this bit to 1 clears the LSERDYF flag. Writing 0 has no effect. Access to the bit can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSERDYC: u1, reserved3: u1, - /// HSI ready interrupt clear Writing this bit to 1 clears the HSIRDYF flag. Writing 0 has no effect.\ Access to the bit can be secured by RCC HSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// HSI ready interrupt clear Writing this bit to 1 clears the HSIRDYF flag. Writing 0 has no effect.\ Access to the bit can be secured by RCC HSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HSIRDYC: u1, - /// HSE ready interrupt clear Writing this bit to 1 clears the HSERDYF flag. Writing 0 has no effect. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// HSE ready interrupt clear Writing this bit to 1 clears the HSERDYF flag. Writing 0 has no effect. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HSERDYC: u1, reserved6: u1, - /// PLL1 ready interrupt clear Writing this bit to 1 clears the PLL1RDYF flag. Writing 0 has no effect. Access to the bit can be secured by RCC PLL1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// PLL1 ready interrupt clear Writing this bit to 1 clears the PLL1RDYF flag. Writing 0 has no effect. Access to the bit can be secured by RCC PLL1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. PLLRDYC: u1, reserved10: u3, - /// High speed external clock security system interrupt clear Writing this bit to 1 clears the HSECSSF flag. Writing 0 has no effect. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// High speed external clock security system interrupt clear Writing this bit to 1 clears the HSECSSF flag. Writing 0 has no effect. Access to the bit can be secured by RCC HSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HSECSSC: u1, padding: u21, }), reserved96: [4]u8, - /// RCC AHB1 peripheral reset register + /// RCC AHB1 peripheral reset register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// GPDMA1 reset Set and cleared by software. Access can be secured by GPDMA1 SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// GPDMA1 reset Set and cleared by software. Access can be secured by GPDMA1 SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GPDMA1RST: u1, reserved12: u11, - /// CRC reset Set and cleared by software. Access can be secured by GTZC_TZSC CRCSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// CRC reset Set and cleared by software. Access can be secured by GTZC_TZSC CRCSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. CRCRST: u1, reserved16: u3, - /// TSC reset Set and cleared by software. Access can be secured by GTZC_TZSC TSCSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TSC reset Set and cleared by software. Access can be secured by GTZC_TZSC TSCSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TSCRST: u1, padding: u15, }), - /// RCC AHB2 peripheral reset register + /// RCC AHB2 peripheral reset register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// IO port A reset Set and cleared by software. Access can be secured by GPIOA SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// IO port A reset Set and cleared by software. Access can be secured by GPIOA SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GPIOARST: u1, - /// IO port B reset Set and cleared by software. Access can be secured by GPIOB SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// IO port B reset Set and cleared by software. Access can be secured by GPIOB SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GPIOBRST: u1, - /// IO port C reset Set and cleared by software. Access can be secured by GPIOC SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// IO port C reset Set and cleared by software. Access can be secured by GPIOC SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GPIOCRST: u1, reserved7: u4, - /// IO port H reset Set and cleared by software. Access can be secured by GPIOH SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// IO port H reset Set and cleared by software. Access can be secured by GPIOH SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GPIOHRST: u1, reserved16: u8, - /// AES hardware accelerator reset Set and cleared by software. Access can be secured by GTZC_TZSC AESSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// AES hardware accelerator reset Set and cleared by software. Access can be secured by GTZC_TZSC AESSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. AESRST: u1, - /// Hash reset Set and cleared by software. Access can be secured by GTZC_TZSC HASHSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// Hash reset Set and cleared by software. Access can be secured by GTZC_TZSC HASHSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HASHRST: u1, - /// Random number generator reset Set and cleared by software. Access can be secured by GTZC_TZSC RNGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// Random number generator reset Set and cleared by software. Access can be secured by GTZC_TZSC RNGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. RNGRST: u1, - /// SAES hardware accelerator reset Set and cleared by software. Access can be secured by GTZC_TZSC SAESSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// SAES hardware accelerator reset Set and cleared by software. Access can be secured by GTZC_TZSC SAESSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. SAESRST: u1, - /// HSEM hardware accelerator reset Set and cleared by software. Can only be accessed secure when one or more features in the HSEM is secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// HSEM hardware accelerator reset Set and cleared by software. Can only be accessed secure when one or more features in the HSEM is secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HSEMRST: u1, - /// PKA reset Set and cleared by software. Access can be secured by GTZC_TZSC PKASEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// PKA reset Set and cleared by software. Access can be secured by GTZC_TZSC PKASEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. PKARST: u1, padding: u10, }), reserved108: [4]u8, - /// RCC AHB4 peripheral reset register + /// RCC AHB4 peripheral reset register AHB4RSTR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// ADC4 reset Set and cleared by software. Access can be secred by GTZC_TZSC ADC4SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// ADC4 reset Set and cleared by software. Access can be secred by GTZC_TZSC ADC4SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. ADC4RST: u1, padding: u26, }), - /// RCC AHB5 peripheral reset register + /// RCC AHB5 peripheral reset register AHB5RSTR: mmio.Mmio(packed struct(u32) { - /// 2.4 GHz RADIO reset Set and cleared by software. Access can be secured by GTZC_TZSC RADIOSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// 2.4 GHz RADIO reset Set and cleared by software. Access can be secured by GTZC_TZSC RADIOSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. RADIORST: u1, padding: u31, }), - /// RCC APB1 peripheral reset register 1 + /// RCC APB1 peripheral reset register 1 APB1RSTR1: mmio.Mmio(packed struct(u32) { - /// TIM2 reset Set and cleared by software. Access can be secured by GTZC_TZSC TIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TIM2 reset Set and cleared by software. Access can be secured by GTZC_TZSC TIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TIM2RST: u1, - /// TIM3 reset Set and cleared by software. Access can be secured by GTZC_TZSC TIM3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TIM3 reset Set and cleared by software. Access can be secured by GTZC_TZSC TIM3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TIM3RST: u1, reserved17: u15, - /// USART2 reset Set and cleared by software. Access can be secured by GTZC_TZSC UART2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// USART2 reset Set and cleared by software. Access can be secured by GTZC_TZSC UART2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. USART2RST: u1, reserved21: u3, - /// I2C1 reset Set and cleared by software. Access can be secured by GTZC_TZSC I2C1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// I2C1 reset Set and cleared by software. Access can be secured by GTZC_TZSC I2C1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. I2C1RST: u1, padding: u10, }), - /// RCC APB1 peripheral reset register 2 + /// RCC APB1 peripheral reset register 2 APB1RSTR2: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// LPTIM2 reset Set and cleared by software. Access can be secured by GTZC_TZSC LPTIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LPTIM2 reset Set and cleared by software. Access can be secured by GTZC_TZSC LPTIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LPTIM2RST: u1, padding: u26, }), - /// RCC APB2 peripheral reset register + /// RCC APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 reset Set and cleared by software. Access can be secured by GTZC_TZSC TIM1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TIM1 reset Set and cleared by software. Access can be secured by GTZC_TZSC TIM1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TIM1RST: u1, - /// SPI1 reset Set and cleared by software. Access can be secured by GTZC_TZSC SPI1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// SPI1 reset Set and cleared by software. Access can be secured by GTZC_TZSC SPI1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. SPI1RST: u1, reserved14: u1, - /// USART1 reset Set and cleared by software. Access can be secured by GTZC_TZSC USART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// USART1 reset Set and cleared by software. Access can be secured by GTZC_TZSC USART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. USART1RST: u1, reserved17: u2, - /// TIM16 reset Set and cleared by software. Access can be secured by GTZC_TZSC TIM16SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TIM16 reset Set and cleared by software. Access can be secured by GTZC_TZSC TIM16SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TIM16RST: u1, - /// TIM17 reset Set and cleared by software. Access can be secured by GTZC_TZSC TIM17SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TIM17 reset Set and cleared by software. Access can be secured by GTZC_TZSC TIM17SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TIM17RST: u1, padding: u13, }), - /// RCC APB7 peripheral reset register + /// RCC APB7 peripheral reset register APB7RSTR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG reset Set and cleared by software. Access can be secured by SYSCFG SYSCFGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// SYSCFG reset Set and cleared by software. Access can be secured by SYSCFG SYSCFGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. SYSCFGRST: u1, reserved5: u3, - /// SPI3 reset Set and cleared by software. Access can be secured by GTZC_TZSC SPI3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// SPI3 reset Set and cleared by software. Access can be secured by GTZC_TZSC SPI3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. SPI3RST: u1, - /// LPUART1 reset Set and cleared by software. Access can be secured by GTZC_TZSC LPUART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LPUART1 reset Set and cleared by software. Access can be secured by GTZC_TZSC LPUART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LPUART1RST: u1, - /// I2C3 reset Set and cleared by software. Access can be secured by GTZC_TZSC I2C3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// I2C3 reset Set and cleared by software. Access can be secured by GTZC_TZSC I2C3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. I2C3RST: u1, reserved11: u3, - /// LPTIM1 reset Set and cleared by software. Access can be secured by GTZC_TZSC LPTIM1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LPTIM1 reset Set and cleared by software. Access can be secured by GTZC_TZSC LPTIM1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LPTIM1RST: u1, padding: u20, }), reserved136: [4]u8, - /// RCC AHB1 peripheral clock enable register + /// RCC AHB1 peripheral clock enable register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// GPDMA1 bus clock enable Set and cleared by software. Access can be secured by GPDMA1 SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// GPDMA1 bus clock enable Set and cleared by software. Access can be secured by GPDMA1 SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GPDMA1EN: u1, reserved8: u7, - /// FLASH bus clock enable Set and cleared by software. This bit can be disabled only when the Flash memory is in power down mode. Can only be accessed secured when the Flash security state is secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// FLASH bus clock enable Set and cleared by software. This bit can be disabled only when the Flash memory is in power down mode. Can only be accessed secured when the Flash security state is secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. FLASHEN: u1, reserved12: u3, - /// CRC bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC CRCSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// CRC bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC CRCSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. CRCEN: u1, reserved16: u3, - /// Touch sensing controller bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC TSCSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// Touch sensing controller bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC TSCSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TSCEN: u1, - /// RAMCFG bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC RAMCFGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// RAMCFG bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC RAMCFGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. RAMCFGEN: u1, reserved24: u6, - /// GTZC1 bus clock enable Set and reset by software. Can only be accessed secure when device is secure (TZEN = 1). When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// GTZC1 bus clock enable Set and reset by software. Can only be accessed secure when device is secure (TZEN = 1). When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GTZC1EN: u1, reserved31: u6, - /// SRAM1 bus clock enable Set and reset by software. Access can be secured by GTZC_MPCBB1 SECx, INVSECSTATE. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// SRAM1 bus clock enable Set and reset by software. Access can be secured by GTZC_MPCBB1 SECx, INVSECSTATE. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. SRAM1EN: u1, }), - /// RCC AHB2 peripheral clock enable register + /// RCC AHB2 peripheral clock enable register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// IO port A bus clock enable Set and cleared by software. Access can be secured by GPIOA SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// IO port A bus clock enable Set and cleared by software. Access can be secured by GPIOA SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GPIOAEN: u1, - /// IO port B bus clock enable Set and cleared by software. Access can be secured by GPIOB SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// IO port B bus clock enable Set and cleared by software. Access can be secured by GPIOB SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GPIOBEN: u1, - /// IO port C bus clock enable Set and cleared by software. Access can be secured by GPIOC SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// IO port C bus clock enable Set and cleared by software. Access can be secured by GPIOC SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GPIOCEN: u1, reserved7: u4, - /// IO port H bus clock enable Set and cleared by software. Access can be secured by GPIOH SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// IO port H bus clock enable Set and cleared by software. Access can be secured by GPIOH SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GPIOHEN: u1, reserved16: u8, - /// AES bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC AESSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// AES bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC AESSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. AESEN: u1, - /// HASH bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC HASHSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// HASH bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC HASHSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HASHEN: u1, - /// RNG bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC RNGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// RNG bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC RNGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. RNGEN: u1, - /// SAES bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC SAESSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// SAES bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC SAESSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. SAESEN: u1, - /// HSEM bus clock enable Set and cleared by software. Can only be accessed secure when one or more features in the HSEM is secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// HSEM bus clock enable Set and cleared by software. Can only be accessed secure when one or more features in the HSEM is secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HSEMEN: u1, - /// PKA bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC PKASEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// PKA bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC PKASEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. PKAEN: u1, reserved30: u8, - /// SRAM2 bus clock enable Set and cleared by software. Access can be secured by GTZC_MPCBB2 SECx, INVSECSTATE. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// SRAM2 bus clock enable Set and cleared by software. Access can be secured by GTZC_MPCBB2 SECx, INVSECSTATE. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. SRAM2EN: u1, padding: u1, }), reserved148: [4]u8, - /// RCC AHB4 peripheral clock enable register + /// RCC AHB4 peripheral clock enable register AHB4ENR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// PWR bus clock enable Set and cleared by software. Can only be accessed secure when one or more features in the PWR is/are secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// PWR bus clock enable Set and cleared by software. Can only be accessed secure when one or more features in the PWR is/are secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. PWREN: u1, reserved5: u2, - /// ADC4 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC ADC4SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// ADC4 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC ADC4SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. ADC4EN: u1, padding: u26, }), - /// RCC AHB5 peripheral clock enable register + /// RCC AHB5 peripheral clock enable register AHB5ENR: mmio.Mmio(packed struct(u32) { - /// 2.4 GHz RADIO bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC RADIOSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Before accessing the 2.4 GHz RADIO sleep timers registers the RADIOCLKRDY bit must be checked. Note: When RADIOSMEN and STRADIOCLKON are both cleared, RADIOCLKRDY bit must be re-checked when exiting low-power modes (Sleep and Stop). + /// 2.4 GHz RADIO bus clock enable Set and cleared by software. Access can be secured by GTZC_TZSC RADIOSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Before accessing the 2.4 GHz RADIO sleep timers registers the RADIOCLKRDY bit must be checked. Note: When RADIOSMEN and STRADIOCLKON are both cleared, RADIOCLKRDY bit must be re-checked when exiting low-power modes (Sleep and Stop). RADIOEN: u1, padding: u31, }), - /// RCC APB1 peripheral clock enable register 1 + /// RCC APB1 peripheral clock enable register 1 APB1ENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC TIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TIM2 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC TIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TIM2EN: u1, - /// TIM3 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC TIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TIM3 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC TIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TIM3EN: u1, reserved11: u9, - /// WWDG bus clock enable Set by software to enable the window watchdog bus clock. Reset by hardware system reset. This bit can also be set by hardware if the WWDG_SW option bit is reset. Access can be secured by GTZC_TZSC WWDGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// WWDG bus clock enable Set by software to enable the window watchdog bus clock. Reset by hardware system reset. This bit can also be set by hardware if the WWDG_SW option bit is reset. Access can be secured by GTZC_TZSC WWDGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. WWDGEN: u1, reserved17: u5, - /// USART2 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC USART2SEC When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV.. + /// USART2 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC USART2SEC When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV.. USART2EN: u1, reserved21: u3, - /// I2C1 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC I2C1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// I2C1 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC I2C1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. I2C1EN: u1, padding: u10, }), - /// RCC APB1 peripheral clock enable register 2 + /// RCC APB1 peripheral clock enable register 2 APB1ENR2: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// LPTIM2 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC LPTIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LPTIM2 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC LPTIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LPTIM2EN: u1, padding: u26, }), - /// RCC APB2 peripheral clock enable register + /// RCC APB2 peripheral clock enable register APB2ENR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC TIM1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TIM1 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC TIM1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TIM1EN: u1, - /// SPI1 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC SPI1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// SPI1 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC SPI1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. SPI1EN: u1, reserved14: u1, - /// USART1bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC USART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// USART1bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC USART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. USART1EN: u1, reserved17: u2, - /// TIM16 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC TIM16SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TIM16 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC TIM16SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TIM16EN: u1, - /// TIM17 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC TIM17SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TIM17 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC TIM17SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TIM17EN: u1, padding: u13, }), - /// RCC APB7 peripheral clock enable register + /// RCC APB7 peripheral clock enable register APB7ENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG bus clock enable Set and cleared by software. Access can be secured by SYSCFG SYSCFGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// SYSCFG bus clock enable Set and cleared by software. Access can be secured by SYSCFG SYSCFGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. SYSCFGEN: u1, reserved5: u3, - /// SPI3 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC SPI3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// SPI3 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC SPI3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. SPI3EN: u1, - /// LPUART1 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC LPUART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LPUART1 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC LPUART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LPUART1EN: u1, - /// I2C3 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC I2C3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// I2C3 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC I2C3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. I2C3EN: u1, reserved11: u3, - /// LPTIM1 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC LPTIM1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LPTIM1 bus and kernel clocks enable Set and cleared by software. Access can be secured by GTZC_TZSC LPTIM1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LPTIM1EN: u1, reserved21: u9, - /// RTC and TAMP bus clock enable Set and cleared by software. Can only be accessed secure when one or more features in the RTC or TAMP is/are secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// RTC and TAMP bus clock enable Set and cleared by software. Can only be accessed secure when one or more features in the RTC or TAMP is/are secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. RTCAPBEN: u1, padding: u10, }), reserved176: [4]u8, - /// RCC AHB1 peripheral clocks enable in Sleep and Stop modes register + /// RCC AHB1 peripheral clocks enable in Sleep and Stop modes register AHB1SMENR: mmio.Mmio(packed struct(u32) { - /// GPDMA1 bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GPDMA1 SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// GPDMA1 bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GPDMA1 SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. GPDMA1SMEN: u1, reserved8: u7, - /// FLASH bus clock enable during Sleep and Stop modes Set and cleared by software. Can only be accessed secured when the Flash security state is secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// FLASH bus clock enable during Sleep and Stop modes Set and cleared by software. Can only be accessed secured when the Flash security state is secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. FLASHSMEN: u1, reserved12: u3, - /// CRC bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC CRCSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// CRC bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC CRCSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. CRCSMEN: u1, reserved16: u3, - /// TSC bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC TSCSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV.. + /// TSC bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC TSCSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV.. TSCSMEN: u1, - /// RAMCFG bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC RAMCFGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// RAMCFG bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC RAMCFGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. RAMCFGSMEN: u1, reserved24: u6, - /// GTZC1 bus clock enable during Sleep and Stop modes Set and cleared by software. Can only be accessed secure when one device is secure (TZEN = 1). When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// GTZC1 bus clock enable during Sleep and Stop modes Set and cleared by software. Can only be accessed secure when one device is secure (TZEN = 1). When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GTZC1SMEN: u1, reserved29: u4, - /// ICACHE bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC ICACHE_REGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV.. + /// ICACHE bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC ICACHE_REGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV.. ICACHESMEN: u1, reserved31: u1, - /// SRAM1 bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_MPCBB1 SECx, INVSECSTATE. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// SRAM1 bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_MPCBB1 SECx, INVSECSTATE. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. SRAM1SMEN: u1, }), - /// RCC AHB2 peripheral clocks enable in Sleep and Stop modes register + /// RCC AHB2 peripheral clocks enable in Sleep and Stop modes register AHB2SMENR: mmio.Mmio(packed struct(u32) { - /// IO port A bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GPIOA SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// IO port A bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GPIOA SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GPIOASMEN: u1, - /// IO port B bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GPIOB SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// IO port B bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GPIOB SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GPIOBSMEN: u1, - /// IO port C bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GPIOC SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// IO port C bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GPIOC SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GPIOCSMEN: u1, reserved7: u4, - /// IO port H bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GPIOH SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// IO port H bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GPIOH SECx. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. GPIOHSMEN: u1, reserved16: u8, - /// AES bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC AESSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// AES bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC AESSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. AESSMEN: u1, - /// HASH bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC HASHSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// HASH bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC HASHSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. HASHSMEN: u1, - /// Random number generator (RNG) bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC RNGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// Random number generator (RNG) bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC RNGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. RNGSMEN: u1, - /// SAES accelerator bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC SAESSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// SAES accelerator bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC SAESSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. SAESSMEN: u1, reserved21: u1, - /// PKA bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC PKASEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// PKA bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC PKASEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. PKASMEN: u1, reserved30: u8, - /// SRAM2 bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_MPCBB2 SECx, INVSECSTATE. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// SRAM2 bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_MPCBB2 SECx, INVSECSTATE. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. SRAM2SMEN: u1, padding: u1, }), reserved188: [4]u8, - /// RCC AHB4 peripheral clocks enable in Sleep and Stop modes register + /// RCC AHB4 peripheral clocks enable in Sleep and Stop modes register AHB4SMENR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// PWR bus clock enable during Sleep and Stop modes Set and cleared by software. Can only be accessed secure when one or more features in the PWR is/are secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// PWR bus clock enable during Sleep and Stop modes Set and cleared by software. Can only be accessed secure when one or more features in the PWR is/are secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. PWRSMEN: u1, reserved5: u2, - /// ADC4 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC ADC4SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// ADC4 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC ADC4SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. ADC4SMEN: u1, padding: u26, }), - /// RCC AHB5 peripheral clocks enable in Sleep and Stop modes register + /// RCC AHB5 peripheral clocks enable in Sleep and Stop modes register AHB5SMENR: mmio.Mmio(packed struct(u32) { - /// 2.4 GHz RADIO bus clock enable during Sleep and Stop modes when the 2.4 GHz RADIO is active. Set and cleared by software. Access can be secured by GTZC_TZSC RADIOSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// 2.4 GHz RADIO bus clock enable during Sleep and Stop modes when the 2.4 GHz RADIO is active. Set and cleared by software. Access can be secured by GTZC_TZSC RADIOSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. RADIOSMEN: u1, padding: u31, }), - /// RCC APB1 peripheral clocks enable in Sleep and Stop modes register 1 + /// RCC APB1 peripheral clocks enable in Sleep and Stop modes register 1 APB1SMENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC TIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TIM2 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC TIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TIM2SMEN: u1, - /// TIM3 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC TIM3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TIM3 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC TIM3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TIM3SMEN: u1, reserved11: u9, - /// Window watchdog bus clock enable during Sleep and Stop modes Set and cleared by software. This bit is forced to 1 by hardware when the hardware WWDG option is activated. Access can be secured by GTZC_TZSC WWDGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// Window watchdog bus clock enable during Sleep and Stop modes Set and cleared by software. This bit is forced to 1 by hardware when the hardware WWDG option is activated. Access can be secured by GTZC_TZSC WWDGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. WWDGSMEN: u1, reserved17: u5, - /// USART2 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC USART2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// USART2 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC USART2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. USART2SMEN: u1, reserved21: u3, - /// I2C1 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC I2C1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// I2C1 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC I2C1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. I2C1SMEN: u1, padding: u10, }), - /// RCC APB1 peripheral clocks enable in Sleep and Stop modes register 2 + /// RCC APB1 peripheral clocks enable in Sleep and Stop modes register 2 APB1SMENR2: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// LPTIM2 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC LPTIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// LPTIM2 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC LPTIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. LPTIM2SMEN: u1, padding: u26, }), - /// RCC APB2 peripheral clocks enable in Sleep and Stop modes register + /// RCC APB2 peripheral clocks enable in Sleep and Stop modes register APB2SMENR: mmio.Mmio(packed struct(u32) { reserved11: u11, - /// TIM1 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC TIM1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TIM1 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC TIM1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TIM1SMEN: u1, - /// SPI1 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC SPI1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// SPI1 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC SPI1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. SPI1SMEN: u1, reserved14: u1, - /// USART1 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC USART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// USART1 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC USART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. USART1SMEN: u1, reserved17: u2, - /// TIM16 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC TIM16SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TIM16 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC TIM16SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TIM16SMEN: u1, - /// TIM17 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC TIM17SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// TIM17 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC TIM17SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. TIM17SMEN: u1, padding: u13, }), - /// RCC APB7 peripheral clock enable in Sleep and Stop modes register + /// RCC APB7 peripheral clock enable in Sleep and Stop modes register APB7SMENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// SYSCFG bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by SYSCFG SYSCFGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// SYSCFG bus clock enable during Sleep and Stop modes Set and cleared by software. Access can be secured by SYSCFG SYSCFGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. SYSCFGSMEN: u1, reserved5: u3, - /// SPI3 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC SPI3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// SPI3 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC SPI3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. SPI3SMEN: u1, - /// LPUART1 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC LPUART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// LPUART1 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC LPUART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. LPUART1SMEN: u1, - /// I2C3 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC I2C3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// I2C3 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC I2C3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. I2C3SMEN: u1, reserved11: u3, - /// LPTIM1 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC LPTIM1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// LPTIM1 bus and kernel clocks enable during Sleep and Stop modes Set and cleared by software. Access can be secured by GTZC_TZSC LPTIM1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. LPTIM1SMEN: u1, reserved21: u9, - /// RTC and TAMP APB clock enable during Sleep and Stop modes Set and cleared by software. Can only be accessed secure when one or more features in the RTC or TAMP is/are secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. + /// RTC and TAMP APB clock enable during Sleep and Stop modes Set and cleared by software. Can only be accessed secure when one or more features in the RTC or TAMP is/are secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: This bit must be set to allow the peripheral to wake up from Stop modes. RTCAPBSMEN: u1, padding: u10, }), reserved224: [12]u8, - /// RCC peripherals independent clock configuration register 1 + /// RCC peripherals independent clock configuration register 1 CCIPR1: mmio.Mmio(packed struct(u32) { - /// USART1 kernel clock source selection This bits are used to select the USART1 kernel clock source. Access can be secured by GTZC_TZSC USART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The USART1 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or LSE. - USART1SEL: packed union { - raw: u2, - value: USART1SEL, - }, - /// USART2 kernel clock source selection This bits are used to select the USART2 kernel clock source. Access can be secured by GTZC_TZSC USART2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The USART2 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or LSE. - USART2SEL: packed union { - raw: u2, - value: USARTSEL, - }, + /// USART1 kernel clock source selection This bits are used to select the USART1 kernel clock source. Access can be secured by GTZC_TZSC USART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The USART1 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or LSE. + USART1SEL: USART1SEL, + /// USART2 kernel clock source selection This bits are used to select the USART2 kernel clock source. Access can be secured by GTZC_TZSC USART2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The USART2 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI or LSE. + USART2SEL: USARTSEL, reserved10: u6, - /// I2C1 kernel clock source selection These bits are used to select the I2C1 kernel clock source. Access can be secured by GTZC_TZSC I2C1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The I2C1 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI. - I2C1SEL: packed union { - raw: u2, - value: I2C1SEL, - }, + /// I2C1 kernel clock source selection These bits are used to select the I2C1 kernel clock source. Access can be secured by GTZC_TZSC I2C1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The I2C1 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI. + I2C1SEL: I2C1SEL, reserved18: u6, - /// Low-power timer 2 kernel clock source selection These bits are used to select the LPTIM2 kernel clock source. Access can be secured by GTZC_TZSC LPTIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The LPTIM2 is functional in Stop 0 and Stop 1 mode only when the kernel clock is LSI, LSE or HSI if HSIKERON = 1. - LPTIM2SEL: packed union { - raw: u2, - value: LPTIM2SEL, - }, - /// SPI1 kernel clock source selection These bits are used to select the SPI1 kernel clock source. Access can be secured by GTZC_TZSC SPI1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The SPI1 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI. - SPI1SEL: packed union { - raw: u2, - value: SPI1SEL, - }, - /// SysTick clock source selection These bits are used to select the SysTick clock source. Access can be secured by RCC SYSCLKSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: When LSE or LSI is selected, the AHB frequency must be at least four times higher than the LSI or LSE frequency. In addition, a jitter up to one hclk1 cycle is introduced, due to the LSE or LSI sampling with hclk1 in the SysTick circuitry. - SYSTICKSEL: packed union { - raw: u2, - value: SYSTICKSEL, - }, + /// Low-power timer 2 kernel clock source selection These bits are used to select the LPTIM2 kernel clock source. Access can be secured by GTZC_TZSC LPTIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The LPTIM2 is functional in Stop 0 and Stop 1 mode only when the kernel clock is LSI, LSE or HSI if HSIKERON = 1. + LPTIM2SEL: LPTIM2SEL, + /// SPI1 kernel clock source selection These bits are used to select the SPI1 kernel clock source. Access can be secured by GTZC_TZSC SPI1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The SPI1 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI. + SPI1SEL: SPI1SEL, + /// SysTick clock source selection These bits are used to select the SysTick clock source. Access can be secured by RCC SYSCLKSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: When LSE or LSI is selected, the AHB frequency must be at least four times higher than the LSI or LSE frequency. In addition, a jitter up to one hclk1 cycle is introduced, due to the LSE or LSI sampling with hclk1 in the SysTick circuitry. + SYSTICKSEL: SYSTICKSEL, reserved31: u7, - /// Clocks sources for TIM16,TIM17 and LPTIM2 internal input capture When the TIMICSEL bit is set, the TIM16, TIM17 and LPTIM2 internal input capture can be connected to HSI/256. When TIMICSEL is cleared, the HSI, clock sources cannot be selected as TIM16, TIM17 or LPTIM2 internal input capture. Access can be secured by GTZC_TZSC TIM16SEC, TIM17SEC, or LPTIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The clock division must be disabled (TIMICSEL configured to 0) before selecting or changing a clock sources division. - TIMICSEL: packed union { - raw: u1, - value: TIMICSEL, - }, + /// Clocks sources for TIM16,TIM17 and LPTIM2 internal input capture When the TIMICSEL bit is set, the TIM16, TIM17 and LPTIM2 internal input capture can be connected to HSI/256. When TIMICSEL is cleared, the HSI, clock sources cannot be selected as TIM16, TIM17 or LPTIM2 internal input capture. Access can be secured by GTZC_TZSC TIM16SEC, TIM17SEC, or LPTIM2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The clock division must be disabled (TIMICSEL configured to 0) before selecting or changing a clock sources division. + TIMICSEL: TIMICSEL, }), - /// RCC peripherals independent clock configuration register 2 + /// RCC peripherals independent clock configuration register 2 CCIPR2: mmio.Mmio(packed struct(u32) { reserved12: u12, - /// RNGSEL kernel clock source selection These bits allow to select the RNG kernel clock source. Access can be secured by GTZC_TZSC RNGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. - RNGSEL: packed union { - raw: u2, - value: RNGSEL, - }, + /// RNGSEL kernel clock source selection These bits allow to select the RNG kernel clock source. Access can be secured by GTZC_TZSC RNGSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + RNGSEL: RNGSEL, padding: u18, }), - /// RCC peripherals independent clock configuration register 3 + /// RCC peripherals independent clock configuration register 3 CCIPR3: mmio.Mmio(packed struct(u32) { - /// LPUART1 kernel clock source selection These bits are used to select the LPUART1 kernel clock source. Access can be secured by GTZC_TZSC LPUART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The LPUART1 is functional in Stop modes only when the kernel clock is HSI or LSE. - LPUART1SEL: packed union { - raw: u2, - value: LPUARTSEL, - }, + /// LPUART1 kernel clock source selection These bits are used to select the LPUART1 kernel clock source. Access can be secured by GTZC_TZSC LPUART1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The LPUART1 is functional in Stop modes only when the kernel clock is HSI or LSE. + LPUART1SEL: LPUARTSEL, reserved3: u1, - /// SPI3 kernel clock source selection These bits are used to select the SPI3 kernel clock source. Access can be secured by GTZC_TZSC SPI3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The SPI3 is functional in Stop modes only when the kernel clock is HSI. - SPI3SEL: packed union { - raw: u2, - value: SPI3SEL, - }, + /// SPI3 kernel clock source selection These bits are used to select the SPI3 kernel clock source. Access can be secured by GTZC_TZSC SPI3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The SPI3 is functional in Stop modes only when the kernel clock is HSI. + SPI3SEL: SPI3SEL, reserved6: u1, - /// I2C3 kernel clock source selection These bits are used to select the I2C3 kernel clock source. Access can be secured by GTZC_TZSC I2C3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The I2C3 is functional in Stop modes only when the kernel clock is HSI - I2C3SEL: packed union { - raw: u2, - value: I2C3SEL, - }, + /// I2C3 kernel clock source selection These bits are used to select the I2C3 kernel clock source. Access can be secured by GTZC_TZSC I2C3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The I2C3 is functional in Stop modes only when the kernel clock is HSI + I2C3SEL: I2C3SEL, reserved10: u2, - /// LPTIM1 kernel clock source selection These bits are used to select the LPTIM1 kernel clock source. Access can be secured by GTZC_TZSC LPTIM1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The LPTIM1 is functional in Stop modes only when the kernel clock is LSI, LSE, HSI with HSIKERON = 1. - LPTIM1SEL: packed union { - raw: u2, - value: LPTIM1SEL, - }, - /// ADC4 kernel clock source selection These bits are used to select the ADC4 kernel clock source. Access can be secured by GTZC_TZSC ADC4SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. others: reserved Note: The ADC4 is functional in Stop modes only when the kernel clock is HSI. - ADCSEL: packed union { - raw: u3, - value: ADCSEL, - }, + /// LPTIM1 kernel clock source selection These bits are used to select the LPTIM1 kernel clock source. Access can be secured by GTZC_TZSC LPTIM1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The LPTIM1 is functional in Stop modes only when the kernel clock is LSI, LSE, HSI with HSIKERON = 1. + LPTIM1SEL: LPTIM1SEL, + /// ADC4 kernel clock source selection These bits are used to select the ADC4 kernel clock source. Access can be secured by GTZC_TZSC ADC4SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. others: reserved Note: The ADC4 is functional in Stop modes only when the kernel clock is HSI. + ADCSEL: ADCSEL, padding: u17, }), reserved240: [4]u8, - /// RCC backup domain control register + /// RCC backup domain control register BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enable Set and cleared by software. Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LSE oscillator enable Set and cleared by software. Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSEON: u1, - /// LSE oscillator ready Set and cleared by hardware to indicate when the external 32�kHz oscillator is stable. After the LSEON bit is cleared, LSERDY goes low after six external low-speed oscillator clock cycles. Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LSE oscillator ready Set and cleared by hardware to indicate when the external 32�kHz oscillator is stable. After the LSEON bit is cleared, LSERDY goes low after six external low-speed oscillator clock cycles. Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSERDY: u1, - /// LSE oscillator bypass Set and cleared by software to bypass oscillator in debug mode. This bit can be written only when the external 32�kHz oscillator is disabled (LSEON = 0 and LSERDY = 0). Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LSE oscillator bypass Set and cleared by software to bypass oscillator in debug mode. This bit can be written only when the external 32�kHz oscillator is disabled (LSEON = 0 and LSERDY = 0). Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSEBYP: u1, - /// LSE oscillator drive capability Set by software to modulate the drive capability of the LSE oscillator. LSEDRV must be programmed to a different value than 0 before enabling the LSE oscillator in ‘Xtal’ mode. Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The oscillator is in ‘Xtal mode’ when it is not in bypass mode. - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// Low speed external clock security enable Set by software to enable the LSECSS. LSECSSON must be enabled after the LSE oscillator is enabled (LSEON bit enabled) and ready (LSERDY flag set by hardware) and after the RTCSEL bit is selected. Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD�=�1). In that case, the software must disable the LSECSSON bit. Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LSE oscillator drive capability Set by software to modulate the drive capability of the LSE oscillator. LSEDRV must be programmed to a different value than 0 before enabling the LSE oscillator in ‘Xtal’ mode. Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: The oscillator is in ‘Xtal mode’ when it is not in bypass mode. + LSEDRV: LSEDRV, + /// Low speed external clock security enable Set by software to enable the LSECSS. LSECSSON must be enabled after the LSE oscillator is enabled (LSEON bit enabled) and ready (LSERDY flag set by hardware) and after the RTCSEL bit is selected. Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD�=�1). In that case, the software must disable the LSECSSON bit. Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSECSSON: u1, - /// Low speed external clock security, LSE failure Detection Set by hardware to indicate when a failure is detected by the LSECCS on the external 32�kHz oscillator. Reset when LSCSSON bit is cleared. Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// Low speed external clock security, LSE failure Detection Set by hardware to indicate when a failure is detected by the LSECCS on the external 32�kHz oscillator. Reset when LSCSSON bit is cleared. Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSECSSD: u1, - /// LSE system clock (LSESYS) enable Set by software to enable the LSE system clock generated by RCC. The lsesys clock is used for peripherals (USART, LPUART, LPTIM, RNG, 2.4 GHz RADIO) and functions (LSCO, MCO, TIM triggers, LPTIM trigger) excluding the RTC, TAMP and LSECSS. Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LSE system clock (LSESYS) enable Set by software to enable the LSE system clock generated by RCC. The lsesys clock is used for peripherals (USART, LPUART, LPTIM, RNG, 2.4 GHz RADIO) and functions (LSCO, MCO, TIM triggers, LPTIM trigger) excluding the RTC, TAMP and LSECSS. Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSESYSEN: u1, - /// RTC and TAMP kernel clock source enable and selection Set by software to enable and select the clock source for the RTC. Can only be accessed secure when one or more features in the RTC or TAMP is/are secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC and TAMP kernel clock source enable and selection Set by software to enable and select the clock source for the RTC. Can only be accessed secure when one or more features in the RTC or TAMP is/are secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + RTCSEL: RTCSEL, reserved11: u1, - /// LSE system clock (LSESYS) ready Set and cleared by hardware to indicate when the LSE system clock is stable.When the LSESYSEN bit is set, the LSESYSRDY flag is set after two LSE clock cycles. The LSE clock must be already enabled and stable (LSEON and LSERDY are set). When the LSEON bit is cleared, LSERDY goes low after six external low-speed oscillator clock cycles. Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LSE system clock (LSESYS) ready Set and cleared by hardware to indicate when the LSE system clock is stable.When the LSESYSEN bit is set, the LSESYSRDY flag is set after two LSE clock cycles. The LSE clock must be already enabled and stable (LSEON and LSERDY are set). When the LSEON bit is cleared, LSERDY goes low after six external low-speed oscillator clock cycles. Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSESYSRDY: u1, - /// LSE clock glitch filter enable Set and cleared by hardware to enable the LSE glitch filter. This bit can be written only when the LSE is disabled (LSEON = 0 and LSERDY = 0). Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LSE clock glitch filter enable Set and cleared by hardware to enable the LSE glitch filter. This bit can be written only when the LSE is disabled (LSEON = 0 and LSERDY = 0). Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSEGFON: u1, - /// LSE trimming These bits are initialized at startup and after OBL_LAUNCH with SBF cleared with the factory-programmed LSE calibration value. Set and cleared by software. These bits must be modified only once after a BOR reset or an OBL_LAUNCH and before enabling LSE with LSEON (when both LSEON = 0 and LSERDY�= 0). Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: OBL_LAUNCH of this field occurs only when SBF is cleared and must then only be started by software when LSE oscillator is disabled, LSEON = 0 and LSERDY = 0. - LSETRIM: packed union { - raw: u2, - value: LSETRIM, - }, + /// LSE trimming These bits are initialized at startup and after OBL_LAUNCH with SBF cleared with the factory-programmed LSE calibration value. Set and cleared by software. These bits must be modified only once after a BOR reset or an OBL_LAUNCH and before enabling LSE with LSEON (when both LSEON = 0 and LSERDY�= 0). Access can be secured by RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. Note: OBL_LAUNCH of this field occurs only when SBF is cleared and must then only be started by software when LSE oscillator is disabled, LSEON = 0 and LSERDY = 0. + LSETRIM: LSETRIM, reserved16: u1, - /// Backup domain software reset Set and cleared by software. Can only be accessed secure when one or more features in the RTC or TAMP is secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// Backup domain software reset Set and cleared by software. Can only be accessed secure when one or more features in the RTC or TAMP is secure. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. BDRST: u1, reserved18: u1, - /// 2.4 GHz RADIO sleep timer kernel clock enable and selection Set and cleared by software. Access can be secured by GTZC_TZSC RADIOSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. - RADIOSTSEL: packed union { - raw: u2, - value: RADIOSTSEL, - }, + /// 2.4 GHz RADIO sleep timer kernel clock enable and selection Set and cleared by software. Access can be secured by GTZC_TZSC RADIOSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + RADIOSTSEL: RADIOSTSEL, reserved24: u4, - /// Low-speed clock output (LSCO) enable Set and cleared by software. Access can be secured by RCC LSISEC and/or RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// Low-speed clock output (LSCO) enable Set and cleared by software. Access can be secured by RCC LSISEC and/or RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSCOEN: u1, - /// Low-speed clock output selection Set and cleared by software. Access can be secured by RCC LSISEC and/or RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. - LSCOSEL: packed union { - raw: u1, - value: LSCOSEL, - }, - /// LSI1 oscillator enable Set and cleared by software. Access can be secured by RCC LSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// Low-speed clock output selection Set and cleared by software. Access can be secured by RCC LSISEC and/or RCC LSESEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + LSCOSEL: LSCOSEL, + /// LSI1 oscillator enable Set and cleared by software. Access can be secured by RCC LSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSI1ON: u1, - /// LSI1 oscillator ready Set and cleared by hardware to indicate when the LSI1 oscillator is stable. After the LSI1ON bit is cleared, LSI1RDY goes low after three internal low-speed oscillator clock cycles. This bit is set when the LSI1 is used by IWDG or RTC, even if LSI1ON = 0. Access can be secured by RCC LSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// LSI1 oscillator ready Set and cleared by hardware to indicate when the LSI1 oscillator is stable. After the LSI1ON bit is cleared, LSI1RDY goes low after three internal low-speed oscillator clock cycles. This bit is set when the LSI1 is used by IWDG or RTC, even if LSI1ON = 0. Access can be secured by RCC LSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. LSI1RDY: u1, - /// LSI1 Low-speed clock divider configuration Set and cleared by software to enable the LSI1 division. This bit can be written only when the LSI1 is disabled (LSI1ON = 0 and LSI1RDY = 0). The LSI1PREDIV cannot be changed if the LSI1 is used by the IWDG or by the RTC. Access can be secured by RCC LSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. - LSI1PREDIV: packed union { - raw: u1, - value: LSIPREDIV, - }, + /// LSI1 Low-speed clock divider configuration Set and cleared by software to enable the LSI1 division. This bit can be written only when the LSI1 is disabled (LSI1ON = 0 and LSI1RDY = 0). The LSI1PREDIV cannot be changed if the LSI1 is used by the IWDG or by the RTC. Access can be secured by RCC LSISEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + LSI1PREDIV: LSIPREDIV, padding: u3, }), - /// RCC control/status register + /// RCC control/status register CSR: mmio.Mmio(packed struct(u32) { reserved23: u23, - /// Remove reset flag Set by software to clear the reset flags. Access can be secured by RCC RMVFSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. + /// Remove reset flag Set by software to clear the reset flags. Access can be secured by RCC RMVFSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when non-secure with RCC NSPRIV. RMVF: u1, reserved25: u1, - /// Option byte loader reset flag Set by hardware when a reset from the option byte loading occurs. Cleared by writing to the RMVF bit. + /// Option byte loader reset flag Set by hardware when a reset from the option byte loading occurs. Cleared by writing to the RMVF bit. OBLRSTF: u1, - /// NRST pin reset flag Set by hardware when a reset from the NRST pin occurs. Cleared by writing to the RMVF bit. + /// NRST pin reset flag Set by hardware when a reset from the NRST pin occurs. Cleared by writing to the RMVF bit. PINRSTF: u1, - /// BOR flag Set by hardware when a BOR occurs. Cleared by writing to the RMVF bit. + /// BOR flag Set by hardware when a BOR occurs. Cleared by writing to the RMVF bit. BORRSTF: u1, - /// Software reset flag Set by hardware when a software reset occurs. Cleared by writing to the RMVF bit. + /// Software reset flag Set by hardware when a software reset occurs. Cleared by writing to the RMVF bit. SFTRSTF: u1, - /// Independent watchdog reset flag Set by hardware when an independent watchdog reset domain occurs. Cleared by writing to the RMVF bit. + /// Independent watchdog reset flag Set by hardware when an independent watchdog reset domain occurs. Cleared by writing to the RMVF bit. IWDGRSTF: u1, - /// Window watchdog reset flag Set by hardware when a window watchdog reset occurs. Cleared by writing to the RMVF bit. + /// Window watchdog reset flag Set by hardware when a window watchdog reset occurs. Cleared by writing to the RMVF bit. WWDGRSTF: u1, - /// Low-power reset flag Set by hardware when a reset occurs due to illegal Stop and Standby modes entry. Cleared by writing to the RMVF bit. + /// Low-power reset flag Set by hardware when a reset occurs due to illegal Stop and Standby modes entry. Cleared by writing to the RMVF bit. LPWRRSTF: u1, }), reserved272: [24]u8, - /// RCC secure configuration register + /// RCC secure configuration register SECCFGR: mmio.Mmio(packed struct(u32) { - /// HSI clock configuration and status bits security Set and reset by software. + /// HSI clock configuration and status bits security Set and reset by software. HSISEC: u1, - /// HSE clock configuration bits, status bits and HSECSS security Set and reset by software. + /// HSE clock configuration bits, status bits and HSECSS security Set and reset by software. HSESEC: u1, reserved3: u1, - /// LSI clock configuration and status bits security Set and reset by software. + /// LSI clock configuration and status bits security Set and reset by software. LSISEC: u1, - /// LSE clock configuration and status bits security Set and reset by software. + /// LSE clock configuration and status bits security Set and reset by software. LSESEC: u1, - /// SYSCLK selection, clock output on MCO configuration security Set and reset by software. + /// SYSCLK selection, clock output on MCO configuration security Set and reset by software. SYSCLKSEC: u1, - /// AHBx/APBx prescaler configuration bits security Set and reset by software. + /// AHBx/APBx prescaler configuration bits security Set and reset by software. PRESCSEC: u1, - /// PLL1 clock configuration and status bits security Set and reset by software. + /// PLL1 clock configuration and status bits security Set and reset by software. PLLSEC: u1, reserved12: u4, - /// Remove reset flag security Set and reset by software. + /// Remove reset flag security Set and reset by software. RMVFSEC: u1, padding: u19, }), - /// RCC privilege configuration register + /// RCC privilege configuration register PRIVCFGR: mmio.Mmio(packed struct(u32) { - /// RCC secure functions privilege configuration Set and reset by software. This bit can be written only by a secure privileged access. + /// RCC secure functions privilege configuration Set and reset by software. This bit can be written only by a secure privileged access. SPRIV: u1, - /// RCC non-secure functions privilege configuration Set and reset by software. This bit can be written only by privileged access, secure or non-secure. + /// RCC non-secure functions privilege configuration Set and reset by software. This bit can be written only by privileged access, secure or non-secure. NSPRIV: u1, padding: u30, }), reserved512: [232]u8, - /// RCC clock configuration register 2 + /// RCC clock configuration register 2 CFGR4: mmio.Mmio(packed struct(u32) { - /// AHB5 prescaler when SWS select PLL1 Set and cleared by software to control the division factor of the AHB5 clock (hclk5). Must not be changed when SYSCLK source indicated by SWS is PLL1. When SYSCLK source indicated by SWS is not PLL1: HPRE5 is not taken into account. When SYSCLK source indicated by SWS is PLL1: HPRE5 is taken into account, from the moment the system clock switch occurs Depending on the device voltage range, the software must set these bits correctly to ensure that the AHB5 frequency does not exceed the maximum allowed frequency (for more details, refer to Table�99: SYSCLK and bus maximum frequency). After a write operation to these bits and before decreasing the voltage range, this register must be read to be sure that the new value is taken into account. 0xx: hclk5 = SYSCLK not divided - HPRE5: packed union { - raw: u3, - value: HPRE5, - }, + /// AHB5 prescaler when SWS select PLL1 Set and cleared by software to control the division factor of the AHB5 clock (hclk5). Must not be changed when SYSCLK source indicated by SWS is PLL1. When SYSCLK source indicated by SWS is not PLL1: HPRE5 is not taken into account. When SYSCLK source indicated by SWS is PLL1: HPRE5 is taken into account, from the moment the system clock switch occurs Depending on the device voltage range, the software must set these bits correctly to ensure that the AHB5 frequency does not exceed the maximum allowed frequency (for more details, refer to Table�99: SYSCLK and bus maximum frequency). After a write operation to these bits and before decreasing the voltage range, this register must be read to be sure that the new value is taken into account. 0xx: hclk5 = SYSCLK not divided + HPRE5: HPRE5, reserved4: u1, - /// AHB5 divider when SWS select HSI or HSE Set and reset by software. Set to 1 by hardware when entering Stop 1 mode. When SYSCLK source indicated by SWS is HSI or HSE: HDIV5 is taken into account When SYSCLK source indicated by SWS is PLL1: HDIV5 is taken not taken into account Depending on the device voltage range, the software must set this bit correctly to ensure that the AHB5 frequency does not exceed the maximum allowed frequency (for more details, refer to Table�99). After a write operation to this bit and before decreasing the voltage range, this register must be read to be sure that the new value is taken into account. - HDIV5: packed union { - raw: u1, - value: HDIV5, - }, + /// AHB5 divider when SWS select HSI or HSE Set and reset by software. Set to 1 by hardware when entering Stop 1 mode. When SYSCLK source indicated by SWS is HSI or HSE: HDIV5 is taken into account When SYSCLK source indicated by SWS is PLL1: HDIV5 is taken not taken into account Depending on the device voltage range, the software must set this bit correctly to ensure that the AHB5 frequency does not exceed the maximum allowed frequency (for more details, refer to Table�99). After a write operation to this bit and before decreasing the voltage range, this register must be read to be sure that the new value is taken into account. + HDIV5: HDIV5, padding: u27, }), reserved520: [4]u8, - /// RCC RADIO peripheral clock enable register + /// RCC RADIO peripheral clock enable register RADIOENR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// 2.4 GHz RADIO baseband kernel clock (aclk) enable Set and cleared by software. Note: The HSE oscillator needs to be enabled by either HSEON or STRADIOCLKON. + /// 2.4 GHz RADIO baseband kernel clock (aclk) enable Set and cleared by software. Note: The HSE oscillator needs to be enabled by either HSEON or STRADIOCLKON. BBCLKEN: u1, reserved16: u14, - /// 2.4 GHz RADIO bus clock enable and HSE oscillator enable by 2.4 GHz RADIO sleep timer wakeup event Set by hardware on a 2.4 GHz RADIO sleep timer wakeup event. Cleared by software writing zero to this bit. Note: Before accessing the 2.4 GHz RADIO registers the RADIOCLKRDY bit must be checked. + /// 2.4 GHz RADIO bus clock enable and HSE oscillator enable by 2.4 GHz RADIO sleep timer wakeup event Set by hardware on a 2.4 GHz RADIO sleep timer wakeup event. Cleared by software writing zero to this bit. Note: Before accessing the 2.4 GHz RADIO registers the RADIOCLKRDY bit must be checked. STRADIOCLKON: u1, - /// 2.4 GHz RADIO bus clock ready. Set and cleared by hardware to indicate that the 2.4 GHz RADIO bus clock is ready and the 2.4 GHz RADIO registers can be accessed. Note: Once both RADIOEN and STRADIOCLKON are cleared, RADIOCLKRDY goes low after three hclk5 clock cycles. + /// 2.4 GHz RADIO bus clock ready. Set and cleared by hardware to indicate that the 2.4 GHz RADIO bus clock is ready and the 2.4 GHz RADIO registers can be accessed. Note: Once both RADIOEN and STRADIOCLKON are cleared, RADIOCLKRDY goes low after three hclk5 clock cycles. RADIOCLKRDY: u1, padding: u14, }), reserved528: [4]u8, - /// RCC external clock sources calibration register 1 + /// RCC external clock sources calibration register 1 ECSCR1: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// HSE clock trimming These bits provide user-programmable capacitor trimming value. It can be programmed to adjust the HSE oscillator frequency. + /// HSE clock trimming These bits provide user-programmable capacitor trimming value. It can be programmed to adjust the HSE oscillator frequency. HSETRIM: u6, padding: u10, }), @@ -411912,43 +403770,43 @@ pub const types = struct { pub const rcc_wl5 = struct { pub const ADCSEL = enum(u2) { - /// HSI used as ADC clock source + /// HSI used as ADC clock source HSI = 0x1, - /// PLLPCLK used as ADC clock source + /// PLLPCLK used as ADC clock source PLL1_P = 0x2, - /// SYSCLK used as ADC clock source + /// SYSCLK used as ADC clock source SYS = 0x3, _, }; pub const HPRE = enum(u4) { - /// DCLK not divided + /// DCLK not divided Div1 = 0x0, - /// hclk = SYSCLK divided by 3 + /// hclk = SYSCLK divided by 3 Div3 = 0x1, - /// hclk = SYSCLK divided by 5 + /// hclk = SYSCLK divided by 5 Div5 = 0x2, - /// hclk = SYSCLK divided by 6 + /// hclk = SYSCLK divided by 6 Div6 = 0x5, - /// hclk = SYSCLK divided by 8 + /// hclk = SYSCLK divided by 8 Div10 = 0x6, - /// hclk = SYSCLK divided by 32 + /// hclk = SYSCLK divided by 32 Div32 = 0x7, - /// hclk = SYSCLK divided by 2 + /// hclk = SYSCLK divided by 2 Div2 = 0x8, - /// hclk = SYSCLK divided by 4 + /// hclk = SYSCLK divided by 4 Div4 = 0x9, - /// hclk = SYSCLK divided by 8 + /// hclk = SYSCLK divided by 8 Div8 = 0xa, - /// hclk = SYSCLK divided by 16 + /// hclk = SYSCLK divided by 16 Div16 = 0xb, - /// hclk = SYSCLK divided by 64 + /// hclk = SYSCLK divided by 64 Div64 = 0xc, - /// hclk = SYSCLK divided by 128 + /// hclk = SYSCLK divided by 128 Div128 = 0xd, - /// hclk = SYSCLK divided by 256 + /// hclk = SYSCLK divided by 256 Div256 = 0xe, - /// hclk = SYSCLK divided by 256 + /// hclk = SYSCLK divided by 256 Div512 = 0xf, _, }; @@ -411959,86 +403817,86 @@ pub const types = struct { }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u3) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x1, - /// Division by 4 + /// Division by 4 Div4 = 0x2, - /// Division by 8 + /// Division by 8 Div8 = 0x3, - /// Division by 16 + /// Division by 16 Div16 = 0x4, _, }; pub const MCOSEL = enum(u4) { - /// No clock + /// No clock DISABLE = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// MSI oscillator clock selected + /// MSI oscillator clock selected MSI = 0x2, - /// HSI oscillator clock selected + /// HSI oscillator clock selected HSI = 0x3, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x4, - /// Main PLLRCLK clock selected + /// Main PLLRCLK clock selected PLL1_R = 0x5, - /// LSI oscillator clock selected + /// LSI oscillator clock selected LSI = 0x6, - /// LSE oscillator clock selected + /// LSE oscillator clock selected LSE = 0x8, - /// Main PLLCLK oscillator clock selected + /// Main PLLCLK oscillator clock selected PLL1_P = 0xd, - /// Main PLLQCLK oscillator clock selected + /// Main PLLQCLK oscillator clock selected PLL1_Q = 0xe, _, }; pub const MSIRANGE = enum(u4) { - /// range 0 around 100 kHz + /// range 0 around 100 kHz Range100K = 0x0, - /// range 1 around 200 kHz + /// range 1 around 200 kHz Range200K = 0x1, - /// range 2 around 400 kHz + /// range 2 around 400 kHz Range400K = 0x2, - /// range 3 around 800 kHz + /// range 3 around 800 kHz Range800K = 0x3, - /// range 4 around 1 MHz + /// range 4 around 1 MHz Range1M = 0x4, - /// range 5 around 2 MHz + /// range 5 around 2 MHz Range2M = 0x5, - /// range 6 around 4 MHz + /// range 6 around 4 MHz Range4M = 0x6, - /// range 7 around 8 MHz + /// range 7 around 8 MHz Range8M = 0x7, - /// range 8 around 16 MHz + /// range 8 around 16 MHz Range16M = 0x8, - /// range 9 around 24 MHz + /// range 9 around 24 MHz Range24M = 0x9, - /// range 10 around 32 MHz + /// range 10 around 32 MHz Range32M = 0xa, - /// range 11 around 48 MHz + /// range 11 around 48 MHz Range48M = 0xb, _, }; pub const MSIRGSEL = enum(u1) { - /// MSI Range is provided by MSISRANGE[3:0] in RCC_CSR register + /// MSI Range is provided by MSISRANGE[3:0] in RCC_CSR register CSR = 0x0, - /// MSI Range is provided by MSIRANGE[3:0] in the RCC_CR register + /// MSI Range is provided by MSIRANGE[3:0] in the RCC_CR register CR = 0x1, }; @@ -412234,26 +404092,26 @@ pub const types = struct { }; pub const PLLSRC = enum(u2) { - /// No clock selected as PLL entry clock source + /// No clock selected as PLL entry clock source DISABLE = 0x0, - /// MSI selected as PLL entry clock source + /// MSI selected as PLL entry clock source MSI = 0x1, - /// HSI selected as PLL entry clock source + /// HSI selected as PLL entry clock source HSI = 0x2, - /// HSE selected as PLL entry clock source + /// HSE selected as PLL entry clock source HSE = 0x3, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; @@ -412266,13 +404124,13 @@ pub const types = struct { }; pub const RTCSEL = enum(u2) { - /// No clock selected + /// No clock selected DISABLE = 0x0, - /// LSE oscillator clock selected + /// LSE oscillator clock selected LSE = 0x1, - /// LSI oscillator clock selected + /// LSI oscillator clock selected LSI = 0x2, - /// HSE oscillator clock divided by 32 selected + /// HSE oscillator clock divided by 32 selected HSE = 0x3, }; @@ -412283,901 +404141,835 @@ pub const types = struct { PLL1_R = 0x3, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// MSI clock enable + /// MSI clock enable MSION: u1, - /// MSI clock ready flag (After reset this bit will be read 1 once the MSI is ready) + /// MSI clock ready flag (After reset this bit will be read 1 once the MSI is ready) MSIRDY: u1, - /// MSI clock PLL enable + /// MSI clock PLL enable MSIPLLEN: u1, - /// MSI range control selection - MSIRGSEL: packed union { - raw: u1, - value: MSIRGSEL, - }, - /// MSI clock ranges - MSIRANGE: packed union { - raw: u4, - value: MSIRANGE, - }, - /// HSI clock enable + /// MSI range control selection + MSIRGSEL: MSIRGSEL, + /// MSI clock ranges + MSIRANGE: MSIRANGE, + /// HSI clock enable HSION: u1, - /// HSI always enable for peripheral kernel clocks. + /// HSI always enable for peripheral kernel clocks. HSIKERON: u1, - /// HSI clock ready flag. (After wakeup from Stop this bit will be read 1 once the HSI is ready) + /// HSI clock ready flag. (After wakeup from Stop this bit will be read 1 once the HSI is ready) HSIRDY: u1, - /// HSI automatic start from Stop + /// HSI automatic start from Stop HSIASFS: u1, - /// HSI kernel clock ready flag for peripherals requests. + /// HSI kernel clock ready flag for peripherals requests. HSIKERDY: u1, reserved16: u3, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, reserved19: u1, - /// HSE Clock security system enable + /// HSE Clock security system enable CSSON: u1, - /// HSE sysclk prescaler - HSEPRE: packed union { - raw: u1, - value: HSEPRE, - }, - /// Enable HSE VDDTCXO output on package pin PB0-VDDTCXO. + /// HSE sysclk prescaler + HSEPRE: HSEPRE, + /// Enable HSE VDDTCXO output on package pin PB0-VDDTCXO. HSEBYPPWR: u1, reserved24: u2, - /// Main PLL enable + /// Main PLL enable PLLON: u1, - /// Main PLL clock ready flag + /// Main PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Internal clock sources calibration register + /// Internal clock sources calibration register ICSCR: mmio.Mmio(packed struct(u32) { - /// MSI clock calibration + /// MSI clock calibration MSICAL: u8, - /// MSI clock trimming + /// MSI clock trimming MSITRIM: u8, - /// HSI clock calibration + /// HSI clock calibration HSICAL: u8, - /// HSI clock trimming + /// HSI clock trimming HSITRIM: u7, padding: u1, }), - /// Clock configuration register + /// Clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u2, - value: SW, - }, - /// HCLK1 prescaler (CPU1, AHB1, AHB2, and SRAM1.) - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// PCLK1 low-speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// PCLK2 high-speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// HCLK1 prescaler (CPU1, AHB1, AHB2, and SRAM1.) + HPRE: HPRE, + /// PCLK1 low-speed prescaler (APB1) + PPRE1: PPRE, + /// PCLK2 high-speed prescaler (APB2) + PPRE2: PPRE, reserved15: u1, - /// Wakeup from Stop and CSS backup clock selection + /// Wakeup from Stop and CSS backup clock selection STOPWUCK: u1, - /// HCLK1 prescaler flag (CPU1, AHB1, AHB2, and SRAM1) + /// HCLK1 prescaler flag (CPU1, AHB1, AHB2, and SRAM1) HPREF: u1, - /// PCLK1 prescaler flag (APB1) + /// PCLK1 prescaler flag (APB1) PPRE1F: u1, - /// PCLK2 prescaler flag (APB2) + /// PCLK2 prescaler flag (APB2) PPRE2F: u1, reserved24: u5, - /// Microcontroller clock output - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller clock output prescaler - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, + /// Microcontroller clock output + MCOSEL: MCOSEL, + /// Microcontroller clock output prescaler + MCOPRE: MCOPRE, padding: u1, }), - /// PLL configuration register + /// PLL configuration register PLLCFGR: mmio.Mmio(packed struct(u32) { - /// Main PLL entry clock source - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, + /// Main PLL entry clock source + PLLSRC: PLLSRC, reserved4: u2, - /// Division factor for the main PLL input clock - PLLM: packed union { - raw: u3, - value: PLLM, - }, + /// Division factor for the main PLL input clock + PLLM: PLLM, reserved8: u1, - /// Main PLL multiplication factor for VCO - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// Main PLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// Main PLL PLLPCLK output enable + /// Main PLL PLLPCLK output enable PLLPEN: u1, - /// Main PLL division factor for PLLPCLK. - PLLP: packed union { - raw: u5, - value: PLLP, - }, + /// Main PLL division factor for PLLPCLK. + PLLP: PLLP, reserved24: u2, - /// Main PLL PLLQCLK output enable + /// Main PLL PLLQCLK output enable PLLQEN: u1, - /// Main PLL division factor for PLLQCLK - PLLQ: packed union { - raw: u3, - value: PLLQ, - }, - /// Main PLL PLLRCLK output enable + /// Main PLL division factor for PLLQCLK + PLLQ: PLLQ, + /// Main PLL PLLRCLK output enable PLLREN: u1, - /// Main PLL division factor for PLLRCLK - PLLR: packed union { - raw: u3, - value: PLLR, - }, + /// Main PLL division factor for PLLRCLK + PLLR: PLLR, }), reserved24: [8]u8, - /// Clock interrupt enable register + /// Clock interrupt enable register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt enable + /// LSI ready interrupt enable LSIRDYIE: u1, - /// LSE ready interrupt enable + /// LSE ready interrupt enable LSERDYIE: u1, - /// MSI ready interrupt enable + /// MSI ready interrupt enable MSIRDYIE: u1, - /// HSI ready interrupt enable + /// HSI ready interrupt enable HSIRDYIE: u1, - /// HSE ready interrupt enable + /// HSE ready interrupt enable HSERDYIE: u1, - /// PLL ready interrupt enable + /// PLL ready interrupt enable PLLRDYIE: u1, reserved9: u3, - /// LSE clock security system interrupt enable + /// LSE clock security system interrupt enable LSECSSIE: u1, padding: u22, }), - /// Clock interrupt flag register + /// Clock interrupt flag register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYF: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYF: u1, - /// MSI ready interrupt flag + /// MSI ready interrupt flag MSIRDYF: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYF: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYF: u1, - /// PLL ready interrupt flag + /// PLL ready interrupt flag PLLRDYF: u1, reserved8: u2, - /// HSE Clock security system interrupt flag + /// HSE Clock security system interrupt flag CSSF: u1, - /// LSE Clock security system interrupt flag + /// LSE Clock security system interrupt flag LSECSSF: u1, padding: u22, }), - /// Clock interrupt clear register + /// Clock interrupt clear register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt clear + /// LSI ready interrupt clear LSIRDYC: u1, - /// LSE ready interrupt clear + /// LSE ready interrupt clear LSERDYC: u1, - /// MSI ready interrupt clear + /// MSI ready interrupt clear MSIRDYC: u1, - /// HSI ready interrupt clear + /// HSI ready interrupt clear HSIRDYC: u1, - /// HSE ready interrupt clear + /// HSE ready interrupt clear HSERDYC: u1, - /// PLL ready interrupt clear + /// PLL ready interrupt clear PLLRDYC: u1, reserved8: u2, - /// HSE Clock security system interrupt clear + /// HSE Clock security system interrupt clear CSSC: u1, - /// LSE Clock security system interrupt clear + /// LSE Clock security system interrupt clear LSECSSC: u1, padding: u22, }), reserved40: [4]u8, - /// AHB1 peripheral reset register + /// AHB1 peripheral reset register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// DMA1 reset + /// DMA1 reset DMA1RST: u1, - /// DMA2 reset + /// DMA2 reset DMA2RST: u1, - /// DMAMUX1 reset + /// DMAMUX1 reset DMAMUX1RST: u1, reserved12: u9, - /// CRC reset + /// CRC reset CRCRST: u1, padding: u19, }), - /// AHB2 peripheral reset register + /// AHB2 peripheral reset register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// IO port A reset + /// IO port A reset GPIOARST: u1, - /// IO port B reset + /// IO port B reset GPIOBRST: u1, - /// IO port C reset + /// IO port C reset GPIOCRST: u1, reserved7: u4, - /// IO port H reset + /// IO port H reset GPIOHRST: u1, padding: u24, }), - /// AHB3 peripheral reset register + /// AHB3 peripheral reset register AHB3RSTR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// PKARST + /// PKARST PKARST: u1, - /// AESRST + /// AESRST AESRST: u1, - /// RNGRST + /// RNGRST RNGRST: u1, - /// HSEMRST + /// HSEMRST HSEMRST: u1, - /// IPCCRST + /// IPCCRST IPCCRST: u1, reserved25: u4, - /// Flash interface reset + /// Flash interface reset FLASHRST: u1, padding: u6, }), reserved56: [4]u8, - /// APB1 peripheral reset register 1 + /// APB1 peripheral reset register 1 APB1RSTR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer reset + /// TIM2 timer reset TIM2RST: u1, reserved14: u13, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, reserved17: u2, - /// USART2 reset + /// USART2 reset USART2RST: u1, reserved21: u3, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// I2C3 reset + /// I2C3 reset I2C3RST: u1, reserved29: u5, - /// DAC reset + /// DAC reset DACRST: u1, reserved31: u1, - /// Low Power Timer 1 reset + /// Low Power Timer 1 reset LPTIM1RST: u1, }), - /// APB1 peripheral reset register 2 + /// APB1 peripheral reset register 2 APB1RSTR2: mmio.Mmio(packed struct(u32) { - /// Low-power UART 1 reset + /// Low-power UART 1 reset LPUART1RST: u1, reserved5: u4, - /// Low-power timer 2 reset + /// Low-power timer 2 reset LPTIM2RST: u1, - /// Low-power timer 3 reset + /// Low-power timer 3 reset LPTIM3RST: u1, padding: u25, }), - /// APB2 peripheral reset register + /// APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { reserved9: u9, - /// ADC reset + /// ADC reset ADCRST: u1, reserved11: u1, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI1 reset + /// SPI1 reset SPI1RST: u1, reserved14: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, reserved17: u2, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, padding: u13, }), - /// APB3 peripheral reset register + /// APB3 peripheral reset register APB3RSTR: mmio.Mmio(packed struct(u32) { - /// Sub-GHz radio SPI reset + /// Sub-GHz radio SPI reset SUBGHZSPIRST: u1, padding: u31, }), - /// AHB1 peripheral clock enable register + /// AHB1 peripheral clock enable register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// CPU1 DMA1 clock enable + /// CPU1 DMA1 clock enable DMA1EN: u1, - /// CPU1 DMA2 clock enable + /// CPU1 DMA2 clock enable DMA2EN: u1, - /// CPU1 DMAMUX1 clock enable + /// CPU1 DMAMUX1 clock enable DMAMUX1EN: u1, reserved12: u9, - /// CPU1 CRC clock enable + /// CPU1 CRC clock enable CRCEN: u1, padding: u19, }), - /// AHB2 peripheral clock enable register + /// AHB2 peripheral clock enable register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// CPU1 IO port A clock enable + /// CPU1 IO port A clock enable GPIOAEN: u1, - /// CPU1 IO port B clock enable + /// CPU1 IO port B clock enable GPIOBEN: u1, - /// CPU1 IO port C clock enable + /// CPU1 IO port C clock enable GPIOCEN: u1, reserved7: u4, - /// CPU1 IO port H clock enable + /// CPU1 IO port H clock enable GPIOHEN: u1, padding: u24, }), - /// AHB3 peripheral clock enable register + /// AHB3 peripheral clock enable register AHB3ENR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// PKAEN + /// PKAEN PKAEN: u1, - /// AESEN + /// AESEN AESEN: u1, - /// RNGEN + /// RNGEN RNGEN: u1, - /// HSEMEN + /// HSEMEN HSEMEN: u1, - /// IPCCEN + /// IPCCEN IPCCEN: u1, reserved25: u4, - /// CPU1 Flash interface clock enable + /// CPU1 Flash interface clock enable FLASHEN: u1, padding: u6, }), reserved88: [4]u8, - /// APB1 peripheral clock enable register 1 + /// APB1 peripheral clock enable register 1 APB1ENR1: mmio.Mmio(packed struct(u32) { - /// CPU1 TIM2 timer clock enable + /// CPU1 TIM2 timer clock enable TIM2EN: u1, reserved10: u9, - /// CPU1 RTC APB clock enable + /// CPU1 RTC APB clock enable RTCAPBEN: u1, - /// CPU1 Window watchdog clock enable + /// CPU1 Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// CPU1 SPI2 clock enable + /// CPU1 SPI2 clock enable SPI2EN: u1, reserved17: u2, - /// CPU1 USART2 clock enable + /// CPU1 USART2 clock enable USART2EN: u1, reserved21: u3, - /// CPU1 I2C1 clocks enable + /// CPU1 I2C1 clocks enable I2C1EN: u1, - /// CPU1 I2C2 clocks enable + /// CPU1 I2C2 clocks enable I2C2EN: u1, - /// CPU1 I2C3 clocks enable + /// CPU1 I2C3 clocks enable I2C3EN: u1, reserved29: u5, - /// CPU1 DAC clock enable + /// CPU1 DAC clock enable DACEN: u1, reserved31: u1, - /// CPU1 Low power timer 1 clocks enable + /// CPU1 Low power timer 1 clocks enable LPTIM1EN: u1, }), - /// APB1 peripheral clock enable register 2 + /// APB1 peripheral clock enable register 2 APB1ENR2: mmio.Mmio(packed struct(u32) { - /// CPU1 Low power UART 1 clocks enable + /// CPU1 Low power UART 1 clocks enable LPUART1EN: u1, reserved5: u4, - /// CPU1 Low power timer 2 clocks enable + /// CPU1 Low power timer 2 clocks enable LPTIM2EN: u1, - /// CPU1 Low power timer 3 clocks enable + /// CPU1 Low power timer 3 clocks enable LPTIM3EN: u1, padding: u25, }), - /// APB2 peripheral clock enable register + /// APB2 peripheral clock enable register APB2ENR: mmio.Mmio(packed struct(u32) { reserved9: u9, - /// CPU1 ADC clocks enable + /// CPU1 ADC clocks enable ADCEN: u1, reserved11: u1, - /// CPU1 TIM1 timer clock enable + /// CPU1 TIM1 timer clock enable TIM1EN: u1, - /// CPU1 SPI1 clock enable + /// CPU1 SPI1 clock enable SPI1EN: u1, reserved14: u1, - /// CPU1 USART1clocks enable + /// CPU1 USART1clocks enable USART1EN: u1, reserved17: u2, - /// CPU1 TIM16 timer clock enable + /// CPU1 TIM16 timer clock enable TIM16EN: u1, - /// CPU1 TIM17 timer clock enable + /// CPU1 TIM17 timer clock enable TIM17EN: u1, padding: u13, }), - /// APB3 peripheral clock enable register + /// APB3 peripheral clock enable register APB3ENR: mmio.Mmio(packed struct(u32) { - /// sub-GHz radio SPI clock enable + /// sub-GHz radio SPI clock enable SUBGHZSPIEN: u1, padding: u31, }), - /// AHB1 peripheral clocks enable in Sleep modes register + /// AHB1 peripheral clocks enable in Sleep modes register AHB1SMENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable during CPU1 CSleep mode. + /// DMA1 clock enable during CPU1 CSleep mode. DMA1SMEN: u1, - /// DMA2 clock enable during CPU1 CSleep mode + /// DMA2 clock enable during CPU1 CSleep mode DMA2SMEN: u1, - /// DMAMUX1 clock enable during CPU1 CSleep mode. + /// DMAMUX1 clock enable during CPU1 CSleep mode. DMAMUX1SMEN: u1, reserved12: u9, - /// CRC clock enable during CPU1 CSleep mode. + /// CRC clock enable during CPU1 CSleep mode. CRCSMEN: u1, padding: u19, }), - /// AHB2 peripheral clocks enable in Sleep modes register + /// AHB2 peripheral clocks enable in Sleep modes register AHB2SMENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable during CPU1 CSleep mode. + /// IO port A clock enable during CPU1 CSleep mode. GPIOASMEN: u1, - /// IO port B clock enable during CPU1 CSleep mode. + /// IO port B clock enable during CPU1 CSleep mode. GPIOBSMEN: u1, - /// IO port C clock enable during CPU1 CSleep mode. + /// IO port C clock enable during CPU1 CSleep mode. GPIOCSMEN: u1, reserved7: u4, - /// IO port H clock enable during CPU1 CSleep mode. + /// IO port H clock enable during CPU1 CSleep mode. GPIOHSMEN: u1, padding: u24, }), - /// AHB3 peripheral clocks enable in Sleep and Stop modes register + /// AHB3 peripheral clocks enable in Sleep and Stop modes register AHB3SMENR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// PKA accelerator clock enable during CPU1 CSleep mode. + /// PKA accelerator clock enable during CPU1 CSleep mode. PKASMEN: u1, - /// AES accelerator clock enable during CPU1 CSleep mode. + /// AES accelerator clock enable during CPU1 CSleep mode. AESSMEN: u1, - /// True RNG clocks enable during CPU1 Csleep and CStop modes + /// True RNG clocks enable during CPU1 Csleep and CStop modes RNGSMEN: u1, reserved23: u4, - /// SRAM1 interface clock enable during CPU1 CSleep mode. + /// SRAM1 interface clock enable during CPU1 CSleep mode. SRAM1SMEN: u1, - /// SRAM2 memory interface clock enable during CPU1 CSleep mode + /// SRAM2 memory interface clock enable during CPU1 CSleep mode SRAM2SMEN: u1, - /// Flash interface clock enable during CPU1 CSleep mode. + /// Flash interface clock enable during CPU1 CSleep mode. FLASHSMEN: u1, padding: u6, }), reserved120: [4]u8, - /// APB1 peripheral clocks enable in Sleep mode register 1 + /// APB1 peripheral clocks enable in Sleep mode register 1 APB1SMENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clock enable during CPU1 CSleep mode. + /// TIM2 timer clock enable during CPU1 CSleep mode. TIM2SMEN: u1, reserved10: u9, - /// RTC bus clock enable during CPU1 CSleep mode. + /// RTC bus clock enable during CPU1 CSleep mode. RTCAPBSMEN: u1, - /// Window watchdog clocks enable during CPU1 CSleep mode. + /// Window watchdog clocks enable during CPU1 CSleep mode. WWDGSMEN: u1, reserved14: u2, - /// SPI2 clock enable during CPU1 CSleep mode. + /// SPI2 clock enable during CPU1 CSleep mode. SPI2SMEN: u1, reserved17: u2, - /// USART2 clock enable during CPU1 CSleep mode. + /// USART2 clock enable during CPU1 CSleep mode. USART2SMEN: u1, reserved21: u3, - /// I2C1 clock enable during CPU1 Csleep and CStop modes + /// I2C1 clock enable during CPU1 Csleep and CStop modes I2C1SMEN: u1, - /// I2C2 clock enable during CPU1 Csleep and CStop modes + /// I2C2 clock enable during CPU1 Csleep and CStop modes I2C2SMEN: u1, - /// I2C3 clock enable during CPU1 Csleep and CStop modes + /// I2C3 clock enable during CPU1 Csleep and CStop modes I2C3SMEN: u1, reserved29: u5, - /// DAC clock enable during CPU1 CSleep mode. + /// DAC clock enable during CPU1 CSleep mode. DACSMEN: u1, reserved31: u1, - /// Low power timer 1 clock enable during CPU1 Csleep and CStop mode + /// Low power timer 1 clock enable during CPU1 Csleep and CStop mode LPTIM1SMEN: u1, }), - /// APB1 peripheral clocks enable in Sleep mode register 2 + /// APB1 peripheral clocks enable in Sleep mode register 2 APB1SMENR2: mmio.Mmio(packed struct(u32) { - /// Low power UART 1 clock enable during CPU1 Csleep and CStop modes. + /// Low power UART 1 clock enable during CPU1 Csleep and CStop modes. LPUART1SMEN: u1, reserved5: u4, - /// Low power timer 2 clock enable during CPU1 Csleep and CStop modes + /// Low power timer 2 clock enable during CPU1 Csleep and CStop modes LPTIM2SMEN: u1, - /// Low power timer 3 clock enable during CPU1 Csleep and CStop modes + /// Low power timer 3 clock enable during CPU1 Csleep and CStop modes LPTIM3SMEN: u1, padding: u25, }), - /// APB2 peripheral clocks enable in Sleep mode register + /// APB2 peripheral clocks enable in Sleep mode register APB2SMENR: mmio.Mmio(packed struct(u32) { reserved9: u9, - /// ADC clocks enable during CPU1 Csleep and CStop modes + /// ADC clocks enable during CPU1 Csleep and CStop modes ADCSMEN: u1, reserved11: u1, - /// TIM1 timer clock enable during CPU1 CSleep mode. + /// TIM1 timer clock enable during CPU1 CSleep mode. TIM1SMEN: u1, - /// SPI1 clock enable during CPU1 CSleep mode. + /// SPI1 clock enable during CPU1 CSleep mode. SPI1SMEN: u1, reserved14: u1, - /// USART1 clock enable during CPU1 Csleep and CStop modes. + /// USART1 clock enable during CPU1 Csleep and CStop modes. USART1SMEN: u1, reserved17: u2, - /// TIM16 timer clock enable during CPU1 CSleep mode. + /// TIM16 timer clock enable during CPU1 CSleep mode. TIM16SMEN: u1, - /// TIM17 timer clock enable during CPU1 CSleep mode. + /// TIM17 timer clock enable during CPU1 CSleep mode. TIM17SMEN: u1, padding: u13, }), - /// APB3 peripheral clock enable in Sleep mode register + /// APB3 peripheral clock enable in Sleep mode register APB3SMENR: mmio.Mmio(packed struct(u32) { - /// Sub-GHz radio SPI clock enable during Sleep and Stop modes + /// Sub-GHz radio SPI clock enable during Sleep and Stop modes SUBGHZSPISMEN: u1, padding: u31, }), - /// Peripherals independent clock configuration register + /// Peripherals independent clock configuration register CCIPR: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection + /// USART1 clock source selection USART1SEL: u2, - /// USART2 clock source selection + /// USART2 clock source selection USART2SEL: u2, reserved8: u4, - /// SPI2 I2S clock source selection + /// SPI2 I2S clock source selection SPI2SEL: u2, - /// LPUART1 clock source selection + /// LPUART1 clock source selection LPUART1SEL: u2, - /// I2C1 clock source selection + /// I2C1 clock source selection I2C1SEL: u2, - /// I2C2 clock source selection + /// I2C2 clock source selection I2C2SEL: u2, - /// I2C3 clock source selection + /// I2C3 clock source selection I2C3SEL: u2, - /// Low power timer 1 clock source selection + /// Low power timer 1 clock source selection LPTIM1SEL: u2, - /// Low power timer 2 clock source selection + /// Low power timer 2 clock source selection LPTIM2SEL: u2, - /// Low power timer 3 clock source selection + /// Low power timer 3 clock source selection LPTIM3SEL: u2, reserved28: u4, - /// ADC clock source selection - ADCSEL: packed union { - raw: u2, - value: ADCSEL, - }, - /// RNG clock source selection - RNGSEL: packed union { - raw: u2, - value: RNGSEL, - }, + /// ADC clock source selection + ADCSEL: ADCSEL, + /// RNG clock source selection + RNGSEL: RNGSEL, }), reserved144: [4]u8, - /// Backup domain control register + /// Backup domain control register BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enable + /// LSE oscillator enable LSEON: u1, - /// LSE oscillator ready + /// LSE oscillator ready LSERDY: u1, - /// LSE oscillator bypass + /// LSE oscillator bypass LSEBYP: u1, - /// LSE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// CSS on LSE enable + /// LSE oscillator drive capability + LSEDRV: LSEDRV, + /// CSS on LSE enable LSECSSON: u1, - /// CSS on LSE failure Detection + /// CSS on LSE failure Detection LSECSSD: u1, - /// LSE system clock enable + /// LSE system clock enable LSESYSEN: u1, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved11: u1, - /// LSE system clock ready + /// LSE system clock ready LSESYSRDY: u1, reserved15: u3, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, reserved24: u7, - /// Low speed clock output enable + /// Low speed clock output enable LSCOEN: u1, - /// Low speed clock output selection + /// Low speed clock output selection LSCOSEL: u1, padding: u6, }), - /// Control/status register + /// Control/status register CSR: mmio.Mmio(packed struct(u32) { - /// LSI oscillator enable + /// LSI oscillator enable LSION: u1, - /// LSI oscillator ready + /// LSI oscillator ready LSIRDY: u1, reserved4: u2, - /// LSI frequency prescaler + /// LSI frequency prescaler LSIPRE: u1, reserved8: u3, - /// MSI clock ranges + /// MSI clock ranges MSISRANGE: u4, reserved14: u2, - /// Radio in reset status flag + /// Radio in reset status flag RFRSTF: u1, - /// Radio reset + /// Radio reset RFRST: u1, reserved23: u7, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// Radio illegal access flag + /// Radio illegal access flag RFILARSTF: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// Pin reset flag + /// Pin reset flag PINRSTF: u1, - /// BOR flag + /// BOR flag BORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent window watchdog reset flag + /// Independent window watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), reserved264: [112]u8, - /// Extended clock recovery register + /// Extended clock recovery register EXTCFGR: mmio.Mmio(packed struct(u32) { - /// HCLK3 shared prescaler (AHB3, Flash, and SRAM2) - SHDHPRE: packed union { - raw: u4, - value: HPRE, - }, - /// [dual core device only] HCLK2 prescaler (CPU2) - C2HPRE: packed union { - raw: u4, - value: HPRE, - }, + /// HCLK3 shared prescaler (AHB3, Flash, and SRAM2) + SHDHPRE: HPRE, + /// [dual core device only] HCLK2 prescaler (CPU2) + C2HPRE: HPRE, reserved16: u8, - /// HCLK3 shared prescaler flag (AHB3, Flash, and SRAM2) + /// HCLK3 shared prescaler flag (AHB3, Flash, and SRAM2) SHDHPREF: u1, - /// CLK2 prescaler flag (CPU2) + /// CLK2 prescaler flag (CPU2) C2HPREF: u1, padding: u14, }), reserved328: [60]u8, - /// CPU2 AHB1 peripheral clock enable register + /// CPU2 AHB1 peripheral clock enable register C2AHB1ENR: mmio.Mmio(packed struct(u32) { - /// CPU2 DMA1 clock enable + /// CPU2 DMA1 clock enable DMA1EN: u1, - /// CPU2 DMA2 clock enable + /// CPU2 DMA2 clock enable DMA2EN: u1, - /// CPU2 DMAMUX1 clock enable + /// CPU2 DMAMUX1 clock enable DMAMUX1EN: u1, reserved12: u9, - /// CPU2 CRC clock enable + /// CPU2 CRC clock enable CRCEN: u1, padding: u19, }), - /// CPU2 AHB2 peripheral clock enable register + /// CPU2 AHB2 peripheral clock enable register C2AHB2ENR: mmio.Mmio(packed struct(u32) { - /// CPU2 IO port A clock enable + /// CPU2 IO port A clock enable GPIOAEN: u1, - /// CPU2 IO port B clock enable + /// CPU2 IO port B clock enable GPIOBEN: u1, - /// CPU2 IO port C clock enable + /// CPU2 IO port C clock enable GPIOCEN: u1, reserved7: u4, - /// CPU2 IO port H clock enable + /// CPU2 IO port H clock enable GPIOHEN: u1, padding: u24, }), - /// CPU2 AHB3 peripheral clock enable register [dual core device only] + /// CPU2 AHB3 peripheral clock enable register [dual core device only] C2AHB3ENR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// CPU2 PKA accelerator clock enable + /// CPU2 PKA accelerator clock enable PKAEN: u1, - /// CPU2 AES accelerator clock enable + /// CPU2 AES accelerator clock enable AESEN: u1, - /// CPU2 True RNG clocks enable + /// CPU2 True RNG clocks enable RNGEN: u1, - /// CPU2 HSEM clock enable + /// CPU2 HSEM clock enable HSEMEN: u1, - /// CPU2 IPCC interface clock enable + /// CPU2 IPCC interface clock enable IPCCEN: u1, reserved25: u4, - /// CPU2 Flash interface clock enable + /// CPU2 Flash interface clock enable FLASHEN: u1, padding: u6, }), reserved344: [4]u8, - /// CPU2 APB1 peripheral clock enable register 1 [dual core device only] + /// CPU2 APB1 peripheral clock enable register 1 [dual core device only] C2APB1ENR1: mmio.Mmio(packed struct(u32) { - /// CPU2 TIM2 timer clock enable + /// CPU2 TIM2 timer clock enable TIM2EN: u1, reserved10: u9, - /// CPU2 RTC APB clock enable + /// CPU2 RTC APB clock enable RTCAPBEN: u1, reserved14: u3, - /// CPU2 SPI2 clock enable + /// CPU2 SPI2 clock enable SPI2EN: u1, reserved17: u2, - /// CPU2 USART2 clock enable + /// CPU2 USART2 clock enable USART2EN: u1, reserved21: u3, - /// CPU2 I2C1 clocks enable + /// CPU2 I2C1 clocks enable I2C1EN: u1, - /// CPU2 I2C2 clocks enable + /// CPU2 I2C2 clocks enable I2C2EN: u1, - /// CPU2 I2C3 clocks enable + /// CPU2 I2C3 clocks enable I2C3EN: u1, reserved29: u5, - /// CPU2 DAC clock enable + /// CPU2 DAC clock enable DACEN: u1, reserved31: u1, - /// CPU2 Low power timer 1 clocks enable + /// CPU2 Low power timer 1 clocks enable LPTIM1EN: u1, }), - /// CPU2 APB1 peripheral clock enable register 2 [dual core device only] + /// CPU2 APB1 peripheral clock enable register 2 [dual core device only] C2APB1ENR2: mmio.Mmio(packed struct(u32) { - /// CPU2 Low power UART 1 clocks enable + /// CPU2 Low power UART 1 clocks enable LPUART1EN: u1, reserved5: u4, - /// CPU2 Low power timer 2 clocks enable + /// CPU2 Low power timer 2 clocks enable LPTIM2EN: u1, - /// CPU2 Low power timer 3 clocks enable + /// CPU2 Low power timer 3 clocks enable LPTIM3EN: u1, padding: u25, }), - /// CPU2 APB2 peripheral clock enable register [dual core device only] + /// CPU2 APB2 peripheral clock enable register [dual core device only] C2APB2ENR: mmio.Mmio(packed struct(u32) { reserved9: u9, - /// ADC clocks enable + /// ADC clocks enable ADCEN: u1, reserved11: u1, - /// CPU2 TIM1 timer clock enable + /// CPU2 TIM1 timer clock enable TIM1EN: u1, - /// CPU2 SPI1 clock enable + /// CPU2 SPI1 clock enable SPI1EN: u1, reserved14: u1, - /// CPU2 USART1clocks enable + /// CPU2 USART1clocks enable USART1EN: u1, reserved17: u2, - /// CPU2 TIM16 timer clock enable + /// CPU2 TIM16 timer clock enable TIM16EN: u1, - /// CPU2 TIM17 timer clock enable + /// CPU2 TIM17 timer clock enable TIM17EN: u1, padding: u13, }), - /// CPU2 APB3 peripheral clock enable register [dual core device only] + /// CPU2 APB3 peripheral clock enable register [dual core device only] C2APB3ENR: mmio.Mmio(packed struct(u32) { - /// CPU2 sub-GHz radio SPI clock enable + /// CPU2 sub-GHz radio SPI clock enable SUBGHZSPIEN: u1, padding: u31, }), - /// CPU2 AHB1 peripheral clocks enable in Sleep modes register [dual core device only] + /// CPU2 AHB1 peripheral clocks enable in Sleep modes register [dual core device only] C2AHB1SMENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable during CPU2 CSleep mode. + /// DMA1 clock enable during CPU2 CSleep mode. DMA1SMEN: u1, - /// DMA2 clock enable during CPU2 CSleep mode. + /// DMA2 clock enable during CPU2 CSleep mode. DMA2SMEN: u1, - /// DMAMUX1 clock enable during CPU2 CSleep mode. + /// DMAMUX1 clock enable during CPU2 CSleep mode. DMAMUX1SMEN: u1, reserved12: u9, - /// CRC clock enable during CPU2 CSleep mode. + /// CRC clock enable during CPU2 CSleep mode. CRCSMEN: u1, padding: u19, }), - /// CPU2 AHB2 peripheral clocks enable in Sleep modes register [dual core device only] + /// CPU2 AHB2 peripheral clocks enable in Sleep modes register [dual core device only] C2AHB2SMENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable during CPU2 CSleep mode. + /// IO port A clock enable during CPU2 CSleep mode. GPIOASMEN: u1, - /// IO port B clock enable during CPU2 CSleep mode. + /// IO port B clock enable during CPU2 CSleep mode. GPIOBSMEN: u1, - /// IO port C clock enable during CPU2 CSleep mode. + /// IO port C clock enable during CPU2 CSleep mode. GPIOCSMEN: u1, reserved7: u4, - /// IO port H clock enable during CPU2 CSleep mode. + /// IO port H clock enable during CPU2 CSleep mode. GPIOHSMEN: u1, padding: u24, }), - /// CPU2 AHB3 peripheral clocks enable in Sleep mode register [dual core device only] + /// CPU2 AHB3 peripheral clocks enable in Sleep mode register [dual core device only] C2AHB3SMENR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// PKA accelerator clock enable during CPU2 CSleep mode. + /// PKA accelerator clock enable during CPU2 CSleep mode. PKASMEN: u1, - /// AES accelerator clock enable during CPU2 CSleep mode. + /// AES accelerator clock enable during CPU2 CSleep mode. AESSMEN: u1, - /// True RNG clock enable during CPU2 CSleep and CStop mode. + /// True RNG clock enable during CPU2 CSleep and CStop mode. RNGSMEN: u1, reserved23: u4, - /// SRAM1 interface clock enable during CPU2 CSleep mode. + /// SRAM1 interface clock enable during CPU2 CSleep mode. SRAM1SMEN: u1, - /// SRAM2 memory interface clock enable during CPU2 CSleep mode. + /// SRAM2 memory interface clock enable during CPU2 CSleep mode. SRAM2SMEN: u1, - /// Flash interface clock enable during CPU2 CSleep mode. + /// Flash interface clock enable during CPU2 CSleep mode. FLASHSMEN: u1, padding: u6, }), reserved376: [4]u8, - /// CPU2 APB1 peripheral clocks enable in Sleep mode register 1 [dual core device only] + /// CPU2 APB1 peripheral clocks enable in Sleep mode register 1 [dual core device only] C2APB1SMENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clock enable during CPU2 CSleep mode. + /// TIM2 timer clock enable during CPU2 CSleep mode. TIM2SMEN: u1, reserved10: u9, - /// RTC bus clock enable during CPU2 CSleep mode. + /// RTC bus clock enable during CPU2 CSleep mode. RTCAPBSMEN: u1, reserved14: u3, - /// SPI2 clock enable during CPU2 CSleep mode. + /// SPI2 clock enable during CPU2 CSleep mode. SPI2SMEN: u1, reserved17: u2, - /// USART2 clock enable during CPU2 CSleep mode. + /// USART2 clock enable during CPU2 CSleep mode. USART2SMEN: u1, reserved21: u3, - /// I2C1 clock enable during CPU2 CSleep and CStop modes + /// I2C1 clock enable during CPU2 CSleep and CStop modes I2C1SMEN: u1, - /// I2C2 clock enable during CPU2 CSleep and CStop modes + /// I2C2 clock enable during CPU2 CSleep and CStop modes I2C2SMEN: u1, - /// I2C3 clock enable during CPU2 CSleep and CStop modes + /// I2C3 clock enable during CPU2 CSleep and CStop modes I2C3SMEN: u1, reserved29: u5, - /// DAC clock enable during CPU2 CSleep mode. + /// DAC clock enable during CPU2 CSleep mode. DACSMEN: u1, reserved31: u1, - /// Low power timer 1 clock enable during CPU2 CSleep and CStop mode + /// Low power timer 1 clock enable during CPU2 CSleep and CStop mode LPTIM1SMEN: u1, }), - /// CPU2 APB1 peripheral clocks enable in Sleep mode register 2 [dual core device only] + /// CPU2 APB1 peripheral clocks enable in Sleep mode register 2 [dual core device only] C2APB1SMENR2: mmio.Mmio(packed struct(u32) { - /// Low power UART 1 clock enable during CPU2 CSleep and CStop mode + /// Low power UART 1 clock enable during CPU2 CSleep and CStop mode LPUART1SMEN: u1, reserved5: u4, - /// Low power timer 2 clocks enable during CPU2 CSleep and CStop modes. + /// Low power timer 2 clocks enable during CPU2 CSleep and CStop modes. LPTIM2SMEN: u1, - /// Low power timer 3 clocks enable during CPU2 CSleep and CStop modes. + /// Low power timer 3 clocks enable during CPU2 CSleep and CStop modes. LPTIM3SMEN: u1, padding: u25, }), - /// CPU2 APB2 peripheral clocks enable in Sleep mode register [dual core device only] + /// CPU2 APB2 peripheral clocks enable in Sleep mode register [dual core device only] C2APB2SMENR: mmio.Mmio(packed struct(u32) { reserved9: u9, - /// ADC clocks enable during CPU2 Csleep and CStop modes + /// ADC clocks enable during CPU2 Csleep and CStop modes ADCSMEN: u1, reserved11: u1, - /// TIM1 timer clock enable during CPU2 CSleep mode + /// TIM1 timer clock enable during CPU2 CSleep mode TIM1SMEN: u1, - /// SPI1 clock enable during CPU2 CSleep mode + /// SPI1 clock enable during CPU2 CSleep mode SPI1SMEN: u1, reserved14: u1, - /// USART1clock enable during CPU2 CSleep and CStop mode + /// USART1clock enable during CPU2 CSleep and CStop mode USART1SMEN: u1, reserved17: u2, - /// TIM16 timer clock enable during CPU2 CSleep mode + /// TIM16 timer clock enable during CPU2 CSleep mode TIM16SMEN: u1, - /// TIM17 timer clock enable during CPU2 CSleep mode + /// TIM17 timer clock enable during CPU2 CSleep mode TIM17SMEN: u1, padding: u13, }), - /// CPU2 APB3 peripheral clock enable in Sleep mode register [dual core device only] + /// CPU2 APB3 peripheral clock enable in Sleep mode register [dual core device only] C2APB3SMENR: mmio.Mmio(packed struct(u32) { - /// sub-GHz radio SPI clock enable during CPU2 CSleep and CStop modes + /// sub-GHz radio SPI clock enable during CPU2 CSleep and CStop modes SUBGHZSPISMEN: u1, padding: u31, }), @@ -413186,43 +404978,43 @@ pub const types = struct { pub const rcc_wle = struct { pub const ADCSEL = enum(u2) { - /// HSI used as ADC clock source + /// HSI used as ADC clock source HSI = 0x1, - /// PLLPCLK used as ADC clock source + /// PLLPCLK used as ADC clock source PLL1_P = 0x2, - /// SYSCLK used as ADC clock source + /// SYSCLK used as ADC clock source SYS = 0x3, _, }; pub const HPRE = enum(u4) { - /// DCLK not divided + /// DCLK not divided Div1 = 0x0, - /// hclk = SYSCLK divided by 3 + /// hclk = SYSCLK divided by 3 Div3 = 0x1, - /// hclk = SYSCLK divided by 5 + /// hclk = SYSCLK divided by 5 Div5 = 0x2, - /// hclk = SYSCLK divided by 6 + /// hclk = SYSCLK divided by 6 Div6 = 0x5, - /// hclk = SYSCLK divided by 8 + /// hclk = SYSCLK divided by 8 Div10 = 0x6, - /// hclk = SYSCLK divided by 32 + /// hclk = SYSCLK divided by 32 Div32 = 0x7, - /// hclk = SYSCLK divided by 2 + /// hclk = SYSCLK divided by 2 Div2 = 0x8, - /// hclk = SYSCLK divided by 4 + /// hclk = SYSCLK divided by 4 Div4 = 0x9, - /// hclk = SYSCLK divided by 8 + /// hclk = SYSCLK divided by 8 Div8 = 0xa, - /// hclk = SYSCLK divided by 16 + /// hclk = SYSCLK divided by 16 Div16 = 0xb, - /// hclk = SYSCLK divided by 64 + /// hclk = SYSCLK divided by 64 Div64 = 0xc, - /// hclk = SYSCLK divided by 128 + /// hclk = SYSCLK divided by 128 Div128 = 0xd, - /// hclk = SYSCLK divided by 256 + /// hclk = SYSCLK divided by 256 Div256 = 0xe, - /// hclk = SYSCLK divided by 256 + /// hclk = SYSCLK divided by 256 Div512 = 0xf, _, }; @@ -413233,86 +405025,86 @@ pub const types = struct { }; pub const LSEDRV = enum(u2) { - /// Low driving capability + /// Low driving capability Low = 0x0, - /// Medium low driving capability + /// Medium low driving capability MediumLow = 0x1, - /// Medium high driving capability + /// Medium high driving capability MediumHigh = 0x2, - /// High driving capability + /// High driving capability High = 0x3, }; pub const MCOPRE = enum(u3) { - /// No division + /// No division Div1 = 0x0, - /// Division by 2 + /// Division by 2 Div2 = 0x1, - /// Division by 4 + /// Division by 4 Div4 = 0x2, - /// Division by 8 + /// Division by 8 Div8 = 0x3, - /// Division by 16 + /// Division by 16 Div16 = 0x4, _, }; pub const MCOSEL = enum(u4) { - /// No clock + /// No clock DISABLE = 0x0, - /// SYSCLK clock selected + /// SYSCLK clock selected SYS = 0x1, - /// MSI oscillator clock selected + /// MSI oscillator clock selected MSI = 0x2, - /// HSI oscillator clock selected + /// HSI oscillator clock selected HSI = 0x3, - /// HSE oscillator clock selected + /// HSE oscillator clock selected HSE = 0x4, - /// Main PLLRCLK clock selected + /// Main PLLRCLK clock selected PLL1_R = 0x5, - /// LSI oscillator clock selected + /// LSI oscillator clock selected LSI = 0x6, - /// LSE oscillator clock selected + /// LSE oscillator clock selected LSE = 0x8, - /// Main PLLCLK oscillator clock selected + /// Main PLLCLK oscillator clock selected PLL1_P = 0xd, - /// Main PLLQCLK oscillator clock selected + /// Main PLLQCLK oscillator clock selected PLL1_Q = 0xe, _, }; pub const MSIRANGE = enum(u4) { - /// range 0 around 100 kHz + /// range 0 around 100 kHz Range100K = 0x0, - /// range 1 around 200 kHz + /// range 1 around 200 kHz Range200K = 0x1, - /// range 2 around 400 kHz + /// range 2 around 400 kHz Range400K = 0x2, - /// range 3 around 800 kHz + /// range 3 around 800 kHz Range800K = 0x3, - /// range 4 around 1 MHz + /// range 4 around 1 MHz Range1M = 0x4, - /// range 5 around 2 MHz + /// range 5 around 2 MHz Range2M = 0x5, - /// range 6 around 4 MHz + /// range 6 around 4 MHz Range4M = 0x6, - /// range 7 around 8 MHz + /// range 7 around 8 MHz Range8M = 0x7, - /// range 8 around 16 MHz + /// range 8 around 16 MHz Range16M = 0x8, - /// range 9 around 24 MHz + /// range 9 around 24 MHz Range24M = 0x9, - /// range 10 around 32 MHz + /// range 10 around 32 MHz Range32M = 0xa, - /// range 11 around 48 MHz + /// range 11 around 48 MHz Range48M = 0xb, _, }; pub const MSIRGSEL = enum(u1) { - /// MSI Range is provided by MSISRANGE[3:0] in RCC_CSR register + /// MSI Range is provided by MSISRANGE[3:0] in RCC_CSR register CSR = 0x0, - /// MSI Range is provided by MSIRANGE[3:0] in the RCC_CR register + /// MSI Range is provided by MSIRANGE[3:0] in the RCC_CR register CR = 0x1, }; @@ -413508,26 +405300,26 @@ pub const types = struct { }; pub const PLLSRC = enum(u2) { - /// No clock selected as PLL entry clock source + /// No clock selected as PLL entry clock source DISABLE = 0x0, - /// MSI selected as PLL entry clock source + /// MSI selected as PLL entry clock source MSI = 0x1, - /// HSI selected as PLL entry clock source + /// HSI selected as PLL entry clock source HSI = 0x2, - /// HSE selected as PLL entry clock source + /// HSE selected as PLL entry clock source HSE = 0x3, }; pub const PPRE = enum(u3) { - /// HCLK not divided + /// HCLK not divided Div1 = 0x0, - /// HCLK divided by 2 + /// HCLK divided by 2 Div2 = 0x4, - /// HCLK divided by 4 + /// HCLK divided by 4 Div4 = 0x5, - /// HCLK divided by 8 + /// HCLK divided by 8 Div8 = 0x6, - /// HCLK divided by 16 + /// HCLK divided by 16 Div16 = 0x7, _, }; @@ -413540,13 +405332,13 @@ pub const types = struct { }; pub const RTCSEL = enum(u2) { - /// No clock selected + /// No clock selected DISABLE = 0x0, - /// LSE oscillator clock selected + /// LSE oscillator clock selected LSE = 0x1, - /// LSI oscillator clock selected + /// LSI oscillator clock selected LSI = 0x2, - /// HSE oscillator clock divided by 32 selected + /// HSE oscillator clock divided by 32 selected HSE = 0x3, }; @@ -413557,671 +405349,608 @@ pub const types = struct { PLL1_R = 0x3, }; - /// Reset and clock control + /// Reset and clock control pub const RCC = extern struct { - /// Clock control register + /// Clock control register CR: mmio.Mmio(packed struct(u32) { - /// MSI clock enable + /// MSI clock enable MSION: u1, - /// MSI clock ready flag (After reset this bit will be read 1 once the MSI is ready) + /// MSI clock ready flag (After reset this bit will be read 1 once the MSI is ready) MSIRDY: u1, - /// MSI clock PLL enable + /// MSI clock PLL enable MSIPLLEN: u1, - /// MSI range control selection - MSIRGSEL: packed union { - raw: u1, - value: MSIRGSEL, - }, - /// MSI clock ranges - MSIRANGE: packed union { - raw: u4, - value: MSIRANGE, - }, - /// HSI clock enable + /// MSI range control selection + MSIRGSEL: MSIRGSEL, + /// MSI clock ranges + MSIRANGE: MSIRANGE, + /// HSI clock enable HSION: u1, - /// HSI always enable for peripheral kernel clocks. + /// HSI always enable for peripheral kernel clocks. HSIKERON: u1, - /// HSI clock ready flag. (After wakeup from Stop this bit will be read 1 once the HSI is ready) + /// HSI clock ready flag. (After wakeup from Stop this bit will be read 1 once the HSI is ready) HSIRDY: u1, - /// HSI automatic start from Stop + /// HSI automatic start from Stop HSIASFS: u1, - /// HSI kernel clock ready flag for peripherals requests. + /// HSI kernel clock ready flag for peripherals requests. HSIKERDY: u1, reserved16: u3, - /// HSE clock enable + /// HSE clock enable HSEON: u1, - /// HSE clock ready flag + /// HSE clock ready flag HSERDY: u1, reserved19: u1, - /// HSE Clock security system enable + /// HSE Clock security system enable CSSON: u1, - /// HSE sysclk prescaler - HSEPRE: packed union { - raw: u1, - value: HSEPRE, - }, - /// Enable HSE VDDTCXO output on package pin PB0-VDDTCXO. + /// HSE sysclk prescaler + HSEPRE: HSEPRE, + /// Enable HSE VDDTCXO output on package pin PB0-VDDTCXO. HSEBYPPWR: u1, reserved24: u2, - /// Main PLL enable + /// Main PLL enable PLLON: u1, - /// Main PLL clock ready flag + /// Main PLL clock ready flag PLLRDY: u1, padding: u6, }), - /// Internal clock sources calibration register + /// Internal clock sources calibration register ICSCR: mmio.Mmio(packed struct(u32) { - /// MSI clock calibration + /// MSI clock calibration MSICAL: u8, - /// MSI clock trimming + /// MSI clock trimming MSITRIM: u8, - /// HSI clock calibration + /// HSI clock calibration HSICAL: u8, - /// HSI clock trimming + /// HSI clock trimming HSITRIM: u7, padding: u1, }), - /// Clock configuration register + /// Clock configuration register CFGR: mmio.Mmio(packed struct(u32) { - /// System clock switch - SW: packed union { - raw: u2, - value: SW, - }, - /// System clock switch status - SWS: packed union { - raw: u2, - value: SW, - }, - /// HCLK1 prescaler (CPU1, AHB1, AHB2, and SRAM1.) - HPRE: packed union { - raw: u4, - value: HPRE, - }, - /// PCLK1 low-speed prescaler (APB1) - PPRE1: packed union { - raw: u3, - value: PPRE, - }, - /// PCLK2 high-speed prescaler (APB2) - PPRE2: packed union { - raw: u3, - value: PPRE, - }, + /// System clock switch + SW: SW, + /// System clock switch status + SWS: SW, + /// HCLK1 prescaler (CPU1, AHB1, AHB2, and SRAM1.) + HPRE: HPRE, + /// PCLK1 low-speed prescaler (APB1) + PPRE1: PPRE, + /// PCLK2 high-speed prescaler (APB2) + PPRE2: PPRE, reserved15: u1, - /// Wakeup from Stop and CSS backup clock selection + /// Wakeup from Stop and CSS backup clock selection STOPWUCK: u1, - /// HCLK1 prescaler flag (CPU1, AHB1, AHB2, and SRAM1) + /// HCLK1 prescaler flag (CPU1, AHB1, AHB2, and SRAM1) HPREF: u1, - /// PCLK1 prescaler flag (APB1) + /// PCLK1 prescaler flag (APB1) PPRE1F: u1, - /// PCLK2 prescaler flag (APB2) + /// PCLK2 prescaler flag (APB2) PPRE2F: u1, reserved24: u5, - /// Microcontroller clock output - MCOSEL: packed union { - raw: u4, - value: MCOSEL, - }, - /// Microcontroller clock output prescaler - MCOPRE: packed union { - raw: u3, - value: MCOPRE, - }, + /// Microcontroller clock output + MCOSEL: MCOSEL, + /// Microcontroller clock output prescaler + MCOPRE: MCOPRE, padding: u1, }), - /// PLL configuration register + /// PLL configuration register PLLCFGR: mmio.Mmio(packed struct(u32) { - /// Main PLL entry clock source - PLLSRC: packed union { - raw: u2, - value: PLLSRC, - }, + /// Main PLL entry clock source + PLLSRC: PLLSRC, reserved4: u2, - /// Division factor for the main PLL input clock - PLLM: packed union { - raw: u3, - value: PLLM, - }, + /// Division factor for the main PLL input clock + PLLM: PLLM, reserved8: u1, - /// Main PLL multiplication factor for VCO - PLLN: packed union { - raw: u7, - value: PLLN, - }, + /// Main PLL multiplication factor for VCO + PLLN: PLLN, reserved16: u1, - /// Main PLL PLLPCLK output enable + /// Main PLL PLLPCLK output enable PLLPEN: u1, - /// Main PLL division factor for PLLPCLK. - PLLP: packed union { - raw: u5, - value: PLLP, - }, + /// Main PLL division factor for PLLPCLK. + PLLP: PLLP, reserved24: u2, - /// Main PLL PLLQCLK output enable + /// Main PLL PLLQCLK output enable PLLQEN: u1, - /// Main PLL division factor for PLLQCLK - PLLQ: packed union { - raw: u3, - value: PLLQ, - }, - /// Main PLL PLLRCLK output enable + /// Main PLL division factor for PLLQCLK + PLLQ: PLLQ, + /// Main PLL PLLRCLK output enable PLLREN: u1, - /// Main PLL division factor for PLLRCLK - PLLR: packed union { - raw: u3, - value: PLLR, - }, + /// Main PLL division factor for PLLRCLK + PLLR: PLLR, }), reserved24: [8]u8, - /// Clock interrupt enable register + /// Clock interrupt enable register CIER: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt enable + /// LSI ready interrupt enable LSIRDYIE: u1, - /// LSE ready interrupt enable + /// LSE ready interrupt enable LSERDYIE: u1, - /// MSI ready interrupt enable + /// MSI ready interrupt enable MSIRDYIE: u1, - /// HSI ready interrupt enable + /// HSI ready interrupt enable HSIRDYIE: u1, - /// HSE ready interrupt enable + /// HSE ready interrupt enable HSERDYIE: u1, - /// PLL ready interrupt enable + /// PLL ready interrupt enable PLLRDYIE: u1, reserved9: u3, - /// LSE clock security system interrupt enable + /// LSE clock security system interrupt enable LSECSSIE: u1, padding: u22, }), - /// Clock interrupt flag register + /// Clock interrupt flag register CIFR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt flag + /// LSI ready interrupt flag LSIRDYF: u1, - /// LSE ready interrupt flag + /// LSE ready interrupt flag LSERDYF: u1, - /// MSI ready interrupt flag + /// MSI ready interrupt flag MSIRDYF: u1, - /// HSI ready interrupt flag + /// HSI ready interrupt flag HSIRDYF: u1, - /// HSE ready interrupt flag + /// HSE ready interrupt flag HSERDYF: u1, - /// PLL ready interrupt flag + /// PLL ready interrupt flag PLLRDYF: u1, reserved8: u2, - /// HSE Clock security system interrupt flag + /// HSE Clock security system interrupt flag CSSF: u1, - /// LSE Clock security system interrupt flag + /// LSE Clock security system interrupt flag LSECSSF: u1, padding: u22, }), - /// Clock interrupt clear register + /// Clock interrupt clear register CICR: mmio.Mmio(packed struct(u32) { - /// LSI ready interrupt clear + /// LSI ready interrupt clear LSIRDYC: u1, - /// LSE ready interrupt clear + /// LSE ready interrupt clear LSERDYC: u1, - /// MSI ready interrupt clear + /// MSI ready interrupt clear MSIRDYC: u1, - /// HSI ready interrupt clear + /// HSI ready interrupt clear HSIRDYC: u1, - /// HSE ready interrupt clear + /// HSE ready interrupt clear HSERDYC: u1, - /// PLL ready interrupt clear + /// PLL ready interrupt clear PLLRDYC: u1, reserved8: u2, - /// HSE Clock security system interrupt clear + /// HSE Clock security system interrupt clear CSSC: u1, - /// LSE Clock security system interrupt clear + /// LSE Clock security system interrupt clear LSECSSC: u1, padding: u22, }), reserved40: [4]u8, - /// AHB1 peripheral reset register + /// AHB1 peripheral reset register AHB1RSTR: mmio.Mmio(packed struct(u32) { - /// DMA1 reset + /// DMA1 reset DMA1RST: u1, - /// DMA2 reset + /// DMA2 reset DMA2RST: u1, - /// DMAMUX1 reset + /// DMAMUX1 reset DMAMUX1RST: u1, reserved12: u9, - /// CRC reset + /// CRC reset CRCRST: u1, padding: u19, }), - /// AHB2 peripheral reset register + /// AHB2 peripheral reset register AHB2RSTR: mmio.Mmio(packed struct(u32) { - /// IO port A reset + /// IO port A reset GPIOARST: u1, - /// IO port B reset + /// IO port B reset GPIOBRST: u1, - /// IO port C reset + /// IO port C reset GPIOCRST: u1, reserved7: u4, - /// IO port H reset + /// IO port H reset GPIOHRST: u1, padding: u24, }), - /// AHB3 peripheral reset register + /// AHB3 peripheral reset register AHB3RSTR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// PKARST + /// PKARST PKARST: u1, - /// AESRST + /// AESRST AESRST: u1, - /// RNGRST + /// RNGRST RNGRST: u1, - /// HSEMRST + /// HSEMRST HSEMRST: u1, reserved25: u5, - /// Flash interface reset + /// Flash interface reset FLASHRST: u1, padding: u6, }), reserved56: [4]u8, - /// APB1 peripheral reset register 1 + /// APB1 peripheral reset register 1 APB1RSTR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer reset + /// TIM2 timer reset TIM2RST: u1, reserved14: u13, - /// SPI2 reset + /// SPI2 reset SPI2RST: u1, reserved17: u2, - /// USART2 reset + /// USART2 reset USART2RST: u1, reserved21: u3, - /// I2C1 reset + /// I2C1 reset I2C1RST: u1, - /// I2C2 reset + /// I2C2 reset I2C2RST: u1, - /// I2C3 reset + /// I2C3 reset I2C3RST: u1, reserved29: u5, - /// DAC reset + /// DAC reset DACRST: u1, reserved31: u1, - /// Low Power Timer 1 reset + /// Low Power Timer 1 reset LPTIM1RST: u1, }), - /// APB1 peripheral reset register 2 + /// APB1 peripheral reset register 2 APB1RSTR2: mmio.Mmio(packed struct(u32) { - /// Low-power UART 1 reset + /// Low-power UART 1 reset LPUART1RST: u1, reserved5: u4, - /// Low-power timer 2 reset + /// Low-power timer 2 reset LPTIM2RST: u1, - /// Low-power timer 3 reset + /// Low-power timer 3 reset LPTIM3RST: u1, padding: u25, }), - /// APB2 peripheral reset register + /// APB2 peripheral reset register APB2RSTR: mmio.Mmio(packed struct(u32) { reserved9: u9, - /// ADC reset + /// ADC reset ADCRST: u1, reserved11: u1, - /// TIM1 timer reset + /// TIM1 timer reset TIM1RST: u1, - /// SPI1 reset + /// SPI1 reset SPI1RST: u1, reserved14: u1, - /// USART1 reset + /// USART1 reset USART1RST: u1, reserved17: u2, - /// TIM16 timer reset + /// TIM16 timer reset TIM16RST: u1, - /// TIM17 timer reset + /// TIM17 timer reset TIM17RST: u1, padding: u13, }), - /// APB3 peripheral reset register + /// APB3 peripheral reset register APB3RSTR: mmio.Mmio(packed struct(u32) { - /// Sub-GHz radio SPI reset + /// Sub-GHz radio SPI reset SUBGHZSPIRST: u1, padding: u31, }), - /// AHB1 peripheral clock enable register + /// AHB1 peripheral clock enable register AHB1ENR: mmio.Mmio(packed struct(u32) { - /// CPU1 DMA1 clock enable + /// CPU1 DMA1 clock enable DMA1EN: u1, - /// CPU1 DMA2 clock enable + /// CPU1 DMA2 clock enable DMA2EN: u1, - /// CPU1 DMAMUX1 clock enable + /// CPU1 DMAMUX1 clock enable DMAMUX1EN: u1, reserved12: u9, - /// CPU1 CRC clock enable + /// CPU1 CRC clock enable CRCEN: u1, padding: u19, }), - /// AHB2 peripheral clock enable register + /// AHB2 peripheral clock enable register AHB2ENR: mmio.Mmio(packed struct(u32) { - /// CPU1 IO port A clock enable + /// CPU1 IO port A clock enable GPIOAEN: u1, - /// CPU1 IO port B clock enable + /// CPU1 IO port B clock enable GPIOBEN: u1, - /// CPU1 IO port C clock enable + /// CPU1 IO port C clock enable GPIOCEN: u1, reserved7: u4, - /// CPU1 IO port H clock enable + /// CPU1 IO port H clock enable GPIOHEN: u1, padding: u24, }), - /// AHB3 peripheral clock enable register + /// AHB3 peripheral clock enable register AHB3ENR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// PKAEN + /// PKAEN PKAEN: u1, - /// AESEN + /// AESEN AESEN: u1, - /// RNGEN + /// RNGEN RNGEN: u1, - /// HSEMEN + /// HSEMEN HSEMEN: u1, reserved25: u5, - /// CPU1 Flash interface clock enable + /// CPU1 Flash interface clock enable FLASHEN: u1, padding: u6, }), reserved88: [4]u8, - /// APB1 peripheral clock enable register 1 + /// APB1 peripheral clock enable register 1 APB1ENR1: mmio.Mmio(packed struct(u32) { - /// CPU1 TIM2 timer clock enable + /// CPU1 TIM2 timer clock enable TIM2EN: u1, reserved10: u9, - /// CPU1 RTC APB clock enable + /// CPU1 RTC APB clock enable RTCAPBEN: u1, - /// CPU1 Window watchdog clock enable + /// CPU1 Window watchdog clock enable WWDGEN: u1, reserved14: u2, - /// CPU1 SPI2 clock enable + /// CPU1 SPI2 clock enable SPI2EN: u1, reserved17: u2, - /// CPU1 USART2 clock enable + /// CPU1 USART2 clock enable USART2EN: u1, reserved21: u3, - /// CPU1 I2C1 clocks enable + /// CPU1 I2C1 clocks enable I2C1EN: u1, - /// CPU1 I2C2 clocks enable + /// CPU1 I2C2 clocks enable I2C2EN: u1, - /// CPU1 I2C3 clocks enable + /// CPU1 I2C3 clocks enable I2C3EN: u1, reserved29: u5, - /// CPU1 DAC clock enable + /// CPU1 DAC clock enable DACEN: u1, reserved31: u1, - /// CPU1 Low power timer 1 clocks enable + /// CPU1 Low power timer 1 clocks enable LPTIM1EN: u1, }), - /// APB1 peripheral clock enable register 2 + /// APB1 peripheral clock enable register 2 APB1ENR2: mmio.Mmio(packed struct(u32) { - /// CPU1 Low power UART 1 clocks enable + /// CPU1 Low power UART 1 clocks enable LPUART1EN: u1, reserved5: u4, - /// CPU1 Low power timer 2 clocks enable + /// CPU1 Low power timer 2 clocks enable LPTIM2EN: u1, - /// CPU1 Low power timer 3 clocks enable + /// CPU1 Low power timer 3 clocks enable LPTIM3EN: u1, padding: u25, }), - /// APB2 peripheral clock enable register + /// APB2 peripheral clock enable register APB2ENR: mmio.Mmio(packed struct(u32) { reserved9: u9, - /// CPU1 ADC clocks enable + /// CPU1 ADC clocks enable ADCEN: u1, reserved11: u1, - /// CPU1 TIM1 timer clock enable + /// CPU1 TIM1 timer clock enable TIM1EN: u1, - /// CPU1 SPI1 clock enable + /// CPU1 SPI1 clock enable SPI1EN: u1, reserved14: u1, - /// CPU1 USART1clocks enable + /// CPU1 USART1clocks enable USART1EN: u1, reserved17: u2, - /// CPU1 TIM16 timer clock enable + /// CPU1 TIM16 timer clock enable TIM16EN: u1, - /// CPU1 TIM17 timer clock enable + /// CPU1 TIM17 timer clock enable TIM17EN: u1, padding: u13, }), - /// APB3 peripheral clock enable register + /// APB3 peripheral clock enable register APB3ENR: mmio.Mmio(packed struct(u32) { - /// sub-GHz radio SPI clock enable + /// sub-GHz radio SPI clock enable SUBGHZSPIEN: u1, padding: u31, }), - /// AHB1 peripheral clocks enable in Sleep modes register + /// AHB1 peripheral clocks enable in Sleep modes register AHB1SMENR: mmio.Mmio(packed struct(u32) { - /// DMA1 clock enable during CPU1 CSleep mode. + /// DMA1 clock enable during CPU1 CSleep mode. DMA1SMEN: u1, - /// DMA2 clock enable during CPU1 CSleep mode + /// DMA2 clock enable during CPU1 CSleep mode DMA2SMEN: u1, - /// DMAMUX1 clock enable during CPU1 CSleep mode. + /// DMAMUX1 clock enable during CPU1 CSleep mode. DMAMUX1SMEN: u1, reserved12: u9, - /// CRC clock enable during CPU1 CSleep mode. + /// CRC clock enable during CPU1 CSleep mode. CRCSMEN: u1, padding: u19, }), - /// AHB2 peripheral clocks enable in Sleep modes register + /// AHB2 peripheral clocks enable in Sleep modes register AHB2SMENR: mmio.Mmio(packed struct(u32) { - /// IO port A clock enable during CPU1 CSleep mode. + /// IO port A clock enable during CPU1 CSleep mode. GPIOASMEN: u1, - /// IO port B clock enable during CPU1 CSleep mode. + /// IO port B clock enable during CPU1 CSleep mode. GPIOBSMEN: u1, - /// IO port C clock enable during CPU1 CSleep mode. + /// IO port C clock enable during CPU1 CSleep mode. GPIOCSMEN: u1, reserved7: u4, - /// IO port H clock enable during CPU1 CSleep mode. + /// IO port H clock enable during CPU1 CSleep mode. GPIOHSMEN: u1, padding: u24, }), - /// AHB3 peripheral clocks enable in Sleep and Stop modes register + /// AHB3 peripheral clocks enable in Sleep and Stop modes register AHB3SMENR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// PKA accelerator clock enable during CPU1 CSleep mode. + /// PKA accelerator clock enable during CPU1 CSleep mode. PKASMEN: u1, - /// AES accelerator clock enable during CPU1 CSleep mode. + /// AES accelerator clock enable during CPU1 CSleep mode. AESSMEN: u1, - /// True RNG clocks enable during CPU1 Csleep and CStop modes + /// True RNG clocks enable during CPU1 Csleep and CStop modes RNGSMEN: u1, reserved23: u4, - /// SRAM1 interface clock enable during CPU1 CSleep mode. + /// SRAM1 interface clock enable during CPU1 CSleep mode. SRAM1SMEN: u1, - /// SRAM2 memory interface clock enable during CPU1 CSleep mode + /// SRAM2 memory interface clock enable during CPU1 CSleep mode SRAM2SMEN: u1, - /// Flash interface clock enable during CPU1 CSleep mode. + /// Flash interface clock enable during CPU1 CSleep mode. FLASHSMEN: u1, padding: u6, }), reserved120: [4]u8, - /// APB1 peripheral clocks enable in Sleep mode register 1 + /// APB1 peripheral clocks enable in Sleep mode register 1 APB1SMENR1: mmio.Mmio(packed struct(u32) { - /// TIM2 timer clock enable during CPU1 CSleep mode. + /// TIM2 timer clock enable during CPU1 CSleep mode. TIM2SMEN: u1, reserved10: u9, - /// RTC bus clock enable during CPU1 CSleep mode. + /// RTC bus clock enable during CPU1 CSleep mode. RTCAPBSMEN: u1, - /// Window watchdog clocks enable during CPU1 CSleep mode. + /// Window watchdog clocks enable during CPU1 CSleep mode. WWDGSMEN: u1, reserved14: u2, - /// SPI2 clock enable during CPU1 CSleep mode. + /// SPI2 clock enable during CPU1 CSleep mode. SPI2SMEN: u1, reserved17: u2, - /// USART2 clock enable during CPU1 CSleep mode. + /// USART2 clock enable during CPU1 CSleep mode. USART2SMEN: u1, reserved21: u3, - /// I2C1 clock enable during CPU1 Csleep and CStop modes + /// I2C1 clock enable during CPU1 Csleep and CStop modes I2C1SMEN: u1, - /// I2C2 clock enable during CPU1 Csleep and CStop modes + /// I2C2 clock enable during CPU1 Csleep and CStop modes I2C2SMEN: u1, - /// I2C3 clock enable during CPU1 Csleep and CStop modes + /// I2C3 clock enable during CPU1 Csleep and CStop modes I2C3SMEN: u1, reserved29: u5, - /// DAC clock enable during CPU1 CSleep mode. + /// DAC clock enable during CPU1 CSleep mode. DACSMEN: u1, reserved31: u1, - /// Low power timer 1 clock enable during CPU1 Csleep and CStop mode + /// Low power timer 1 clock enable during CPU1 Csleep and CStop mode LPTIM1SMEN: u1, }), - /// APB1 peripheral clocks enable in Sleep mode register 2 + /// APB1 peripheral clocks enable in Sleep mode register 2 APB1SMENR2: mmio.Mmio(packed struct(u32) { - /// Low power UART 1 clock enable during CPU1 Csleep and CStop modes. + /// Low power UART 1 clock enable during CPU1 Csleep and CStop modes. LPUART1SMEN: u1, reserved5: u4, - /// Low power timer 2 clock enable during CPU1 Csleep and CStop modes + /// Low power timer 2 clock enable during CPU1 Csleep and CStop modes LPTIM2SMEN: u1, - /// Low power timer 3 clock enable during CPU1 Csleep and CStop modes + /// Low power timer 3 clock enable during CPU1 Csleep and CStop modes LPTIM3SMEN: u1, padding: u25, }), - /// APB2 peripheral clocks enable in Sleep mode register + /// APB2 peripheral clocks enable in Sleep mode register APB2SMENR: mmio.Mmio(packed struct(u32) { reserved9: u9, - /// ADC clocks enable during CPU1 Csleep and CStop modes + /// ADC clocks enable during CPU1 Csleep and CStop modes ADCSMEN: u1, reserved11: u1, - /// TIM1 timer clock enable during CPU1 CSleep mode. + /// TIM1 timer clock enable during CPU1 CSleep mode. TIM1SMEN: u1, - /// SPI1 clock enable during CPU1 CSleep mode. + /// SPI1 clock enable during CPU1 CSleep mode. SPI1SMEN: u1, reserved14: u1, - /// USART1 clock enable during CPU1 Csleep and CStop modes. + /// USART1 clock enable during CPU1 Csleep and CStop modes. USART1SMEN: u1, reserved17: u2, - /// TIM16 timer clock enable during CPU1 CSleep mode. + /// TIM16 timer clock enable during CPU1 CSleep mode. TIM16SMEN: u1, - /// TIM17 timer clock enable during CPU1 CSleep mode. + /// TIM17 timer clock enable during CPU1 CSleep mode. TIM17SMEN: u1, padding: u13, }), - /// APB3 peripheral clock enable in Sleep mode register + /// APB3 peripheral clock enable in Sleep mode register APB3SMENR: mmio.Mmio(packed struct(u32) { - /// Sub-GHz radio SPI clock enable during Sleep and Stop modes + /// Sub-GHz radio SPI clock enable during Sleep and Stop modes SUBGHZSPISMEN: u1, padding: u31, }), - /// Peripherals independent clock configuration register + /// Peripherals independent clock configuration register CCIPR: mmio.Mmio(packed struct(u32) { - /// USART1 clock source selection + /// USART1 clock source selection USART1SEL: u2, - /// USART2 clock source selection + /// USART2 clock source selection USART2SEL: u2, reserved8: u4, - /// SPI2 I2S clock source selection + /// SPI2 I2S clock source selection SPI2SEL: u2, - /// LPUART1 clock source selection + /// LPUART1 clock source selection LPUART1SEL: u2, - /// I2C1 clock source selection + /// I2C1 clock source selection I2C1SEL: u2, - /// I2C2 clock source selection + /// I2C2 clock source selection I2C2SEL: u2, - /// I2C3 clock source selection + /// I2C3 clock source selection I2C3SEL: u2, - /// Low power timer 1 clock source selection + /// Low power timer 1 clock source selection LPTIM1SEL: u2, - /// Low power timer 2 clock source selection + /// Low power timer 2 clock source selection LPTIM2SEL: u2, - /// Low power timer 3 clock source selection + /// Low power timer 3 clock source selection LPTIM3SEL: u2, reserved28: u4, - /// ADC clock source selection - ADCSEL: packed union { - raw: u2, - value: ADCSEL, - }, - /// RNG clock source selection - RNGSEL: packed union { - raw: u2, - value: RNGSEL, - }, + /// ADC clock source selection + ADCSEL: ADCSEL, + /// RNG clock source selection + RNGSEL: RNGSEL, }), reserved144: [4]u8, - /// Backup domain control register + /// Backup domain control register BDCR: mmio.Mmio(packed struct(u32) { - /// LSE oscillator enable + /// LSE oscillator enable LSEON: u1, - /// LSE oscillator ready + /// LSE oscillator ready LSERDY: u1, - /// LSE oscillator bypass + /// LSE oscillator bypass LSEBYP: u1, - /// LSE oscillator drive capability - LSEDRV: packed union { - raw: u2, - value: LSEDRV, - }, - /// CSS on LSE enable + /// LSE oscillator drive capability + LSEDRV: LSEDRV, + /// CSS on LSE enable LSECSSON: u1, - /// CSS on LSE failure Detection + /// CSS on LSE failure Detection LSECSSD: u1, - /// LSE system clock enable + /// LSE system clock enable LSESYSEN: u1, - /// RTC clock source selection - RTCSEL: packed union { - raw: u2, - value: RTCSEL, - }, + /// RTC clock source selection + RTCSEL: RTCSEL, reserved11: u1, - /// LSE system clock ready + /// LSE system clock ready LSESYSRDY: u1, reserved15: u3, - /// RTC clock enable + /// RTC clock enable RTCEN: u1, - /// Backup domain software reset + /// Backup domain software reset BDRST: u1, reserved24: u7, - /// Low speed clock output enable + /// Low speed clock output enable LSCOEN: u1, - /// Low speed clock output selection + /// Low speed clock output selection LSCOSEL: u1, padding: u6, }), - /// Control/status register + /// Control/status register CSR: mmio.Mmio(packed struct(u32) { - /// LSI oscillator enable + /// LSI oscillator enable LSION: u1, - /// LSI oscillator ready + /// LSI oscillator ready LSIRDY: u1, reserved4: u2, - /// LSI frequency prescaler + /// LSI frequency prescaler LSIPRE: u1, reserved8: u3, - /// MSI clock ranges + /// MSI clock ranges MSISRANGE: u4, reserved14: u2, - /// Radio in reset status flag + /// Radio in reset status flag RFRSTF: u1, - /// Radio reset + /// Radio reset RFRST: u1, reserved23: u7, - /// Remove reset flag + /// Remove reset flag RMVF: u1, - /// Radio illegal access flag + /// Radio illegal access flag RFILARSTF: u1, - /// Option byte loader reset flag + /// Option byte loader reset flag OBLRSTF: u1, - /// Pin reset flag + /// Pin reset flag PINRSTF: u1, - /// BOR flag + /// BOR flag BORRSTF: u1, - /// Software reset flag + /// Software reset flag SFTRSTF: u1, - /// Independent window watchdog reset flag + /// Independent window watchdog reset flag IWDGRSTF: u1, - /// Window watchdog reset flag + /// Window watchdog reset flag WWDGRSTF: u1, - /// Low-power reset flag + /// Low-power reset flag LPWRRSTF: u1, }), reserved264: [112]u8, - /// Extended clock recovery register + /// Extended clock recovery register EXTCFGR: mmio.Mmio(packed struct(u32) { - /// HCLK3 shared prescaler (AHB3, Flash, and SRAM2) - SHDHPRE: packed union { - raw: u4, - value: HPRE, - }, + /// HCLK3 shared prescaler (AHB3, Flash, and SRAM2) + SHDHPRE: HPRE, reserved16: u12, - /// HCLK3 shared prescaler flag (AHB3, Flash, and SRAM2) + /// HCLK3 shared prescaler flag (AHB3, Flash, and SRAM2) SHDHPREF: u1, padding: u15, }), @@ -414229,418 +405958,379 @@ pub const types = struct { }; pub const rng_v1 = struct { - /// Random number generator + /// Random number generator pub const RNG = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Random number generator enable + /// Random number generator enable RNGEN: u1, - /// Interrupt enable + /// Interrupt enable IE: u1, reserved5: u1, - /// Clock error detection + /// Clock error detection CED: u1, padding: u26, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Data ready + /// Data ready DRDY: u1, - /// Clock error current status + /// Clock error current status CECS: u1, - /// Seed error current status + /// Seed error current status SECS: u1, reserved5: u2, - /// Clock error interrupt status + /// Clock error interrupt status CEIS: u1, - /// Seed error interrupt status + /// Seed error interrupt status SEIS: u1, padding: u25, }), - /// data register + /// data register DR: u32, }; }; pub const rng_v2 = struct { pub const CLKDIV = enum(u4) { - /// Internal RNG clock after divider is similar to incoming RNG clock + /// Internal RNG clock after divider is similar to incoming RNG clock NoDiv = 0x0, - /// Divide RNG clock by 2^1 + /// Divide RNG clock by 2^1 Div_2_1 = 0x1, - /// Divide RNG clock by 2^2 + /// Divide RNG clock by 2^2 Div_2_2 = 0x2, - /// Divide RNG clock by 2^3 + /// Divide RNG clock by 2^3 Div_2_3 = 0x3, - /// Divide RNG clock by 2^4 + /// Divide RNG clock by 2^4 Div_2_4 = 0x4, - /// Divide RNG clock by 2^5 + /// Divide RNG clock by 2^5 Div_2_5 = 0x5, - /// Divide RNG clock by 2^6 + /// Divide RNG clock by 2^6 Div_2_6 = 0x6, - /// Divide RNG clock by 2^7 + /// Divide RNG clock by 2^7 Div_2_7 = 0x7, - /// Divide RNG clock by 2^8 + /// Divide RNG clock by 2^8 Div_2_8 = 0x8, - /// Divide RNG clock by 2^9 + /// Divide RNG clock by 2^9 Div_2_9 = 0x9, - /// Divide RNG clock by 2^10 + /// Divide RNG clock by 2^10 Div_2_10 = 0xa, - /// Divide RNG clock by 2^11 + /// Divide RNG clock by 2^11 Div_2_11 = 0xb, - /// Divide RNG clock by 2^12 + /// Divide RNG clock by 2^12 Div_2_12 = 0xc, - /// Divide RNG clock by 2^13 + /// Divide RNG clock by 2^13 Div_2_13 = 0xd, - /// Divide RNG clock by 2^14 + /// Divide RNG clock by 2^14 Div_2_14 = 0xe, - /// Divide RNG clock by 2^15 + /// Divide RNG clock by 2^15 Div_2_15 = 0xf, }; pub const HTCFG = enum(u32) { - /// Recommended value for RNG certification (0x0000_AA74) + /// Recommended value for RNG certification (0x0000_AA74) Recommended = 0xaa74, - /// Magic number to be written before any write (0x1759_0ABC) + /// Magic number to be written before any write (0x1759_0ABC) Magic = 0x17590abc, _, }; pub const NISTC = enum(u1) { - /// Hardware default values for NIST compliant RNG. In this configuration per 128-bit output two conditioning loops are performed and 256 bits of noise source are used + /// Hardware default values for NIST compliant RNG. In this configuration per 128-bit output two conditioning loops are performed and 256 bits of noise source are used Default = 0x0, - /// Custom values for NIST compliant RNG + /// Custom values for NIST compliant RNG Custom = 0x1, }; pub const RNG_CONFIG1 = enum(u6) { - /// Recommended value for config A (NIST certifiable) + /// Recommended value for config A (NIST certifiable) ConfigA = 0xf, - /// Recommended value for config B (not NIST certifiable) + /// Recommended value for config B (not NIST certifiable) ConfigB = 0x18, _, }; pub const RNG_CONFIG2 = enum(u3) { - /// Recommended value for config A and B + /// Recommended value for config A and B ConfigA_B = 0x0, _, }; pub const RNG_CONFIG3 = enum(u4) { - /// Recommended value for config B (not NIST certifiable) + /// Recommended value for config B (not NIST certifiable) ConfigB = 0x0, - /// Recommended value for config A (NIST certifiable) + /// Recommended value for config A (NIST certifiable) ConfigA = 0xd, _, }; - /// Random number generator + /// Random number generator pub const RNG = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Random number generator enable + /// Random number generator enable RNGEN: u1, - /// Interrupt enable + /// Interrupt enable IE: u1, reserved5: u1, - /// Clock error detection + /// Clock error detection CED: u1, reserved8: u2, - /// RNG configuration 3 - RNG_CONFIG3: packed union { - raw: u4, - value: RNG_CONFIG3, - }, - /// Non NIST compliant - NISTC: packed union { - raw: u1, - value: NISTC, - }, - /// RNG configuration 2 - RNG_CONFIG2: packed union { - raw: u3, - value: RNG_CONFIG2, - }, - /// Clock divider factor - CLKDIV: packed union { - raw: u4, - value: CLKDIV, - }, - /// RNG configuration 1 - RNG_CONFIG1: packed union { - raw: u6, - value: RNG_CONFIG1, - }, + /// RNG configuration 3 + RNG_CONFIG3: RNG_CONFIG3, + /// Non NIST compliant + NISTC: NISTC, + /// RNG configuration 2 + RNG_CONFIG2: RNG_CONFIG2, + /// Clock divider factor + CLKDIV: CLKDIV, + /// RNG configuration 1 + RNG_CONFIG1: RNG_CONFIG1, reserved30: u4, - /// Conditioning soft reset + /// Conditioning soft reset CONDRST: u1, - /// Config Lock + /// Config Lock CONFIGLOCK: u1, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Data ready + /// Data ready DRDY: u1, - /// Clock error current status + /// Clock error current status CECS: u1, - /// Seed error current status + /// Seed error current status SECS: u1, reserved5: u2, - /// Clock error interrupt status + /// Clock error interrupt status CEIS: u1, - /// Seed error interrupt status + /// Seed error interrupt status SEIS: u1, padding: u25, }), - /// data register + /// data register DR: u32, reserved16: [4]u8, - /// health test control register + /// health test control register HTCR: mmio.Mmio(packed struct(u32) { - /// Health test configuration - HTCFG: packed union { - raw: u32, - value: HTCFG, - }, + /// Health test configuration + HTCFG: HTCFG, }), }; }; pub const rng_v3 = struct { pub const CLKDIV = enum(u4) { - /// Internal RNG clock after divider is similar to incoming RNG clock + /// Internal RNG clock after divider is similar to incoming RNG clock NoDiv = 0x0, - /// Divide RNG clock by 2^1 + /// Divide RNG clock by 2^1 Div_2_1 = 0x1, - /// Divide RNG clock by 2^2 + /// Divide RNG clock by 2^2 Div_2_2 = 0x2, - /// Divide RNG clock by 2^3 + /// Divide RNG clock by 2^3 Div_2_3 = 0x3, - /// Divide RNG clock by 2^4 + /// Divide RNG clock by 2^4 Div_2_4 = 0x4, - /// Divide RNG clock by 2^5 + /// Divide RNG clock by 2^5 Div_2_5 = 0x5, - /// Divide RNG clock by 2^6 + /// Divide RNG clock by 2^6 Div_2_6 = 0x6, - /// Divide RNG clock by 2^7 + /// Divide RNG clock by 2^7 Div_2_7 = 0x7, - /// Divide RNG clock by 2^8 + /// Divide RNG clock by 2^8 Div_2_8 = 0x8, - /// Divide RNG clock by 2^9 + /// Divide RNG clock by 2^9 Div_2_9 = 0x9, - /// Divide RNG clock by 2^10 + /// Divide RNG clock by 2^10 Div_2_10 = 0xa, - /// Divide RNG clock by 2^11 + /// Divide RNG clock by 2^11 Div_2_11 = 0xb, - /// Divide RNG clock by 2^12 + /// Divide RNG clock by 2^12 Div_2_12 = 0xc, - /// Divide RNG clock by 2^13 + /// Divide RNG clock by 2^13 Div_2_13 = 0xd, - /// Divide RNG clock by 2^14 + /// Divide RNG clock by 2^14 Div_2_14 = 0xe, - /// Divide RNG clock by 2^15 + /// Divide RNG clock by 2^15 Div_2_15 = 0xf, }; pub const HTCFG = enum(u32) { - /// Recommended value for RNG certification (0x0000_AA74) + /// Recommended value for RNG certification (0x0000_AA74) Recommended = 0xaa74, - /// Magic number to be written before any write (0x1759_0ABC) + /// Magic number to be written before any write (0x1759_0ABC) Magic = 0x17590abc, _, }; pub const NISTC = enum(u1) { - /// Hardware default values for NIST compliant RNG. In this configuration per 128-bit output two conditioning loops are performed and 256 bits of noise source are used + /// Hardware default values for NIST compliant RNG. In this configuration per 128-bit output two conditioning loops are performed and 256 bits of noise source are used Default = 0x0, - /// Custom values for NIST compliant RNG + /// Custom values for NIST compliant RNG Custom = 0x1, }; pub const RNG_CONFIG1 = enum(u6) { - /// Recommended value for config A (NIST certifiable) + /// Recommended value for config A (NIST certifiable) ConfigA = 0xf, - /// Recommended value for config B (not NIST certifiable) + /// Recommended value for config B (not NIST certifiable) ConfigB = 0x18, _, }; pub const RNG_CONFIG2 = enum(u3) { - /// Recommended value for config A and B + /// Recommended value for config A and B ConfigA_B = 0x0, _, }; pub const RNG_CONFIG3 = enum(u4) { - /// Recommended value for config B (not NIST certifiable) + /// Recommended value for config B (not NIST certifiable) ConfigB = 0x0, - /// Recommended value for config A (NIST certifiable) + /// Recommended value for config A (NIST certifiable) ConfigA = 0xd, _, }; - /// Random number generator + /// Random number generator pub const RNG = extern struct { - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Random number generator enable + /// Random number generator enable RNGEN: u1, - /// Interrupt enable + /// Interrupt enable IE: u1, reserved5: u1, - /// Clock error detection + /// Clock error detection CED: u1, reserved7: u1, - /// Auto reset disable + /// Auto reset disable ARDIS: u1, - /// RNG configuration 3 - RNG_CONFIG3: packed union { - raw: u4, - value: RNG_CONFIG3, - }, - /// Non NIST compliant - NISTC: packed union { - raw: u1, - value: NISTC, - }, - /// RNG configuration 2 - RNG_CONFIG2: packed union { - raw: u3, - value: RNG_CONFIG2, - }, - /// Clock divider factor - CLKDIV: packed union { - raw: u4, - value: CLKDIV, - }, - /// RNG configuration 1 - RNG_CONFIG1: packed union { - raw: u6, - value: RNG_CONFIG1, - }, + /// RNG configuration 3 + RNG_CONFIG3: RNG_CONFIG3, + /// Non NIST compliant + NISTC: NISTC, + /// RNG configuration 2 + RNG_CONFIG2: RNG_CONFIG2, + /// Clock divider factor + CLKDIV: CLKDIV, + /// RNG configuration 1 + RNG_CONFIG1: RNG_CONFIG1, reserved30: u4, - /// Conditioning soft reset + /// Conditioning soft reset CONDRST: u1, - /// Config Lock + /// Config Lock CONFIGLOCK: u1, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Data ready + /// Data ready DRDY: u1, - /// Clock error current status + /// Clock error current status CECS: u1, - /// Seed error current status + /// Seed error current status SECS: u1, reserved5: u2, - /// Clock error interrupt status + /// Clock error interrupt status CEIS: u1, - /// Seed error interrupt status + /// Seed error interrupt status SEIS: u1, padding: u25, }), - /// data register + /// data register DR: u32, reserved16: [4]u8, - /// health test control register + /// health test control register HTCR: mmio.Mmio(packed struct(u32) { - /// Health test configuration - HTCFG: packed union { - raw: u32, - value: HTCFG, - }, + /// Health test configuration + HTCFG: HTCFG, }), }; }; pub const rtc_v1 = struct { pub const RTOFF = enum(u1) { - /// Last write operation on RTC registers is still ongoing + /// Last write operation on RTC registers is still ongoing Ongoing = 0x0, - /// Last write operation on RTC registers terminated + /// Last write operation on RTC registers terminated Terminated = 0x1, }; - /// Real-time clock + /// Real-time clock pub const RTC = extern struct { - /// Control Register High + /// Control Register High CRH: mmio.Mmio(packed struct(u32) { - /// Second interrupt enable + /// Second interrupt enable SECIE: u1, - /// Alarm interrupt enable + /// Alarm interrupt enable ALRIE: u1, - /// Overflow interrupt enable + /// Overflow interrupt enable OWIE: u1, padding: u29, }), - /// Control Register Low + /// Control Register Low CRL: mmio.Mmio(packed struct(u32) { - /// Second flag + /// Second flag SECF: u1, - /// Alarm flag + /// Alarm flag ALRF: u1, - /// Overflow flag + /// Overflow flag OWF: u1, - /// Registers synchronized flag + /// Registers synchronized flag RSF: u1, - /// Enter configuration mode + /// Enter configuration mode CNF: u1, - /// RTC operation OFF - RTOFF: packed union { - raw: u1, - value: RTOFF, - }, + /// RTC operation OFF + RTOFF: RTOFF, padding: u26, }), - /// Prescaler Load Register High + /// Prescaler Load Register High PRLH: mmio.Mmio(packed struct(u32) { - /// Prescaler load register high + /// Prescaler load register high PRLH: u4, padding: u28, }), - /// Prescaler Load Register Low + /// Prescaler Load Register Low PRLL: mmio.Mmio(packed struct(u32) { - /// Prescaler divider register low + /// Prescaler divider register low PRLL: u16, padding: u16, }), - /// Prescaler Divider Register High + /// Prescaler Divider Register High DIVH: mmio.Mmio(packed struct(u32) { - /// Prescaler divider register high + /// Prescaler divider register high DIVH: u4, padding: u28, }), - /// Prescaler Divider Register Low + /// Prescaler Divider Register Low DIVL: mmio.Mmio(packed struct(u32) { - /// Prescaler divider register low + /// Prescaler divider register low DIVL: u16, padding: u16, }), - /// Counter Register High + /// Counter Register High CNTH: mmio.Mmio(packed struct(u32) { - /// Counter register high + /// Counter register high CNTH: u16, padding: u16, }), - /// Counter Register Low + /// Counter Register Low CNTL: mmio.Mmio(packed struct(u32) { - /// Counter register low + /// Counter register low CNTL: u16, padding: u16, }), - /// Alarm Register High + /// Alarm Register High ALRH: mmio.Mmio(packed struct(u32) { - /// Alarm register high + /// Alarm register high ALRH: u16, padding: u16, }), - /// Alarm Register Low + /// Alarm Register Low ALRL: mmio.Mmio(packed struct(u32) { - /// Alarm register low + /// Alarm register low ALRL: u16, padding: u16, }), @@ -414649,545 +406339,461 @@ pub const types = struct { pub const rtc_v2f0 = struct { pub const ALRMR_MSK = enum(u1) { - /// Alarm set if the date/day match + /// Alarm set if the date/day match ToMatch = 0x0, - /// Date/day don’t care in Alarm comparison + /// Date/day don’t care in Alarm comparison NotMatch = 0x1, }; pub const ALRMR_PM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const ALRMR_WDSEL = enum(u1) { - /// DU[3:0] represents the date units + /// DU[3:0] represents the date units DateUnits = 0x0, - /// DU[3:0] represents the week day. DT[1:0] is don’t care + /// DU[3:0] represents the week day. DT[1:0] is don’t care WeekDay = 0x1, }; pub const AMPM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const CALP = enum(u1) { - /// No RTCCLK pulses are added + /// No RTCCLK pulses are added NoChange = 0x0, - /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) + /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) IncreaseFreq = 0x1, }; pub const CALW16 = enum(u1) { - /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 + /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 Sixteen_Second = 0x1, _, }; pub const CALW8 = enum(u1) { - /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected + /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected Eight_Second = 0x1, _, }; pub const COSEL = enum(u1) { - /// Calibration output is 512 Hz (with default prescaler setting) + /// Calibration output is 512 Hz (with default prescaler setting) CalFreq_512Hz = 0x0, - /// Calibration output is 1 Hz (with default prescaler setting) + /// Calibration output is 1 Hz (with default prescaler setting) CalFreq_1Hz = 0x1, }; pub const FMT = enum(u1) { - /// 24 hour/day format + /// 24 hour/day format Twenty_Four_Hour = 0x0, - /// AM/PM hour format + /// AM/PM hour format AM_PM = 0x1, }; pub const OSEL = enum(u2) { - /// Output disabled + /// Output disabled Disabled = 0x0, - /// Alarm A output enabled + /// Alarm A output enabled AlarmA = 0x1, - /// Wakeup output enabled + /// Wakeup output enabled Wakeup = 0x3, _, }; pub const PCMODE = enum(u1) { - /// PCx is controlled by the GPIO configuration Register. Consequently PC15 is floating in Standby mode + /// PCx is controlled by the GPIO configuration Register. Consequently PC15 is floating in Standby mode Floating = 0x0, - /// PCx is forced to push-pull output if LSE is disabled + /// PCx is forced to push-pull output if LSE is disabled PushPull = 0x1, }; pub const PCVALUE = enum(u1) { - /// If the LSE is disabled and PCxMODE = 1, set PCxVALUE to logic low + /// If the LSE is disabled and PCxMODE = 1, set PCxVALUE to logic low Low = 0x0, - /// If the LSE is disabled and PCxMODE = 1, set PCxVALUE to logic high + /// If the LSE is disabled and PCxMODE = 1, set PCxVALUE to logic high High = 0x1, }; pub const POL = enum(u1) { - /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) High = 0x0, - /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) Low = 0x1, }; pub const TAMPFLT = enum(u2) { - /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) + /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) Immediate = 0x0, - /// Tamper event is activated after 2 consecutive samples at the active level + /// Tamper event is activated after 2 consecutive samples at the active level Samples2 = 0x1, - /// Tamper event is activated after 4 consecutive samples at the active level + /// Tamper event is activated after 4 consecutive samples at the active level Samples4 = 0x2, - /// Tamper event is activated after 8 consecutive samples at the active level + /// Tamper event is activated after 8 consecutive samples at the active level Samples8 = 0x3, }; pub const TAMPFREQ = enum(u3) { - /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) Div32768 = 0x0, - /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) Div16384 = 0x1, - /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) Div8192 = 0x2, - /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) Div4096 = 0x3, - /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) Div2048 = 0x4, - /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) Div1024 = 0x5, - /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) Div512 = 0x6, - /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) Div256 = 0x7, }; pub const TAMPPRCH = enum(u2) { - /// 1 RTCCLK cycle + /// 1 RTCCLK cycle Cycles1 = 0x0, - /// 2 RTCCLK cycles + /// 2 RTCCLK cycles Cycles2 = 0x1, - /// 4 RTCCLK cycles + /// 4 RTCCLK cycles Cycles4 = 0x2, - /// 8 RTCCLK cycles + /// 8 RTCCLK cycles Cycles8 = 0x3, }; pub const TAMPPUDIS = enum(u1) { - /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) + /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) Enabled = 0x0, - /// Disable precharge of RTC_TAMPx pins + /// Disable precharge of RTC_TAMPx pins Disabled = 0x1, }; pub const TAMPTRG = enum(u1) { - /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. + /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. RisingEdge = 0x0, - /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event + /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event FallingEdge = 0x1, }; pub const TSEDGE = enum(u1) { - /// RTC_TS input rising edge generates a time-stamp event + /// RTC_TS input rising edge generates a time-stamp event RisingEdge = 0x0, - /// RTC_TS input falling edge generates a time-stamp event + /// RTC_TS input falling edge generates a time-stamp event FallingEdge = 0x1, }; pub const WUCKSEL = enum(u3) { - /// RTC/16 clock is selected + /// RTC/16 clock is selected Div16 = 0x0, - /// RTC/8 clock is selected + /// RTC/8 clock is selected Div8 = 0x1, - /// RTC/4 clock is selected + /// RTC/4 clock is selected Div4 = 0x2, - /// RTC/2 clock is selected + /// RTC/2 clock is selected Div2 = 0x3, - /// ck_spre (usually 1 Hz) clock is selected + /// ck_spre (usually 1 Hz) clock is selected ClockSpare = 0x4, - /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value + /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value ClockSpareWithOffset = 0x6, _, }; - /// Real-time clock + /// Real-time clock pub const RTC = extern struct { - /// Time register + /// Time register TR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Date register + /// Date register DR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, - /// Year units in BCD format + /// Year units in BCD format YU: u4, - /// Year tens in BCD format + /// Year tens in BCD format YT: u4, padding: u8, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Wakeup clock selection - WUCKSEL: packed union { - raw: u3, - value: WUCKSEL, - }, - /// Timestamp event active edge - TSEDGE: packed union { - raw: u1, - value: TSEDGE, - }, - /// Reference clock detection enable (50 or 60 Hz) + /// Wakeup clock selection + WUCKSEL: WUCKSEL, + /// Timestamp event active edge + TSEDGE: TSEDGE, + /// Reference clock detection enable (50 or 60 Hz) REFCKON: u1, - /// Bypass the shadow registers + /// Bypass the shadow registers BYPSHAD: u1, - /// Hour format - FMT: packed union { - raw: u1, - value: FMT, - }, + /// Hour format + FMT: FMT, reserved8: u1, - /// Alarm enable + /// Alarm enable ALRE: u1, reserved10: u1, - /// Wakeup timer enable + /// Wakeup timer enable WUTE: u1, - /// Timestamp enable + /// Timestamp enable TSE: u1, - /// Alarm interrupt enable + /// Alarm interrupt enable ALRIE: u1, reserved14: u1, - /// Wakeup timer interrupt enable + /// Wakeup timer interrupt enable WUTIE: u1, - /// Timestamp interrupt enable + /// Timestamp interrupt enable TSIE: u1, - /// Add 1 hour (summer time change) + /// Add 1 hour (summer time change) ADD1H: u1, - /// Subtract 1 hour (winter time change) + /// Subtract 1 hour (winter time change) SUB1H: u1, - /// Backup + /// Backup BKP: u1, - /// Calibration output selection - COSEL: packed union { - raw: u1, - value: COSEL, - }, - /// Output polarity - POL: packed union { - raw: u1, - value: POL, - }, - /// Output selection - OSEL: packed union { - raw: u2, - value: OSEL, - }, - /// Calibration output enable + /// Calibration output selection + COSEL: COSEL, + /// Output polarity + POL: POL, + /// Output selection + OSEL: OSEL, + /// Calibration output enable COE: u1, padding: u8, }), - /// Initialization and status register + /// Initialization and status register ISR: mmio.Mmio(packed struct(u32) { - /// Alarm write enabled + /// Alarm write enabled ALRWF: u1, reserved2: u1, - /// Wakeup timer write enabled + /// Wakeup timer write enabled WUTWF: u1, - /// Shift operation pending + /// Shift operation pending SHPF: u1, - /// Initialization status flag + /// Initialization status flag INITS: u1, - /// Registers synchronization flag + /// Registers synchronization flag RSF: u1, - /// Initialization flag + /// Initialization flag INITF: u1, - /// Enter Initialization mode + /// Enter Initialization mode INIT: u1, - /// Alarm flag + /// Alarm flag ALRF: u1, reserved10: u1, - /// Wakeup timer flag + /// Wakeup timer flag WUTF: u1, - /// Timestamp flag + /// Timestamp flag TSF: u1, - /// Timestamp overflow flag + /// Timestamp overflow flag TSOVF: u1, - /// Tamper detection flag + /// Tamper detection flag TAMPF: u1, reserved16: u2, - /// Recalibration pending flag + /// Recalibration pending flag RECALPF: u1, padding: u15, }), - /// Prescaler register + /// Prescaler register PRER: mmio.Mmio(packed struct(u32) { - /// Synchronous prescaler factor + /// Synchronous prescaler factor PREDIV_S: u15, reserved16: u1, - /// Asynchronous prescaler factor + /// Asynchronous prescaler factor PREDIV_A: u7, padding: u9, }), - /// Wakeup timer register + /// Wakeup timer register WUTR: mmio.Mmio(packed struct(u32) { - /// Wakeup auto-reload value bits + /// Wakeup auto-reload value bits WUT: u16, padding: u16, }), reserved28: [4]u8, - /// Alarm register + /// Alarm register ALRMR: [1]mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, - /// Alarm seconds mask - MSK1: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Minute units in BCD format + /// Alarm seconds mask + MSK1: ALRMR_MSK, + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, - /// Alarm minutes mask - MSK2: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Hour units in BCD format + /// Alarm minutes mask + MSK2: ALRMR_MSK, + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: ALRMR_PM, - }, - /// Alarm hours mask - MSK3: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Date units or day in BCD format + /// AM/PM notation + PM: ALRMR_PM, + /// Alarm hours mask + MSK3: ALRMR_MSK, + /// Date units or day in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, - /// Week day selection - WDSEL: packed union { - raw: u1, - value: ALRMR_WDSEL, - }, - /// Alarm date mask - MSK4: packed union { - raw: u1, - value: ALRMR_MSK, - }, + /// Week day selection + WDSEL: ALRMR_WDSEL, + /// Alarm date mask + MSK4: ALRMR_MSK, }), reserved36: [4]u8, - /// Write protection register + /// Write protection register WPR: mmio.Mmio(packed struct(u32) { - /// Write protection key + /// Write protection key KEY: u8, padding: u24, }), - /// Sub second register + /// Sub second register SSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Shift control register + /// Shift control register SHIFTR: mmio.Mmio(packed struct(u32) { - /// Subtract a fraction of a second + /// Subtract a fraction of a second SUBFS: u15, reserved31: u16, - /// Add one second + /// Add one second ADD1S: u1, }), - /// Timestamp time register + /// Timestamp time register TSTR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Timestamp date register + /// Timestamp date register TSDR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, padding: u16, }), - /// Timestamp sub second register + /// Timestamp sub second register TSSSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Calibration register + /// Calibration register CALR: mmio.Mmio(packed struct(u32) { - /// Calibration minus + /// Calibration minus CALM: u9, reserved13: u4, - /// Use a 16-second calibration cycle period - CALW16: packed union { - raw: u1, - value: CALW16, - }, - /// Use an 8-second calibration cycle period - CALW8: packed union { - raw: u1, - value: CALW8, - }, - /// Increase frequency of RTC by 488.5 ppm - CALP: packed union { - raw: u1, - value: CALP, - }, + /// Use a 16-second calibration cycle period + CALW16: CALW16, + /// Use an 8-second calibration cycle period + CALW8: CALW8, + /// Increase frequency of RTC by 488.5 ppm + CALP: CALP, padding: u16, }), - /// Tamper and alternate function configuration register + /// Tamper and alternate function configuration register TAFCR: mmio.Mmio(packed struct(u32) { - /// Tamper detection enable + /// Tamper detection enable TAMPE: u1, - /// Active level for tamper - TAMPTRG: packed union { - raw: u1, - value: TAMPTRG, - }, - /// Tamper interrupt enable + /// Active level for tamper + TAMPTRG: TAMPTRG, + /// Tamper interrupt enable TAMPIE: u1, reserved7: u4, - /// Activate timestamp on tamper detection event + /// Activate timestamp on tamper detection event TAMPTS: u1, - /// Tamper sampling frequency - TAMPFREQ: packed union { - raw: u3, - value: TAMPFREQ, - }, - /// Tamper filter count - TAMPFLT: packed union { - raw: u2, - value: TAMPFLT, - }, - /// Tamper precharge duration - TAMPPRCH: packed union { - raw: u2, - value: TAMPPRCH, - }, - /// Tamper pull-up disable - TAMPPUDIS: packed union { - raw: u1, - value: TAMPPUDIS, - }, + /// Tamper sampling frequency + TAMPFREQ: TAMPFREQ, + /// Tamper filter count + TAMPFLT: TAMPFLT, + /// Tamper precharge duration + TAMPPRCH: TAMPPRCH, + /// Tamper pull-up disable + TAMPPUDIS: TAMPPUDIS, reserved18: u2, - /// PC13 value - PC13VALUE: packed union { - raw: u1, - value: PCVALUE, - }, - /// PC13 mode - PC13MODE: packed union { - raw: u1, - value: PCMODE, - }, - /// PC14 value - PC14VALUE: packed union { - raw: u1, - value: PCVALUE, - }, - /// PC14 mode - PC14MODE: packed union { - raw: u1, - value: PCMODE, - }, - /// PC15 value - PC15VALUE: packed union { - raw: u1, - value: PCVALUE, - }, - /// PC15 mode - PC15MODE: packed union { - raw: u1, - value: PCMODE, - }, + /// PC13 value + PC13VALUE: PCVALUE, + /// PC13 mode + PC13MODE: PCMODE, + /// PC14 value + PC14VALUE: PCVALUE, + /// PC14 mode + PC14MODE: PCMODE, + /// PC15 value + PC15VALUE: PCVALUE, + /// PC15 mode + PC15MODE: PCMODE, padding: u8, }), - /// Alarm sub second register + /// Alarm sub second register ALRMSSR: [1]mmio.Mmio(packed struct(u32) { - /// Sub seconds value + /// Sub seconds value SS: u15, reserved24: u9, - /// Mask the most-significant bits starting at this bit + /// Mask the most-significant bits starting at this bit MASKSS: u4, padding: u4, }), reserved80: [8]u8, - /// Backup register + /// Backup register BKPR: [5]mmio.Mmio(packed struct(u32) { - /// BKP + /// BKP BKP: u32, }), }; @@ -415195,351 +406801,312 @@ pub const types = struct { pub const rtc_v2f2 = struct { pub const ALRMR_MSK = enum(u1) { - /// Alarm set if the date/day match + /// Alarm set if the date/day match ToMatch = 0x0, - /// Date/day don’t care in Alarm comparison + /// Date/day don’t care in Alarm comparison NotMatch = 0x1, }; pub const ALRMR_PM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const ALRMR_WDSEL = enum(u1) { - /// DU[3:0] represents the date units + /// DU[3:0] represents the date units DateUnits = 0x0, - /// DU[3:0] represents the week day. DT[1:0] is don’t care + /// DU[3:0] represents the week day. DT[1:0] is don’t care WeekDay = 0x1, }; pub const AMPM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const OSEL = enum(u2) { - /// Output disabled + /// Output disabled Disabled = 0x0, - /// Alarm A output enabled + /// Alarm A output enabled AlarmA = 0x1, - /// Alarm B output enabled + /// Alarm B output enabled AlarmB = 0x2, - /// Wakeup output enabled + /// Wakeup output enabled Wakeup = 0x3, }; pub const POL = enum(u1) { - /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) High = 0x0, - /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) Low = 0x1, }; pub const TAMPTRG = enum(u1) { - /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. + /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. RisingEdge = 0x0, - /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event + /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event FallingEdge = 0x1, }; pub const TSEDGE = enum(u1) { - /// RTC_TS input rising edge generates a time-stamp event + /// RTC_TS input rising edge generates a time-stamp event RisingEdge = 0x0, - /// RTC_TS input falling edge generates a time-stamp event + /// RTC_TS input falling edge generates a time-stamp event FallingEdge = 0x1, }; pub const WUCKSEL = enum(u3) { - /// RTC/16 clock is selected + /// RTC/16 clock is selected Div16 = 0x0, - /// RTC/8 clock is selected + /// RTC/8 clock is selected Div8 = 0x1, - /// RTC/4 clock is selected + /// RTC/4 clock is selected Div4 = 0x2, - /// RTC/2 clock is selected + /// RTC/2 clock is selected Div2 = 0x3, - /// ck_spre (usually 1 Hz) clock is selected + /// ck_spre (usually 1 Hz) clock is selected ClockSpare = 0x4, - /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value + /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value ClockSpareWithOffset = 0x6, _, }; - /// Real-time clock + /// Real-time clock pub const RTC = extern struct { - /// Time register + /// Time register TR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Date register + /// Date register DR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, - /// Year units in BCD format + /// Year units in BCD format YU: u4, - /// Year tens in BCD format + /// Year tens in BCD format YT: u4, padding: u8, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Wakeup clock selection - WUCKSEL: packed union { - raw: u3, - value: WUCKSEL, - }, - /// Timestamp event active edge - TSEDGE: packed union { - raw: u1, - value: TSEDGE, - }, - /// Reference clock detection enable (50 or 60 Hz) + /// Wakeup clock selection + WUCKSEL: WUCKSEL, + /// Timestamp event active edge + TSEDGE: TSEDGE, + /// Reference clock detection enable (50 or 60 Hz) REFCKON: u1, reserved6: u1, - /// Hour format + /// Hour format FMT: u1, - /// Coarse digital calibration enable + /// Coarse digital calibration enable DCE: u1, - /// Alarm enable + /// Alarm enable ALRE: u1, reserved10: u1, - /// Wakeup timer enable + /// Wakeup timer enable WUTE: u1, - /// Timestamp enable + /// Timestamp enable TSE: u1, - /// Alarm interrupt enable + /// Alarm interrupt enable ALRIE: u1, reserved14: u1, - /// Wakeup timer interrupt enable + /// Wakeup timer interrupt enable WUTIE: u1, - /// Timestamp interrupt enable + /// Timestamp interrupt enable TSIE: u1, - /// Add 1 hour (summer time change) + /// Add 1 hour (summer time change) ADD1H: u1, - /// Subtract 1 hour (winter time change) + /// Subtract 1 hour (winter time change) SUB1H: u1, - /// Backup + /// Backup BKP: u1, reserved20: u1, - /// Output polarity - POL: packed union { - raw: u1, - value: POL, - }, - /// Output selection - OSEL: packed union { - raw: u2, - value: OSEL, - }, - /// Calibration output enable + /// Output polarity + POL: POL, + /// Output selection + OSEL: OSEL, + /// Calibration output enable COE: u1, padding: u8, }), - /// Initialization and status register + /// Initialization and status register ISR: mmio.Mmio(packed struct(u32) { - /// Alarm write enabled + /// Alarm write enabled ALRWF: u1, reserved2: u1, - /// Wakeup timer write enabled + /// Wakeup timer write enabled WUTWF: u1, reserved4: u1, - /// Initialization status flag + /// Initialization status flag INITS: u1, - /// Registers synchronization flag + /// Registers synchronization flag RSF: u1, - /// Initialization flag + /// Initialization flag INITF: u1, - /// Enter Initialization mode + /// Enter Initialization mode INIT: u1, - /// Alarm flag + /// Alarm flag ALRF: u1, reserved10: u1, - /// Wakeup timer flag + /// Wakeup timer flag WUTF: u1, - /// Timestamp flag + /// Timestamp flag TSF: u1, - /// Timestamp overflow flag + /// Timestamp overflow flag TSOVF: u1, - /// Tamper detection flag + /// Tamper detection flag TAMPF: u1, padding: u18, }), - /// Prescaler register + /// Prescaler register PRER: mmio.Mmio(packed struct(u32) { - /// Synchronous prescaler factor + /// Synchronous prescaler factor PREDIV_S: u15, reserved16: u1, - /// Asynchronous prescaler factor + /// Asynchronous prescaler factor PREDIV_A: u7, padding: u9, }), - /// Wakeup timer register + /// Wakeup timer register WUTR: mmio.Mmio(packed struct(u32) { - /// Wakeup auto-reload value bits + /// Wakeup auto-reload value bits WUT: u16, padding: u16, }), - /// Calibration register + /// Calibration register CALIBR: mmio.Mmio(packed struct(u32) { - /// Digital calibration + /// Digital calibration DC: u5, reserved7: u2, - /// Digital calibration sign + /// Digital calibration sign DCS: u1, padding: u24, }), - /// Alarm register + /// Alarm register ALRMR: [2]mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, - /// Alarm seconds mask - MSK1: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Minute units in BCD format + /// Alarm seconds mask + MSK1: ALRMR_MSK, + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, - /// Alarm minutes mask - MSK2: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Hour units in BCD format + /// Alarm minutes mask + MSK2: ALRMR_MSK, + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: ALRMR_PM, - }, - /// Alarm hours mask - MSK3: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Date units or day in BCD format + /// AM/PM notation + PM: ALRMR_PM, + /// Alarm hours mask + MSK3: ALRMR_MSK, + /// Date units or day in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, - /// Week day selection - WDSEL: packed union { - raw: u1, - value: ALRMR_WDSEL, - }, - /// Alarm date mask - MSK4: packed union { - raw: u1, - value: ALRMR_MSK, - }, - }), - /// Write protection register + /// Week day selection + WDSEL: ALRMR_WDSEL, + /// Alarm date mask + MSK4: ALRMR_MSK, + }), + /// Write protection register WPR: mmio.Mmio(packed struct(u32) { - /// Write protection key + /// Write protection key KEY: u8, padding: u24, }), reserved48: [8]u8, - /// Timestamp time register + /// Timestamp time register TSTR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Timestamp date register + /// Timestamp date register TSDR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, padding: u16, }), reserved64: [8]u8, - /// Tamper and alternate function configuration register + /// Tamper and alternate function configuration register TAFCR: mmio.Mmio(packed struct(u32) { - /// Tamper detection enable + /// Tamper detection enable TAMPE: u1, - /// Active level for tamper - TAMPTRG: packed union { - raw: u1, - value: TAMPTRG, - }, - /// Tamper interrupt enable + /// Active level for tamper + TAMPTRG: TAMPTRG, + /// Tamper interrupt enable TAMPIE: u1, reserved16: u13, - /// Tamper 1 mapping + /// Tamper 1 mapping TAMP1INSEL: u1, - /// Timestamp mapping + /// Timestamp mapping TSINSEL: u1, - /// AFO_ALARM output type + /// AFO_ALARM output type ALARMOUTTYPE: u1, padding: u13, }), reserved80: [12]u8, - /// Backup register + /// Backup register BKPR: [20]mmio.Mmio(packed struct(u32) { - /// BKP + /// BKP BKP: u32, }), }; @@ -415547,554 +407114,467 @@ pub const types = struct { pub const rtc_v2f3 = struct { pub const ALRMR_MSK = enum(u1) { - /// Alarm set if the date/day match + /// Alarm set if the date/day match ToMatch = 0x0, - /// Date/day don’t care in Alarm comparison + /// Date/day don’t care in Alarm comparison NotMatch = 0x1, }; pub const ALRMR_PM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const ALRMR_WDSEL = enum(u1) { - /// DU[3:0] represents the date units + /// DU[3:0] represents the date units DateUnits = 0x0, - /// DU[3:0] represents the week day. DT[1:0] is don’t care + /// DU[3:0] represents the week day. DT[1:0] is don’t care WeekDay = 0x1, }; pub const AMPM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const CALP = enum(u1) { - /// No RTCCLK pulses are added + /// No RTCCLK pulses are added NoChange = 0x0, - /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) + /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) IncreaseFreq = 0x1, }; pub const CALW16 = enum(u1) { - /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 + /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 Sixteen_Second = 0x1, _, }; pub const CALW8 = enum(u1) { - /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected + /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected Eight_Second = 0x1, _, }; pub const COSEL = enum(u1) { - /// Calibration output is 512 Hz (with default prescaler setting) + /// Calibration output is 512 Hz (with default prescaler setting) CalFreq_512Hz = 0x0, - /// Calibration output is 1 Hz (with default prescaler setting) + /// Calibration output is 1 Hz (with default prescaler setting) CalFreq_1Hz = 0x1, }; pub const FMT = enum(u1) { - /// 24 hour/day format + /// 24 hour/day format Twenty_Four_Hour = 0x0, - /// AM/PM hour format + /// AM/PM hour format AM_PM = 0x1, }; pub const OSEL = enum(u2) { - /// Output disabled + /// Output disabled Disabled = 0x0, - /// Alarm A output enabled + /// Alarm A output enabled AlarmA = 0x1, - /// Alarm B output enabled + /// Alarm B output enabled AlarmB = 0x2, - /// Wakeup output enabled + /// Wakeup output enabled Wakeup = 0x3, }; pub const PCMODE = enum(u1) { - /// PCx is controlled by the GPIO configuration Register. Consequently PC15 is floating in Standby mode + /// PCx is controlled by the GPIO configuration Register. Consequently PC15 is floating in Standby mode Floating = 0x0, - /// PCx is forced to push-pull output if LSE is disabled + /// PCx is forced to push-pull output if LSE is disabled PushPull = 0x1, }; pub const PCVALUE = enum(u1) { - /// If the LSE is disabled and PCxMODE = 1, set PCxVALUE to logic low + /// If the LSE is disabled and PCxMODE = 1, set PCxVALUE to logic low Low = 0x0, - /// If the LSE is disabled and PCxMODE = 1, set PCxVALUE to logic high + /// If the LSE is disabled and PCxMODE = 1, set PCxVALUE to logic high High = 0x1, }; pub const POL = enum(u1) { - /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) High = 0x0, - /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) Low = 0x1, }; pub const RECALPF = enum(u1) { - /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 + /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 Pending = 0x1, _, }; pub const TAMPFLT = enum(u2) { - /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) + /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) Immediate = 0x0, - /// Tamper event is activated after 2 consecutive samples at the active level + /// Tamper event is activated after 2 consecutive samples at the active level Samples2 = 0x1, - /// Tamper event is activated after 4 consecutive samples at the active level + /// Tamper event is activated after 4 consecutive samples at the active level Samples4 = 0x2, - /// Tamper event is activated after 8 consecutive samples at the active level + /// Tamper event is activated after 8 consecutive samples at the active level Samples8 = 0x3, }; pub const TAMPFREQ = enum(u3) { - /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) Div32768 = 0x0, - /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) Div16384 = 0x1, - /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) Div8192 = 0x2, - /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) Div4096 = 0x3, - /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) Div2048 = 0x4, - /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) Div1024 = 0x5, - /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) Div512 = 0x6, - /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) Div256 = 0x7, }; pub const TAMPPRCH = enum(u2) { - /// 1 RTCCLK cycle + /// 1 RTCCLK cycle Cycles1 = 0x0, - /// 2 RTCCLK cycles + /// 2 RTCCLK cycles Cycles2 = 0x1, - /// 4 RTCCLK cycles + /// 4 RTCCLK cycles Cycles4 = 0x2, - /// 8 RTCCLK cycles + /// 8 RTCCLK cycles Cycles8 = 0x3, }; pub const TAMPPUDIS = enum(u1) { - /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) + /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) Enabled = 0x0, - /// Disable precharge of RTC_TAMPx pins + /// Disable precharge of RTC_TAMPx pins Disabled = 0x1, }; pub const TAMPTRG = enum(u1) { - /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. + /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. RisingEdge = 0x0, - /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event + /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event FallingEdge = 0x1, }; pub const TSEDGE = enum(u1) { - /// RTC_TS input rising edge generates a time-stamp event + /// RTC_TS input rising edge generates a time-stamp event RisingEdge = 0x0, - /// RTC_TS input falling edge generates a time-stamp event + /// RTC_TS input falling edge generates a time-stamp event FallingEdge = 0x1, }; pub const WUCKSEL = enum(u3) { - /// RTC/16 clock is selected + /// RTC/16 clock is selected Div16 = 0x0, - /// RTC/8 clock is selected + /// RTC/8 clock is selected Div8 = 0x1, - /// RTC/4 clock is selected + /// RTC/4 clock is selected Div4 = 0x2, - /// RTC/2 clock is selected + /// RTC/2 clock is selected Div2 = 0x3, - /// ck_spre (usually 1 Hz) clock is selected + /// ck_spre (usually 1 Hz) clock is selected ClockSpare = 0x4, - /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value + /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value ClockSpareWithOffset = 0x6, _, }; - /// Real-time clock + /// Real-time clock pub const RTC = extern struct { - /// Time register + /// Time register TR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Date register + /// Date register DR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, - /// Year units in BCD format + /// Year units in BCD format YU: u4, - /// Year tens in BCD format + /// Year tens in BCD format YT: u4, padding: u8, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Wakeup clock selection - WUCKSEL: packed union { - raw: u3, - value: WUCKSEL, - }, - /// Timestamp event active edge - TSEDGE: packed union { - raw: u1, - value: TSEDGE, - }, - /// Reference clock detection enable (50 or 60 Hz) + /// Wakeup clock selection + WUCKSEL: WUCKSEL, + /// Timestamp event active edge + TSEDGE: TSEDGE, + /// Reference clock detection enable (50 or 60 Hz) REFCKON: u1, - /// Bypass the shadow registers + /// Bypass the shadow registers BYPSHAD: u1, - /// Hour format - FMT: packed union { - raw: u1, - value: FMT, - }, + /// Hour format + FMT: FMT, reserved8: u1, - /// Alarm enable + /// Alarm enable ALRE: u1, reserved10: u1, - /// Wakeup timer enable + /// Wakeup timer enable WUTE: u1, - /// Timestamp enable + /// Timestamp enable TSE: u1, - /// Alarm interrupt enable + /// Alarm interrupt enable ALRIE: u1, reserved14: u1, - /// Wakeup timer interrupt enable + /// Wakeup timer interrupt enable WUTIE: u1, - /// Timestamp interrupt enable + /// Timestamp interrupt enable TSIE: u1, - /// Add 1 hour (summer time change) + /// Add 1 hour (summer time change) ADD1H: u1, - /// Subtract 1 hour (winter time change) + /// Subtract 1 hour (winter time change) SUB1H: u1, - /// Backup + /// Backup BKP: u1, - /// Calibration output selection - COSEL: packed union { - raw: u1, - value: COSEL, - }, - /// Output polarity - POL: packed union { - raw: u1, - value: POL, - }, - /// Output selection - OSEL: packed union { - raw: u2, - value: OSEL, - }, - /// Calibration output enable + /// Calibration output selection + COSEL: COSEL, + /// Output polarity + POL: POL, + /// Output selection + OSEL: OSEL, + /// Calibration output enable COE: u1, padding: u8, }), - /// Initialization and status register + /// Initialization and status register ISR: mmio.Mmio(packed struct(u32) { - /// Alarm write enabled + /// Alarm write enabled ALRWF: u1, reserved2: u1, - /// Wakeup timer write enabled + /// Wakeup timer write enabled WUTWF: u1, - /// Shift operation pending + /// Shift operation pending SHPF: u1, - /// Initialization status flag + /// Initialization status flag INITS: u1, - /// Registers synchronization flag + /// Registers synchronization flag RSF: u1, - /// Initialization flag + /// Initialization flag INITF: u1, - /// Enter Initialization mode + /// Enter Initialization mode INIT: u1, - /// Alarm flag + /// Alarm flag ALRF: u1, reserved10: u1, - /// Wakeup timer flag + /// Wakeup timer flag WUTF: u1, - /// Timestamp flag + /// Timestamp flag TSF: u1, - /// Timestamp overflow flag + /// Timestamp overflow flag TSOVF: u1, - /// Tamper detection flag + /// Tamper detection flag TAMPF: u1, reserved16: u2, - /// Recalibration pending flag - RECALPF: packed union { - raw: u1, - value: RECALPF, - }, + /// Recalibration pending flag + RECALPF: RECALPF, padding: u15, }), - /// Prescaler register + /// Prescaler register PRER: mmio.Mmio(packed struct(u32) { - /// Synchronous prescaler factor + /// Synchronous prescaler factor PREDIV_S: u15, reserved16: u1, - /// Asynchronous prescaler factor + /// Asynchronous prescaler factor PREDIV_A: u7, padding: u9, }), - /// Wakeup timer register + /// Wakeup timer register WUTR: mmio.Mmio(packed struct(u32) { - /// Wakeup auto-reload value bits + /// Wakeup auto-reload value bits WUT: u16, padding: u16, }), reserved28: [4]u8, - /// Alarm register + /// Alarm register ALRMR: [2]mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, - /// Alarm seconds mask - MSK1: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Minute units in BCD format + /// Alarm seconds mask + MSK1: ALRMR_MSK, + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, - /// Alarm minutes mask - MSK2: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Hour units in BCD format + /// Alarm minutes mask + MSK2: ALRMR_MSK, + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: ALRMR_PM, - }, - /// Alarm hours mask - MSK3: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Date units or day in BCD format + /// AM/PM notation + PM: ALRMR_PM, + /// Alarm hours mask + MSK3: ALRMR_MSK, + /// Date units or day in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, - /// Week day selection - WDSEL: packed union { - raw: u1, - value: ALRMR_WDSEL, - }, - /// Alarm date mask - MSK4: packed union { - raw: u1, - value: ALRMR_MSK, - }, - }), - /// Write protection register + /// Week day selection + WDSEL: ALRMR_WDSEL, + /// Alarm date mask + MSK4: ALRMR_MSK, + }), + /// Write protection register WPR: mmio.Mmio(packed struct(u32) { - /// Write protection key + /// Write protection key KEY: u8, padding: u24, }), - /// Sub second register + /// Sub second register SSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Shift control register + /// Shift control register SHIFTR: mmio.Mmio(packed struct(u32) { - /// Subtract a fraction of a second + /// Subtract a fraction of a second SUBFS: u15, reserved31: u16, - /// Add one second + /// Add one second ADD1S: u1, }), - /// Timestamp time register + /// Timestamp time register TSTR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Timestamp date register + /// Timestamp date register TSDR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, padding: u16, }), - /// Timestamp sub second register + /// Timestamp sub second register TSSSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Calibration register + /// Calibration register CALR: mmio.Mmio(packed struct(u32) { - /// Calibration minus + /// Calibration minus CALM: u9, reserved13: u4, - /// Use a 16-second calibration cycle period - CALW16: packed union { - raw: u1, - value: CALW16, - }, - /// Use an 8-second calibration cycle period - CALW8: packed union { - raw: u1, - value: CALW8, - }, - /// Increase frequency of RTC by 488.5 ppm - CALP: packed union { - raw: u1, - value: CALP, - }, + /// Use a 16-second calibration cycle period + CALW16: CALW16, + /// Use an 8-second calibration cycle period + CALW8: CALW8, + /// Increase frequency of RTC by 488.5 ppm + CALP: CALP, padding: u16, }), - /// Tamper and alternate function configuration register + /// Tamper and alternate function configuration register TAFCR: mmio.Mmio(packed struct(u32) { - /// Tamper detection enable + /// Tamper detection enable TAMPE: u1, - /// Active level for tamper - TAMPTRG: packed union { - raw: u1, - value: TAMPTRG, - }, - /// Tamper interrupt enable + /// Active level for tamper + TAMPTRG: TAMPTRG, + /// Tamper interrupt enable TAMPIE: u1, reserved7: u4, - /// Activate timestamp on tamper detection event + /// Activate timestamp on tamper detection event TAMPTS: u1, - /// Tamper sampling frequency - TAMPFREQ: packed union { - raw: u3, - value: TAMPFREQ, - }, - /// Tamper filter count - TAMPFLT: packed union { - raw: u2, - value: TAMPFLT, - }, - /// Tamper precharge duration - TAMPPRCH: packed union { - raw: u2, - value: TAMPPRCH, - }, - /// Tamper pull-up disable - TAMPPUDIS: packed union { - raw: u1, - value: TAMPPUDIS, - }, + /// Tamper sampling frequency + TAMPFREQ: TAMPFREQ, + /// Tamper filter count + TAMPFLT: TAMPFLT, + /// Tamper precharge duration + TAMPPRCH: TAMPPRCH, + /// Tamper pull-up disable + TAMPPUDIS: TAMPPUDIS, reserved18: u2, - /// PC13 value - PC13VALUE: packed union { - raw: u1, - value: PCVALUE, - }, - /// PC13 mode - PC13MODE: packed union { - raw: u1, - value: PCMODE, - }, - /// PC14 value - PC14VALUE: packed union { - raw: u1, - value: PCVALUE, - }, - /// PC14 mode - PC14MODE: packed union { - raw: u1, - value: PCMODE, - }, - /// PC15 value - PC15VALUE: packed union { - raw: u1, - value: PCVALUE, - }, - /// PC15 mode - PC15MODE: packed union { - raw: u1, - value: PCMODE, - }, + /// PC13 value + PC13VALUE: PCVALUE, + /// PC13 mode + PC13MODE: PCMODE, + /// PC14 value + PC14VALUE: PCVALUE, + /// PC14 mode + PC14MODE: PCMODE, + /// PC15 value + PC15VALUE: PCVALUE, + /// PC15 mode + PC15MODE: PCMODE, padding: u8, }), - /// Alarm sub second register + /// Alarm sub second register ALRMSSR: [2]mmio.Mmio(packed struct(u32) { - /// Sub seconds value + /// Sub seconds value SS: u15, reserved24: u9, - /// Mask the most-significant bits starting at this bit + /// Mask the most-significant bits starting at this bit MASKSS: u4, padding: u4, }), reserved80: [4]u8, - /// Backup register + /// Backup register BKPR: [32]mmio.Mmio(packed struct(u32) { - /// BKP + /// BKP BKP: u32, }), }; @@ -416102,524 +407582,455 @@ pub const types = struct { pub const rtc_v2f4 = struct { pub const ALRMR_MSK = enum(u1) { - /// Alarm set if the date/day match + /// Alarm set if the date/day match ToMatch = 0x0, - /// Date/day don’t care in Alarm comparison + /// Date/day don’t care in Alarm comparison NotMatch = 0x1, }; pub const ALRMR_PM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const ALRMR_WDSEL = enum(u1) { - /// DU[3:0] represents the date units + /// DU[3:0] represents the date units DateUnits = 0x0, - /// DU[3:0] represents the week day. DT[1:0] is don’t care + /// DU[3:0] represents the week day. DT[1:0] is don’t care WeekDay = 0x1, }; pub const AMPM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const CALP = enum(u1) { - /// No RTCCLK pulses are added + /// No RTCCLK pulses are added NoChange = 0x0, - /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) + /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) IncreaseFreq = 0x1, }; pub const CALW16 = enum(u1) { - /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 + /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 Sixteen_Second = 0x1, _, }; pub const CALW8 = enum(u1) { - /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected + /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected Eight_Second = 0x1, _, }; pub const COSEL = enum(u1) { - /// Calibration output is 512 Hz (with default prescaler setting) + /// Calibration output is 512 Hz (with default prescaler setting) CalFreq_512Hz = 0x0, - /// Calibration output is 1 Hz (with default prescaler setting) + /// Calibration output is 1 Hz (with default prescaler setting) CalFreq_1Hz = 0x1, }; pub const FMT = enum(u1) { - /// 24 hour/day format + /// 24 hour/day format Twenty_Four_Hour = 0x0, - /// AM/PM hour format + /// AM/PM hour format AM_PM = 0x1, }; pub const OSEL = enum(u2) { - /// Output disabled + /// Output disabled Disabled = 0x0, - /// Alarm A output enabled + /// Alarm A output enabled AlarmA = 0x1, - /// Alarm B output enabled + /// Alarm B output enabled AlarmB = 0x2, - /// Wakeup output enabled + /// Wakeup output enabled Wakeup = 0x3, }; pub const POL = enum(u1) { - /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) High = 0x0, - /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) Low = 0x1, }; pub const RECALPF = enum(u1) { - /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 + /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 Pending = 0x1, _, }; pub const TAMPFLT = enum(u2) { - /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) + /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) Immediate = 0x0, - /// Tamper event is activated after 2 consecutive samples at the active level + /// Tamper event is activated after 2 consecutive samples at the active level Samples2 = 0x1, - /// Tamper event is activated after 4 consecutive samples at the active level + /// Tamper event is activated after 4 consecutive samples at the active level Samples4 = 0x2, - /// Tamper event is activated after 8 consecutive samples at the active level + /// Tamper event is activated after 8 consecutive samples at the active level Samples8 = 0x3, }; pub const TAMPFREQ = enum(u3) { - /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) Div32768 = 0x0, - /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) Div16384 = 0x1, - /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) Div8192 = 0x2, - /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) Div4096 = 0x3, - /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) Div2048 = 0x4, - /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) Div1024 = 0x5, - /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) Div512 = 0x6, - /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) Div256 = 0x7, }; pub const TAMPPRCH = enum(u2) { - /// 1 RTCCLK cycle + /// 1 RTCCLK cycle Cycles1 = 0x0, - /// 2 RTCCLK cycles + /// 2 RTCCLK cycles Cycles2 = 0x1, - /// 4 RTCCLK cycles + /// 4 RTCCLK cycles Cycles4 = 0x2, - /// 8 RTCCLK cycles + /// 8 RTCCLK cycles Cycles8 = 0x3, }; pub const TAMPPUDIS = enum(u1) { - /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) + /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) Enabled = 0x0, - /// Disable precharge of RTC_TAMPx pins + /// Disable precharge of RTC_TAMPx pins Disabled = 0x1, }; pub const TAMPTRG = enum(u1) { - /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. + /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. RisingEdge = 0x0, - /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event + /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event FallingEdge = 0x1, }; pub const TSEDGE = enum(u1) { - /// RTC_TS input rising edge generates a time-stamp event + /// RTC_TS input rising edge generates a time-stamp event RisingEdge = 0x0, - /// RTC_TS input falling edge generates a time-stamp event + /// RTC_TS input falling edge generates a time-stamp event FallingEdge = 0x1, }; pub const WUCKSEL = enum(u3) { - /// RTC/16 clock is selected + /// RTC/16 clock is selected Div16 = 0x0, - /// RTC/8 clock is selected + /// RTC/8 clock is selected Div8 = 0x1, - /// RTC/4 clock is selected + /// RTC/4 clock is selected Div4 = 0x2, - /// RTC/2 clock is selected + /// RTC/2 clock is selected Div2 = 0x3, - /// ck_spre (usually 1 Hz) clock is selected + /// ck_spre (usually 1 Hz) clock is selected ClockSpare = 0x4, - /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value + /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value ClockSpareWithOffset = 0x6, _, }; - /// Real-time clock + /// Real-time clock pub const RTC = extern struct { - /// Time register + /// Time register TR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Date register + /// Date register DR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, - /// Year units in BCD format + /// Year units in BCD format YU: u4, - /// Year tens in BCD format + /// Year tens in BCD format YT: u4, padding: u8, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Wakeup clock selection - WUCKSEL: packed union { - raw: u3, - value: WUCKSEL, - }, - /// Timestamp event active edge - TSEDGE: packed union { - raw: u1, - value: TSEDGE, - }, - /// Reference clock detection enable (50 or 60 Hz) + /// Wakeup clock selection + WUCKSEL: WUCKSEL, + /// Timestamp event active edge + TSEDGE: TSEDGE, + /// Reference clock detection enable (50 or 60 Hz) REFCKON: u1, - /// Bypass the shadow registers + /// Bypass the shadow registers BYPSHAD: u1, - /// Hour format - FMT: packed union { - raw: u1, - value: FMT, - }, - /// Coarse digital calibration enable + /// Hour format + FMT: FMT, + /// Coarse digital calibration enable DCE: u1, - /// Alarm enable + /// Alarm enable ALRE: u1, reserved10: u1, - /// Wakeup timer enable + /// Wakeup timer enable WUTE: u1, - /// Timestamp enable + /// Timestamp enable TSE: u1, - /// Alarm interrupt enable + /// Alarm interrupt enable ALRIE: u1, reserved14: u1, - /// Wakeup timer interrupt enable + /// Wakeup timer interrupt enable WUTIE: u1, - /// Timestamp interrupt enable + /// Timestamp interrupt enable TSIE: u1, - /// Add 1 hour (summer time change) + /// Add 1 hour (summer time change) ADD1H: u1, - /// Subtract 1 hour (winter time change) + /// Subtract 1 hour (winter time change) SUB1H: u1, - /// Backup + /// Backup BKP: u1, - /// Calibration output selection - COSEL: packed union { - raw: u1, - value: COSEL, - }, - /// Output polarity - POL: packed union { - raw: u1, - value: POL, - }, - /// Output selection - OSEL: packed union { - raw: u2, - value: OSEL, - }, - /// Calibration output enable + /// Calibration output selection + COSEL: COSEL, + /// Output polarity + POL: POL, + /// Output selection + OSEL: OSEL, + /// Calibration output enable COE: u1, padding: u8, }), - /// Initialization and status register + /// Initialization and status register ISR: mmio.Mmio(packed struct(u32) { - /// Alarm write allowed + /// Alarm write allowed ALRWF: u1, reserved2: u1, - /// Wakeup timer write allowed + /// Wakeup timer write allowed WUTWF: u1, - /// Shift operation pending + /// Shift operation pending SHPF: u1, - /// Initialization status flag + /// Initialization status flag INITS: u1, - /// Registers synchronization flag + /// Registers synchronization flag RSF: u1, - /// Initialization flag + /// Initialization flag INITF: u1, - /// Enter Initialization mode + /// Enter Initialization mode INIT: u1, - /// Alarm flag + /// Alarm flag ALRF: u1, reserved10: u1, - /// Wakeup timer flag + /// Wakeup timer flag WUTF: u1, - /// Timestamp flag + /// Timestamp flag TSF: u1, - /// Timestamp overflow flag + /// Timestamp overflow flag TSOVF: u1, - /// Tamper detection flag + /// Tamper detection flag TAMPF: u1, reserved16: u2, - /// Recalibration pending flag - RECALPF: packed union { - raw: u1, - value: RECALPF, - }, + /// Recalibration pending flag + RECALPF: RECALPF, padding: u15, }), - /// Prescaler register + /// Prescaler register PRER: mmio.Mmio(packed struct(u32) { - /// Synchronous prescaler factor + /// Synchronous prescaler factor PREDIV_S: u15, reserved16: u1, - /// Asynchronous prescaler factor + /// Asynchronous prescaler factor PREDIV_A: u7, padding: u9, }), - /// Wakeup timer register + /// Wakeup timer register WUTR: mmio.Mmio(packed struct(u32) { - /// Wakeup auto-reload value bits + /// Wakeup auto-reload value bits WUT: u16, padding: u16, }), - /// Calibration register + /// Calibration register CALIBR: mmio.Mmio(packed struct(u32) { - /// Digital calibration + /// Digital calibration DC: u5, reserved7: u2, - /// Digital calibration sign + /// Digital calibration sign DCS: u1, padding: u24, }), - /// Alarm register + /// Alarm register ALRMR: [2]mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, - /// Alarm seconds mask - MSK1: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Minute units in BCD format + /// Alarm seconds mask + MSK1: ALRMR_MSK, + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, - /// Alarm minutes mask - MSK2: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Hour units in BCD format + /// Alarm minutes mask + MSK2: ALRMR_MSK, + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: ALRMR_PM, - }, - /// Alarm hours mask - MSK3: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Date units or day in BCD format + /// AM/PM notation + PM: ALRMR_PM, + /// Alarm hours mask + MSK3: ALRMR_MSK, + /// Date units or day in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, - /// Week day selection - WDSEL: packed union { - raw: u1, - value: ALRMR_WDSEL, - }, - /// Alarm date mask - MSK4: packed union { - raw: u1, - value: ALRMR_MSK, - }, - }), - /// Write protection register + /// Week day selection + WDSEL: ALRMR_WDSEL, + /// Alarm date mask + MSK4: ALRMR_MSK, + }), + /// Write protection register WPR: mmio.Mmio(packed struct(u32) { - /// Write protection key + /// Write protection key KEY: u8, padding: u24, }), - /// Sub second register + /// Sub second register SSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Shift control register + /// Shift control register SHIFTR: mmio.Mmio(packed struct(u32) { - /// Subtract a fraction of a second + /// Subtract a fraction of a second SUBFS: u15, reserved31: u16, - /// Add one second + /// Add one second ADD1S: u1, }), - /// Timestamp time register + /// Timestamp time register TSTR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Timestamp date register + /// Timestamp date register TSDR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, padding: u16, }), - /// Timestamp sub second register + /// Timestamp sub second register TSSSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Calibration register + /// Calibration register CALR: mmio.Mmio(packed struct(u32) { - /// Calibration minus + /// Calibration minus CALM: u9, reserved13: u4, - /// Use a 16-second calibration cycle period - CALW16: packed union { - raw: u1, - value: CALW16, - }, - /// Use an 8-second calibration cycle period - CALW8: packed union { - raw: u1, - value: CALW8, - }, - /// Increase frequency of RTC by 488.5 ppm - CALP: packed union { - raw: u1, - value: CALP, - }, + /// Use a 16-second calibration cycle period + CALW16: CALW16, + /// Use an 8-second calibration cycle period + CALW8: CALW8, + /// Increase frequency of RTC by 488.5 ppm + CALP: CALP, padding: u16, }), - /// Tamper and alternate function configuration register + /// Tamper and alternate function configuration register TAFCR: mmio.Mmio(packed struct(u32) { - /// Tamper detection enable + /// Tamper detection enable TAMPE: u1, - /// Active level for tamper - TAMPTRG: packed union { - raw: u1, - value: TAMPTRG, - }, - /// Tamper interrupt enable + /// Active level for tamper + TAMPTRG: TAMPTRG, + /// Tamper interrupt enable TAMPIE: u1, reserved7: u4, - /// Activate timestamp on tamper detection event + /// Activate timestamp on tamper detection event TAMPTS: u1, - /// Tamper sampling frequency - TAMPFREQ: packed union { - raw: u3, - value: TAMPFREQ, - }, - /// Tamper filter count - TAMPFLT: packed union { - raw: u2, - value: TAMPFLT, - }, - /// Tamper precharge duration - TAMPPRCH: packed union { - raw: u2, - value: TAMPPRCH, - }, - /// Tamper pull-up disable - TAMPPUDIS: packed union { - raw: u1, - value: TAMPPUDIS, - }, - /// Tamper 1 mapping + /// Tamper sampling frequency + TAMPFREQ: TAMPFREQ, + /// Tamper filter count + TAMPFLT: TAMPFLT, + /// Tamper precharge duration + TAMPPRCH: TAMPPRCH, + /// Tamper pull-up disable + TAMPPUDIS: TAMPPUDIS, + /// Tamper 1 mapping TAMP1INSEL: u1, - /// Timestamp mapping + /// Timestamp mapping TSINSEL: u1, - /// AFO_ALARM output type + /// AFO_ALARM output type ALARMOUTTYPE: u1, padding: u13, }), - /// Alarm sub second register + /// Alarm sub second register ALRMSSR: [2]mmio.Mmio(packed struct(u32) { - /// Sub seconds value + /// Sub seconds value SS: u15, reserved24: u9, - /// Mask the most-significant bits starting at this bit + /// Mask the most-significant bits starting at this bit MASKSS: u4, padding: u4, }), reserved80: [4]u8, - /// Backup register + /// Backup register BKPR: [20]mmio.Mmio(packed struct(u32) { - /// BKP + /// BKP BKP: u32, }), }; @@ -416627,527 +408038,458 @@ pub const types = struct { pub const rtc_v2f7 = struct { pub const ALRMR_MSK = enum(u1) { - /// Alarm set if the date/day match + /// Alarm set if the date/day match ToMatch = 0x0, - /// Date/day don’t care in Alarm comparison + /// Date/day don’t care in Alarm comparison NotMatch = 0x1, }; pub const ALRMR_PM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const ALRMR_WDSEL = enum(u1) { - /// DU[3:0] represents the date units + /// DU[3:0] represents the date units DateUnits = 0x0, - /// DU[3:0] represents the week day. DT[1:0] is don’t care + /// DU[3:0] represents the week day. DT[1:0] is don’t care WeekDay = 0x1, }; pub const AMPM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const CALP = enum(u1) { - /// No RTCCLK pulses are added + /// No RTCCLK pulses are added NoChange = 0x0, - /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) + /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) IncreaseFreq = 0x1, }; pub const CALW16 = enum(u1) { - /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 + /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 Sixteen_Second = 0x1, _, }; pub const CALW8 = enum(u1) { - /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected + /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected Eight_Second = 0x1, _, }; pub const COSEL = enum(u1) { - /// Calibration output is 512 Hz (with default prescaler setting) + /// Calibration output is 512 Hz (with default prescaler setting) CalFreq_512Hz = 0x0, - /// Calibration output is 1 Hz (with default prescaler setting) + /// Calibration output is 1 Hz (with default prescaler setting) CalFreq_1Hz = 0x1, }; pub const FMT = enum(u1) { - /// 24 hour/day format + /// 24 hour/day format Twenty_Four_Hour = 0x0, - /// AM/PM hour format + /// AM/PM hour format AM_PM = 0x1, }; pub const OSEL = enum(u2) { - /// Output disabled + /// Output disabled Disabled = 0x0, - /// Alarm A output enabled + /// Alarm A output enabled AlarmA = 0x1, - /// Alarm B output enabled + /// Alarm B output enabled AlarmB = 0x2, - /// Wakeup output enabled + /// Wakeup output enabled Wakeup = 0x3, }; pub const POL = enum(u1) { - /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) High = 0x0, - /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) Low = 0x1, }; pub const RECALPF = enum(u1) { - /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 + /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 Pending = 0x1, _, }; pub const TAMPFLT = enum(u2) { - /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) + /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) Immediate = 0x0, - /// Tamper event is activated after 2 consecutive samples at the active level + /// Tamper event is activated after 2 consecutive samples at the active level Samples2 = 0x1, - /// Tamper event is activated after 4 consecutive samples at the active level + /// Tamper event is activated after 4 consecutive samples at the active level Samples4 = 0x2, - /// Tamper event is activated after 8 consecutive samples at the active level + /// Tamper event is activated after 8 consecutive samples at the active level Samples8 = 0x3, }; pub const TAMPFREQ = enum(u3) { - /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) Div32768 = 0x0, - /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) Div16384 = 0x1, - /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) Div8192 = 0x2, - /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) Div4096 = 0x3, - /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) Div2048 = 0x4, - /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) Div1024 = 0x5, - /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) Div512 = 0x6, - /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) Div256 = 0x7, }; pub const TAMPPRCH = enum(u2) { - /// 1 RTCCLK cycle + /// 1 RTCCLK cycle Cycles1 = 0x0, - /// 2 RTCCLK cycles + /// 2 RTCCLK cycles Cycles2 = 0x1, - /// 4 RTCCLK cycles + /// 4 RTCCLK cycles Cycles4 = 0x2, - /// 8 RTCCLK cycles + /// 8 RTCCLK cycles Cycles8 = 0x3, }; pub const TAMPPUDIS = enum(u1) { - /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) + /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) Enabled = 0x0, - /// Disable precharge of RTC_TAMPx pins + /// Disable precharge of RTC_TAMPx pins Disabled = 0x1, }; pub const TAMPTRG = enum(u1) { - /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. + /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. RisingEdge = 0x0, - /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event + /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event FallingEdge = 0x1, }; pub const TSEDGE = enum(u1) { - /// RTC_TS input rising edge generates a time-stamp event + /// RTC_TS input rising edge generates a time-stamp event RisingEdge = 0x0, - /// RTC_TS input falling edge generates a time-stamp event + /// RTC_TS input falling edge generates a time-stamp event FallingEdge = 0x1, }; pub const WUCKSEL = enum(u3) { - /// RTC/16 clock is selected + /// RTC/16 clock is selected Div16 = 0x0, - /// RTC/8 clock is selected + /// RTC/8 clock is selected Div8 = 0x1, - /// RTC/4 clock is selected + /// RTC/4 clock is selected Div4 = 0x2, - /// RTC/2 clock is selected + /// RTC/2 clock is selected Div2 = 0x3, - /// ck_spre (usually 1 Hz) clock is selected + /// ck_spre (usually 1 Hz) clock is selected ClockSpare = 0x4, - /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value + /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value ClockSpareWithOffset = 0x6, _, }; - /// Real-time clock + /// Real-time clock pub const RTC = extern struct { - /// Time register + /// Time register TR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Date register + /// Date register DR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, - /// Year units in BCD format + /// Year units in BCD format YU: u4, - /// Year tens in BCD format + /// Year tens in BCD format YT: u4, padding: u8, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Wakeup clock selection - WUCKSEL: packed union { - raw: u3, - value: WUCKSEL, - }, - /// Timestamp event active edge - TSEDGE: packed union { - raw: u1, - value: TSEDGE, - }, - /// Reference clock detection enable (50 or 60 Hz) + /// Wakeup clock selection + WUCKSEL: WUCKSEL, + /// Timestamp event active edge + TSEDGE: TSEDGE, + /// Reference clock detection enable (50 or 60 Hz) REFCKON: u1, - /// Bypass the shadow registers + /// Bypass the shadow registers BYPSHAD: u1, - /// Hour format - FMT: packed union { - raw: u1, - value: FMT, - }, + /// Hour format + FMT: FMT, reserved8: u1, - /// Alarm enable + /// Alarm enable ALRE: u1, reserved10: u1, - /// Wakeup timer enable + /// Wakeup timer enable WUTE: u1, - /// Timestamp enable + /// Timestamp enable TSE: u1, - /// Alarm interrupt enable + /// Alarm interrupt enable ALRIE: u1, reserved14: u1, - /// Wakeup timer interrupt enable + /// Wakeup timer interrupt enable WUTIE: u1, - /// Timestamp interrupt enable + /// Timestamp interrupt enable TSIE: u1, - /// Add 1 hour (summer time change) + /// Add 1 hour (summer time change) ADD1H: u1, - /// Subtract 1 hour (winter time change) + /// Subtract 1 hour (winter time change) SUB1H: u1, - /// Backup + /// Backup BKP: u1, - /// Calibration output selection - COSEL: packed union { - raw: u1, - value: COSEL, - }, - /// Output polarity - POL: packed union { - raw: u1, - value: POL, - }, - /// Output selection - OSEL: packed union { - raw: u2, - value: OSEL, - }, - /// Calibration output enable + /// Calibration output selection + COSEL: COSEL, + /// Output polarity + POL: POL, + /// Output selection + OSEL: OSEL, + /// Calibration output enable COE: u1, - /// Timestamp on internal event enable + /// Timestamp on internal event enable ITSE: u1, padding: u7, }), - /// Initialization and status register + /// Initialization and status register ISR: mmio.Mmio(packed struct(u32) { - /// Alarm write enabled + /// Alarm write enabled ALRWF: u1, reserved2: u1, - /// Wakeup timer write enabled + /// Wakeup timer write enabled WUTWF: u1, - /// Shift operation pending + /// Shift operation pending SHPF: u1, - /// Initialization status flag + /// Initialization status flag INITS: u1, - /// Registers synchronization flag + /// Registers synchronization flag RSF: u1, - /// Initialization flag + /// Initialization flag INITF: u1, - /// Enter Initialization mode + /// Enter Initialization mode INIT: u1, - /// Alarm flag + /// Alarm flag ALRF: u1, reserved10: u1, - /// Wakeup timer flag + /// Wakeup timer flag WUTF: u1, - /// Timestamp flag + /// Timestamp flag TSF: u1, - /// Timestamp overflow flag + /// Timestamp overflow flag TSOVF: u1, - /// Tamper detection flag + /// Tamper detection flag TAMPF: u1, reserved16: u2, - /// Recalibration pending flag - RECALPF: packed union { - raw: u1, - value: RECALPF, - }, - /// Internal time-stamp flag + /// Recalibration pending flag + RECALPF: RECALPF, + /// Internal time-stamp flag ITSF: u1, padding: u14, }), - /// Prescaler register + /// Prescaler register PRER: mmio.Mmio(packed struct(u32) { - /// Synchronous prescaler factor + /// Synchronous prescaler factor PREDIV_S: u15, reserved16: u1, - /// Asynchronous prescaler factor + /// Asynchronous prescaler factor PREDIV_A: u7, padding: u9, }), - /// Wakeup timer register + /// Wakeup timer register WUTR: mmio.Mmio(packed struct(u32) { - /// Wakeup auto-reload value bits + /// Wakeup auto-reload value bits WUT: u16, padding: u16, }), reserved28: [4]u8, - /// Alarm register + /// Alarm register ALRMR: [2]mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, - /// Alarm seconds mask - MSK1: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Minute units in BCD format + /// Alarm seconds mask + MSK1: ALRMR_MSK, + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, - /// Alarm minutes mask - MSK2: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Hour units in BCD format + /// Alarm minutes mask + MSK2: ALRMR_MSK, + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: ALRMR_PM, - }, - /// Alarm hours mask - MSK3: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Date units or day in BCD format + /// AM/PM notation + PM: ALRMR_PM, + /// Alarm hours mask + MSK3: ALRMR_MSK, + /// Date units or day in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, - /// Week day selection - WDSEL: packed union { - raw: u1, - value: ALRMR_WDSEL, - }, - /// Alarm date mask - MSK4: packed union { - raw: u1, - value: ALRMR_MSK, - }, - }), - /// Write protection register + /// Week day selection + WDSEL: ALRMR_WDSEL, + /// Alarm date mask + MSK4: ALRMR_MSK, + }), + /// Write protection register WPR: mmio.Mmio(packed struct(u32) { - /// Write protection key + /// Write protection key KEY: u8, padding: u24, }), - /// Sub second register + /// Sub second register SSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Shift control register + /// Shift control register SHIFTR: mmio.Mmio(packed struct(u32) { - /// Subtract a fraction of a second + /// Subtract a fraction of a second SUBFS: u15, reserved31: u16, - /// Add one second + /// Add one second ADD1S: u1, }), - /// Timestamp time register + /// Timestamp time register TSTR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Timestamp date register + /// Timestamp date register TSDR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, padding: u16, }), - /// Timestamp sub second register + /// Timestamp sub second register TSSSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Calibration register + /// Calibration register CALR: mmio.Mmio(packed struct(u32) { - /// Calibration minus + /// Calibration minus CALM: u9, reserved13: u4, - /// Use a 16-second calibration cycle period - CALW16: packed union { - raw: u1, - value: CALW16, - }, - /// Use an 8-second calibration cycle period - CALW8: packed union { - raw: u1, - value: CALW8, - }, - /// Increase frequency of RTC by 488.5 ppm - CALP: packed union { - raw: u1, - value: CALP, - }, + /// Use a 16-second calibration cycle period + CALW16: CALW16, + /// Use an 8-second calibration cycle period + CALW8: CALW8, + /// Increase frequency of RTC by 488.5 ppm + CALP: CALP, padding: u16, }), - /// Tamper configuration register + /// Tamper configuration register TAMPCR: mmio.Mmio(packed struct(u32) { - /// Tamper detection enable + /// Tamper detection enable TAMPE: u1, - /// Active level for tamper - TAMPTRG: packed union { - raw: u1, - value: TAMPTRG, - }, - /// Tamper interrupt enable + /// Active level for tamper + TAMPTRG: TAMPTRG, + /// Tamper interrupt enable TAMPIE: u1, reserved7: u4, - /// Activate timestamp on tamper detection event + /// Activate timestamp on tamper detection event TAMPTS: u1, - /// Tamper sampling frequency - TAMPFREQ: packed union { - raw: u3, - value: TAMPFREQ, - }, - /// Tamper filter count - TAMPFLT: packed union { - raw: u2, - value: TAMPFLT, - }, - /// Tamper precharge duration - TAMPPRCH: packed union { - raw: u2, - value: TAMPPRCH, - }, - /// Tamper pull-up disable - TAMPPUDIS: packed union { - raw: u1, - value: TAMPPUDIS, - }, - /// Tamper interrupt enable + /// Tamper sampling frequency + TAMPFREQ: TAMPFREQ, + /// Tamper filter count + TAMPFLT: TAMPFLT, + /// Tamper precharge duration + TAMPPRCH: TAMPPRCH, + /// Tamper pull-up disable + TAMPPUDIS: TAMPPUDIS, + /// Tamper interrupt enable TAMPXIE: u1, - /// Tamper no erase + /// Tamper no erase TAMPXNOERASE: u1, - /// Tamper mask flag + /// Tamper mask flag TAMPXMF: u1, padding: u13, }), - /// Alarm sub second register + /// Alarm sub second register ALRMSSR: [2]mmio.Mmio(packed struct(u32) { - /// Sub seconds value + /// Sub seconds value SS: u15, reserved24: u9, - /// Mask the most-significant bits starting at this bit + /// Mask the most-significant bits starting at this bit MASKSS: u4, padding: u4, }), - /// Option register + /// Option register OR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Timestamp mapping + /// Timestamp mapping TSINSEL: u2, - /// RTC_ALARM on PC13 output type + /// RTC_ALARM on PC13 output type RTC_ALARM_TYPE: u1, padding: u28, }), - /// Backup register + /// Backup register BKPR: [32]mmio.Mmio(packed struct(u32) { - /// BKP + /// BKP BKP: u32, }), }; @@ -417155,526 +408497,457 @@ pub const types = struct { pub const rtc_v2h7 = struct { pub const ALRMR_MSK = enum(u1) { - /// Alarm set if the date/day match + /// Alarm set if the date/day match ToMatch = 0x0, - /// Date/day don’t care in Alarm comparison + /// Date/day don’t care in Alarm comparison NotMatch = 0x1, }; pub const ALRMR_PM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const ALRMR_WDSEL = enum(u1) { - /// DU[3:0] represents the date units + /// DU[3:0] represents the date units DateUnits = 0x0, - /// DU[3:0] represents the week day. DT[1:0] is don’t care + /// DU[3:0] represents the week day. DT[1:0] is don’t care WeekDay = 0x1, }; pub const AMPM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const CALP = enum(u1) { - /// No RTCCLK pulses are added + /// No RTCCLK pulses are added NoChange = 0x0, - /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) + /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) IncreaseFreq = 0x1, }; pub const CALW16 = enum(u1) { - /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 + /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 Sixteen_Second = 0x1, _, }; pub const CALW8 = enum(u1) { - /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected + /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected Eight_Second = 0x1, _, }; pub const COSEL = enum(u1) { - /// Calibration output is 512 Hz (with default prescaler setting) + /// Calibration output is 512 Hz (with default prescaler setting) CalFreq_512Hz = 0x0, - /// Calibration output is 1 Hz (with default prescaler setting) + /// Calibration output is 1 Hz (with default prescaler setting) CalFreq_1Hz = 0x1, }; pub const FMT = enum(u1) { - /// 24 hour/day format + /// 24 hour/day format Twenty_Four_Hour = 0x0, - /// AM/PM hour format + /// AM/PM hour format AM_PM = 0x1, }; pub const OSEL = enum(u2) { - /// Output disabled + /// Output disabled Disabled = 0x0, - /// Alarm A output enabled + /// Alarm A output enabled AlarmA = 0x1, - /// Alarm B output enabled + /// Alarm B output enabled AlarmB = 0x2, - /// Wakeup output enabled + /// Wakeup output enabled Wakeup = 0x3, }; pub const POL = enum(u1) { - /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) High = 0x0, - /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) Low = 0x1, }; pub const RECALPF = enum(u1) { - /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 + /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 Pending = 0x1, _, }; pub const TAMPFLT = enum(u2) { - /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) + /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) Immediate = 0x0, - /// Tamper event is activated after 2 consecutive samples at the active level + /// Tamper event is activated after 2 consecutive samples at the active level Samples2 = 0x1, - /// Tamper event is activated after 4 consecutive samples at the active level + /// Tamper event is activated after 4 consecutive samples at the active level Samples4 = 0x2, - /// Tamper event is activated after 8 consecutive samples at the active level + /// Tamper event is activated after 8 consecutive samples at the active level Samples8 = 0x3, }; pub const TAMPFREQ = enum(u3) { - /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) Div32768 = 0x0, - /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) Div16384 = 0x1, - /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) Div8192 = 0x2, - /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) Div4096 = 0x3, - /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) Div2048 = 0x4, - /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) Div1024 = 0x5, - /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) Div512 = 0x6, - /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) Div256 = 0x7, }; pub const TAMPPRCH = enum(u2) { - /// 1 RTCCLK cycle + /// 1 RTCCLK cycle Cycles1 = 0x0, - /// 2 RTCCLK cycles + /// 2 RTCCLK cycles Cycles2 = 0x1, - /// 4 RTCCLK cycles + /// 4 RTCCLK cycles Cycles4 = 0x2, - /// 8 RTCCLK cycles + /// 8 RTCCLK cycles Cycles8 = 0x3, }; pub const TAMPPUDIS = enum(u1) { - /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) + /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) Enabled = 0x0, - /// Disable precharge of RTC_TAMPx pins + /// Disable precharge of RTC_TAMPx pins Disabled = 0x1, }; pub const TAMPTRG = enum(u1) { - /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. + /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. RisingEdge = 0x0, - /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event + /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event FallingEdge = 0x1, }; pub const TSEDGE = enum(u1) { - /// RTC_TS input rising edge generates a time-stamp event + /// RTC_TS input rising edge generates a time-stamp event RisingEdge = 0x0, - /// RTC_TS input falling edge generates a time-stamp event + /// RTC_TS input falling edge generates a time-stamp event FallingEdge = 0x1, }; pub const WUCKSEL = enum(u3) { - /// RTC/16 clock is selected + /// RTC/16 clock is selected Div16 = 0x0, - /// RTC/8 clock is selected + /// RTC/8 clock is selected Div8 = 0x1, - /// RTC/4 clock is selected + /// RTC/4 clock is selected Div4 = 0x2, - /// RTC/2 clock is selected + /// RTC/2 clock is selected Div2 = 0x3, - /// ck_spre (usually 1 Hz) clock is selected + /// ck_spre (usually 1 Hz) clock is selected ClockSpare = 0x4, - /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value + /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value ClockSpareWithOffset = 0x6, _, }; - /// Real-time clock + /// Real-time clock pub const RTC = extern struct { - /// Time register + /// Time register TR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Date register + /// Date register DR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, - /// Year units in BCD format + /// Year units in BCD format YU: u4, - /// Year tens in BCD format + /// Year tens in BCD format YT: u4, padding: u8, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Wakeup clock selection - WUCKSEL: packed union { - raw: u3, - value: WUCKSEL, - }, - /// Timestamp event active edge - TSEDGE: packed union { - raw: u1, - value: TSEDGE, - }, - /// Reference clock detection enable (50 or 60 Hz) + /// Wakeup clock selection + WUCKSEL: WUCKSEL, + /// Timestamp event active edge + TSEDGE: TSEDGE, + /// Reference clock detection enable (50 or 60 Hz) REFCKON: u1, - /// Bypass the shadow registers + /// Bypass the shadow registers BYPSHAD: u1, - /// Hour format - FMT: packed union { - raw: u1, - value: FMT, - }, + /// Hour format + FMT: FMT, reserved8: u1, - /// Alarm enable + /// Alarm enable ALRE: u1, reserved10: u1, - /// Wakeup timer enable + /// Wakeup timer enable WUTE: u1, - /// Timestamp enable + /// Timestamp enable TSE: u1, - /// Alarm interrupt enable + /// Alarm interrupt enable ALRIE: u1, reserved14: u1, - /// Wakeup timer interrupt enable + /// Wakeup timer interrupt enable WUTIE: u1, - /// Timestamp interrupt enable + /// Timestamp interrupt enable TSIE: u1, - /// Add 1 hour (summer time change) + /// Add 1 hour (summer time change) ADD1H: u1, - /// Subtract 1 hour (winter time change) + /// Subtract 1 hour (winter time change) SUB1H: u1, - /// Backup + /// Backup BKP: u1, - /// Calibration output selection - COSEL: packed union { - raw: u1, - value: COSEL, - }, - /// Output polarity - POL: packed union { - raw: u1, - value: POL, - }, - /// Output selection - OSEL: packed union { - raw: u2, - value: OSEL, - }, - /// Calibration output enable + /// Calibration output selection + COSEL: COSEL, + /// Output polarity + POL: POL, + /// Output selection + OSEL: OSEL, + /// Calibration output enable COE: u1, - /// Timestamp on internal event enable + /// Timestamp on internal event enable ITSE: u1, padding: u7, }), - /// Initialization and status register + /// Initialization and status register ISR: mmio.Mmio(packed struct(u32) { - /// Alarm write enabled + /// Alarm write enabled ALRWF: u1, reserved2: u1, - /// Wakeup timer write enabled + /// Wakeup timer write enabled WUTWF: u1, - /// Shift operation pending + /// Shift operation pending SHPF: u1, - /// Initialization status flag + /// Initialization status flag INITS: u1, - /// Registers synchronization flag + /// Registers synchronization flag RSF: u1, - /// Initialization flag + /// Initialization flag INITF: u1, - /// Enter Initialization mode + /// Enter Initialization mode INIT: u1, - /// Alarm flag + /// Alarm flag ALRF: u1, reserved10: u1, - /// Wakeup timer flag + /// Wakeup timer flag WUTF: u1, - /// Timestamp flag + /// Timestamp flag TSF: u1, - /// Timestamp overflow flag + /// Timestamp overflow flag TSOVF: u1, - /// Tamper detection flag + /// Tamper detection flag TAMPF: u1, reserved16: u2, - /// Recalibration pending flag - RECALPF: packed union { - raw: u1, - value: RECALPF, - }, - /// Internal time-stamp flag + /// Recalibration pending flag + RECALPF: RECALPF, + /// Internal time-stamp flag ITSF: u1, padding: u14, }), - /// Prescaler register + /// Prescaler register PRER: mmio.Mmio(packed struct(u32) { - /// Synchronous prescaler factor + /// Synchronous prescaler factor PREDIV_S: u15, reserved16: u1, - /// Asynchronous prescaler factor + /// Asynchronous prescaler factor PREDIV_A: u7, padding: u9, }), - /// Wakeup timer register + /// Wakeup timer register WUTR: mmio.Mmio(packed struct(u32) { - /// Wakeup auto-reload value bits + /// Wakeup auto-reload value bits WUT: u16, padding: u16, }), reserved28: [4]u8, - /// Alarm register + /// Alarm register ALRMR: [2]mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, - /// Alarm seconds mask - MSK1: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Minute units in BCD format + /// Alarm seconds mask + MSK1: ALRMR_MSK, + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, - /// Alarm minutes mask - MSK2: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Hour units in BCD format + /// Alarm minutes mask + MSK2: ALRMR_MSK, + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: ALRMR_PM, - }, - /// Alarm hours mask - MSK3: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Date units or day in BCD format + /// AM/PM notation + PM: ALRMR_PM, + /// Alarm hours mask + MSK3: ALRMR_MSK, + /// Date units or day in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, - /// Week day selection - WDSEL: packed union { - raw: u1, - value: ALRMR_WDSEL, - }, - /// Alarm date mask - MSK4: packed union { - raw: u1, - value: ALRMR_MSK, - }, - }), - /// Write protection register + /// Week day selection + WDSEL: ALRMR_WDSEL, + /// Alarm date mask + MSK4: ALRMR_MSK, + }), + /// Write protection register WPR: mmio.Mmio(packed struct(u32) { - /// Write protection key + /// Write protection key KEY: u8, padding: u24, }), - /// Sub second register + /// Sub second register SSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Shift control register + /// Shift control register SHIFTR: mmio.Mmio(packed struct(u32) { - /// Subtract a fraction of a second + /// Subtract a fraction of a second SUBFS: u15, reserved31: u16, - /// Add one second + /// Add one second ADD1S: u1, }), - /// Timestamp time register + /// Timestamp time register TSTR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Timestamp date register + /// Timestamp date register TSDR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, padding: u16, }), - /// Timestamp sub second register + /// Timestamp sub second register TSSSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Calibration register + /// Calibration register CALR: mmio.Mmio(packed struct(u32) { - /// Calibration minus + /// Calibration minus CALM: u9, reserved13: u4, - /// Use a 16-second calibration cycle period - CALW16: packed union { - raw: u1, - value: CALW16, - }, - /// Use an 8-second calibration cycle period - CALW8: packed union { - raw: u1, - value: CALW8, - }, - /// Increase frequency of RTC by 488.5 ppm - CALP: packed union { - raw: u1, - value: CALP, - }, + /// Use a 16-second calibration cycle period + CALW16: CALW16, + /// Use an 8-second calibration cycle period + CALW8: CALW8, + /// Increase frequency of RTC by 488.5 ppm + CALP: CALP, padding: u16, }), - /// Tamper configuration register + /// Tamper configuration register TAMPCR: mmio.Mmio(packed struct(u32) { - /// Tamper detection enable + /// Tamper detection enable TAMPE: u1, - /// Active level for tamper - TAMPTRG: packed union { - raw: u1, - value: TAMPTRG, - }, - /// Tamper interrupt enable + /// Active level for tamper + TAMPTRG: TAMPTRG, + /// Tamper interrupt enable TAMPIE: u1, reserved7: u4, - /// Activate timestamp on tamper detection event + /// Activate timestamp on tamper detection event TAMPTS: u1, - /// Tamper sampling frequency - TAMPFREQ: packed union { - raw: u3, - value: TAMPFREQ, - }, - /// Tamper filter count - TAMPFLT: packed union { - raw: u2, - value: TAMPFLT, - }, - /// Tamper precharge duration - TAMPPRCH: packed union { - raw: u2, - value: TAMPPRCH, - }, - /// Tamper pull-up disable - TAMPPUDIS: packed union { - raw: u1, - value: TAMPPUDIS, - }, - /// Tamper interrupt enable + /// Tamper sampling frequency + TAMPFREQ: TAMPFREQ, + /// Tamper filter count + TAMPFLT: TAMPFLT, + /// Tamper precharge duration + TAMPPRCH: TAMPPRCH, + /// Tamper pull-up disable + TAMPPUDIS: TAMPPUDIS, + /// Tamper interrupt enable TAMPXIE: u1, - /// Tamper no erase + /// Tamper no erase TAMPXNOERASE: u1, - /// Tamper mask flag + /// Tamper mask flag TAMPXMF: u1, padding: u13, }), - /// Alarm sub second register + /// Alarm sub second register ALRMSSR: [2]mmio.Mmio(packed struct(u32) { - /// Sub seconds value + /// Sub seconds value SS: u15, reserved24: u9, - /// Mask the most-significant bits starting at this bit + /// Mask the most-significant bits starting at this bit MASKSS: u4, padding: u4, }), - /// Option register + /// Option register OR: mmio.Mmio(packed struct(u32) { - /// RTC_ALARM output type on PC13 + /// RTC_ALARM output type on PC13 RTC_ALARM_TYPE: u1, - /// RTC_OUT remap + /// RTC_OUT remap RTC_OUT_RMP: u1, padding: u30, }), - /// Backup register + /// Backup register BKPR: [32]mmio.Mmio(packed struct(u32) { - /// BKP + /// BKP BKP: u32, }), }; @@ -417682,522 +408955,453 @@ pub const types = struct { pub const rtc_v2l0 = struct { pub const ALRMR_MSK = enum(u1) { - /// Alarm set if the date/day match + /// Alarm set if the date/day match ToMatch = 0x0, - /// Date/day don’t care in Alarm comparison + /// Date/day don’t care in Alarm comparison NotMatch = 0x1, }; pub const ALRMR_PM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const ALRMR_WDSEL = enum(u1) { - /// DU[3:0] represents the date units + /// DU[3:0] represents the date units DateUnits = 0x0, - /// DU[3:0] represents the week day. DT[1:0] is don’t care + /// DU[3:0] represents the week day. DT[1:0] is don’t care WeekDay = 0x1, }; pub const AMPM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const CALP = enum(u1) { - /// No RTCCLK pulses are added + /// No RTCCLK pulses are added NoChange = 0x0, - /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) + /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) IncreaseFreq = 0x1, }; pub const CALW16 = enum(u1) { - /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 + /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 Sixteen_Second = 0x1, _, }; pub const CALW8 = enum(u1) { - /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected + /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected Eight_Second = 0x1, _, }; pub const COSEL = enum(u1) { - /// Calibration output is 512 Hz (with default prescaler setting) + /// Calibration output is 512 Hz (with default prescaler setting) CalFreq_512Hz = 0x0, - /// Calibration output is 1 Hz (with default prescaler setting) + /// Calibration output is 1 Hz (with default prescaler setting) CalFreq_1Hz = 0x1, }; pub const FMT = enum(u1) { - /// 24 hour/day format + /// 24 hour/day format Twenty_Four_Hour = 0x0, - /// AM/PM hour format + /// AM/PM hour format AM_PM = 0x1, }; pub const OSEL = enum(u2) { - /// Output disabled + /// Output disabled Disabled = 0x0, - /// Alarm A output enabled + /// Alarm A output enabled AlarmA = 0x1, - /// Alarm B output enabled + /// Alarm B output enabled AlarmB = 0x2, - /// Wakeup output enabled + /// Wakeup output enabled Wakeup = 0x3, }; pub const POL = enum(u1) { - /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) High = 0x0, - /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) Low = 0x1, }; pub const RECALPF = enum(u1) { - /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 + /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 Pending = 0x1, _, }; pub const TAMPFLT = enum(u2) { - /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) + /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) Immediate = 0x0, - /// Tamper event is activated after 2 consecutive samples at the active level + /// Tamper event is activated after 2 consecutive samples at the active level Samples2 = 0x1, - /// Tamper event is activated after 4 consecutive samples at the active level + /// Tamper event is activated after 4 consecutive samples at the active level Samples4 = 0x2, - /// Tamper event is activated after 8 consecutive samples at the active level + /// Tamper event is activated after 8 consecutive samples at the active level Samples8 = 0x3, }; pub const TAMPFREQ = enum(u3) { - /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) Div32768 = 0x0, - /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) Div16384 = 0x1, - /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) Div8192 = 0x2, - /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) Div4096 = 0x3, - /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) Div2048 = 0x4, - /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) Div1024 = 0x5, - /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) Div512 = 0x6, - /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) Div256 = 0x7, }; pub const TAMPPRCH = enum(u2) { - /// 1 RTCCLK cycle + /// 1 RTCCLK cycle Cycles1 = 0x0, - /// 2 RTCCLK cycles + /// 2 RTCCLK cycles Cycles2 = 0x1, - /// 4 RTCCLK cycles + /// 4 RTCCLK cycles Cycles4 = 0x2, - /// 8 RTCCLK cycles + /// 8 RTCCLK cycles Cycles8 = 0x3, }; pub const TAMPPUDIS = enum(u1) { - /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) + /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) Enabled = 0x0, - /// Disable precharge of RTC_TAMPx pins + /// Disable precharge of RTC_TAMPx pins Disabled = 0x1, }; pub const TAMPTRG = enum(u1) { - /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. + /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. RisingEdge = 0x0, - /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event + /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event FallingEdge = 0x1, }; pub const TSEDGE = enum(u1) { - /// RTC_TS input rising edge generates a time-stamp event + /// RTC_TS input rising edge generates a time-stamp event RisingEdge = 0x0, - /// RTC_TS input falling edge generates a time-stamp event + /// RTC_TS input falling edge generates a time-stamp event FallingEdge = 0x1, }; pub const WUCKSEL = enum(u3) { - /// RTC/16 clock is selected + /// RTC/16 clock is selected Div16 = 0x0, - /// RTC/8 clock is selected + /// RTC/8 clock is selected Div8 = 0x1, - /// RTC/4 clock is selected + /// RTC/4 clock is selected Div4 = 0x2, - /// RTC/2 clock is selected + /// RTC/2 clock is selected Div2 = 0x3, - /// ck_spre (usually 1 Hz) clock is selected + /// ck_spre (usually 1 Hz) clock is selected ClockSpare = 0x4, - /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value + /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value ClockSpareWithOffset = 0x6, _, }; - /// Real-time clock + /// Real-time clock pub const RTC = extern struct { - /// Time register + /// Time register TR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Date register + /// Date register DR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, - /// Year units in BCD format + /// Year units in BCD format YU: u4, - /// Year tens in BCD format + /// Year tens in BCD format YT: u4, padding: u8, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Wakeup clock selection - WUCKSEL: packed union { - raw: u3, - value: WUCKSEL, - }, - /// Timestamp event active edge - TSEDGE: packed union { - raw: u1, - value: TSEDGE, - }, - /// Reference clock detection enable (50 or 60 Hz) + /// Wakeup clock selection + WUCKSEL: WUCKSEL, + /// Timestamp event active edge + TSEDGE: TSEDGE, + /// Reference clock detection enable (50 or 60 Hz) REFCKON: u1, - /// Bypass the shadow registers + /// Bypass the shadow registers BYPSHAD: u1, - /// Hour format - FMT: packed union { - raw: u1, - value: FMT, - }, + /// Hour format + FMT: FMT, reserved8: u1, - /// Alarm enable + /// Alarm enable ALRE: u1, reserved10: u1, - /// Wakeup timer enable + /// Wakeup timer enable WUTE: u1, - /// Timestamp enable + /// Timestamp enable TSE: u1, - /// Alarm interrupt enable + /// Alarm interrupt enable ALRIE: u1, reserved14: u1, - /// Wakeup timer interrupt enable + /// Wakeup timer interrupt enable WUTIE: u1, - /// Timestamp interrupt enable + /// Timestamp interrupt enable TSIE: u1, - /// Add 1 hour (summer time change) + /// Add 1 hour (summer time change) ADD1H: u1, - /// Subtract 1 hour (winter time change) + /// Subtract 1 hour (winter time change) SUB1H: u1, - /// Backup + /// Backup BKP: u1, - /// Calibration output selection - COSEL: packed union { - raw: u1, - value: COSEL, - }, - /// Output polarity - POL: packed union { - raw: u1, - value: POL, - }, - /// Output selection - OSEL: packed union { - raw: u2, - value: OSEL, - }, - /// Calibration output enable + /// Calibration output selection + COSEL: COSEL, + /// Output polarity + POL: POL, + /// Output selection + OSEL: OSEL, + /// Calibration output enable COE: u1, padding: u8, }), - /// Initialization and status register + /// Initialization and status register ISR: mmio.Mmio(packed struct(u32) { - /// Alarm write enabled + /// Alarm write enabled ALRWF: u1, reserved2: u1, - /// Wakeup timer write enabled + /// Wakeup timer write enabled WUTWF: u1, - /// Shift operation pending + /// Shift operation pending SHPF: u1, - /// Initialization status flag + /// Initialization status flag INITS: u1, - /// Registers synchronization flag + /// Registers synchronization flag RSF: u1, - /// Initialization flag + /// Initialization flag INITF: u1, - /// Enter Initialization mode + /// Enter Initialization mode INIT: u1, - /// Alarm flag + /// Alarm flag ALRF: u1, reserved10: u1, - /// Wakeup timer flag + /// Wakeup timer flag WUTF: u1, - /// Timestamp flag + /// Timestamp flag TSF: u1, - /// Timestamp overflow flag + /// Timestamp overflow flag TSOVF: u1, - /// Tamper detection flag + /// Tamper detection flag TAMPF: u1, reserved16: u2, - /// Recalibration pending flag - RECALPF: packed union { - raw: u1, - value: RECALPF, - }, + /// Recalibration pending flag + RECALPF: RECALPF, padding: u15, }), - /// Prescaler register + /// Prescaler register PRER: mmio.Mmio(packed struct(u32) { - /// Synchronous prescaler factor + /// Synchronous prescaler factor PREDIV_S: u15, reserved16: u1, - /// Asynchronous prescaler factor + /// Asynchronous prescaler factor PREDIV_A: u7, padding: u9, }), - /// Wakeup timer register + /// Wakeup timer register WUTR: mmio.Mmio(packed struct(u32) { - /// Wakeup auto-reload value bits + /// Wakeup auto-reload value bits WUT: u16, padding: u16, }), reserved28: [4]u8, - /// Alarm register + /// Alarm register ALRMR: [2]mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, - /// Alarm seconds mask - MSK1: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Minute units in BCD format + /// Alarm seconds mask + MSK1: ALRMR_MSK, + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, - /// Alarm minutes mask - MSK2: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Hour units in BCD format + /// Alarm minutes mask + MSK2: ALRMR_MSK, + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: ALRMR_PM, - }, - /// Alarm hours mask - MSK3: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Date units or day in BCD format + /// AM/PM notation + PM: ALRMR_PM, + /// Alarm hours mask + MSK3: ALRMR_MSK, + /// Date units or day in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, - /// Week day selection - WDSEL: packed union { - raw: u1, - value: ALRMR_WDSEL, - }, - /// Alarm date mask - MSK4: packed union { - raw: u1, - value: ALRMR_MSK, - }, - }), - /// Write protection register + /// Week day selection + WDSEL: ALRMR_WDSEL, + /// Alarm date mask + MSK4: ALRMR_MSK, + }), + /// Write protection register WPR: mmio.Mmio(packed struct(u32) { - /// Write protection key + /// Write protection key KEY: u8, padding: u24, }), - /// Sub second register + /// Sub second register SSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Shift control register + /// Shift control register SHIFTR: mmio.Mmio(packed struct(u32) { - /// Subtract a fraction of a second + /// Subtract a fraction of a second SUBFS: u15, reserved31: u16, - /// Add one second + /// Add one second ADD1S: u1, }), - /// Timestamp time register + /// Timestamp time register TSTR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Timestamp date register + /// Timestamp date register TSDR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, padding: u16, }), - /// Timestamp sub second register + /// Timestamp sub second register TSSSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Calibration register + /// Calibration register CALR: mmio.Mmio(packed struct(u32) { - /// Calibration minus + /// Calibration minus CALM: u9, reserved13: u4, - /// Use a 16-second calibration cycle period - CALW16: packed union { - raw: u1, - value: CALW16, - }, - /// Use an 8-second calibration cycle period - CALW8: packed union { - raw: u1, - value: CALW8, - }, - /// Increase frequency of RTC by 488.5 ppm - CALP: packed union { - raw: u1, - value: CALP, - }, + /// Use a 16-second calibration cycle period + CALW16: CALW16, + /// Use an 8-second calibration cycle period + CALW8: CALW8, + /// Increase frequency of RTC by 488.5 ppm + CALP: CALP, padding: u16, }), - /// Tamper configuration register + /// Tamper configuration register TAMPCR: mmio.Mmio(packed struct(u32) { - /// Tamper detection enable + /// Tamper detection enable TAMPE: u1, - /// Active level for tamper - TAMPTRG: packed union { - raw: u1, - value: TAMPTRG, - }, - /// Tamper interrupt enable + /// Active level for tamper + TAMPTRG: TAMPTRG, + /// Tamper interrupt enable TAMPIE: u1, reserved7: u4, - /// Activate timestamp on tamper detection event + /// Activate timestamp on tamper detection event TAMPTS: u1, - /// Tamper sampling frequency - TAMPFREQ: packed union { - raw: u3, - value: TAMPFREQ, - }, - /// Tamper filter count - TAMPFLT: packed union { - raw: u2, - value: TAMPFLT, - }, - /// Tamper precharge duration - TAMPPRCH: packed union { - raw: u2, - value: TAMPPRCH, - }, - /// Tamper pull-up disable - TAMPPUDIS: packed union { - raw: u1, - value: TAMPPUDIS, - }, - /// Tamper interrupt enable + /// Tamper sampling frequency + TAMPFREQ: TAMPFREQ, + /// Tamper filter count + TAMPFLT: TAMPFLT, + /// Tamper precharge duration + TAMPPRCH: TAMPPRCH, + /// Tamper pull-up disable + TAMPPUDIS: TAMPPUDIS, + /// Tamper interrupt enable TAMPXIE: u1, - /// Tamper no erase + /// Tamper no erase TAMPXNOERASE: u1, - /// Tamper mask flag + /// Tamper mask flag TAMPXMF: u1, padding: u13, }), - /// Alarm sub second register + /// Alarm sub second register ALRMSSR: [2]mmio.Mmio(packed struct(u32) { - /// Sub seconds value + /// Sub seconds value SS: u15, reserved24: u9, - /// Mask the most-significant bits starting at this bit + /// Mask the most-significant bits starting at this bit MASKSS: u4, padding: u4, }), - /// Option register + /// Option register OR: mmio.Mmio(packed struct(u32) { - /// RTC_ALARM on PC13 output type + /// RTC_ALARM on PC13 output type RTC_ALARM_TYPE: u1, - /// RTC_ALARM on PC13 output type + /// RTC_ALARM on PC13 output type RTC_OUT_RMP: u1, padding: u30, }), - /// Backup register + /// Backup register BKPR: [5]mmio.Mmio(packed struct(u32) { - /// BKP + /// BKP BKP: u32, }), }; @@ -418205,521 +409409,452 @@ pub const types = struct { pub const rtc_v2l1 = struct { pub const ALRMR_MSK = enum(u1) { - /// Alarm set if the date/day match + /// Alarm set if the date/day match ToMatch = 0x0, - /// Date/day don’t care in Alarm comparison + /// Date/day don’t care in Alarm comparison NotMatch = 0x1, }; pub const ALRMR_PM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const ALRMR_WDSEL = enum(u1) { - /// DU[3:0] represents the date units + /// DU[3:0] represents the date units DateUnits = 0x0, - /// DU[3:0] represents the week day. DT[1:0] is don’t care + /// DU[3:0] represents the week day. DT[1:0] is don’t care WeekDay = 0x1, }; pub const AMPM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const CALP = enum(u1) { - /// No RTCCLK pulses are added + /// No RTCCLK pulses are added NoChange = 0x0, - /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) + /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) IncreaseFreq = 0x1, }; pub const CALW16 = enum(u1) { - /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 + /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 Sixteen_Second = 0x1, _, }; pub const CALW8 = enum(u1) { - /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected + /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected Eight_Second = 0x1, _, }; pub const COSEL = enum(u1) { - /// Calibration output is 512 Hz (with default prescaler setting) + /// Calibration output is 512 Hz (with default prescaler setting) CalFreq_512Hz = 0x0, - /// Calibration output is 1 Hz (with default prescaler setting) + /// Calibration output is 1 Hz (with default prescaler setting) CalFreq_1Hz = 0x1, }; pub const FMT = enum(u1) { - /// 24 hour/day format + /// 24 hour/day format Twenty_Four_Hour = 0x0, - /// AM/PM hour format + /// AM/PM hour format AM_PM = 0x1, }; pub const OSEL = enum(u2) { - /// Output disabled + /// Output disabled Disabled = 0x0, - /// Alarm A output enabled + /// Alarm A output enabled AlarmA = 0x1, - /// Alarm B output enabled + /// Alarm B output enabled AlarmB = 0x2, - /// Wakeup output enabled + /// Wakeup output enabled Wakeup = 0x3, }; pub const POL = enum(u1) { - /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) High = 0x0, - /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) Low = 0x1, }; pub const RECALPF = enum(u1) { - /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 + /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 Pending = 0x1, _, }; pub const TAMPFLT = enum(u2) { - /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) + /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) Immediate = 0x0, - /// Tamper event is activated after 2 consecutive samples at the active level + /// Tamper event is activated after 2 consecutive samples at the active level Samples2 = 0x1, - /// Tamper event is activated after 4 consecutive samples at the active level + /// Tamper event is activated after 4 consecutive samples at the active level Samples4 = 0x2, - /// Tamper event is activated after 8 consecutive samples at the active level + /// Tamper event is activated after 8 consecutive samples at the active level Samples8 = 0x3, }; pub const TAMPFREQ = enum(u3) { - /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) Div32768 = 0x0, - /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) Div16384 = 0x1, - /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) Div8192 = 0x2, - /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) Div4096 = 0x3, - /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) Div2048 = 0x4, - /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) Div1024 = 0x5, - /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) Div512 = 0x6, - /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) Div256 = 0x7, }; pub const TAMPPRCH = enum(u2) { - /// 1 RTCCLK cycle + /// 1 RTCCLK cycle Cycles1 = 0x0, - /// 2 RTCCLK cycles + /// 2 RTCCLK cycles Cycles2 = 0x1, - /// 4 RTCCLK cycles + /// 4 RTCCLK cycles Cycles4 = 0x2, - /// 8 RTCCLK cycles + /// 8 RTCCLK cycles Cycles8 = 0x3, }; pub const TAMPPUDIS = enum(u1) { - /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) + /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) Enabled = 0x0, - /// Disable precharge of RTC_TAMPx pins + /// Disable precharge of RTC_TAMPx pins Disabled = 0x1, }; pub const TAMPTRG = enum(u1) { - /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. + /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. RisingEdge = 0x0, - /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event + /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event FallingEdge = 0x1, }; pub const TSEDGE = enum(u1) { - /// RTC_TS input rising edge generates a time-stamp event + /// RTC_TS input rising edge generates a time-stamp event RisingEdge = 0x0, - /// RTC_TS input falling edge generates a time-stamp event + /// RTC_TS input falling edge generates a time-stamp event FallingEdge = 0x1, }; pub const WUCKSEL = enum(u3) { - /// RTC/16 clock is selected + /// RTC/16 clock is selected Div16 = 0x0, - /// RTC/8 clock is selected + /// RTC/8 clock is selected Div8 = 0x1, - /// RTC/4 clock is selected + /// RTC/4 clock is selected Div4 = 0x2, - /// RTC/2 clock is selected + /// RTC/2 clock is selected Div2 = 0x3, - /// ck_spre (usually 1 Hz) clock is selected + /// ck_spre (usually 1 Hz) clock is selected ClockSpare = 0x4, - /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value + /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value ClockSpareWithOffset = 0x6, _, }; - /// Real-time clock + /// Real-time clock pub const RTC = extern struct { - /// Time register + /// Time register TR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Date register + /// Date register DR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, - /// Year units in BCD format + /// Year units in BCD format YU: u4, - /// Year tens in BCD format + /// Year tens in BCD format YT: u4, padding: u8, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Wakeup clock selection - WUCKSEL: packed union { - raw: u3, - value: WUCKSEL, - }, - /// Timestamp event active edge - TSEDGE: packed union { - raw: u1, - value: TSEDGE, - }, - /// Reference clock detection enable (50 or 60 Hz) + /// Wakeup clock selection + WUCKSEL: WUCKSEL, + /// Timestamp event active edge + TSEDGE: TSEDGE, + /// Reference clock detection enable (50 or 60 Hz) REFCKON: u1, - /// Bypass the shadow registers + /// Bypass the shadow registers BYPSHAD: u1, - /// Hour format - FMT: packed union { - raw: u1, - value: FMT, - }, - /// Coarse digital calibration enable + /// Hour format + FMT: FMT, + /// Coarse digital calibration enable DCE: u1, - /// Alarm enable + /// Alarm enable ALRE: u1, reserved10: u1, - /// Wakeup timer enable + /// Wakeup timer enable WUTE: u1, - /// Timestamp enable + /// Timestamp enable TSE: u1, - /// Alarm interrupt enable + /// Alarm interrupt enable ALRIE: u1, reserved14: u1, - /// Wakeup timer interrupt enable + /// Wakeup timer interrupt enable WUTIE: u1, - /// Timestamp interrupt enable + /// Timestamp interrupt enable TSIE: u1, - /// Add 1 hour (summer time change) + /// Add 1 hour (summer time change) ADD1H: u1, - /// Subtract 1 hour (winter time change) + /// Subtract 1 hour (winter time change) SUB1H: u1, - /// Backup + /// Backup BKP: u1, - /// Calibration output selection - COSEL: packed union { - raw: u1, - value: COSEL, - }, - /// Output polarity - POL: packed union { - raw: u1, - value: POL, - }, - /// Output selection - OSEL: packed union { - raw: u2, - value: OSEL, - }, - /// Calibration output enable + /// Calibration output selection + COSEL: COSEL, + /// Output polarity + POL: POL, + /// Output selection + OSEL: OSEL, + /// Calibration output enable COE: u1, padding: u8, }), - /// Initialization and status register + /// Initialization and status register ISR: mmio.Mmio(packed struct(u32) { - /// Alarm write enabled + /// Alarm write enabled ALRWF: u1, reserved2: u1, - /// Wakeup timer write enabled + /// Wakeup timer write enabled WUTWF: u1, - /// Shift operation pending + /// Shift operation pending SHPF: u1, - /// Initialization status flag + /// Initialization status flag INITS: u1, - /// Registers synchronization flag + /// Registers synchronization flag RSF: u1, - /// Initialization flag + /// Initialization flag INITF: u1, - /// Enter Initialization mode + /// Enter Initialization mode INIT: u1, - /// Alarm flag + /// Alarm flag ALRF: u1, reserved10: u1, - /// Wakeup timer flag + /// Wakeup timer flag WUTF: u1, - /// Timestamp flag + /// Timestamp flag TSF: u1, - /// Timestamp overflow flag + /// Timestamp overflow flag TSOVF: u1, - /// Tamper detection flag + /// Tamper detection flag TAMPF: u1, reserved16: u2, - /// Recalibration pending flag - RECALPF: packed union { - raw: u1, - value: RECALPF, - }, + /// Recalibration pending flag + RECALPF: RECALPF, padding: u15, }), - /// Prescaler register + /// Prescaler register PRER: mmio.Mmio(packed struct(u32) { - /// Synchronous prescaler factor + /// Synchronous prescaler factor PREDIV_S: u15, reserved16: u1, - /// Asynchronous prescaler factor + /// Asynchronous prescaler factor PREDIV_A: u7, padding: u9, }), - /// Wakeup timer register + /// Wakeup timer register WUTR: mmio.Mmio(packed struct(u32) { - /// Wakeup auto-reload value bits + /// Wakeup auto-reload value bits WUT: u16, padding: u16, }), - /// Calibration register + /// Calibration register CALIBR: mmio.Mmio(packed struct(u32) { - /// Digital calibration + /// Digital calibration DC: u5, reserved7: u2, - /// Digital calibration sign + /// Digital calibration sign DCS: u1, padding: u24, }), - /// Alarm register + /// Alarm register ALRMR: [2]mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, - /// Alarm seconds mask - MSK1: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Minute units in BCD format + /// Alarm seconds mask + MSK1: ALRMR_MSK, + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, - /// Alarm minutes mask - MSK2: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Hour units in BCD format + /// Alarm minutes mask + MSK2: ALRMR_MSK, + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: ALRMR_PM, - }, - /// Alarm hours mask - MSK3: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Date units or day in BCD format + /// AM/PM notation + PM: ALRMR_PM, + /// Alarm hours mask + MSK3: ALRMR_MSK, + /// Date units or day in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, - /// Week day selection - WDSEL: packed union { - raw: u1, - value: ALRMR_WDSEL, - }, - /// Alarm date mask - MSK4: packed union { - raw: u1, - value: ALRMR_MSK, - }, - }), - /// Write protection register + /// Week day selection + WDSEL: ALRMR_WDSEL, + /// Alarm date mask + MSK4: ALRMR_MSK, + }), + /// Write protection register WPR: mmio.Mmio(packed struct(u32) { - /// Write protection key + /// Write protection key KEY: u8, padding: u24, }), - /// Sub second register + /// Sub second register SSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Shift control register + /// Shift control register SHIFTR: mmio.Mmio(packed struct(u32) { - /// Subtract a fraction of a second + /// Subtract a fraction of a second SUBFS: u15, reserved31: u16, - /// Add one second + /// Add one second ADD1S: u1, }), - /// Timestamp time register + /// Timestamp time register TSTR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Timestamp date register + /// Timestamp date register TSDR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, padding: u16, }), - /// Timestamp sub second register + /// Timestamp sub second register TSSSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Calibration register + /// Calibration register CALR: mmio.Mmio(packed struct(u32) { - /// Calibration minus + /// Calibration minus CALM: u9, reserved13: u4, - /// Use a 16-second calibration cycle period - CALW16: packed union { - raw: u1, - value: CALW16, - }, - /// Use an 8-second calibration cycle period - CALW8: packed union { - raw: u1, - value: CALW8, - }, - /// Increase frequency of RTC by 488.5 ppm - CALP: packed union { - raw: u1, - value: CALP, - }, + /// Use a 16-second calibration cycle period + CALW16: CALW16, + /// Use an 8-second calibration cycle period + CALW8: CALW8, + /// Increase frequency of RTC by 488.5 ppm + CALP: CALP, padding: u16, }), - /// Tamper and alternate function configuration register + /// Tamper and alternate function configuration register TAFCR: mmio.Mmio(packed struct(u32) { - /// Tamper detection enable + /// Tamper detection enable TAMPE: u1, - /// Active level for tamper - TAMPTRG: packed union { - raw: u1, - value: TAMPTRG, - }, - /// Tamper interrupt enable + /// Active level for tamper + TAMPTRG: TAMPTRG, + /// Tamper interrupt enable TAMPIE: u1, reserved7: u4, - /// Activate timestamp on tamper detection event + /// Activate timestamp on tamper detection event TAMPTS: u1, - /// Tamper sampling frequency - TAMPFREQ: packed union { - raw: u3, - value: TAMPFREQ, - }, - /// Tamper filter count - TAMPFLT: packed union { - raw: u2, - value: TAMPFLT, - }, - /// Tamper precharge duration - TAMPPRCH: packed union { - raw: u2, - value: TAMPPRCH, - }, - /// Tamper pull-up disable - TAMPPUDIS: packed union { - raw: u1, - value: TAMPPUDIS, - }, + /// Tamper sampling frequency + TAMPFREQ: TAMPFREQ, + /// Tamper filter count + TAMPFLT: TAMPFLT, + /// Tamper precharge duration + TAMPPRCH: TAMPPRCH, + /// Tamper pull-up disable + TAMPPUDIS: TAMPPUDIS, reserved18: u2, - /// AFO_ALARM output type + /// AFO_ALARM output type ALARMOUTTYPE: u1, padding: u13, }), - /// Alarm sub second register + /// Alarm sub second register ALRMSSR: [2]mmio.Mmio(packed struct(u32) { - /// Sub seconds value + /// Sub seconds value SS: u15, reserved24: u9, - /// Mask the most-significant bits starting at this bit + /// Mask the most-significant bits starting at this bit MASKSS: u4, padding: u4, }), reserved80: [4]u8, - /// Backup register + /// Backup register BKPR: [32]mmio.Mmio(packed struct(u32) { - /// BKP + /// BKP BKP: u32, }), }; @@ -418727,524 +409862,455 @@ pub const types = struct { pub const rtc_v2l4 = struct { pub const ALRMR_MSK = enum(u1) { - /// Alarm set if the date/day match + /// Alarm set if the date/day match ToMatch = 0x0, - /// Date/day don’t care in Alarm comparison + /// Date/day don’t care in Alarm comparison NotMatch = 0x1, }; pub const ALRMR_PM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const ALRMR_WDSEL = enum(u1) { - /// DU[3:0] represents the date units + /// DU[3:0] represents the date units DateUnits = 0x0, - /// DU[3:0] represents the week day. DT[1:0] is don’t care + /// DU[3:0] represents the week day. DT[1:0] is don’t care WeekDay = 0x1, }; pub const AMPM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const CALP = enum(u1) { - /// No RTCCLK pulses are added + /// No RTCCLK pulses are added NoChange = 0x0, - /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) + /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) IncreaseFreq = 0x1, }; pub const CALW16 = enum(u1) { - /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 + /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 Sixteen_Second = 0x1, _, }; pub const CALW8 = enum(u1) { - /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected + /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected Eight_Second = 0x1, _, }; pub const COSEL = enum(u1) { - /// Calibration output is 512 Hz (with default prescaler setting) + /// Calibration output is 512 Hz (with default prescaler setting) CalFreq_512Hz = 0x0, - /// Calibration output is 1 Hz (with default prescaler setting) + /// Calibration output is 1 Hz (with default prescaler setting) CalFreq_1Hz = 0x1, }; pub const FMT = enum(u1) { - /// 24 hour/day format + /// 24 hour/day format Twenty_Four_Hour = 0x0, - /// AM/PM hour format + /// AM/PM hour format AM_PM = 0x1, }; pub const OSEL = enum(u2) { - /// Output disabled + /// Output disabled Disabled = 0x0, - /// Alarm A output enabled + /// Alarm A output enabled AlarmA = 0x1, - /// Alarm B output enabled + /// Alarm B output enabled AlarmB = 0x2, - /// Wakeup output enabled + /// Wakeup output enabled Wakeup = 0x3, }; pub const POL = enum(u1) { - /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) High = 0x0, - /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) Low = 0x1, }; pub const RECALPF = enum(u1) { - /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 + /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 Pending = 0x1, _, }; pub const TAMPFLT = enum(u2) { - /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) + /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) Immediate = 0x0, - /// Tamper event is activated after 2 consecutive samples at the active level + /// Tamper event is activated after 2 consecutive samples at the active level Samples2 = 0x1, - /// Tamper event is activated after 4 consecutive samples at the active level + /// Tamper event is activated after 4 consecutive samples at the active level Samples4 = 0x2, - /// Tamper event is activated after 8 consecutive samples at the active level + /// Tamper event is activated after 8 consecutive samples at the active level Samples8 = 0x3, }; pub const TAMPFREQ = enum(u3) { - /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) Div32768 = 0x0, - /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) Div16384 = 0x1, - /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) Div8192 = 0x2, - /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) Div4096 = 0x3, - /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) Div2048 = 0x4, - /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) Div1024 = 0x5, - /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) Div512 = 0x6, - /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) Div256 = 0x7, }; pub const TAMPPRCH = enum(u2) { - /// 1 RTCCLK cycle + /// 1 RTCCLK cycle Cycles1 = 0x0, - /// 2 RTCCLK cycles + /// 2 RTCCLK cycles Cycles2 = 0x1, - /// 4 RTCCLK cycles + /// 4 RTCCLK cycles Cycles4 = 0x2, - /// 8 RTCCLK cycles + /// 8 RTCCLK cycles Cycles8 = 0x3, }; pub const TAMPPUDIS = enum(u1) { - /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) + /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) Enabled = 0x0, - /// Disable precharge of RTC_TAMPx pins + /// Disable precharge of RTC_TAMPx pins Disabled = 0x1, }; pub const TAMPTRG = enum(u1) { - /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. + /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. RisingEdge = 0x0, - /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event + /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event FallingEdge = 0x1, }; pub const TSEDGE = enum(u1) { - /// RTC_TS input rising edge generates a time-stamp event + /// RTC_TS input rising edge generates a time-stamp event RisingEdge = 0x0, - /// RTC_TS input falling edge generates a time-stamp event + /// RTC_TS input falling edge generates a time-stamp event FallingEdge = 0x1, }; pub const WUCKSEL = enum(u3) { - /// RTC/16 clock is selected + /// RTC/16 clock is selected Div16 = 0x0, - /// RTC/8 clock is selected + /// RTC/8 clock is selected Div8 = 0x1, - /// RTC/4 clock is selected + /// RTC/4 clock is selected Div4 = 0x2, - /// RTC/2 clock is selected + /// RTC/2 clock is selected Div2 = 0x3, - /// ck_spre (usually 1 Hz) clock is selected + /// ck_spre (usually 1 Hz) clock is selected ClockSpare = 0x4, - /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value + /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value ClockSpareWithOffset = 0x6, _, }; - /// Real-time clock + /// Real-time clock pub const RTC = extern struct { - /// Time register + /// Time register TR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Date register + /// Date register DR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, - /// Year units in BCD format + /// Year units in BCD format YU: u4, - /// Year tens in BCD format + /// Year tens in BCD format YT: u4, padding: u8, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Wakeup clock selection - WUCKSEL: packed union { - raw: u3, - value: WUCKSEL, - }, - /// Timestamp event active edge - TSEDGE: packed union { - raw: u1, - value: TSEDGE, - }, - /// Reference clock detection enable (50 or 60 Hz) + /// Wakeup clock selection + WUCKSEL: WUCKSEL, + /// Timestamp event active edge + TSEDGE: TSEDGE, + /// Reference clock detection enable (50 or 60 Hz) REFCKON: u1, - /// Bypass the shadow registers + /// Bypass the shadow registers BYPSHAD: u1, - /// Hour format - FMT: packed union { - raw: u1, - value: FMT, - }, + /// Hour format + FMT: FMT, reserved8: u1, - /// Alarm enable + /// Alarm enable ALRE: u1, reserved10: u1, - /// Wakeup timer enable + /// Wakeup timer enable WUTE: u1, - /// Timestamp enable + /// Timestamp enable TSE: u1, - /// Alarm interrupt enable + /// Alarm interrupt enable ALRIE: u1, reserved14: u1, - /// Wakeup timer interrupt enable + /// Wakeup timer interrupt enable WUTIE: u1, - /// Timestamp interrupt enable + /// Timestamp interrupt enable TSIE: u1, - /// Add 1 hour (summer time change) + /// Add 1 hour (summer time change) ADD1H: u1, - /// Subtract 1 hour (winter time change) + /// Subtract 1 hour (winter time change) SUB1H: u1, - /// Backup + /// Backup BKP: u1, - /// Calibration output selection - COSEL: packed union { - raw: u1, - value: COSEL, - }, - /// Output polarity - POL: packed union { - raw: u1, - value: POL, - }, - /// Output selection - OSEL: packed union { - raw: u2, - value: OSEL, - }, - /// Calibration output enable + /// Calibration output selection + COSEL: COSEL, + /// Output polarity + POL: POL, + /// Output selection + OSEL: OSEL, + /// Calibration output enable COE: u1, - /// Timestamp on internal event enable + /// Timestamp on internal event enable ITSE: u1, padding: u7, }), - /// Initialization and status register + /// Initialization and status register ISR: mmio.Mmio(packed struct(u32) { - /// Alarm write enabled + /// Alarm write enabled ALRWF: u1, reserved2: u1, - /// Wakeup timer write enabled + /// Wakeup timer write enabled WUTWF: u1, - /// Shift operation pending + /// Shift operation pending SHPF: u1, - /// Initialization status flag + /// Initialization status flag INITS: u1, - /// Registers synchronization flag + /// Registers synchronization flag RSF: u1, - /// Initialization flag + /// Initialization flag INITF: u1, - /// Enter Initialization mode + /// Enter Initialization mode INIT: u1, - /// Alarm flag + /// Alarm flag ALRF: u1, reserved10: u1, - /// Wakeup timer flag + /// Wakeup timer flag WUTF: u1, - /// Timestamp flag + /// Timestamp flag TSF: u1, - /// Timestamp overflow flag + /// Timestamp overflow flag TSOVF: u1, - /// Tamper detection flag + /// Tamper detection flag TAMPF: u1, reserved16: u2, - /// Recalibration pending flag - RECALPF: packed union { - raw: u1, - value: RECALPF, - }, + /// Recalibration pending flag + RECALPF: RECALPF, padding: u15, }), - /// Prescaler register + /// Prescaler register PRER: mmio.Mmio(packed struct(u32) { - /// Synchronous prescaler factor + /// Synchronous prescaler factor PREDIV_S: u15, reserved16: u1, - /// Asynchronous prescaler factor + /// Asynchronous prescaler factor PREDIV_A: u7, padding: u9, }), - /// Wakeup timer register + /// Wakeup timer register WUTR: mmio.Mmio(packed struct(u32) { - /// Wakeup auto-reload value bits + /// Wakeup auto-reload value bits WUT: u16, padding: u16, }), reserved28: [4]u8, - /// Alarm register + /// Alarm register ALRMR: [2]mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, - /// Alarm seconds mask - MSK1: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Minute units in BCD format + /// Alarm seconds mask + MSK1: ALRMR_MSK, + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, - /// Alarm minutes mask - MSK2: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Hour units in BCD format + /// Alarm minutes mask + MSK2: ALRMR_MSK, + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: ALRMR_PM, - }, - /// Alarm hours mask - MSK3: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Date units or day in BCD format + /// AM/PM notation + PM: ALRMR_PM, + /// Alarm hours mask + MSK3: ALRMR_MSK, + /// Date units or day in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, - /// Week day selection - WDSEL: packed union { - raw: u1, - value: ALRMR_WDSEL, - }, - /// Alarm date mask - MSK4: packed union { - raw: u1, - value: ALRMR_MSK, - }, - }), - /// Write protection register + /// Week day selection + WDSEL: ALRMR_WDSEL, + /// Alarm date mask + MSK4: ALRMR_MSK, + }), + /// Write protection register WPR: mmio.Mmio(packed struct(u32) { - /// Write protection key + /// Write protection key KEY: u8, padding: u24, }), - /// Sub second register + /// Sub second register SSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Shift control register + /// Shift control register SHIFTR: mmio.Mmio(packed struct(u32) { - /// Subtract a fraction of a second + /// Subtract a fraction of a second SUBFS: u15, reserved31: u16, - /// Add one second + /// Add one second ADD1S: u1, }), - /// Timestamp time register + /// Timestamp time register TSTR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Timestamp date register + /// Timestamp date register TSDR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, padding: u16, }), - /// Timestamp sub second register + /// Timestamp sub second register TSSSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Calibration register + /// Calibration register CALR: mmio.Mmio(packed struct(u32) { - /// Calibration minus + /// Calibration minus CALM: u9, reserved13: u4, - /// Use a 16-second calibration cycle period - CALW16: packed union { - raw: u1, - value: CALW16, - }, - /// Use an 8-second calibration cycle period - CALW8: packed union { - raw: u1, - value: CALW8, - }, - /// Increase frequency of RTC by 488.5 ppm - CALP: packed union { - raw: u1, - value: CALP, - }, + /// Use a 16-second calibration cycle period + CALW16: CALW16, + /// Use an 8-second calibration cycle period + CALW8: CALW8, + /// Increase frequency of RTC by 488.5 ppm + CALP: CALP, padding: u16, }), - /// Tamper configuration register + /// Tamper configuration register TAMPCR: mmio.Mmio(packed struct(u32) { - /// Tamper detection enable + /// Tamper detection enable TAMPE: u1, - /// Active level for tamper - TAMPTRG: packed union { - raw: u1, - value: TAMPTRG, - }, - /// Tamper interrupt enable + /// Active level for tamper + TAMPTRG: TAMPTRG, + /// Tamper interrupt enable TAMPIE: u1, reserved7: u4, - /// Activate timestamp on tamper detection event + /// Activate timestamp on tamper detection event TAMPTS: u1, - /// Tamper sampling frequency - TAMPFREQ: packed union { - raw: u3, - value: TAMPFREQ, - }, - /// Tamper filter count - TAMPFLT: packed union { - raw: u2, - value: TAMPFLT, - }, - /// Tamper precharge duration - TAMPPRCH: packed union { - raw: u2, - value: TAMPPRCH, - }, - /// Tamper pull-up disable - TAMPPUDIS: packed union { - raw: u1, - value: TAMPPUDIS, - }, - /// Tamper interrupt enable + /// Tamper sampling frequency + TAMPFREQ: TAMPFREQ, + /// Tamper filter count + TAMPFLT: TAMPFLT, + /// Tamper precharge duration + TAMPPRCH: TAMPPRCH, + /// Tamper pull-up disable + TAMPPUDIS: TAMPPUDIS, + /// Tamper interrupt enable TAMPXIE: u1, - /// Tamper no erase + /// Tamper no erase TAMPXNOERASE: u1, - /// Tamper mask flag + /// Tamper mask flag TAMPXMF: u1, padding: u13, }), - /// Alarm sub second register + /// Alarm sub second register ALRMSSR: [2]mmio.Mmio(packed struct(u32) { - /// Sub seconds value + /// Sub seconds value SS: u15, reserved24: u9, - /// Mask the most-significant bits starting at this bit + /// Mask the most-significant bits starting at this bit MASKSS: u4, padding: u4, }), - /// Option register + /// Option register OR: mmio.Mmio(packed struct(u32) { - /// RTC_ALARM on PC13 output type + /// RTC_ALARM on PC13 output type RTC_ALARM_TYPE: u1, - /// RTC_OUT remap + /// RTC_OUT remap RTC_OUT_RMP: u1, padding: u30, }), - /// Backup register + /// Backup register BKPR: [32]mmio.Mmio(packed struct(u32) { - /// BKP + /// BKP BKP: u32, }), }; @@ -419252,526 +410318,457 @@ pub const types = struct { pub const rtc_v2wb = struct { pub const ALRMR_MSK = enum(u1) { - /// Alarm set if the date/day match + /// Alarm set if the date/day match ToMatch = 0x0, - /// Date/day don’t care in Alarm comparison + /// Date/day don’t care in Alarm comparison NotMatch = 0x1, }; pub const ALRMR_PM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const ALRMR_WDSEL = enum(u1) { - /// DU[3:0] represents the date units + /// DU[3:0] represents the date units DateUnits = 0x0, - /// DU[3:0] represents the week day. DT[1:0] is don’t care + /// DU[3:0] represents the week day. DT[1:0] is don’t care WeekDay = 0x1, }; pub const AMPM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const CALP = enum(u1) { - /// No RTCCLK pulses are added + /// No RTCCLK pulses are added NoChange = 0x0, - /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) + /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) IncreaseFreq = 0x1, }; pub const CALW16 = enum(u1) { - /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 + /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 Sixteen_Second = 0x1, _, }; pub const CALW8 = enum(u1) { - /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected + /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected Eight_Second = 0x1, _, }; pub const COSEL = enum(u1) { - /// Calibration output is 512 Hz (with default prescaler setting) + /// Calibration output is 512 Hz (with default prescaler setting) CalFreq_512Hz = 0x0, - /// Calibration output is 1 Hz (with default prescaler setting) + /// Calibration output is 1 Hz (with default prescaler setting) CalFreq_1Hz = 0x1, }; pub const FMT = enum(u1) { - /// 24 hour/day format + /// 24 hour/day format Twenty_Four_Hour = 0x0, - /// AM/PM hour format + /// AM/PM hour format AM_PM = 0x1, }; pub const OSEL = enum(u2) { - /// Output disabled + /// Output disabled Disabled = 0x0, - /// Alarm A output enabled + /// Alarm A output enabled AlarmA = 0x1, - /// Alarm B output enabled + /// Alarm B output enabled AlarmB = 0x2, - /// Wakeup output enabled + /// Wakeup output enabled Wakeup = 0x3, }; pub const POL = enum(u1) { - /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) High = 0x0, - /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) Low = 0x1, }; pub const RECALPF = enum(u1) { - /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 + /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 Pending = 0x1, _, }; pub const TAMPFLT = enum(u2) { - /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) + /// Tamper event is activated on edge of RTC_TAMPx input transitions to the active level (no internal pull-up on RTC_TAMPx input) Immediate = 0x0, - /// Tamper event is activated after 2 consecutive samples at the active level + /// Tamper event is activated after 2 consecutive samples at the active level Samples2 = 0x1, - /// Tamper event is activated after 4 consecutive samples at the active level + /// Tamper event is activated after 4 consecutive samples at the active level Samples4 = 0x2, - /// Tamper event is activated after 8 consecutive samples at the active level + /// Tamper event is activated after 8 consecutive samples at the active level Samples8 = 0x3, }; pub const TAMPFREQ = enum(u3) { - /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) Div32768 = 0x0, - /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) Div16384 = 0x1, - /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) Div8192 = 0x2, - /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) Div4096 = 0x3, - /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) Div2048 = 0x4, - /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) Div1024 = 0x5, - /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) Div512 = 0x6, - /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) Div256 = 0x7, }; pub const TAMPPRCH = enum(u2) { - /// 1 RTCCLK cycle + /// 1 RTCCLK cycle Cycles1 = 0x0, - /// 2 RTCCLK cycles + /// 2 RTCCLK cycles Cycles2 = 0x1, - /// 4 RTCCLK cycles + /// 4 RTCCLK cycles Cycles4 = 0x2, - /// 8 RTCCLK cycles + /// 8 RTCCLK cycles Cycles8 = 0x3, }; pub const TAMPPUDIS = enum(u1) { - /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) + /// Precharge RTC_TAMPx pins before sampling (enable internal pull-up) Enabled = 0x0, - /// Disable precharge of RTC_TAMPx pins + /// Disable precharge of RTC_TAMPx pins Disabled = 0x1, }; pub const TAMPTRG = enum(u1) { - /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. + /// If TAMPFLT = 00: RTC_TAMPx input rising edge triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input staying low triggers a tamper detection event. RisingEdge = 0x0, - /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event + /// If TAMPFLT = 00: RTC_TAMPx input staying high triggers a tamper detection event. If TAMPFLT ≠ 00: RTC_TAMPx input falling edge triggers a tamper detection event FallingEdge = 0x1, }; pub const TSEDGE = enum(u1) { - /// RTC_TS input rising edge generates a time-stamp event + /// RTC_TS input rising edge generates a time-stamp event RisingEdge = 0x0, - /// RTC_TS input falling edge generates a time-stamp event + /// RTC_TS input falling edge generates a time-stamp event FallingEdge = 0x1, }; pub const WUCKSEL = enum(u3) { - /// RTC/16 clock is selected + /// RTC/16 clock is selected Div16 = 0x0, - /// RTC/8 clock is selected + /// RTC/8 clock is selected Div8 = 0x1, - /// RTC/4 clock is selected + /// RTC/4 clock is selected Div4 = 0x2, - /// RTC/2 clock is selected + /// RTC/2 clock is selected Div2 = 0x3, - /// ck_spre (usually 1 Hz) clock is selected + /// ck_spre (usually 1 Hz) clock is selected ClockSpare = 0x4, - /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value + /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value ClockSpareWithOffset = 0x6, _, }; - /// Real-time clock + /// Real-time clock pub const RTC = extern struct { - /// Time register + /// Time register TR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Date register + /// Date register DR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, - /// Year units in BCD format + /// Year units in BCD format YU: u4, - /// Year tens in BCD format + /// Year tens in BCD format YT: u4, padding: u8, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Wakeup clock selection - WUCKSEL: packed union { - raw: u3, - value: WUCKSEL, - }, - /// Timestamp event active edge - TSEDGE: packed union { - raw: u1, - value: TSEDGE, - }, - /// Reference clock detection enable (50 or 60 Hz) + /// Wakeup clock selection + WUCKSEL: WUCKSEL, + /// Timestamp event active edge + TSEDGE: TSEDGE, + /// Reference clock detection enable (50 or 60 Hz) REFCKON: u1, - /// Bypass the shadow registers + /// Bypass the shadow registers BYPSHAD: u1, - /// Hour format - FMT: packed union { - raw: u1, - value: FMT, - }, + /// Hour format + FMT: FMT, reserved8: u1, - /// Alarm enable + /// Alarm enable ALRE: u1, reserved10: u1, - /// Wakeup timer enable + /// Wakeup timer enable WUTE: u1, - /// Timestamp enable + /// Timestamp enable TSE: u1, - /// Alarm interrupt enable + /// Alarm interrupt enable ALRIE: u1, reserved14: u1, - /// Wakeup timer interrupt enable + /// Wakeup timer interrupt enable WUTIE: u1, - /// Timestamp interrupt enable + /// Timestamp interrupt enable TSIE: u1, - /// Add 1 hour (summer time change) + /// Add 1 hour (summer time change) ADD1H: u1, - /// Subtract 1 hour (winter time change) + /// Subtract 1 hour (winter time change) SUB1H: u1, - /// Backup + /// Backup BKP: u1, - /// Calibration output selection - COSEL: packed union { - raw: u1, - value: COSEL, - }, - /// Output polarity - POL: packed union { - raw: u1, - value: POL, - }, - /// Output selection - OSEL: packed union { - raw: u2, - value: OSEL, - }, - /// Calibration output enable + /// Calibration output selection + COSEL: COSEL, + /// Output polarity + POL: POL, + /// Output selection + OSEL: OSEL, + /// Calibration output enable COE: u1, - /// Timestamp on internal event enable + /// Timestamp on internal event enable ITSE: u1, padding: u7, }), - /// Initialization and status register + /// Initialization and status register ISR: mmio.Mmio(packed struct(u32) { - /// Alarm write enabled + /// Alarm write enabled ALRWF: u1, reserved2: u1, - /// Wakeup timer write enabled + /// Wakeup timer write enabled WUTWF: u1, - /// Shift operation pending + /// Shift operation pending SHPF: u1, - /// Initialization status flag + /// Initialization status flag INITS: u1, - /// Registers synchronization flag + /// Registers synchronization flag RSF: u1, - /// Initialization flag + /// Initialization flag INITF: u1, - /// Enter Initialization mode + /// Enter Initialization mode INIT: u1, - /// Alarm flag + /// Alarm flag ALRF: u1, reserved10: u1, - /// Wakeup timer flag + /// Wakeup timer flag WUTF: u1, - /// Timestamp flag + /// Timestamp flag TSF: u1, - /// Timestamp overflow flag + /// Timestamp overflow flag TSOVF: u1, - /// Tamper detection flag + /// Tamper detection flag TAMPF: u1, reserved16: u2, - /// Recalibration pending flag - RECALPF: packed union { - raw: u1, - value: RECALPF, - }, - /// Internal time-stamp flag + /// Recalibration pending flag + RECALPF: RECALPF, + /// Internal time-stamp flag ITSF: u1, padding: u14, }), - /// Prescaler register + /// Prescaler register PRER: mmio.Mmio(packed struct(u32) { - /// Synchronous prescaler factor + /// Synchronous prescaler factor PREDIV_S: u15, reserved16: u1, - /// Asynchronous prescaler factor + /// Asynchronous prescaler factor PREDIV_A: u7, padding: u9, }), - /// Wakeup timer register + /// Wakeup timer register WUTR: mmio.Mmio(packed struct(u32) { - /// Wakeup auto-reload value bits + /// Wakeup auto-reload value bits WUT: u16, padding: u16, }), reserved28: [4]u8, - /// Alarm register + /// Alarm register ALRMR: [2]mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, - /// Alarm seconds mask - MSK1: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Minute units in BCD format + /// Alarm seconds mask + MSK1: ALRMR_MSK, + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, - /// Alarm minutes mask - MSK2: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Hour units in BCD format + /// Alarm minutes mask + MSK2: ALRMR_MSK, + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: ALRMR_PM, - }, - /// Alarm hours mask - MSK3: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Date units or day in BCD format + /// AM/PM notation + PM: ALRMR_PM, + /// Alarm hours mask + MSK3: ALRMR_MSK, + /// Date units or day in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, - /// Week day selection - WDSEL: packed union { - raw: u1, - value: ALRMR_WDSEL, - }, - /// Alarm date mask - MSK4: packed union { - raw: u1, - value: ALRMR_MSK, - }, - }), - /// Write protection register + /// Week day selection + WDSEL: ALRMR_WDSEL, + /// Alarm date mask + MSK4: ALRMR_MSK, + }), + /// Write protection register WPR: mmio.Mmio(packed struct(u32) { - /// Write protection key + /// Write protection key KEY: u8, padding: u24, }), - /// Sub second register + /// Sub second register SSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Shift control register + /// Shift control register SHIFTR: mmio.Mmio(packed struct(u32) { - /// Subtract a fraction of a second + /// Subtract a fraction of a second SUBFS: u15, reserved31: u16, - /// Add one second + /// Add one second ADD1S: u1, }), - /// Timestamp time register + /// Timestamp time register TSTR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Timestamp date register + /// Timestamp date register TSDR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, padding: u16, }), - /// Timestamp sub second register + /// Timestamp sub second register TSSSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), - /// Calibration register + /// Calibration register CALR: mmio.Mmio(packed struct(u32) { - /// Calibration minus + /// Calibration minus CALM: u9, reserved13: u4, - /// Use a 16-second calibration cycle period - CALW16: packed union { - raw: u1, - value: CALW16, - }, - /// Use an 8-second calibration cycle period - CALW8: packed union { - raw: u1, - value: CALW8, - }, - /// Increase frequency of RTC by 488.5 ppm - CALP: packed union { - raw: u1, - value: CALP, - }, + /// Use a 16-second calibration cycle period + CALW16: CALW16, + /// Use an 8-second calibration cycle period + CALW8: CALW8, + /// Increase frequency of RTC by 488.5 ppm + CALP: CALP, padding: u16, }), - /// Tamper configuration register + /// Tamper configuration register TAMPCR: mmio.Mmio(packed struct(u32) { - /// Tamper detection enable + /// Tamper detection enable TAMPE: u1, - /// Active level for tamper - TAMPTRG: packed union { - raw: u1, - value: TAMPTRG, - }, - /// Tamper interrupt enable + /// Active level for tamper + TAMPTRG: TAMPTRG, + /// Tamper interrupt enable TAMPIE: u1, reserved7: u4, - /// Activate timestamp on tamper detection event + /// Activate timestamp on tamper detection event TAMPTS: u1, - /// Tamper sampling frequency - TAMPFREQ: packed union { - raw: u3, - value: TAMPFREQ, - }, - /// Tamper filter count - TAMPFLT: packed union { - raw: u2, - value: TAMPFLT, - }, - /// Tamper precharge duration - TAMPPRCH: packed union { - raw: u2, - value: TAMPPRCH, - }, - /// Tamper pull-up disable - TAMPPUDIS: packed union { - raw: u1, - value: TAMPPUDIS, - }, - /// Tamper interrupt enable + /// Tamper sampling frequency + TAMPFREQ: TAMPFREQ, + /// Tamper filter count + TAMPFLT: TAMPFLT, + /// Tamper precharge duration + TAMPPRCH: TAMPPRCH, + /// Tamper pull-up disable + TAMPPUDIS: TAMPPUDIS, + /// Tamper interrupt enable TAMPXIE: u1, - /// Tamper no erase + /// Tamper no erase TAMPXNOERASE: u1, - /// Tamper mask flag + /// Tamper mask flag TAMPXMF: u1, padding: u13, }), - /// Alarm sub second register + /// Alarm sub second register ALRMSSR: [2]mmio.Mmio(packed struct(u32) { - /// Sub seconds value + /// Sub seconds value SS: u15, reserved24: u9, - /// Mask the most-significant bits starting at this bit + /// Mask the most-significant bits starting at this bit MASKSS: u4, padding: u4, }), - /// Option register + /// Option register OR: mmio.Mmio(packed struct(u32) { - /// RTC_ALARM on PC13 output type + /// RTC_ALARM on PC13 output type RTC_ALARM_TYPE: u1, - /// RTC_OUT remap + /// RTC_OUT remap RTC_OUT_RMP: u1, padding: u30, }), - /// Backup register + /// Backup register BKPR: [20]mmio.Mmio(packed struct(u32) { - /// BKP + /// BKP BKP: u32, }), }; @@ -419779,687 +410776,564 @@ pub const types = struct { pub const rtc_v3 = struct { pub const ALRF = enum(u1) { - /// This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the Alarm A register (RTC_ALRMAR) + /// This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the Alarm A register (RTC_ALRMAR) Match = 0x1, _, }; pub const ALRMF = enum(u1) { - /// This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the Alarm A register (RTC_ALRMAR) + /// This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the Alarm A register (RTC_ALRMAR) Match = 0x1, _, }; pub const ALRMR_MSK = enum(u1) { - /// Alarm set if the date/day match + /// Alarm set if the date/day match ToMatch = 0x0, - /// Date/day don’t care in Alarm comparison + /// Date/day don’t care in Alarm comparison NotMatch = 0x1, }; pub const ALRMR_PM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const ALRMR_WDSEL = enum(u1) { - /// DU[3:0] represents the date units + /// DU[3:0] represents the date units DateUnits = 0x0, - /// DU[3:0] represents the week day. DT[1:0] is don’t care. + /// DU[3:0] represents the week day. DT[1:0] is don’t care. WeekDay = 0x1, }; pub const ALRMSSR_SSCLR = enum(u1) { - /// The synchronous binary counter (SS[31:0] in RTC_SSR) is free-running + /// The synchronous binary counter (SS[31:0] in RTC_SSR) is free-running FreeRunning = 0x0, - /// The synchronous binary counter (SS[31:0] in RTC_SSR) is running from 0xFFFF FFFF to RTC_ALRMABINR → SS[31:0] value and is automatically reloaded with 0xFFFF FFFF when reaching RTC_ALRMABINR → SS[31:0] + /// The synchronous binary counter (SS[31:0] in RTC_SSR) is running from 0xFFFF FFFF to RTC_ALRMABINR → SS[31:0] value and is automatically reloaded with 0xFFFF FFFF when reaching RTC_ALRMABINR → SS[31:0] ALRMBINR = 0x1, }; pub const AMPM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const BCDU = enum(u3) { - /// 1s increment each time SS[7:0]=0 + /// 1s increment each time SS[7:0]=0 Bit7 = 0x0, - /// 1s increment each time SS[8:0]=0 + /// 1s increment each time SS[8:0]=0 Bit8 = 0x1, - /// 1s increment each time SS[9:0]=0 + /// 1s increment each time SS[9:0]=0 Bit9 = 0x2, - /// 1s increment each time SS[10:0]=0 + /// 1s increment each time SS[10:0]=0 Bit10 = 0x3, - /// 1s increment each time SS[11:0]=0 + /// 1s increment each time SS[11:0]=0 Bit11 = 0x4, - /// 1s increment each time SS[12:0]=0 + /// 1s increment each time SS[12:0]=0 Bit12 = 0x5, - /// 1s increment each time SS[13:0]=0 + /// 1s increment each time SS[13:0]=0 Bit13 = 0x6, - /// 1s increment each time SS[14:0]=0 + /// 1s increment each time SS[14:0]=0 Bit14 = 0x7, }; pub const BIN = enum(u2) { - /// Free running BCD calendar mode (Binary mode disabled) + /// Free running BCD calendar mode (Binary mode disabled) BCD = 0x0, - /// Free running Binary mode (BCD mode disabled) + /// Free running Binary mode (BCD mode disabled) Binary = 0x1, - /// Free running BCD calendar and Binary modes + /// Free running BCD calendar and Binary modes BinBCD = 0x2, - /// Free running BCD calendar and Binary modes + /// Free running BCD calendar and Binary modes BinBCD2 = 0x3, }; pub const CALP = enum(u1) { - /// No RTCCLK pulses are added + /// No RTCCLK pulses are added NoChange = 0x0, - /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) + /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) IncreaseFreq = 0x1, }; pub const CALRF = enum(u1) { - /// Clear interrupt flag by writing 1 + /// Clear interrupt flag by writing 1 Clear = 0x1, _, }; pub const CALW16 = enum(u1) { - /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 + /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 SixteenSeconds = 0x1, _, }; pub const CALW8 = enum(u1) { - /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected + /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected EightSeconds = 0x1, _, }; pub const COSEL = enum(u1) { - /// Calibration output is 512 Hz (with default prescaler setting) + /// Calibration output is 512 Hz (with default prescaler setting) CalFreq_512Hz = 0x0, - /// Calibration output is 1 Hz (with default prescaler setting) + /// Calibration output is 1 Hz (with default prescaler setting) CalFreq_1Hz = 0x1, }; pub const FMT = enum(u1) { - /// 24 hour/day format + /// 24 hour/day format TwentyFourHour = 0x0, - /// AM/PM hour format + /// AM/PM hour format AmPm = 0x1, }; pub const ITSF = enum(u1) { - /// This flag is set by hardware when a timestamp on the internal event occurs + /// This flag is set by hardware when a timestamp on the internal event occurs TimestampEvent = 0x1, _, }; pub const ITSMF = enum(u1) { - /// This flag is set by hardware when a timestamp on the internal event occurs + /// This flag is set by hardware when a timestamp on the internal event occurs TimestampEvent = 0x1, _, }; pub const KEY = enum(u8) { - /// Activate write protection (any value that is not the keys) + /// Activate write protection (any value that is not the keys) Activate = 0x0, - /// Key 2 + /// Key 2 Deactivate2 = 0x53, - /// Key 1 + /// Key 1 Deactivate1 = 0xca, _, }; pub const LPCAL = enum(u1) { - /// Calibration window is 220 RTCCLK, which is a high-consumption mode. This mode should be set only when less than 32s calibration window is required + /// Calibration window is 220 RTCCLK, which is a high-consumption mode. This mode should be set only when less than 32s calibration window is required RTCCLK = 0x0, - /// Calibration window is 220 ck_apre, which is the required configuration for ultra-low consumption mode + /// Calibration window is 220 ck_apre, which is the required configuration for ultra-low consumption mode CkApre = 0x1, }; pub const OSEL = enum(u2) { - /// Output disabled + /// Output disabled Disabled = 0x0, - /// Alarm A output enabled + /// Alarm A output enabled AlarmA = 0x1, - /// Alarm B output enabled + /// Alarm B output enabled AlarmB = 0x2, - /// Wakeup output enabled + /// Wakeup output enabled Wakeup = 0x3, }; pub const POL = enum(u1) { - /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) High = 0x0, - /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) Low = 0x1, }; pub const RECALPF = enum(u1) { - /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 + /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 Pending = 0x1, _, }; pub const SSRUF = enum(u1) { - /// This flag is set by hardware when the SSR rolls under 0. SSRUF is not set when SSCLR=1 + /// This flag is set by hardware when the SSR rolls under 0. SSRUF is not set when SSCLR=1 Underflow = 0x1, _, }; pub const SSRUMF = enum(u1) { - /// This flag is set by hardware when the SSR rolls under 0. SSRUF is not set when SSCLR=1 + /// This flag is set by hardware when the SSR rolls under 0. SSRUF is not set when SSCLR=1 Underflow = 0x1, _, }; pub const TAMPALRM_TYPE = enum(u1) { - /// TAMPALRM is push-pull output + /// TAMPALRM is push-pull output PushPull = 0x0, - /// TAMPALRM is open-drain output + /// TAMPALRM is open-drain output OpenDrain = 0x1, }; pub const TSEDGE = enum(u1) { - /// RTC_TS input rising edge generates a time-stamp event + /// RTC_TS input rising edge generates a time-stamp event RisingEdge = 0x0, - /// RTC_TS input falling edge generates a time-stamp event + /// RTC_TS input falling edge generates a time-stamp event FallingEdge = 0x1, }; pub const TSF = enum(u1) { - /// This flag is set by hardware when a time-stamp event occurs + /// This flag is set by hardware when a time-stamp event occurs TimestampEvent = 0x1, _, }; pub const TSMF = enum(u1) { - /// This flag is set by hardware when a time-stamp event occurs + /// This flag is set by hardware when a time-stamp event occurs TimestampEvent = 0x1, _, }; pub const TSOVF = enum(u1) { - /// This flag is set by hardware when a time-stamp event occurs while TSF is already set + /// This flag is set by hardware when a time-stamp event occurs while TSF is already set Overflow = 0x1, _, }; pub const TSOVMF = enum(u1) { - /// This flag is set by hardware when a time-stamp event occurs while TSF is already set + /// This flag is set by hardware when a time-stamp event occurs while TSF is already set Overflow = 0x1, _, }; pub const WUCKSEL = enum(u3) { - /// RTC/16 clock is selected + /// RTC/16 clock is selected Div16 = 0x0, - /// RTC/8 clock is selected + /// RTC/8 clock is selected Div8 = 0x1, - /// RTC/4 clock is selected + /// RTC/4 clock is selected Div4 = 0x2, - /// RTC/2 clock is selected + /// RTC/2 clock is selected Div2 = 0x3, - /// ck_spre (usually 1 Hz) clock is selected + /// ck_spre (usually 1 Hz) clock is selected ClockSpare = 0x4, - /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value + /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value ClockSpareWithOffset = 0x6, _, }; pub const WUTF = enum(u1) { - /// This flag is set by hardware when the wakeup auto-reload counter reaches 0 + /// This flag is set by hardware when the wakeup auto-reload counter reaches 0 Zero = 0x1, _, }; pub const WUTMF = enum(u1) { - /// This flag is set by hardware when the wakeup auto-reload counter reaches 0 + /// This flag is set by hardware when the wakeup auto-reload counter reaches 0 Zero = 0x1, _, }; - /// Real-time clock + /// Real-time clock pub const RTC = extern struct { - /// Time register + /// Time register TR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Date register + /// Date register DR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, - /// Year units in BCD format + /// Year units in BCD format YU: u4, - /// Year tens in BCD format + /// Year tens in BCD format YT: u4, padding: u8, }), - /// Sub second register + /// Sub second register SSR: mmio.Mmio(packed struct(u32) { - /// Synchronous binary counter + /// Synchronous binary counter SS: u32, }), - /// Initialization control and status register + /// Initialization control and status register ICSR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Wakeup timer write enabled + /// Wakeup timer write enabled WUTWF: u1, - /// Shift operation pending + /// Shift operation pending SHPF: u1, - /// Initialization status flag + /// Initialization status flag INITS: u1, - /// Registers synchronization flag + /// Registers synchronization flag RSF: u1, - /// Initialization flag + /// Initialization flag INITF: u1, - /// Enter Initialization mode + /// Enter Initialization mode INIT: u1, - /// Binary mode - BIN: packed union { - raw: u2, - value: BIN, - }, - /// BCD update - BCDU: packed union { - raw: u3, - value: BCDU, - }, + /// Binary mode + BIN: BIN, + /// BCD update + BCDU: BCDU, reserved16: u3, - /// Recalibration pending Flag - RECALPF: packed union { - raw: u1, - value: RECALPF, - }, + /// Recalibration pending Flag + RECALPF: RECALPF, padding: u15, }), - /// Prescaler register + /// Prescaler register PRER: mmio.Mmio(packed struct(u32) { - /// Synchronous prescaler factor + /// Synchronous prescaler factor PREDIV_S: u15, reserved16: u1, - /// Asynchronous prescaler factor + /// Asynchronous prescaler factor PREDIV_A: u7, padding: u9, }), - /// Wakeup timer register + /// Wakeup timer register WUTR: mmio.Mmio(packed struct(u32) { - /// Wakeup auto-reload value bits + /// Wakeup auto-reload value bits WUT: u16, - /// Wakeup auto-reload output clear value + /// Wakeup auto-reload output clear value WUTOCLR: u16, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Wakeup clock selection - WUCKSEL: packed union { - raw: u3, - value: WUCKSEL, - }, - /// Timestamp event active edge - TSEDGE: packed union { - raw: u1, - value: TSEDGE, - }, - /// RTC_REFIN reference clock detection enable (50 or 60 Hz) + /// Wakeup clock selection + WUCKSEL: WUCKSEL, + /// Timestamp event active edge + TSEDGE: TSEDGE, + /// RTC_REFIN reference clock detection enable (50 or 60 Hz) REFCKON: u1, - /// Bypass the shadow registers + /// Bypass the shadow registers BYPSHAD: u1, - /// Hour format - FMT: packed union { - raw: u1, - value: FMT, - }, - /// SSR underflow interrupt enable + /// Hour format + FMT: FMT, + /// SSR underflow interrupt enable SSRUIE: u1, - /// Alarm enable + /// Alarm enable ALRE: u1, reserved10: u1, - /// Wakeup timer enable + /// Wakeup timer enable WUTE: u1, - /// Timestamp enable + /// Timestamp enable TSE: u1, - /// Alarm interrupt enable + /// Alarm interrupt enable ALRAIE: u1, reserved14: u1, - /// Wakeup timer interrupt enable + /// Wakeup timer interrupt enable WUTIE: u1, - /// Timestamp interrupt enable + /// Timestamp interrupt enable TSIE: u1, - /// Add 1 hour (summer time change) + /// Add 1 hour (summer time change) ADD1H: u1, - /// Subtract 1 hour (winter time change) + /// Subtract 1 hour (winter time change) SUB1H: u1, - /// Backup + /// Backup BKP: u1, - /// Calibration output selection - COSEL: packed union { - raw: u1, - value: COSEL, - }, - /// Output polarity - POL: packed union { - raw: u1, - value: POL, - }, - /// Output selection - OSEL: packed union { - raw: u2, - value: OSEL, - }, - /// Calibration output enable + /// Calibration output selection + COSEL: COSEL, + /// Output polarity + POL: POL, + /// Output selection + OSEL: OSEL, + /// Calibration output enable COE: u1, - /// Timestamp on internal event enable + /// Timestamp on internal event enable ITSE: u1, - /// Activate timestamp on tamper detection event + /// Activate timestamp on tamper detection event TAMPTS: u1, - /// Tamper detection output enable on TAMPALRM + /// Tamper detection output enable on TAMPALRM TAMPOE: u1, reserved29: u2, - /// TAMPALRM pull-up enable + /// TAMPALRM pull-up enable TAMPALRM_PU: u1, - /// TAMPALRM output type - TAMPALRM_TYPE: packed union { - raw: u1, - value: TAMPALRM_TYPE, - }, - /// RTC_OUT2 output enable + /// TAMPALRM output type + TAMPALRM_TYPE: TAMPALRM_TYPE, + /// RTC_OUT2 output enable OUT2EN: u1, }), reserved36: [8]u8, - /// Write protection register + /// Write protection register WPR: mmio.Mmio(packed struct(u32) { - /// Write protection key - KEY: packed union { - raw: u8, - value: KEY, - }, + /// Write protection key + KEY: KEY, padding: u24, }), - /// Calibration register + /// Calibration register CALR: mmio.Mmio(packed struct(u32) { - /// Calibration minus + /// Calibration minus CALM: u9, reserved12: u3, - /// Calibration low-power mode - LPCAL: packed union { - raw: u1, - value: LPCAL, - }, - /// Use a 16-second calibration cycle period - CALW16: packed union { - raw: u1, - value: CALW16, - }, - /// Use an 8-second calibration cycle period - CALW8: packed union { - raw: u1, - value: CALW8, - }, - /// Increase frequency of RTC by 488.5 ppm - CALP: packed union { - raw: u1, - value: CALP, - }, + /// Calibration low-power mode + LPCAL: LPCAL, + /// Use a 16-second calibration cycle period + CALW16: CALW16, + /// Use an 8-second calibration cycle period + CALW8: CALW8, + /// Increase frequency of RTC by 488.5 ppm + CALP: CALP, padding: u16, }), - /// Shift control register + /// Shift control register SHIFTR: mmio.Mmio(packed struct(u32) { - /// Subtract a fraction of a second + /// Subtract a fraction of a second SUBFS: u15, reserved31: u16, - /// Add one second + /// Add one second ADD1S: u1, }), - /// Timestamp time register + /// Timestamp time register TSTR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation + /// AM/PM notation PM: u1, padding: u9, }), - /// Timestamp date register + /// Timestamp date register TSDR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, padding: u16, }), - /// Timestamp sub second register + /// Timestamp sub second register TSSSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u32, }), reserved64: [4]u8, - /// Alarm register + /// Alarm register ALRMR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, - /// Alarm A seconds mask - MSK1: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Minute units in BCD format + /// Alarm A seconds mask + MSK1: ALRMR_MSK, + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, - /// Alarm A minutes mask - MSK2: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Hour units in BCD format + /// Alarm A minutes mask + MSK2: ALRMR_MSK, + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: ALRMR_PM, - }, - /// Alarm A hours mask - MSK3: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Date units or day in BCD format + /// AM/PM notation + PM: ALRMR_PM, + /// Alarm A hours mask + MSK3: ALRMR_MSK, + /// Date units or day in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, - /// Week day selection - WDSEL: packed union { - raw: u1, - value: ALRMR_WDSEL, - }, - /// Alarm A date mask - MSK4: packed union { - raw: u1, - value: ALRMR_MSK, - }, - }), - /// Alarm sub second register + /// Week day selection + WDSEL: ALRMR_WDSEL, + /// Alarm A date mask + MSK4: ALRMR_MSK, + }), + /// Alarm sub second register ALRMSSR: mmio.Mmio(packed struct(u32) { - /// Sub seconds value + /// Sub seconds value SS: u15, reserved24: u9, - /// Mask the most-significant bits starting at this bit + /// Mask the most-significant bits starting at this bit MASKSS: u6, reserved31: u1, - /// Clear synchronous counter on alarm (Binary mode only) - SSCLR: packed union { - raw: u1, - value: ALRMSSR_SSCLR, - }, + /// Clear synchronous counter on alarm (Binary mode only) + SSCLR: ALRMSSR_SSCLR, }), reserved80: [8]u8, - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Alarm flag - ALRF: packed union { - raw: u1, - value: ALRF, - }, + /// Alarm flag + ALRF: ALRF, reserved2: u1, - /// Wakeup timer flag - WUTF: packed union { - raw: u1, - value: WUTF, - }, - /// Timestamp flag - TSF: packed union { - raw: u1, - value: TSF, - }, - /// Timestamp overflow flag - TSOVF: packed union { - raw: u1, - value: TSOVF, - }, - /// Internal timestamp flag - ITSF: packed union { - raw: u1, - value: ITSF, - }, - /// SSR underflow flag - SSRUF: packed union { - raw: u1, - value: SSRUF, - }, + /// Wakeup timer flag + WUTF: WUTF, + /// Timestamp flag + TSF: TSF, + /// Timestamp overflow flag + TSOVF: TSOVF, + /// Internal timestamp flag + ITSF: ITSF, + /// SSR underflow flag + SSRUF: SSRUF, padding: u25, }), - /// Masked interrupt status register + /// Masked interrupt status register MISR: mmio.Mmio(packed struct(u32) { - /// Alarm masked flag - ALRMF: packed union { - raw: u1, - value: ALRMF, - }, + /// Alarm masked flag + ALRMF: ALRMF, reserved2: u1, - /// Wakeup timer masked flag - WUTMF: packed union { - raw: u1, - value: WUTMF, - }, - /// Timestamp masked flag - TSMF: packed union { - raw: u1, - value: TSMF, - }, - /// Timestamp overflow masked flag - TSOVMF: packed union { - raw: u1, - value: TSOVMF, - }, - /// Internal timestamp masked flag - ITSMF: packed union { - raw: u1, - value: ITSMF, - }, - /// SSR underflow masked flag - SSRUMF: packed union { - raw: u1, - value: SSRUMF, - }, + /// Wakeup timer masked flag + WUTMF: WUTMF, + /// Timestamp masked flag + TSMF: TSMF, + /// Timestamp overflow masked flag + TSOVMF: TSOVMF, + /// Internal timestamp masked flag + ITSMF: ITSMF, + /// SSR underflow masked flag + SSRUMF: SSRUMF, padding: u25, }), reserved92: [4]u8, - /// Status clear register + /// Status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear alarm A flag - CALRF: packed union { - raw: u1, - value: CALRF, - }, + /// Clear alarm A flag + CALRF: CALRF, reserved2: u1, - /// Clear wakeup timer flag - CWUTF: packed union { - raw: u1, - value: CALRF, - }, - /// Clear timestamp flag - CTSF: packed union { - raw: u1, - value: CALRF, - }, - /// Clear timestamp overflow flag - CTSOVF: packed union { - raw: u1, - value: CALRF, - }, - /// Clear internal timestamp flag - CITSF: packed union { - raw: u1, - value: CALRF, - }, - /// Clear SSR underflow flag - CSSRUF: packed union { - raw: u1, - value: CALRF, - }, + /// Clear wakeup timer flag + CWUTF: CALRF, + /// Clear timestamp flag + CTSF: CALRF, + /// Clear timestamp overflow flag + CTSOVF: CALRF, + /// Clear internal timestamp flag + CITSF: CALRF, + /// Clear SSR underflow flag + CSSRUF: CALRF, padding: u25, }), reserved112: [16]u8, - /// Alarm binary mode register + /// Alarm binary mode register ALRBINR: [2]mmio.Mmio(packed struct(u32) { - /// Synchronous counter alarm value in Binary mode + /// Synchronous counter alarm value in Binary mode SS: u32, }), }; @@ -420467,651 +411341,546 @@ pub const types = struct { pub const rtc_v3l5 = struct { pub const ALRF = enum(u1) { - /// This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the Alarm A register (RTC_ALRMAR) + /// This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the Alarm A register (RTC_ALRMAR) Match = 0x1, _, }; pub const ALRMF = enum(u1) { - /// This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the Alarm A register (RTC_ALRMAR) + /// This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the Alarm A register (RTC_ALRMAR) Match = 0x1, _, }; pub const ALRMR_MSK = enum(u1) { - /// Alarm set if the date/day match + /// Alarm set if the date/day match ToMatch = 0x0, - /// Date/day don’t care in Alarm comparison + /// Date/day don’t care in Alarm comparison NotMatch = 0x1, }; pub const ALRMR_PM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const ALRMR_WDSEL = enum(u1) { - /// DU[3:0] represents the date units + /// DU[3:0] represents the date units DateUnits = 0x0, - /// DU[3:0] represents the week day. DT[1:0] is don’t care. + /// DU[3:0] represents the week day. DT[1:0] is don’t care. WeekDay = 0x1, }; pub const AMPM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const CALP = enum(u1) { - /// No RTCCLK pulses are added + /// No RTCCLK pulses are added NoChange = 0x0, - /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) + /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) IncreaseFreq = 0x1, }; pub const CALRF = enum(u1) { - /// Clear interrupt flag by writing 1 + /// Clear interrupt flag by writing 1 Clear = 0x1, _, }; pub const CALW16 = enum(u1) { - /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 + /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 SixteenSeconds = 0x1, _, }; pub const CALW8 = enum(u1) { - /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected + /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected EightSeconds = 0x1, _, }; pub const COSEL = enum(u1) { - /// Calibration output is 512 Hz (with default prescaler setting) + /// Calibration output is 512 Hz (with default prescaler setting) CalFreq_512Hz = 0x0, - /// Calibration output is 1 Hz (with default prescaler setting) + /// Calibration output is 1 Hz (with default prescaler setting) CalFreq_1Hz = 0x1, }; pub const FMT = enum(u1) { - /// 24 hour/day format + /// 24 hour/day format TwentyFourHour = 0x0, - /// AM/PM hour format + /// AM/PM hour format AmPm = 0x1, }; pub const ITSF = enum(u1) { - /// This flag is set by hardware when a timestamp on the internal event occurs + /// This flag is set by hardware when a timestamp on the internal event occurs TimestampEvent = 0x1, _, }; pub const ITSMF = enum(u1) { - /// This flag is set by hardware when a timestamp on the internal event occurs + /// This flag is set by hardware when a timestamp on the internal event occurs TimestampEvent = 0x1, _, }; pub const KEY = enum(u8) { - /// Activate write protection (any value that is not the keys) + /// Activate write protection (any value that is not the keys) Activate = 0x0, - /// Key 2 + /// Key 2 Deactivate2 = 0x53, - /// Key 1 + /// Key 1 Deactivate1 = 0xca, _, }; pub const LPCAL = enum(u1) { - /// Calibration window is 220 RTCCLK, which is a high-consumption mode. This mode should be set only when less than 32s calibration window is required + /// Calibration window is 220 RTCCLK, which is a high-consumption mode. This mode should be set only when less than 32s calibration window is required RTCCLK = 0x0, - /// Calibration window is 220 ck_apre, which is the required configuration for ultra-low consumption mode + /// Calibration window is 220 ck_apre, which is the required configuration for ultra-low consumption mode CkApre = 0x1, }; pub const OSEL = enum(u2) { - /// Output disabled + /// Output disabled Disabled = 0x0, - /// Alarm A output enabled + /// Alarm A output enabled AlarmA = 0x1, - /// Alarm B output enabled + /// Alarm B output enabled AlarmB = 0x2, - /// Wakeup output enabled + /// Wakeup output enabled Wakeup = 0x3, }; pub const POL = enum(u1) { - /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) High = 0x0, - /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) Low = 0x1, }; pub const RECALPF = enum(u1) { - /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 + /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 Pending = 0x1, _, }; pub const TAMPALRM_TYPE = enum(u1) { - /// TAMPALRM is push-pull output + /// TAMPALRM is push-pull output PushPull = 0x0, - /// TAMPALRM is open-drain output + /// TAMPALRM is open-drain output OpenDrain = 0x1, }; pub const TSEDGE = enum(u1) { - /// RTC_TS input rising edge generates a time-stamp event + /// RTC_TS input rising edge generates a time-stamp event RisingEdge = 0x0, - /// RTC_TS input falling edge generates a time-stamp event + /// RTC_TS input falling edge generates a time-stamp event FallingEdge = 0x1, }; pub const TSF = enum(u1) { - /// This flag is set by hardware when a time-stamp event occurs + /// This flag is set by hardware when a time-stamp event occurs TimestampEvent = 0x1, _, }; pub const TSMF = enum(u1) { - /// This flag is set by hardware when a time-stamp event occurs + /// This flag is set by hardware when a time-stamp event occurs TimestampEvent = 0x1, _, }; pub const TSOVF = enum(u1) { - /// This flag is set by hardware when a time-stamp event occurs while TSF is already set + /// This flag is set by hardware when a time-stamp event occurs while TSF is already set Overflow = 0x1, _, }; pub const TSOVMF = enum(u1) { - /// This flag is set by hardware when a time-stamp event occurs while TSF is already set + /// This flag is set by hardware when a time-stamp event occurs while TSF is already set Overflow = 0x1, _, }; pub const WUCKSEL = enum(u3) { - /// RTC/16 clock is selected + /// RTC/16 clock is selected Div16 = 0x0, - /// RTC/8 clock is selected + /// RTC/8 clock is selected Div8 = 0x1, - /// RTC/4 clock is selected + /// RTC/4 clock is selected Div4 = 0x2, - /// RTC/2 clock is selected + /// RTC/2 clock is selected Div2 = 0x3, - /// ck_spre (usually 1 Hz) clock is selected + /// ck_spre (usually 1 Hz) clock is selected ClockSpare = 0x4, - /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value + /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value ClockSpareWithOffset = 0x6, _, }; pub const WUTF = enum(u1) { - /// This flag is set by hardware when the wakeup auto-reload counter reaches 0 + /// This flag is set by hardware when the wakeup auto-reload counter reaches 0 Zero = 0x1, _, }; pub const WUTMF = enum(u1) { - /// This flag is set by hardware when the wakeup auto-reload counter reaches 0 + /// This flag is set by hardware when the wakeup auto-reload counter reaches 0 Zero = 0x1, _, }; - /// Real-time clock + /// Real-time clock pub const RTC = extern struct { - /// Time register + /// Time register TR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Date register + /// Date register DR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, - /// Year units in BCD format + /// Year units in BCD format YU: u4, - /// Year tens in BCD format + /// Year tens in BCD format YT: u4, padding: u8, }), - /// Sub second register + /// Sub second register SSR: mmio.Mmio(packed struct(u32) { - /// Synchronous binary counter + /// Synchronous binary counter SS: u16, padding: u16, }), - /// Initialization control and status register + /// Initialization control and status register ICSR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Wakeup timer write flag + /// Wakeup timer write flag WUTWF: u1, - /// Shift operation pending + /// Shift operation pending SHPF: u1, - /// Initialization status flag + /// Initialization status flag INITS: u1, - /// Registers synchronization flag + /// Registers synchronization flag RSF: u1, - /// Initialization flag + /// Initialization flag INITF: u1, - /// Initialization mode + /// Initialization mode INIT: u1, reserved16: u8, - /// Recalibration pending Flag - RECALPF: packed union { - raw: u1, - value: RECALPF, - }, + /// Recalibration pending Flag + RECALPF: RECALPF, padding: u15, }), - /// Prescaler register + /// Prescaler register PRER: mmio.Mmio(packed struct(u32) { - /// Synchronous prescaler factor + /// Synchronous prescaler factor PREDIV_S: u15, reserved16: u1, - /// Asynchronous prescaler factor + /// Asynchronous prescaler factor PREDIV_A: u7, padding: u9, }), - /// Wakeup timer register + /// Wakeup timer register WUTR: mmio.Mmio(packed struct(u32) { - /// Wakeup auto-reload value bits + /// Wakeup auto-reload value bits WUT: u16, - /// Wakeup auto-reload output clear value + /// Wakeup auto-reload output clear value WUTOCLR: u16, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Wakeup clock selection - WUCKSEL: packed union { - raw: u3, - value: WUCKSEL, - }, - /// Timestamp event active edge - TSEDGE: packed union { - raw: u1, - value: TSEDGE, - }, - /// RTC_REFIN reference clock detection enable (50 or 60 Hz) + /// Wakeup clock selection + WUCKSEL: WUCKSEL, + /// Timestamp event active edge + TSEDGE: TSEDGE, + /// RTC_REFIN reference clock detection enable (50 or 60 Hz) REFCKON: u1, - /// Bypass the shadow registers + /// Bypass the shadow registers BYPSHAD: u1, - /// Hour format - FMT: packed union { - raw: u1, - value: FMT, - }, + /// Hour format + FMT: FMT, reserved8: u1, - /// Alarm enable + /// Alarm enable ALRE: u1, reserved10: u1, - /// Wakeup timer enable + /// Wakeup timer enable WUTE: u1, - /// Timestamp enable + /// Timestamp enable TSE: u1, - /// Alarm interrupt enable + /// Alarm interrupt enable ALRIE: u1, reserved14: u1, - /// Wakeup timer interrupt enable + /// Wakeup timer interrupt enable WUTIE: u1, - /// Timestamp interrupt enable + /// Timestamp interrupt enable TSIE: u1, - /// Add 1 hour (summer time change) + /// Add 1 hour (summer time change) ADD1H: u1, - /// Subtract 1 hour (winter time change) + /// Subtract 1 hour (winter time change) SUB1H: u1, - /// Backup + /// Backup BKP: u1, - /// Calibration output selection - COSEL: packed union { - raw: u1, - value: COSEL, - }, - /// Output polarity - POL: packed union { - raw: u1, - value: POL, - }, - /// Output selection - OSEL: packed union { - raw: u2, - value: OSEL, - }, - /// Calibration output enable + /// Calibration output selection + COSEL: COSEL, + /// Output polarity + POL: POL, + /// Output selection + OSEL: OSEL, + /// Calibration output enable COE: u1, - /// Timestamp on internal event enable + /// Timestamp on internal event enable ITSE: u1, - /// Activate timestamp on tamper detection event + /// Activate timestamp on tamper detection event TAMPTS: u1, - /// Tamper detection output enable on TAMPALRM + /// Tamper detection output enable on TAMPALRM TAMPOE: u1, reserved29: u2, - /// TAMPALRM pull-up enable + /// TAMPALRM pull-up enable TAMPALRM_PU: u1, - /// TAMPALRM output type - TAMPALRM_TYPE: packed union { - raw: u1, - value: TAMPALRM_TYPE, - }, - /// RTC_OUT2 output enable + /// TAMPALRM output type + TAMPALRM_TYPE: TAMPALRM_TYPE, + /// RTC_OUT2 output enable OUT2EN: u1, }), - /// Privilege mode control register + /// Privilege mode control register PRIVCR: mmio.Mmio(packed struct(u32) { - /// ALRAPRIV + /// ALRAPRIV ALRPRIV: u1, reserved2: u1, - /// WUTPRIV + /// WUTPRIV WUTPRIV: u1, - /// TSPRIV + /// TSPRIV TSPRIV: u1, reserved13: u9, - /// CALPRIV + /// CALPRIV CALPRIV: u1, - /// INITPRIV + /// INITPRIV INITPRIV: u1, - /// PRIV + /// PRIV PRIV: u1, padding: u16, }), SMCR: mmio.Mmio(packed struct(u32) { - /// Alarm x protection + /// Alarm x protection ALRDPROT: u1, reserved2: u1, - /// Wakeup timer protection + /// Wakeup timer protection WUTDPROT: u1, - /// Timestamp protection + /// Timestamp protection TSDPROT: u1, reserved13: u9, - /// Shift register, daylight saving, calibration and reference clock protection + /// Shift register, daylight saving, calibration and reference clock protection CALDPROT: u1, - /// Initialization protection + /// Initialization protection INITDPROT: u1, - /// RTC global protection + /// RTC global protection DECPROT: u1, padding: u16, }), - /// Write protection register + /// Write protection register WPR: mmio.Mmio(packed struct(u32) { - /// Write protection key - KEY: packed union { - raw: u8, - value: KEY, - }, + /// Write protection key + KEY: KEY, padding: u24, }), - /// Calibration register + /// Calibration register CALR: mmio.Mmio(packed struct(u32) { - /// Calibration minus + /// Calibration minus CALM: u9, reserved12: u3, - /// Calibration low-power mode - LPCAL: packed union { - raw: u1, - value: LPCAL, - }, - /// Use a 16-second calibration cycle period - CALW16: packed union { - raw: u1, - value: CALW16, - }, - /// Use an 8-second calibration cycle period - CALW8: packed union { - raw: u1, - value: CALW8, - }, - /// Increase frequency of RTC by 488.5 ppm - CALP: packed union { - raw: u1, - value: CALP, - }, + /// Calibration low-power mode + LPCAL: LPCAL, + /// Use a 16-second calibration cycle period + CALW16: CALW16, + /// Use an 8-second calibration cycle period + CALW8: CALW8, + /// Increase frequency of RTC by 488.5 ppm + CALP: CALP, padding: u16, }), - /// Shift control register + /// Shift control register SHIFTR: mmio.Mmio(packed struct(u32) { - /// Subtract a fraction of a second + /// Subtract a fraction of a second SUBFS: u15, reserved31: u16, - /// Add one second + /// Add one second ADD1S: u1, }), - /// Timestamp time register + /// Timestamp time register TSTR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation + /// AM/PM notation PM: u1, padding: u9, }), - /// Timestamp date register + /// Timestamp date register TSDR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, padding: u16, }), - /// Timestamp sub second register + /// Timestamp sub second register TSSSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u16, padding: u16, }), reserved64: [4]u8, - /// Alarm register + /// Alarm register ALRMR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, - /// Alarm A seconds mask - MSK1: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Minute units in BCD format + /// Alarm A seconds mask + MSK1: ALRMR_MSK, + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, - /// Alarm A minutes mask - MSK2: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Hour units in BCD format + /// Alarm A minutes mask + MSK2: ALRMR_MSK, + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: ALRMR_PM, - }, - /// Alarm A hours mask - MSK3: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Date units or day in BCD format + /// AM/PM notation + PM: ALRMR_PM, + /// Alarm A hours mask + MSK3: ALRMR_MSK, + /// Date units or day in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, - /// Week day selection - WDSEL: packed union { - raw: u1, - value: ALRMR_WDSEL, - }, - /// Alarm A date mask - MSK4: packed union { - raw: u1, - value: ALRMR_MSK, - }, - }), - /// Alarm sub second register + /// Week day selection + WDSEL: ALRMR_WDSEL, + /// Alarm A date mask + MSK4: ALRMR_MSK, + }), + /// Alarm sub second register ALRMSSR: mmio.Mmio(packed struct(u32) { - /// Sub seconds value + /// Sub seconds value SS: u15, reserved24: u9, - /// Mask the most-significant bits starting at this bit + /// Mask the most-significant bits starting at this bit MASKSS: u4, padding: u4, }), reserved80: [8]u8, - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Alarm flag - ALRF: packed union { - raw: u1, - value: ALRF, - }, + /// Alarm flag + ALRF: ALRF, reserved2: u1, - /// Wakeup timer flag - WUTF: packed union { - raw: u1, - value: WUTF, - }, - /// Timestamp flag - TSF: packed union { - raw: u1, - value: TSF, - }, - /// Timestamp overflow flag - TSOVF: packed union { - raw: u1, - value: TSOVF, - }, - /// Internal timestamp flag - ITSF: packed union { - raw: u1, - value: ITSF, - }, + /// Wakeup timer flag + WUTF: WUTF, + /// Timestamp flag + TSF: TSF, + /// Timestamp overflow flag + TSOVF: TSOVF, + /// Internal timestamp flag + ITSF: ITSF, padding: u26, }), - /// Masked interrupt status register + /// Masked interrupt status register MISR: mmio.Mmio(packed struct(u32) { - /// Alarm masked flag - ALRMF: packed union { - raw: u1, - value: ALRMF, - }, + /// Alarm masked flag + ALRMF: ALRMF, reserved2: u1, - /// Wakeup timer masked flag - WUTMF: packed union { - raw: u1, - value: WUTMF, - }, - /// Timestamp masked flag - TSMF: packed union { - raw: u1, - value: TSMF, - }, - /// Timestamp overflow masked flag - TSOVMF: packed union { - raw: u1, - value: TSOVMF, - }, - /// Internal timestamp masked flag - ITSMF: packed union { - raw: u1, - value: ITSMF, - }, + /// Wakeup timer masked flag + WUTMF: WUTMF, + /// Timestamp masked flag + TSMF: TSMF, + /// Timestamp overflow masked flag + TSOVMF: TSOVMF, + /// Internal timestamp masked flag + ITSMF: ITSMF, padding: u26, }), - /// Secure masked interrupt status register + /// Secure masked interrupt status register SMISR: mmio.Mmio(packed struct(u32) { - /// Alarm x interrupt secure masked flag + /// Alarm x interrupt secure masked flag ALRMF: u1, reserved2: u1, - /// WUTMF + /// WUTMF WUTMF: u1, - /// TSMF + /// TSMF TSMF: u1, - /// TSOVMF + /// TSOVMF TSOVMF: u1, - /// ITSMF + /// ITSMF ITSMF: u1, padding: u26, }), - /// Status clear register + /// Status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear alarm x flag - CALRF: packed union { - raw: u1, - value: CALRF, - }, + /// Clear alarm x flag + CALRF: CALRF, reserved2: u1, - /// Clear wakeup timer flag - CWUTF: packed union { - raw: u1, - value: CALRF, - }, - /// Clear timestamp flag - CTSF: packed union { - raw: u1, - value: CALRF, - }, - /// Clear timestamp overflow flag - CTSOVF: packed union { - raw: u1, - value: CALRF, - }, - /// Clear internal timestamp flag - CITSF: packed union { - raw: u1, - value: CALRF, - }, + /// Clear wakeup timer flag + CWUTF: CALRF, + /// Clear timestamp flag + CTSF: CALRF, + /// Clear timestamp overflow flag + CTSOVF: CALRF, + /// Clear internal timestamp flag + CITSF: CALRF, padding: u26, }), }; @@ -421119,741 +411888,618 @@ pub const types = struct { pub const rtc_v3u5 = struct { pub const ALRF = enum(u1) { - /// This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the Alarm A register (RTC_ALRMAR) + /// This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the Alarm A register (RTC_ALRMAR) Match = 0x1, _, }; pub const ALRMF = enum(u1) { - /// This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the Alarm A register (RTC_ALRMAR) + /// This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the Alarm A register (RTC_ALRMAR) Match = 0x1, _, }; pub const ALRMR_MSK = enum(u1) { - /// Alarm set if the date/day match + /// Alarm set if the date/day match ToMatch = 0x0, - /// Date/day don’t care in Alarm comparison + /// Date/day don’t care in Alarm comparison NotMatch = 0x1, }; pub const ALRMR_PM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const ALRMR_WDSEL = enum(u1) { - /// DU[3:0] represents the date units + /// DU[3:0] represents the date units DateUnits = 0x0, - /// DU[3:0] represents the week day. DT[1:0] is don’t care. + /// DU[3:0] represents the week day. DT[1:0] is don’t care. WeekDay = 0x1, }; pub const ALRMSSR_SSCLR = enum(u1) { - /// The synchronous binary counter (SS[31:0] in RTC_SSR) is free-running + /// The synchronous binary counter (SS[31:0] in RTC_SSR) is free-running FreeRunning = 0x0, - /// The synchronous binary counter (SS[31:0] in RTC_SSR) is running from 0xFFFF FFFF to RTC_ALRMABINR → SS[31:0] value and is automatically reloaded with 0xFFFF FFFF when reaching RTC_ALRMABINR → SS[31:0] + /// The synchronous binary counter (SS[31:0] in RTC_SSR) is running from 0xFFFF FFFF to RTC_ALRMABINR → SS[31:0] value and is automatically reloaded with 0xFFFF FFFF when reaching RTC_ALRMABINR → SS[31:0] ALRMBINR = 0x1, }; pub const AMPM = enum(u1) { - /// AM or 24-hour format + /// AM or 24-hour format AM = 0x0, - /// PM + /// PM PM = 0x1, }; pub const BCDU = enum(u3) { - /// 1s increment each time SS[7:0]=0 + /// 1s increment each time SS[7:0]=0 Bit7 = 0x0, - /// 1s increment each time SS[8:0]=0 + /// 1s increment each time SS[8:0]=0 Bit8 = 0x1, - /// 1s increment each time SS[9:0]=0 + /// 1s increment each time SS[9:0]=0 Bit9 = 0x2, - /// 1s increment each time SS[10:0]=0 + /// 1s increment each time SS[10:0]=0 Bit10 = 0x3, - /// 1s increment each time SS[11:0]=0 + /// 1s increment each time SS[11:0]=0 Bit11 = 0x4, - /// 1s increment each time SS[12:0]=0 + /// 1s increment each time SS[12:0]=0 Bit12 = 0x5, - /// 1s increment each time SS[13:0]=0 + /// 1s increment each time SS[13:0]=0 Bit13 = 0x6, - /// 1s increment each time SS[14:0]=0 + /// 1s increment each time SS[14:0]=0 Bit14 = 0x7, }; pub const BIN = enum(u2) { - /// Free running BCD calendar mode (Binary mode disabled) + /// Free running BCD calendar mode (Binary mode disabled) BCD = 0x0, - /// Free running Binary mode (BCD mode disabled) + /// Free running Binary mode (BCD mode disabled) Binary = 0x1, - /// Free running BCD calendar and Binary modes + /// Free running BCD calendar and Binary modes BinBCD = 0x2, - /// Free running BCD calendar and Binary modes + /// Free running BCD calendar and Binary modes BinBCD2 = 0x3, }; pub const CALP = enum(u1) { - /// No RTCCLK pulses are added + /// No RTCCLK pulses are added NoChange = 0x0, - /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) + /// One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm) IncreaseFreq = 0x1, }; pub const CALRF = enum(u1) { - /// Clear interrupt flag by writing 1 + /// Clear interrupt flag by writing 1 Clear = 0x1, _, }; pub const CALW16 = enum(u1) { - /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 + /// When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1 SixteenSeconds = 0x1, _, }; pub const CALW8 = enum(u1) { - /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected + /// When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected EightSeconds = 0x1, _, }; pub const COSEL = enum(u1) { - /// Calibration output is 512 Hz (with default prescaler setting) + /// Calibration output is 512 Hz (with default prescaler setting) CalFreq_512Hz = 0x0, - /// Calibration output is 1 Hz (with default prescaler setting) + /// Calibration output is 1 Hz (with default prescaler setting) CalFreq_1Hz = 0x1, }; pub const FMT = enum(u1) { - /// 24 hour/day format + /// 24 hour/day format TwentyFourHour = 0x0, - /// AM/PM hour format + /// AM/PM hour format AmPm = 0x1, }; pub const ITSF = enum(u1) { - /// This flag is set by hardware when a timestamp on the internal event occurs + /// This flag is set by hardware when a timestamp on the internal event occurs TimestampEvent = 0x1, _, }; pub const ITSMF = enum(u1) { - /// This flag is set by hardware when a timestamp on the internal event occurs + /// This flag is set by hardware when a timestamp on the internal event occurs TimestampEvent = 0x1, _, }; pub const KEY = enum(u8) { - /// Activate write protection (any value that is not the keys) + /// Activate write protection (any value that is not the keys) Activate = 0x0, - /// Key 2 + /// Key 2 Deactivate2 = 0x53, - /// Key 1 + /// Key 1 Deactivate1 = 0xca, _, }; pub const LPCAL = enum(u1) { - /// Calibration window is 220 RTCCLK, which is a high-consumption mode. This mode should be set only when less than 32s calibration window is required + /// Calibration window is 220 RTCCLK, which is a high-consumption mode. This mode should be set only when less than 32s calibration window is required RTCCLK = 0x0, - /// Calibration window is 220 ck_apre, which is the required configuration for ultra-low consumption mode + /// Calibration window is 220 ck_apre, which is the required configuration for ultra-low consumption mode CkApre = 0x1, }; pub const OSEL = enum(u2) { - /// Output disabled + /// Output disabled Disabled = 0x0, - /// Alarm A output enabled + /// Alarm A output enabled AlarmA = 0x1, - /// Alarm B output enabled + /// Alarm B output enabled AlarmB = 0x2, - /// Wakeup output enabled + /// Wakeup output enabled Wakeup = 0x3, }; pub const POL = enum(u1) { - /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) High = 0x0, - /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) + /// The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0]) Low = 0x1, }; pub const RECALPF = enum(u1) { - /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 + /// The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0 Pending = 0x1, _, }; pub const SSRUF = enum(u1) { - /// This flag is set by hardware when the SSR rolls under 0. SSRUF is not set when SSCLR=1 + /// This flag is set by hardware when the SSR rolls under 0. SSRUF is not set when SSCLR=1 Underflow = 0x1, _, }; pub const SSRUMF = enum(u1) { - /// This flag is set by hardware when the SSR rolls under 0. SSRUF is not set when SSCLR=1 + /// This flag is set by hardware when the SSR rolls under 0. SSRUF is not set when SSCLR=1 Underflow = 0x1, _, }; pub const TAMPALRM_TYPE = enum(u1) { - /// TAMPALRM is push-pull output + /// TAMPALRM is push-pull output PushPull = 0x0, - /// TAMPALRM is open-drain output + /// TAMPALRM is open-drain output OpenDrain = 0x1, }; pub const TSEDGE = enum(u1) { - /// RTC_TS input rising edge generates a time-stamp event + /// RTC_TS input rising edge generates a time-stamp event RisingEdge = 0x0, - /// RTC_TS input falling edge generates a time-stamp event + /// RTC_TS input falling edge generates a time-stamp event FallingEdge = 0x1, }; pub const TSF = enum(u1) { - /// This flag is set by hardware when a time-stamp event occurs + /// This flag is set by hardware when a time-stamp event occurs TimestampEvent = 0x1, _, }; pub const TSMF = enum(u1) { - /// This flag is set by hardware when a time-stamp event occurs + /// This flag is set by hardware when a time-stamp event occurs TimestampEvent = 0x1, _, }; pub const TSOVF = enum(u1) { - /// This flag is set by hardware when a time-stamp event occurs while TSF is already set + /// This flag is set by hardware when a time-stamp event occurs while TSF is already set Overflow = 0x1, _, }; pub const TSOVMF = enum(u1) { - /// This flag is set by hardware when a time-stamp event occurs while TSF is already set + /// This flag is set by hardware when a time-stamp event occurs while TSF is already set Overflow = 0x1, _, }; pub const WUCKSEL = enum(u3) { - /// RTC/16 clock is selected + /// RTC/16 clock is selected Div16 = 0x0, - /// RTC/8 clock is selected + /// RTC/8 clock is selected Div8 = 0x1, - /// RTC/4 clock is selected + /// RTC/4 clock is selected Div4 = 0x2, - /// RTC/2 clock is selected + /// RTC/2 clock is selected Div2 = 0x3, - /// ck_spre (usually 1 Hz) clock is selected + /// ck_spre (usually 1 Hz) clock is selected ClockSpare = 0x4, - /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value + /// ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value ClockSpareWithOffset = 0x6, _, }; pub const WUTF = enum(u1) { - /// This flag is set by hardware when the wakeup auto-reload counter reaches 0 + /// This flag is set by hardware when the wakeup auto-reload counter reaches 0 Zero = 0x1, _, }; pub const WUTMF = enum(u1) { - /// This flag is set by hardware when the wakeup auto-reload counter reaches 0 + /// This flag is set by hardware when the wakeup auto-reload counter reaches 0 Zero = 0x1, _, }; - /// Real-time clock + /// Real-time clock pub const RTC = extern struct { - /// Time register + /// Time register TR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: AMPM, - }, + /// AM/PM notation + PM: AMPM, padding: u9, }), - /// Date register + /// Date register DR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, - /// Year units in BCD format + /// Year units in BCD format YU: u4, - /// Year tens in BCD format + /// Year tens in BCD format YT: u4, padding: u8, }), - /// Sub second register + /// Sub second register SSR: mmio.Mmio(packed struct(u32) { - /// Synchronous binary counter + /// Synchronous binary counter SS: u32, }), - /// Initialization control and status register + /// Initialization control and status register ICSR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Wakeup timer write enabled + /// Wakeup timer write enabled WUTWF: u1, - /// Shift operation pending + /// Shift operation pending SHPF: u1, - /// Initialization status flag + /// Initialization status flag INITS: u1, - /// Registers synchronization flag + /// Registers synchronization flag RSF: u1, - /// Initialization flag + /// Initialization flag INITF: u1, - /// Enter Initialization mode + /// Enter Initialization mode INIT: u1, - /// Binary mode - BIN: packed union { - raw: u2, - value: BIN, - }, - /// BCD update - BCDU: packed union { - raw: u3, - value: BCDU, - }, + /// Binary mode + BIN: BIN, + /// BCD update + BCDU: BCDU, reserved16: u3, - /// Recalibration pending Flag - RECALPF: packed union { - raw: u1, - value: RECALPF, - }, + /// Recalibration pending Flag + RECALPF: RECALPF, padding: u15, }), - /// Prescaler register + /// Prescaler register PRER: mmio.Mmio(packed struct(u32) { - /// Synchronous prescaler factor + /// Synchronous prescaler factor PREDIV_S: u15, reserved16: u1, - /// Asynchronous prescaler factor + /// Asynchronous prescaler factor PREDIV_A: u7, padding: u9, }), - /// Wakeup timer register + /// Wakeup timer register WUTR: mmio.Mmio(packed struct(u32) { - /// Wakeup auto-reload value bits + /// Wakeup auto-reload value bits WUT: u16, - /// Wakeup auto-reload output clear value + /// Wakeup auto-reload output clear value WUTOCLR: u16, }), - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Wakeup clock selection - WUCKSEL: packed union { - raw: u3, - value: WUCKSEL, - }, - /// Timestamp event active edge - TSEDGE: packed union { - raw: u1, - value: TSEDGE, - }, - /// RTC_REFIN reference clock detection enable (50 or 60 Hz) + /// Wakeup clock selection + WUCKSEL: WUCKSEL, + /// Timestamp event active edge + TSEDGE: TSEDGE, + /// RTC_REFIN reference clock detection enable (50 or 60 Hz) REFCKON: u1, - /// Bypass the shadow registers + /// Bypass the shadow registers BYPSHAD: u1, - /// Hour format - FMT: packed union { - raw: u1, - value: FMT, - }, - /// SSR underflow interrupt enable + /// Hour format + FMT: FMT, + /// SSR underflow interrupt enable SSRUIE: u1, - /// Alarm enable + /// Alarm enable ALRE: u1, reserved10: u1, - /// Wakeup timer enable + /// Wakeup timer enable WUTE: u1, - /// Timestamp enable + /// Timestamp enable TSE: u1, - /// Alarm interrupt enable + /// Alarm interrupt enable ALRIE: u1, reserved14: u1, - /// Wakeup timer interrupt enable + /// Wakeup timer interrupt enable WUTIE: u1, - /// Timestamp interrupt enable + /// Timestamp interrupt enable TSIE: u1, - /// Add 1 hour (summer time change) + /// Add 1 hour (summer time change) ADD1H: u1, - /// Subtract 1 hour (winter time change) + /// Subtract 1 hour (winter time change) SUB1H: u1, - /// Backup + /// Backup BKP: u1, - /// Calibration output selection - COSEL: packed union { - raw: u1, - value: COSEL, - }, - /// Output polarity - POL: packed union { - raw: u1, - value: POL, - }, - /// Output selection - OSEL: packed union { - raw: u2, - value: OSEL, - }, - /// Calibration output enable + /// Calibration output selection + COSEL: COSEL, + /// Output polarity + POL: POL, + /// Output selection + OSEL: OSEL, + /// Calibration output enable COE: u1, - /// Timestamp on internal event enable + /// Timestamp on internal event enable ITSE: u1, - /// Activate timestamp on tamper detection event + /// Activate timestamp on tamper detection event TAMPTS: u1, - /// Tamper detection output enable on TAMPALRM + /// Tamper detection output enable on TAMPALRM TAMPOE: u1, - /// ALRFCLR + /// ALRFCLR ALRFCLR: u1, reserved29: u1, - /// TAMPALRM pull-up enable + /// TAMPALRM pull-up enable TAMPALRM_PU: u1, - /// TAMPALRM output type - TAMPALRM_TYPE: packed union { - raw: u1, - value: TAMPALRM_TYPE, - }, - /// RTC_OUT2 output enable + /// TAMPALRM output type + TAMPALRM_TYPE: TAMPALRM_TYPE, + /// RTC_OUT2 output enable OUT2EN: u1, }), - /// Privilege mode control register + /// Privilege mode control register PRIVCR: mmio.Mmio(packed struct(u32) { - /// ALRPRIV + /// ALRPRIV ALRPRIV: u1, reserved2: u1, - /// WUTPRIV + /// WUTPRIV WUTPRIV: u1, - /// TSPRIV + /// TSPRIV TSPRIV: u1, reserved13: u9, - /// CALPRIV + /// CALPRIV CALPRIV: u1, - /// INITPRIV + /// INITPRIV INITPRIV: u1, - /// PRIV + /// PRIV PRIV: u1, padding: u16, }), - /// Secure mode control register + /// Secure mode control register SECCFGR: mmio.Mmio(packed struct(u32) { - /// ALRASEC + /// ALRASEC ALRASEC: u1, - /// ALRBSEC + /// ALRBSEC ALRBSEC: u1, - /// WUTSEC + /// WUTSEC WUTSEC: u1, - /// TSSEC + /// TSSEC TSSEC: u1, reserved13: u9, - /// CALSEC + /// CALSEC CALSEC: u1, - /// INITSEC + /// INITSEC INITSEC: u1, - /// SEC + /// SEC SEC: u1, padding: u16, }), - /// Write protection register + /// Write protection register WPR: mmio.Mmio(packed struct(u32) { - /// Write protection key - KEY: packed union { - raw: u8, - value: KEY, - }, + /// Write protection key + KEY: KEY, padding: u24, }), - /// Calibration register + /// Calibration register CALR: mmio.Mmio(packed struct(u32) { - /// Calibration minus + /// Calibration minus CALM: u9, reserved12: u3, - /// Calibration low-power mode - LPCAL: packed union { - raw: u1, - value: LPCAL, - }, - /// Use a 16-second calibration cycle period - CALW16: packed union { - raw: u1, - value: CALW16, - }, - /// Use an 8-second calibration cycle period - CALW8: packed union { - raw: u1, - value: CALW8, - }, - /// Increase frequency of RTC by 488.5 ppm - CALP: packed union { - raw: u1, - value: CALP, - }, + /// Calibration low-power mode + LPCAL: LPCAL, + /// Use a 16-second calibration cycle period + CALW16: CALW16, + /// Use an 8-second calibration cycle period + CALW8: CALW8, + /// Increase frequency of RTC by 488.5 ppm + CALP: CALP, padding: u16, }), - /// Shift control register + /// Shift control register SHIFTR: mmio.Mmio(packed struct(u32) { - /// Subtract a fraction of a second + /// Subtract a fraction of a second SUBFS: u15, reserved31: u16, - /// Add one second + /// Add one second ADD1S: u1, }), - /// Timestamp time register + /// Timestamp time register TSTR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, reserved8: u1, - /// Minute units in BCD format + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, reserved16: u1, - /// Hour units in BCD format + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation + /// AM/PM notation PM: u1, padding: u9, }), - /// Timestamp date register + /// Timestamp date register TSDR: mmio.Mmio(packed struct(u32) { - /// Date units in BCD format + /// Date units in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, reserved8: u2, - /// Month units in BCD format + /// Month units in BCD format MU: u4, - /// Month tens in BCD format + /// Month tens in BCD format MT: u1, - /// Week day units + /// Week day units WDU: u3, padding: u16, }), - /// Timestamp sub second register + /// Timestamp sub second register TSSSR: mmio.Mmio(packed struct(u32) { - /// Sub second value + /// Sub second value SS: u32, }), reserved64: [4]u8, - /// Alarm register + /// Alarm register ALRMR: mmio.Mmio(packed struct(u32) { - /// Second units in BCD format + /// Second units in BCD format SU: u4, - /// Second tens in BCD format + /// Second tens in BCD format ST: u3, - /// Alarm A seconds mask - MSK1: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Minute units in BCD format + /// Alarm A seconds mask + MSK1: ALRMR_MSK, + /// Minute units in BCD format MNU: u4, - /// Minute tens in BCD format + /// Minute tens in BCD format MNT: u3, - /// Alarm A minutes mask - MSK2: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Hour units in BCD format + /// Alarm A minutes mask + MSK2: ALRMR_MSK, + /// Hour units in BCD format HU: u4, - /// Hour tens in BCD format + /// Hour tens in BCD format HT: u2, - /// AM/PM notation - PM: packed union { - raw: u1, - value: ALRMR_PM, - }, - /// Alarm A hours mask - MSK3: packed union { - raw: u1, - value: ALRMR_MSK, - }, - /// Date units or day in BCD format + /// AM/PM notation + PM: ALRMR_PM, + /// Alarm A hours mask + MSK3: ALRMR_MSK, + /// Date units or day in BCD format DU: u4, - /// Date tens in BCD format + /// Date tens in BCD format DT: u2, - /// Week day selection - WDSEL: packed union { - raw: u1, - value: ALRMR_WDSEL, - }, - /// Alarm A date mask - MSK4: packed union { - raw: u1, - value: ALRMR_MSK, - }, - }), - /// Alarm sub second register + /// Week day selection + WDSEL: ALRMR_WDSEL, + /// Alarm A date mask + MSK4: ALRMR_MSK, + }), + /// Alarm sub second register ALRMSSR: mmio.Mmio(packed struct(u32) { - /// Sub seconds value + /// Sub seconds value SS: u15, reserved24: u9, - /// Mask the most-significant bits starting at this bit + /// Mask the most-significant bits starting at this bit MASKSS: u6, reserved31: u1, - /// Clear synchronous counter on alarm (Binary mode only) - SSCLR: packed union { - raw: u1, - value: ALRMSSR_SSCLR, - }, + /// Clear synchronous counter on alarm (Binary mode only) + SSCLR: ALRMSSR_SSCLR, }), reserved80: [8]u8, - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Alarm flag - ALRF: packed union { - raw: u1, - value: ALRF, - }, + /// Alarm flag + ALRF: ALRF, reserved2: u1, - /// Wakeup timer flag - WUTF: packed union { - raw: u1, - value: WUTF, - }, - /// Timestamp flag - TSF: packed union { - raw: u1, - value: TSF, - }, - /// Timestamp overflow flag - TSOVF: packed union { - raw: u1, - value: TSOVF, - }, - /// Internal timestamp flag - ITSF: packed union { - raw: u1, - value: ITSF, - }, - /// SSR underflow flag - SSRUF: packed union { - raw: u1, - value: SSRUF, - }, + /// Wakeup timer flag + WUTF: WUTF, + /// Timestamp flag + TSF: TSF, + /// Timestamp overflow flag + TSOVF: TSOVF, + /// Internal timestamp flag + ITSF: ITSF, + /// SSR underflow flag + SSRUF: SSRUF, padding: u25, }), - /// Masked interrupt status register + /// Masked interrupt status register MISR: mmio.Mmio(packed struct(u32) { - /// Alarm masked flag - ALRMF: packed union { - raw: u1, - value: ALRMF, - }, + /// Alarm masked flag + ALRMF: ALRMF, reserved2: u1, - /// Wakeup timer masked flag - WUTMF: packed union { - raw: u1, - value: WUTMF, - }, - /// Timestamp masked flag - TSMF: packed union { - raw: u1, - value: TSMF, - }, - /// Timestamp overflow masked flag - TSOVMF: packed union { - raw: u1, - value: TSOVMF, - }, - /// Internal timestamp masked flag - ITSMF: packed union { - raw: u1, - value: ITSMF, - }, - /// SSR underflow masked flag - SSRUMF: packed union { - raw: u1, - value: SSRUMF, - }, + /// Wakeup timer masked flag + WUTMF: WUTMF, + /// Timestamp masked flag + TSMF: TSMF, + /// Timestamp overflow masked flag + TSOVMF: TSOVMF, + /// Internal timestamp masked flag + ITSMF: ITSMF, + /// SSR underflow masked flag + SSRUMF: SSRUMF, padding: u25, }), - /// Secure masked interrupt status register + /// Secure masked interrupt status register SMISR: mmio.Mmio(packed struct(u32) { - /// Alarm x interrupt secure masked flag + /// Alarm x interrupt secure masked flag ALRMF: u1, reserved2: u1, - /// WUTMF + /// WUTMF WUTMF: u1, - /// TSMF + /// TSMF TSMF: u1, - /// TSOVMF + /// TSOVMF TSOVMF: u1, - /// ITSMF + /// ITSMF ITSMF: u1, - /// SSRUMF + /// SSRUMF SSRUMF: u1, padding: u25, }), - /// Status clear register + /// Status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear alarm x flag - CALRF: packed union { - raw: u1, - value: CALRF, - }, + /// Clear alarm x flag + CALRF: CALRF, reserved2: u1, - /// Clear wakeup timer flag - CWUTF: packed union { - raw: u1, - value: CALRF, - }, - /// Clear timestamp flag - CTSF: packed union { - raw: u1, - value: CALRF, - }, - /// Clear timestamp overflow flag - CTSOVF: packed union { - raw: u1, - value: CALRF, - }, - /// Clear internal timestamp flag - CITSF: packed union { - raw: u1, - value: CALRF, - }, - /// Clear SSR underflow flag - CSSRUF: packed union { - raw: u1, - value: CALRF, - }, + /// Clear wakeup timer flag + CWUTF: CALRF, + /// Clear timestamp flag + CTSF: CALRF, + /// Clear timestamp overflow flag + CTSOVF: CALRF, + /// Clear internal timestamp flag + CITSF: CALRF, + /// Clear SSR underflow flag + CSSRUF: CALRF, padding: u25, }), reserved112: [16]u8, - /// Alarm binary mode register + /// Alarm binary mode register ALRBINR: [2]mmio.Mmio(packed struct(u32) { - /// Synchronous counter alarm value in Binary mode + /// Synchronous counter alarm value in Binary mode SS: u32, }), }; @@ -421861,162 +412507,156 @@ pub const types = struct { pub const saes_v1a = struct { pub const CHMOD = enum(u3) { - /// Electronic codebook + /// Electronic codebook ECB = 0x0, - /// Cipher-block chaining + /// Cipher-block chaining CBC = 0x1, - /// Counter mode + /// Counter mode CTR = 0x2, - /// Galois counter mode and Galois message authentication code + /// Galois counter mode and Galois message authentication code GCM_GMAC = 0x3, - /// Counter with CBC-MAC + /// Counter with CBC-MAC CCM = 0x4, _, }; pub const DATATYPE = enum(u2) { - /// No swapping (32-bit data). + /// No swapping (32-bit data). None = 0x0, - /// Half-word swapping (16-bit data) + /// Half-word swapping (16-bit data) HalfWord = 0x1, - /// Byte swapping (8-bit data) + /// Byte swapping (8-bit data) Byte = 0x2, - /// Bit-level swapping + /// Bit-level swapping Bit = 0x3, }; pub const GCMPH = enum(u2) { - /// Initialization phase + /// Initialization phase InitPhase = 0x0, - /// Header phase + /// Header phase HeaderPhase = 0x1, - /// Payload phase + /// Payload phase PayloadPhase = 0x2, - /// Final phase + /// Final phase FinalPhase = 0x3, }; pub const KEYSEL = enum(u3) { - /// Software key, loaded in key registers SAES_KEYx + /// Software key, loaded in key registers SAES_KEYx SoftwareKey = 0x0, - /// Derived hardware unique key + /// Derived hardware unique key DHUK = 0x1, - /// Boot hardware key + /// Boot hardware key BHK = 0x2, - /// XOR of DHUK and BHK + /// XOR of DHUK and BHK XOR_DHUK_BHK = 0x4, _, }; pub const KEYSIZE = enum(u1) { - /// 128-bit + /// 128-bit Bits128 = 0x0, - /// 256-bit + /// 256-bit Bits256 = 0x1, }; pub const KMOD = enum(u2) { - /// AES peripheral + /// AES peripheral Normal = 0x0, - /// Wrapped key for SAES mode. Key loaded in key registers can only be used to encrypt or decrypt AES keys. Hence, when a decryption is selected, read-as-zero SAES_DOUTR register is automatically loaded into SAES key registers after a successful decryption process. + /// Wrapped key for SAES mode. Key loaded in key registers can only be used to encrypt or decrypt AES keys. Hence, when a decryption is selected, read-as-zero SAES_DOUTR register is automatically loaded into SAES key registers after a successful decryption process. WrappedKey = 0x1, - /// Shared key mode. After a successful decryption process (unwrapping), SAES key registers are shared with the peripheral described in KSHAREID[1:0] bitfield. This sharing is valid only while KMOD[1:0] at 0x2 and KEYVALID=1. When a decryption is selected, read-as-zero SAES_DOUTR register is automatically loaded into SAES key registers after a successful decryption process. + /// Shared key mode. After a successful decryption process (unwrapping), SAES key registers are shared with the peripheral described in KSHAREID[1:0] bitfield. This sharing is valid only while KMOD[1:0] at 0x2 and KEYVALID=1. When a decryption is selected, read-as-zero SAES_DOUTR register is automatically loaded into SAES key registers after a successful decryption process. SharedKey = 0x2, _, }; pub const KSHAREID = enum(u2) { - /// AES peripheral + /// AES peripheral AES = 0x0, _, }; pub const MODE = enum(u2) { Encryption = 0x0, - /// Key derivation (or key preparation), for ECB/CBC decryption only + /// Key derivation (or key preparation), for ECB/CBC decryption only KeyDerivation = 0x1, Decryption = 0x2, _, }; - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES = extern struct { - /// SAES control register. + /// SAES control register. CR: mmio.Mmio(packed struct(u32) { - /// SAES enable This bit enables/disables the SAES peripheral: At any moment, clearing then setting the bit re-initializes the SAES peripheral. This bit is automatically cleared by hardware upon the completion of the key preparation (Mode 2) and upon the completion of GCM/GMAC/CCM initial phase. The bit cannot be set as long as KEYVALID = 0 nor along with the following settings: KMOD = 01 + CHMOD = 011 and KMOD = 01 + CHMOD = 010 + MODE = 00. Note: With KMOD[1:0] other than 00, use the IPRST bit rather than the bit EN. + /// SAES enable This bit enables/disables the SAES peripheral: At any moment, clearing then setting the bit re-initializes the SAES peripheral. This bit is automatically cleared by hardware upon the completion of the key preparation (Mode 2) and upon the completion of GCM/GMAC/CCM initial phase. The bit cannot be set as long as KEYVALID = 0 nor along with the following settings: KMOD = 01 + CHMOD = 011 and KMOD = 01 + CHMOD = 010 + MODE = 00. Note: With KMOD[1:0] other than 00, use the IPRST bit rather than the bit EN. EN: u1, - /// Data type selection This bitfield defines the format of data written in the SAES_DINR register or read from the SAES_DOUTR register, through selecting the mode of data swapping: For more details, refer to . Attempts to write the bitfield are ignored when the BUSY flag of SAES_SR register is set, as well as when the EN bit of the SAES_CR register is set before the write access and it is not cleared by that write access. - DATATYPE: packed union { - raw: u2, - value: DATATYPE, - }, - /// SAES operating mode This bitfield selects the SAES operating mode: Attempts to write the bitfield are ignored when the BUSY flag of SAES_SR register is set, as well as when the EN bit of the SAES_CR register is set before the write access and it is not cleared by that write access. - MODE: packed union { - raw: u2, - value: MODE, - }, + /// Data type selection This bitfield defines the format of data written in the SAES_DINR register or read from the SAES_DOUTR register, through selecting the mode of data swapping: For more details, refer to . Attempts to write the bitfield are ignored when the BUSY flag of SAES_SR register is set, as well as when the EN bit of the SAES_CR register is set before the write access and it is not cleared by that write access. + DATATYPE: DATATYPE, + /// SAES operating mode This bitfield selects the SAES operating mode: Attempts to write the bitfield are ignored when the BUSY flag of SAES_SR register is set, as well as when the EN bit of the SAES_CR register is set before the write access and it is not cleared by that write access. + MODE: MODE, padding: u27, }), - /// SAES status register. + /// SAES status register. SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Read error flag This flag indicates the detection of an unexpected read operation from the SAES_DOUTR register (during computation or data input phase): The flag is set by hardware. It is cleared by software upon setting the RWEIF bit of the SAES_ICR register. Upon the flag setting, an interrupt is generated if enabled through the RWEIE bit of the SAES_ICR register. The flag setting has no impact on the SAES operation. Unexpected read returns zero. + /// Read error flag This flag indicates the detection of an unexpected read operation from the SAES_DOUTR register (during computation or data input phase): The flag is set by hardware. It is cleared by software upon setting the RWEIF bit of the SAES_ICR register. Upon the flag setting, an interrupt is generated if enabled through the RWEIE bit of the SAES_ICR register. The flag setting has no impact on the SAES operation. Unexpected read returns zero. RDERR: u1, - /// Write error This flag indicates the detection of an unexpected write operation to the SAES_DINR register (during computation or data output phase): The flag is set by hardware. It is cleared by software upon setting the RWEIF bit of the SAES_ICR register. Upon the flag setting, an interrupt is generated if enabled through the RWEIE bit of the SAES_ICR register. The flag setting has no impact on the SAES operation. Unexpected write is ignored. + /// Write error This flag indicates the detection of an unexpected write operation to the SAES_DINR register (during computation or data output phase): The flag is set by hardware. It is cleared by software upon setting the RWEIF bit of the SAES_ICR register. Upon the flag setting, an interrupt is generated if enabled through the RWEIE bit of the SAES_ICR register. The flag setting has no impact on the SAES operation. Unexpected write is ignored. WRERR: u1, - /// Busy This flag indicates whether SAES is idle or busy during GCM payload encryption phase: The flag is set upon SAES initialization, upon fetching random number from the RNG, or upon transferring a shared key to a target peripheral. When GCM encryption is selected, the flag must be at zero before selecting the GCM final phase. + /// Busy This flag indicates whether SAES is idle or busy during GCM payload encryption phase: The flag is set upon SAES initialization, upon fetching random number from the RNG, or upon transferring a shared key to a target peripheral. When GCM encryption is selected, the flag must be at zero before selecting the GCM final phase. BUSY: u1, reserved7: u3, - /// Key Valid flag This bit is set by hardware when the amount of key information defined by KEYSIZE in SAES_CR has been loaded in SAES_KEYx key registers. In normal mode when KEYSEL equals to zero, the application must write the key registers in the correct sequence, otherwise the KEIF flag of the SAES_ISR register is set and KEYVALID stays at zero. When KEYSEL is different from zero the BUSY flag is automatically set by SAES. When key is loaded successfully, the BUSY flag is cleared and KEYVALID set. Upon an error, the KEIF flag of the SAES_ISR register is set, the BUSY flag cleared and KEYVALID kept at zero. When the KEIF flag is set, the application must clear it through the SAES_ICR register, otherwise KEYVALID cannot be set. See the KEIF bit description for more details. For more information on key loading please refer to. + /// Key Valid flag This bit is set by hardware when the amount of key information defined by KEYSIZE in SAES_CR has been loaded in SAES_KEYx key registers. In normal mode when KEYSEL equals to zero, the application must write the key registers in the correct sequence, otherwise the KEIF flag of the SAES_ISR register is set and KEYVALID stays at zero. When KEYSEL is different from zero the BUSY flag is automatically set by SAES. When key is loaded successfully, the BUSY flag is cleared and KEYVALID set. Upon an error, the KEIF flag of the SAES_ISR register is set, the BUSY flag cleared and KEYVALID kept at zero. When the KEIF flag is set, the application must clear it through the SAES_ICR register, otherwise KEYVALID cannot be set. See the KEIF bit description for more details. For more information on key loading please refer to. KEYVALID: u1, padding: u24, }), - /// SAES data input register. + /// SAES data input register. DINR: u32, - /// SAES data output register. + /// SAES data output register. DOUTR: u32, - /// SAES key register 0. + /// SAES key register 0. KEYR: u32, reserved32: [12]u8, - /// SAES initialization vector register 0. + /// SAES initialization vector register 0. IVR: [4]u32, reserved64: [16]u8, - /// SAES suspend registers. + /// SAES suspend registers. SUSPR: [8]u32, reserved768: [672]u8, - /// SAES interrupt enable register. + /// SAES interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// Computation complete flag interrupt enable This bit enables or disables (masks) the SAES interrupt generation when CCF (computation complete flag) is set. + /// Computation complete flag interrupt enable This bit enables or disables (masks) the SAES interrupt generation when CCF (computation complete flag) is set. CCFIE: u1, - /// Read or write error interrupt enable This bit enables or disables (masks) the SAES interrupt generation when RWEIF (read and/or write error flag) is set. + /// Read or write error interrupt enable This bit enables or disables (masks) the SAES interrupt generation when RWEIF (read and/or write error flag) is set. RWEIE: u1, - /// Key error interrupt enable This bit enables or disables (masks) the SAES interrupt generation when KEIF (key error flag) is set. + /// Key error interrupt enable This bit enables or disables (masks) the SAES interrupt generation when KEIF (key error flag) is set. KEIE: u1, - /// RNG error interrupt enable This bit enables or disables (masks) the SAES interrupt generation when RNGEIF (RNG error flag) is set. + /// RNG error interrupt enable This bit enables or disables (masks) the SAES interrupt generation when RNGEIF (RNG error flag) is set. RNGEIE: u1, padding: u28, }), - /// SAES interrupt status register. + /// SAES interrupt status register. ISR: mmio.Mmio(packed struct(u32) { - /// Computation complete flag This flag indicates whether the computation is completed: The flag is set by hardware upon the completion of the computation. It is cleared by software, upon setting the CCF bit of the SAES_ICR register. Upon the flag setting, an interrupt is generated if enabled through the CCFIE bit of the SAES_IER register. The flag is significant only when the DMAOUTEN bit is 0. It may stay high when DMA_EN is 1. + /// Computation complete flag This flag indicates whether the computation is completed: The flag is set by hardware upon the completion of the computation. It is cleared by software, upon setting the CCF bit of the SAES_ICR register. Upon the flag setting, an interrupt is generated if enabled through the CCFIE bit of the SAES_IER register. The flag is significant only when the DMAOUTEN bit is 0. It may stay high when DMA_EN is 1. CCF: u1, - /// Read or write error interrupt flag This read-only bit is set by hardware when a RDERR or a WRERR error flag is set in the SAES_SR register. RWEIF bit is cleared when application sets the corresponding bit of SAES_ICR register. An interrupt is generated if the RWEIE bit has been previously set in the SAES_IER register. This flags has no meaning when key derivation mode is selected. + /// Read or write error interrupt flag This read-only bit is set by hardware when a RDERR or a WRERR error flag is set in the SAES_SR register. RWEIF bit is cleared when application sets the corresponding bit of SAES_ICR register. An interrupt is generated if the RWEIE bit has been previously set in the SAES_IER register. This flags has no meaning when key derivation mode is selected. RWEIF: u1, - /// Key error interrupt flag This read-only bit is set by hardware when key information failed to load into key registers or key register usage is forbidden. Setting the corresponding bit of the SAES_ICR register clears the KEIF and generates interrupt if the KEIE bit of the SAES_IER register is set. KEIF is triggered upon any of the following errors: SAES fails to load the DHUK (KEYSEL = 001 or 100). SAES fails to load the BHK (KEYSEL = 010 or 100) respecting the correct order. AES fails to load the key shared by SAES peripheral (KMOD=10). When KEYVALID = 1 and (KEYPROT = 1 or KEYSEL is not 0x0), the security context of the application that loads the key (secure or non-secure) does not match the security attribute of the access to SAES_CR or SAES_DOUT. In this case, KEYVALID and EN bits are cleared. SAES_KEYRx register write does not respect the correct order. (For KEYSIZE = 0, SAES_KEYR0 then SAES_KEYR1 then SAES_KEYR2 then SAES_KEYR3 register, or reverse. For KEYSIZE = 1, SAES_KEYR0 then SAES_KEYR1 then SAES_KEYR2 then SAES_KEYR3 then SAES_KEYR4 then SAES_KEYR5 then SAES_KEYR6 then SAES_KEYR7, or reverse). KEIF must be cleared by the application software, otherwise KEYVALID cannot be set. + /// Key error interrupt flag This read-only bit is set by hardware when key information failed to load into key registers or key register usage is forbidden. Setting the corresponding bit of the SAES_ICR register clears the KEIF and generates interrupt if the KEIE bit of the SAES_IER register is set. KEIF is triggered upon any of the following errors: SAES fails to load the DHUK (KEYSEL = 001 or 100). SAES fails to load the BHK (KEYSEL = 010 or 100) respecting the correct order. AES fails to load the key shared by SAES peripheral (KMOD=10). When KEYVALID = 1 and (KEYPROT = 1 or KEYSEL is not 0x0), the security context of the application that loads the key (secure or non-secure) does not match the security attribute of the access to SAES_CR or SAES_DOUT. In this case, KEYVALID and EN bits are cleared. SAES_KEYRx register write does not respect the correct order. (For KEYSIZE = 0, SAES_KEYR0 then SAES_KEYR1 then SAES_KEYR2 then SAES_KEYR3 register, or reverse. For KEYSIZE = 1, SAES_KEYR0 then SAES_KEYR1 then SAES_KEYR2 then SAES_KEYR3 then SAES_KEYR4 then SAES_KEYR5 then SAES_KEYR6 then SAES_KEYR7, or reverse). KEIF must be cleared by the application software, otherwise KEYVALID cannot be set. KEIF: u1, - /// RNG error interrupt flag This read-only bit is set by hardware when an error is detected on RNG bus interface (e.g. bad entropy). RNGEIE bit is cleared when application sets the corresponding bit of SAES_ICR register. An interrupt is generated if the RNGEIE bit has been previously set in the SAES_IER register. Clearing this bit triggers the reload of a new random number from RNG peripheral. + /// RNG error interrupt flag This read-only bit is set by hardware when an error is detected on RNG bus interface (e.g. bad entropy). RNGEIE bit is cleared when application sets the corresponding bit of SAES_ICR register. An interrupt is generated if the RNGEIE bit has been previously set in the SAES_IER register. Clearing this bit triggers the reload of a new random number from RNG peripheral. RNGEIF: u1, padding: u28, }), - /// SAES interrupt clear register. + /// SAES interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Computation complete flag clear Setting this bit clears the CCF status bit of the SAES_SR and SAES_ISR registers. + /// Computation complete flag clear Setting this bit clears the CCF status bit of the SAES_SR and SAES_ISR registers. CCF: u1, - /// Read or write error interrupt flag clear Setting this bit clears the RWEIF status bit of the SAES_ISR register, and both RDERR and WRERR flags in the SAES_SR register. + /// Read or write error interrupt flag clear Setting this bit clears the RWEIF status bit of the SAES_ISR register, and both RDERR and WRERR flags in the SAES_SR register. RWEIF: u1, - /// Key error interrupt flag clear Setting this bit clears the KEIF status bit of the SAES_ISR register. + /// Key error interrupt flag clear Setting this bit clears the KEIF status bit of the SAES_ISR register. KEIF: u1, - /// RNG error interrupt flag clear Application must set this bit to clear the RNGEIF status bit in SAES_ISR register. + /// RNG error interrupt flag clear Application must set this bit to clear the RNGEIF status bit in SAES_ISR register. RNGEIF: u1, padding: u28, }), @@ -422025,151 +412665,145 @@ pub const types = struct { pub const saes_v1b = struct { pub const CHMOD = enum(u3) { - /// Electronic codebook + /// Electronic codebook ECB = 0x0, - /// Cipher-block chaining + /// Cipher-block chaining CBC = 0x1, - /// Counter mode + /// Counter mode CTR = 0x2, - /// Galois counter mode and Galois message authentication code + /// Galois counter mode and Galois message authentication code GCM_GMAC = 0x3, - /// Counter with CBC-MAC + /// Counter with CBC-MAC CCM = 0x4, _, }; pub const DATATYPE = enum(u2) { - /// No swapping (32-bit data). + /// No swapping (32-bit data). None = 0x0, - /// Half-word swapping (16-bit data) + /// Half-word swapping (16-bit data) HalfWord = 0x1, - /// Byte swapping (8-bit data) + /// Byte swapping (8-bit data) Byte = 0x2, - /// Bit-level swapping + /// Bit-level swapping Bit = 0x3, }; pub const KEYSEL = enum(u3) { - /// Software key, loaded in key registers SAES_KEYx + /// Software key, loaded in key registers SAES_KEYx SoftwareKey = 0x0, - /// Derived hardware unique key + /// Derived hardware unique key DHUK = 0x1, - /// Boot hardware key + /// Boot hardware key BHK = 0x2, - /// XOR of DHUK and BHK + /// XOR of DHUK and BHK XOR_DHUK_BHK = 0x4, _, }; pub const KEYSIZE = enum(u1) { - /// 128-bit + /// 128-bit Bits128 = 0x0, - /// 256-bit + /// 256-bit Bits256 = 0x1, }; pub const KMOD = enum(u2) { - /// AES peripheral + /// AES peripheral Normal = 0x0, - /// Wrapped key for SAES mode. Key loaded in key registers can only be used to encrypt or decrypt AES keys. Hence, when a decryption is selected, read-as-zero SAES_DOUTR register is automatically loaded into SAES key registers after a successful decryption process. + /// Wrapped key for SAES mode. Key loaded in key registers can only be used to encrypt or decrypt AES keys. Hence, when a decryption is selected, read-as-zero SAES_DOUTR register is automatically loaded into SAES key registers after a successful decryption process. WrappedKey = 0x1, - /// Shared key mode. After a successful decryption process (unwrapping), SAES key registers are shared with the peripheral described in KSHAREID[1:0] bitfield. This sharing is valid only while KMOD[1:0] at 0x2 and KEYVALID=1. When a decryption is selected, read-as-zero SAES_DOUTR register is automatically loaded into SAES key registers after a successful decryption process. + /// Shared key mode. After a successful decryption process (unwrapping), SAES key registers are shared with the peripheral described in KSHAREID[1:0] bitfield. This sharing is valid only while KMOD[1:0] at 0x2 and KEYVALID=1. When a decryption is selected, read-as-zero SAES_DOUTR register is automatically loaded into SAES key registers after a successful decryption process. SharedKey = 0x2, _, }; pub const KSHAREID = enum(u2) { - /// AES peripheral + /// AES peripheral AES = 0x0, _, }; pub const MODE = enum(u2) { Encryption = 0x0, - /// Key derivation (or key preparation), for ECB/CBC decryption only + /// Key derivation (or key preparation), for ECB/CBC decryption only KeyDerivation = 0x1, Decryption = 0x2, _, }; - /// Secure advanced encryption standard hardware accelerator. + /// Secure advanced encryption standard hardware accelerator. pub const SAES = extern struct { - /// SAES control register. + /// SAES control register. CR: mmio.Mmio(packed struct(u32) { - /// SAES enable This bit enables/disables the SAES peripheral: At any moment, clearing then setting the bit re-initializes the SAES peripheral. This bit is automatically cleared by hardware upon the completion of the key preparation (Mode 2) and upon the completion of GCM/GMAC/CCM initial phase. The bit cannot be set as long as KEYVALID = 0 nor along with the following settings: KMOD = 01 + CHMOD = 011 and KMOD = 01 + CHMOD = 010 + MODE = 00. Note: With KMOD[1:0] other than 00, use the IPRST bit rather than the bit EN. + /// SAES enable This bit enables/disables the SAES peripheral: At any moment, clearing then setting the bit re-initializes the SAES peripheral. This bit is automatically cleared by hardware upon the completion of the key preparation (Mode 2) and upon the completion of GCM/GMAC/CCM initial phase. The bit cannot be set as long as KEYVALID = 0 nor along with the following settings: KMOD = 01 + CHMOD = 011 and KMOD = 01 + CHMOD = 010 + MODE = 00. Note: With KMOD[1:0] other than 00, use the IPRST bit rather than the bit EN. EN: u1, - /// Data type selection This bitfield defines the format of data written in the SAES_DINR register or read from the SAES_DOUTR register, through selecting the mode of data swapping: For more details, refer to . Attempts to write the bitfield are ignored when the BUSY flag of SAES_SR register is set, as well as when the EN bit of the SAES_CR register is set before the write access and it is not cleared by that write access. - DATATYPE: packed union { - raw: u2, - value: DATATYPE, - }, - /// SAES operating mode This bitfield selects the SAES operating mode: Attempts to write the bitfield are ignored when the BUSY flag of SAES_SR register is set, as well as when the EN bit of the SAES_CR register is set before the write access and it is not cleared by that write access. - MODE: packed union { - raw: u2, - value: MODE, - }, + /// Data type selection This bitfield defines the format of data written in the SAES_DINR register or read from the SAES_DOUTR register, through selecting the mode of data swapping: For more details, refer to . Attempts to write the bitfield are ignored when the BUSY flag of SAES_SR register is set, as well as when the EN bit of the SAES_CR register is set before the write access and it is not cleared by that write access. + DATATYPE: DATATYPE, + /// SAES operating mode This bitfield selects the SAES operating mode: Attempts to write the bitfield are ignored when the BUSY flag of SAES_SR register is set, as well as when the EN bit of the SAES_CR register is set before the write access and it is not cleared by that write access. + MODE: MODE, padding: u27, }), - /// SAES status register. + /// SAES status register. SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Computation completed flag. This bit mirrors the CCF bit of the SAES_ISR register. + /// Computation completed flag. This bit mirrors the CCF bit of the SAES_ISR register. CCF: u1, - /// Write error This flag indicates the detection of an unexpected write operation to the SAES_DINR register (during computation or data output phase): The flag is set by hardware. It is cleared by software upon setting the RWEIF bit of the SAES_ICR register. Upon the flag setting, an interrupt is generated if enabled through the RWEIE bit of the SAES_ICR register. The flag setting has no impact on the SAES operation. Unexpected write is ignored. + /// Write error This flag indicates the detection of an unexpected write operation to the SAES_DINR register (during computation or data output phase): The flag is set by hardware. It is cleared by software upon setting the RWEIF bit of the SAES_ICR register. Upon the flag setting, an interrupt is generated if enabled through the RWEIE bit of the SAES_ICR register. The flag setting has no impact on the SAES operation. Unexpected write is ignored. WRERR: u1, - /// Busy This flag indicates whether SAES is idle or busy during GCM payload encryption phase: The flag is set upon SAES initialization, upon fetching random number from the RNG, or upon transferring a shared key to a target peripheral. When GCM encryption is selected, the flag must be at zero before selecting the GCM final phase. + /// Busy This flag indicates whether SAES is idle or busy during GCM payload encryption phase: The flag is set upon SAES initialization, upon fetching random number from the RNG, or upon transferring a shared key to a target peripheral. When GCM encryption is selected, the flag must be at zero before selecting the GCM final phase. BUSY: u1, reserved7: u3, - /// Key Valid flag This bit is set by hardware when the amount of key information defined by KEYSIZE in SAES_CR has been loaded in SAES_KEYx key registers. In normal mode when KEYSEL equals to zero, the application must write the key registers in the correct sequence, otherwise the KEIF flag of the SAES_ISR register is set and KEYVALID stays at zero. When KEYSEL is different from zero the BUSY flag is automatically set by SAES. When key is loaded successfully, the BUSY flag is cleared and KEYVALID set. Upon an error, the KEIF flag of the SAES_ISR register is set, the BUSY flag cleared and KEYVALID kept at zero. When the KEIF flag is set, the application must clear it through the SAES_ICR register, otherwise KEYVALID cannot be set. See the KEIF bit description for more details. For more information on key loading please refer to. + /// Key Valid flag This bit is set by hardware when the amount of key information defined by KEYSIZE in SAES_CR has been loaded in SAES_KEYx key registers. In normal mode when KEYSEL equals to zero, the application must write the key registers in the correct sequence, otherwise the KEIF flag of the SAES_ISR register is set and KEYVALID stays at zero. When KEYSEL is different from zero the BUSY flag is automatically set by SAES. When key is loaded successfully, the BUSY flag is cleared and KEYVALID set. Upon an error, the KEIF flag of the SAES_ISR register is set, the BUSY flag cleared and KEYVALID kept at zero. When the KEIF flag is set, the application must clear it through the SAES_ICR register, otherwise KEYVALID cannot be set. See the KEIF bit description for more details. For more information on key loading please refer to. KEYVALID: u1, padding: u24, }), - /// SAES data input register. + /// SAES data input register. DINR: u32, - /// SAES data output register. + /// SAES data output register. DOUTR: u32, - /// SAES key register 0. + /// SAES key register 0. KEYR: u32, reserved32: [12]u8, - /// SAES initialization vector register 0. + /// SAES initialization vector register 0. IVR: [4]u32, reserved64: [16]u8, - /// SAES suspend registers. + /// SAES suspend registers. SUSPR: [8]u32, reserved768: [672]u8, - /// SAES interrupt enable register. + /// SAES interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// Computation complete flag interrupt enable This bit enables or disables (masks) the SAES interrupt generation when CCF (computation complete flag) is set. + /// Computation complete flag interrupt enable This bit enables or disables (masks) the SAES interrupt generation when CCF (computation complete flag) is set. CCFIE: u1, - /// Read or write error interrupt enable This bit enables or disables (masks) the SAES interrupt generation when RWEIF (read and/or write error flag) is set. + /// Read or write error interrupt enable This bit enables or disables (masks) the SAES interrupt generation when RWEIF (read and/or write error flag) is set. RWEIE: u1, - /// Key error interrupt enable This bit enables or disables (masks) the SAES interrupt generation when KEIF (key error flag) is set. + /// Key error interrupt enable This bit enables or disables (masks) the SAES interrupt generation when KEIF (key error flag) is set. KEIE: u1, - /// RNG error interrupt enable This bit enables or disables (masks) the SAES interrupt generation when RNGEIF (RNG error flag) is set. + /// RNG error interrupt enable This bit enables or disables (masks) the SAES interrupt generation when RNGEIF (RNG error flag) is set. RNGEIE: u1, padding: u28, }), - /// SAES interrupt status register. + /// SAES interrupt status register. ISR: mmio.Mmio(packed struct(u32) { - /// Computation complete flag This flag indicates whether the computation is completed: The flag is set by hardware upon the completion of the computation. It is cleared by software, upon setting the CCF bit of the SAES_ICR register. Upon the flag setting, an interrupt is generated if enabled through the CCFIE bit of the SAES_IER register. The flag is significant only when the DMAOUTEN bit is 0. It may stay high when DMA_EN is 1. + /// Computation complete flag This flag indicates whether the computation is completed: The flag is set by hardware upon the completion of the computation. It is cleared by software, upon setting the CCF bit of the SAES_ICR register. Upon the flag setting, an interrupt is generated if enabled through the CCFIE bit of the SAES_IER register. The flag is significant only when the DMAOUTEN bit is 0. It may stay high when DMA_EN is 1. CCF: u1, - /// Read or write error interrupt flag This read-only bit is set by hardware when a RDERR or a WRERR error flag is set in the SAES_SR register. RWEIF bit is cleared when application sets the corresponding bit of SAES_ICR register. An interrupt is generated if the RWEIE bit has been previously set in the SAES_IER register. This flags has no meaning when key derivation mode is selected. + /// Read or write error interrupt flag This read-only bit is set by hardware when a RDERR or a WRERR error flag is set in the SAES_SR register. RWEIF bit is cleared when application sets the corresponding bit of SAES_ICR register. An interrupt is generated if the RWEIE bit has been previously set in the SAES_IER register. This flags has no meaning when key derivation mode is selected. RWEIF: u1, - /// Key error interrupt flag This read-only bit is set by hardware when key information failed to load into key registers or key register usage is forbidden. Setting the corresponding bit of the SAES_ICR register clears the KEIF and generates interrupt if the KEIE bit of the SAES_IER register is set. KEIF is triggered upon any of the following errors: SAES fails to load the DHUK (KEYSEL = 001 or 100). SAES fails to load the BHK (KEYSEL = 010 or 100) respecting the correct order. AES fails to load the key shared by SAES peripheral (KMOD=10). When KEYVALID = 1 and (KEYPROT = 1 or KEYSEL is not 0x0), the security context of the application that loads the key (secure or non-secure) does not match the security attribute of the access to SAES_CR or SAES_DOUT. In this case, KEYVALID and EN bits are cleared. SAES_KEYRx register write does not respect the correct order. (For KEYSIZE = 0, SAES_KEYR0 then SAES_KEYR1 then SAES_KEYR2 then SAES_KEYR3 register, or reverse. For KEYSIZE = 1, SAES_KEYR0 then SAES_KEYR1 then SAES_KEYR2 then SAES_KEYR3 then SAES_KEYR4 then SAES_KEYR5 then SAES_KEYR6 then SAES_KEYR7, or reverse). KEIF must be cleared by the application software, otherwise KEYVALID cannot be set. + /// Key error interrupt flag This read-only bit is set by hardware when key information failed to load into key registers or key register usage is forbidden. Setting the corresponding bit of the SAES_ICR register clears the KEIF and generates interrupt if the KEIE bit of the SAES_IER register is set. KEIF is triggered upon any of the following errors: SAES fails to load the DHUK (KEYSEL = 001 or 100). SAES fails to load the BHK (KEYSEL = 010 or 100) respecting the correct order. AES fails to load the key shared by SAES peripheral (KMOD=10). When KEYVALID = 1 and (KEYPROT = 1 or KEYSEL is not 0x0), the security context of the application that loads the key (secure or non-secure) does not match the security attribute of the access to SAES_CR or SAES_DOUT. In this case, KEYVALID and EN bits are cleared. SAES_KEYRx register write does not respect the correct order. (For KEYSIZE = 0, SAES_KEYR0 then SAES_KEYR1 then SAES_KEYR2 then SAES_KEYR3 register, or reverse. For KEYSIZE = 1, SAES_KEYR0 then SAES_KEYR1 then SAES_KEYR2 then SAES_KEYR3 then SAES_KEYR4 then SAES_KEYR5 then SAES_KEYR6 then SAES_KEYR7, or reverse). KEIF must be cleared by the application software, otherwise KEYVALID cannot be set. KEIF: u1, - /// RNG error interrupt flag This read-only bit is set by hardware when an error is detected on RNG bus interface (e.g. bad entropy). RNGEIE bit is cleared when application sets the corresponding bit of SAES_ICR register. An interrupt is generated if the RNGEIE bit has been previously set in the SAES_IER register. Clearing this bit triggers the reload of a new random number from RNG peripheral. + /// RNG error interrupt flag This read-only bit is set by hardware when an error is detected on RNG bus interface (e.g. bad entropy). RNGEIE bit is cleared when application sets the corresponding bit of SAES_ICR register. An interrupt is generated if the RNGEIE bit has been previously set in the SAES_IER register. Clearing this bit triggers the reload of a new random number from RNG peripheral. RNGEIF: u1, padding: u28, }), - /// SAES interrupt clear register. + /// SAES interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// Computation complete flag clear Setting this bit clears the CCF status bit of the SAES_SR and SAES_ISR registers. + /// Computation complete flag clear Setting this bit clears the CCF status bit of the SAES_SR and SAES_ISR registers. CCF: u1, - /// Read or write error interrupt flag clear Setting this bit clears the RWEIF status bit of the SAES_ISR register, and both RDERR and WRERR flags in the SAES_SR register. + /// Read or write error interrupt flag clear Setting this bit clears the RWEIF status bit of the SAES_ISR register, and both RDERR and WRERR flags in the SAES_SR register. RWEIF: u1, - /// Key error interrupt flag clear Setting this bit clears the KEIF status bit of the SAES_ISR register. + /// Key error interrupt flag clear Setting this bit clears the KEIF status bit of the SAES_ISR register. KEIF: u1, - /// RNG error interrupt flag clear Application must set this bit to clear the RNGEIF status bit in SAES_ISR register. + /// RNG error interrupt flag clear Application must set this bit to clear the RNGEIF status bit in SAES_ISR register. RNGEIF: u1, padding: u28, }), @@ -422178,1223 +412812,1043 @@ pub const types = struct { pub const sai_v1 = struct { pub const CKSTR = enum(u1) { - /// Data strobing edge is falling edge of SCK + /// Data strobing edge is falling edge of SCK FallingEdge = 0x0, - /// Data strobing edge is rising edge of SCK + /// Data strobing edge is rising edge of SCK RisingEdge = 0x1, }; pub const CNRDY = enum(u1) { - /// External AC’97 Codec is ready + /// External AC’97 Codec is ready Ready = 0x0, - /// External AC’97 Codec is not ready + /// External AC’97 Codec is not ready NotReady = 0x1, }; pub const COMP = enum(u2) { - /// No companding algorithm + /// No companding algorithm NoCompanding = 0x0, - /// μ-Law algorithm + /// μ-Law algorithm MuLaw = 0x2, - /// A-Law algorithm + /// A-Law algorithm ALaw = 0x3, _, }; pub const CPL = enum(u1) { - /// 1’s complement representation + /// 1’s complement representation OnesComplement = 0x0, - /// 2’s complement representation + /// 2’s complement representation TwosComplement = 0x1, }; pub const DS = enum(u3) { - /// 8 bits + /// 8 bits Bit8 = 0x2, - /// 10 bits + /// 10 bits Bit10 = 0x3, - /// 16 bits + /// 16 bits Bit16 = 0x4, - /// 20 bits + /// 20 bits Bit20 = 0x5, - /// 24 bits + /// 24 bits Bit24 = 0x6, - /// 32 bits + /// 32 bits Bit32 = 0x7, _, }; pub const FLVL = enum(u3) { - /// FIFO empty + /// FIFO empty Empty = 0x0, - /// FIFO <= 1⁄4 but not empty + /// FIFO <= 1⁄4 but not empty Quarter1 = 0x1, - /// 1⁄4 < FIFO <= 1⁄2 + /// 1⁄4 < FIFO <= 1⁄2 Quarter2 = 0x2, - /// 1⁄2 < FIFO <= 3⁄4 + /// 1⁄2 < FIFO <= 3⁄4 Quarter3 = 0x3, - /// 3⁄4 < FIFO but not full + /// 3⁄4 < FIFO but not full Quarter4 = 0x4, - /// FIFO full + /// FIFO full Full = 0x5, _, }; pub const FSOFF = enum(u1) { - /// FS is asserted on the first bit of the slot 0 + /// FS is asserted on the first bit of the slot 0 OnFirst = 0x0, - /// FS is asserted one bit before the first bit of the slot 0 + /// FS is asserted one bit before the first bit of the slot 0 BeforeFirst = 0x1, }; pub const FSPOL = enum(u1) { - /// FS is active low (falling edge) + /// FS is active low (falling edge) FallingEdge = 0x0, - /// FS is active high (rising edge) + /// FS is active high (rising edge) RisingEdge = 0x1, }; pub const FTH = enum(u3) { - /// FIFO empty + /// FIFO empty Empty = 0x0, - /// 1⁄4 FIFO + /// 1⁄4 FIFO Quarter1 = 0x1, - /// 1⁄2 FIFO + /// 1⁄2 FIFO Quarter2 = 0x2, - /// 3⁄4 FIFO + /// 3⁄4 FIFO Quarter3 = 0x3, - /// FIFO full + /// FIFO full Full = 0x4, _, }; pub const LSBFIRST = enum(u1) { - /// Data are transferred with MSB first + /// Data are transferred with MSB first MsbFirst = 0x0, - /// Data are transferred with LSB first + /// Data are transferred with LSB first LsbFirst = 0x1, }; pub const MODE = enum(u2) { - /// Master transmitter + /// Master transmitter MasterTx = 0x0, - /// Master receiver + /// Master receiver MasterRx = 0x1, - /// Slave transmitter + /// Slave transmitter SlaveTx = 0x2, - /// Slave receiver + /// Slave receiver SlaveRx = 0x3, }; pub const MONO = enum(u1) { - /// Stereo mode + /// Stereo mode Stereo = 0x0, - /// Mono mode + /// Mono mode Mono = 0x1, }; pub const MUTEVAL = enum(u1) { - /// Bit value 0 is sent during the mute mode + /// Bit value 0 is sent during the mute mode SendZero = 0x0, - /// Last values are sent during the mute mode + /// Last values are sent during the mute mode SendLast = 0x1, }; pub const NODIV = enum(u1) { - /// MCLK output is enabled. Forces the ratio between FS and MCLK to 256 or 512 according to the OSR value + /// MCLK output is enabled. Forces the ratio between FS and MCLK to 256 or 512 according to the OSR value MasterClock = 0x0, - /// MCLK output enable set by the MCKEN bit (where present, else 0). Ratio between FS and MCLK depends on FRL. + /// MCLK output enable set by the MCKEN bit (where present, else 0). Ratio between FS and MCLK depends on FRL. NoDiv = 0x1, }; pub const OUTDRIV = enum(u1) { - /// Audio block output driven when SAIEN is set + /// Audio block output driven when SAIEN is set OnStart = 0x0, - /// Audio block output driven immediately after the setting of this bit + /// Audio block output driven immediately after the setting of this bit Immediately = 0x1, }; pub const PRTCFG = enum(u2) { - /// Free protocol. Free protocol allows to use the powerful configuration of the audio block to address a specific audio protocol + /// Free protocol. Free protocol allows to use the powerful configuration of the audio block to address a specific audio protocol Free = 0x0, - /// SPDIF protocol + /// SPDIF protocol Spdif = 0x1, - /// AC’97 protocol + /// AC’97 protocol Ac97 = 0x2, _, }; pub const SLOTEN = enum(u16) { - /// Inactive slot + /// Inactive slot Inactive = 0x0, - /// Active slot + /// Active slot Active = 0x1, _, }; pub const SLOTSZ = enum(u2) { - /// The slot size is equivalent to the data size (specified in DS[3:0] in the SAI_xCR1 register) + /// The slot size is equivalent to the data size (specified in DS[3:0] in the SAI_xCR1 register) DataSize = 0x0, - /// 16-bit + /// 16-bit Bit16 = 0x1, - /// 32-bit + /// 32-bit Bit32 = 0x2, _, }; pub const SYNCEN = enum(u2) { - /// audio sub-block in asynchronous mode + /// audio sub-block in asynchronous mode Asynchronous = 0x0, - /// audio sub-block is synchronous with the other internal audio sub-block. In this case, the audio sub-block must be configured in slave mode + /// audio sub-block is synchronous with the other internal audio sub-block. In this case, the audio sub-block must be configured in slave mode Internal = 0x1, - /// audio sub-block is synchronous with an external SAI embedded peripheral. In this case the audio sub-block should be configured in Slave mode + /// audio sub-block is synchronous with an external SAI embedded peripheral. In this case the audio sub-block should be configured in Slave mode External = 0x2, _, }; pub const WCKCFG = enum(u1) { - /// Clock configuration is correct + /// Clock configuration is correct Correct = 0x0, - /// Clock configuration does not respect the rule concerning the frame length specification + /// Clock configuration does not respect the rule concerning the frame length specification Wrong = 0x1, }; - /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR + /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR pub const CH = extern struct { - /// Configuration register 1 + /// Configuration register 1 CR1: mmio.Mmio(packed struct(u32) { - /// SAIx audio block mode immediately - MODE: packed union { - raw: u2, - value: MODE, - }, - /// Protocol configuration. These bits are set and cleared by software. These bits have to be configured when the audio block is disabled. - PRTCFG: packed union { - raw: u2, - value: PRTCFG, - }, + /// SAIx audio block mode immediately + MODE: MODE, + /// Protocol configuration. These bits are set and cleared by software. These bits have to be configured when the audio block is disabled. + PRTCFG: PRTCFG, reserved5: u1, - /// Data size. These bits are set and cleared by software. These bits are ignored when the SPDIF protocols are selected (bit PRTCFG[1:0]), because the frame and the data size are fixed in such case. When the companding mode is selected through COMP[1:0] bits, DS[1:0] are ignored since the data size is fixed to 8 bits by the algorithm. These bits must be configured when the audio block is disabled. - DS: packed union { - raw: u3, - value: DS, - }, - /// Least significant bit first. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in AC97 audio protocol since AC97 data are always transferred with the MSB first. This bit has no meaning in SPDIF audio protocol since in SPDIF data are always transferred with LSB first. - LSBFIRST: packed union { - raw: u1, - value: LSBFIRST, - }, - /// Clock strobing edge. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in SPDIF audio protocol. - CKSTR: packed union { - raw: u1, - value: CKSTR, - }, - /// Synchronization enable. These bits are set and cleared by software. They must be configured when the audio sub-block is disabled. Note: The audio sub-block should be configured as asynchronous when SPDIF mode is enabled. - SYNCEN: packed union { - raw: u2, - value: SYNCEN, - }, - /// Mono mode. This bit is set and cleared by software. It is meaningful only when the number of slots is equal to 2. When the mono mode is selected, slot 0 data are duplicated on slot 1 when the audio block operates as a transmitter. In reception mode, the slot1 is discarded and only the data received from slot 0 are stored. Refer to Section: Mono/stereo mode for more details. - MONO: packed union { - raw: u1, - value: MONO, - }, - /// Output drive. This bit is set and cleared by software. Note: This bit has to be set before enabling the audio block and after the audio block configuration. - OUTDRIV: packed union { - raw: u1, - value: OUTDRIV, - }, + /// Data size. These bits are set and cleared by software. These bits are ignored when the SPDIF protocols are selected (bit PRTCFG[1:0]), because the frame and the data size are fixed in such case. When the companding mode is selected through COMP[1:0] bits, DS[1:0] are ignored since the data size is fixed to 8 bits by the algorithm. These bits must be configured when the audio block is disabled. + DS: DS, + /// Least significant bit first. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in AC97 audio protocol since AC97 data are always transferred with the MSB first. This bit has no meaning in SPDIF audio protocol since in SPDIF data are always transferred with LSB first. + LSBFIRST: LSBFIRST, + /// Clock strobing edge. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in SPDIF audio protocol. + CKSTR: CKSTR, + /// Synchronization enable. These bits are set and cleared by software. They must be configured when the audio sub-block is disabled. Note: The audio sub-block should be configured as asynchronous when SPDIF mode is enabled. + SYNCEN: SYNCEN, + /// Mono mode. This bit is set and cleared by software. It is meaningful only when the number of slots is equal to 2. When the mono mode is selected, slot 0 data are duplicated on slot 1 when the audio block operates as a transmitter. In reception mode, the slot1 is discarded and only the data received from slot 0 are stored. Refer to Section: Mono/stereo mode for more details. + MONO: MONO, + /// Output drive. This bit is set and cleared by software. Note: This bit has to be set before enabling the audio block and after the audio block configuration. + OUTDRIV: OUTDRIV, reserved16: u2, - /// Audio block enable where x is A or B. This bit is set by software. To switch off the audio block, the application software must program this bit to 0 and poll the bit till it reads back 0, meaning that the block is completely disabled. Before setting this bit to 1, check that it is set to 0, otherwise the enable command will not be taken into account. This bit allows to control the state of SAIx audio block. If it is disabled when an audio frame transfer is ongoing, the ongoing transfer completes and the cell is fully disabled at the end of this audio frame transfer. Note: When SAIx block is configured in master mode, the clock must be present on the input of SAIx before setting SAIXEN bit. + /// Audio block enable where x is A or B. This bit is set by software. To switch off the audio block, the application software must program this bit to 0 and poll the bit till it reads back 0, meaning that the block is completely disabled. Before setting this bit to 1, check that it is set to 0, otherwise the enable command will not be taken into account. This bit allows to control the state of SAIx audio block. If it is disabled when an audio frame transfer is ongoing, the ongoing transfer completes and the cell is fully disabled at the end of this audio frame transfer. Note: When SAIx block is configured in master mode, the clock must be present on the input of SAIx before setting SAIXEN bit. SAIEN: u1, - /// DMA enable. This bit is set and cleared by software. Note: Since the audio block defaults to operate as a transmitter after reset, the MODE[1:0] bits must be configured before setting DMAEN to avoid a DMA request in receiver mode. + /// DMA enable. This bit is set and cleared by software. Note: Since the audio block defaults to operate as a transmitter after reset, the MODE[1:0] bits must be configured before setting DMAEN to avoid a DMA request in receiver mode. DMAEN: u1, reserved19: u1, - /// No fixed divider between MCLK and FS - NODIV: packed union { - raw: u1, - value: NODIV, - }, - /// Master clock divider. These bits are set and cleared by software. These bits are meaningless when the audio block operates in slave mode. They have to be configured when the audio block is disabled. Others: the master clock frequency is calculated accordingly to the following formula: + /// No fixed divider between MCLK and FS + NODIV: NODIV, + /// Master clock divider. These bits are set and cleared by software. These bits are meaningless when the audio block operates in slave mode. They have to be configured when the audio block is disabled. Others: the master clock frequency is calculated accordingly to the following formula: MCKDIV: u4, padding: u8, }), - /// Configuration register 2 + /// Configuration register 2 CR2: mmio.Mmio(packed struct(u32) { - /// FIFO threshold. This bit is set and cleared by software. - FTH: packed union { - raw: u3, - value: FTH, - }, - /// FIFO flush. This bit is set by software. It is always read as 0. This bit should be configured when the SAI is disabled. + /// FIFO threshold. This bit is set and cleared by software. + FTH: FTH, + /// FIFO flush. This bit is set by software. It is always read as 0. This bit should be configured when the SAI is disabled. FFLUSH: u1, - /// Tristate management on data line. This bit is set and cleared by software. It is meaningful only if the audio block is configured as a transmitter. This bit is not used when the audio block is configured in SPDIF mode. It should be configured when SAI is disabled. Refer to Section: Output data line management on an inactive slot for more details. + /// Tristate management on data line. This bit is set and cleared by software. It is meaningful only if the audio block is configured as a transmitter. This bit is not used when the audio block is configured in SPDIF mode. It should be configured when SAI is disabled. Refer to Section: Output data line management on an inactive slot for more details. TRIS: u1, - /// Mute. This bit is set and cleared by software. It is meaningful only when the audio block operates as a transmitter. The MUTE value is linked to value of MUTEVAL if the number of slots is lower or equal to 2, or equal to 0 if it is greater than 2. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. + /// Mute. This bit is set and cleared by software. It is meaningful only when the audio block operates as a transmitter. The MUTE value is linked to value of MUTEVAL if the number of slots is lower or equal to 2, or equal to 0 if it is greater than 2. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. MUTE: u1, - /// Mute value. This bit is set and cleared by software.It must be written before enabling the audio block: SAIXEN. This bit is meaningful only when the audio block operates as a transmitter, the number of slots is lower or equal to 2 and the MUTE bit is set. If more slots are declared, the bit value sent during the transmission in mute mode is equal to 0, whatever the value of MUTEVAL. if the number of slot is lower or equal to 2 and MUTEVAL = 1, the MUTE value transmitted for each slot is the one sent during the previous frame. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. - MUTEVAL: packed union { - raw: u1, - value: MUTEVAL, - }, - /// Mute counter. These bits are set and cleared by software. They are used only in reception mode. The value set in these bits is compared to the number of consecutive mute frames detected in reception. When the number of mute frames is equal to this value, the flag MUTEDET will be set and an interrupt will be generated if bit MUTEDETIE is set. Refer to Section: Mute mode for more details. + /// Mute value. This bit is set and cleared by software.It must be written before enabling the audio block: SAIXEN. This bit is meaningful only when the audio block operates as a transmitter, the number of slots is lower or equal to 2 and the MUTE bit is set. If more slots are declared, the bit value sent during the transmission in mute mode is equal to 0, whatever the value of MUTEVAL. if the number of slot is lower or equal to 2 and MUTEVAL = 1, the MUTE value transmitted for each slot is the one sent during the previous frame. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. + MUTEVAL: MUTEVAL, + /// Mute counter. These bits are set and cleared by software. They are used only in reception mode. The value set in these bits is compared to the number of consecutive mute frames detected in reception. When the number of mute frames is equal to this value, the flag MUTEDET will be set and an interrupt will be generated if bit MUTEDETIE is set. Refer to Section: Mute mode for more details. MUTECNT: u6, - /// Complement bit. This bit is set and cleared by software. It defines the type of complement to be used for companding mode Note: This bit has effect only when the companding mode is -Law algorithm or A-Law algorithm. - CPL: packed union { - raw: u1, - value: CPL, - }, - /// Companding mode. These bits are set and cleared by software. The -Law and the A-Law log are a part of the CCITT G.711 recommendation, the type of complement that will be used depends on CPL bit. The data expansion or data compression are determined by the state of bit MODE[0]. The data compression is applied if the audio block is configured as a transmitter. The data expansion is automatically applied when the audio block is configured as a receiver. Refer to Section: Companding mode for more details. Note: Companding mode is applicable only when TDM is selected. - COMP: packed union { - raw: u2, - value: COMP, - }, + /// Complement bit. This bit is set and cleared by software. It defines the type of complement to be used for companding mode Note: This bit has effect only when the companding mode is -Law algorithm or A-Law algorithm. + CPL: CPL, + /// Companding mode. These bits are set and cleared by software. The -Law and the A-Law log are a part of the CCITT G.711 recommendation, the type of complement that will be used depends on CPL bit. The data expansion or data compression are determined by the state of bit MODE[0]. The data compression is applied if the audio block is configured as a transmitter. The data expansion is automatically applied when the audio block is configured as a receiver. Refer to Section: Companding mode for more details. Note: Companding mode is applicable only when TDM is selected. + COMP: COMP, padding: u16, }), - /// This register has no meaning in AC97 and SPDIF audio protocol + /// This register has no meaning in AC97 and SPDIF audio protocol FRCR: mmio.Mmio(packed struct(u32) { - /// Frame length. These bits are set and cleared by software. They define the audio frame length expressed in number of SCK clock cycles: the number of bits in the frame is equal to FRL[7:0] + 1. The minimum number of bits to transfer in an audio frame must be equal to 8, otherwise the audio block will behaves in an unexpected way. This is the case when the data size is 8 bits and only one slot 0 is defined in NBSLOT[4:0] of SAI_xSLOTR register (NBSLOT[3:0] = 0000). In master mode, if the master clock (available on MCLK_x pin) is used, the frame length should be aligned with a number equal to a power of 2, ranging from 8 to 256. When the master clock is not used (NODIV = 1), it is recommended to program the frame length to an value ranging from 8 to 256. These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. + /// Frame length. These bits are set and cleared by software. They define the audio frame length expressed in number of SCK clock cycles: the number of bits in the frame is equal to FRL[7:0] + 1. The minimum number of bits to transfer in an audio frame must be equal to 8, otherwise the audio block will behaves in an unexpected way. This is the case when the data size is 8 bits and only one slot 0 is defined in NBSLOT[4:0] of SAI_xSLOTR register (NBSLOT[3:0] = 0000). In master mode, if the master clock (available on MCLK_x pin) is used, the frame length should be aligned with a number equal to a power of 2, ranging from 8 to 256. When the master clock is not used (NODIV = 1), it is recommended to program the frame length to an value ranging from 8 to 256. These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. FRL: u8, - /// Frame synchronization active level length. These bits are set and cleared by software. They specify the length in number of bit clock (SCK) + 1 (FSALL[6:0] + 1) of the active level of the FS signal in the audio frame These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. They must be configured when the audio block is disabled. + /// Frame synchronization active level length. These bits are set and cleared by software. They specify the length in number of bit clock (SCK) + 1 (FSALL[6:0] + 1) of the active level of the FS signal in the audio frame These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. They must be configured when the audio block is disabled. FSALL: u7, reserved16: u1, - /// Frame synchronization definition. This bit is set and cleared by software. When the bit is set, the number of slots defined in the SAI_xSLOTR register has to be even. It means that half of this number of slots will be dedicated to the left channel and the other slots for the right channel (e.g: this bit has to be set for I2S or MSB/LSB-justified protocols...). This bit is meaningless and is not used in AC97 or SPDIF audio block configuration. It must be configured when the audio block is disabled. + /// Frame synchronization definition. This bit is set and cleared by software. When the bit is set, the number of slots defined in the SAI_xSLOTR register has to be even. It means that half of this number of slots will be dedicated to the left channel and the other slots for the right channel (e.g: this bit has to be set for I2S or MSB/LSB-justified protocols...). This bit is meaningless and is not used in AC97 or SPDIF audio block configuration. It must be configured when the audio block is disabled. FSDEF: u1, - /// Frame synchronization polarity. This bit is set and cleared by software. It is used to configure the level of the start of frame on the FS signal. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. - FSPOL: packed union { - raw: u1, - value: FSPOL, - }, - /// Frame synchronization offset. This bit is set and cleared by software. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. - FSOFF: packed union { - raw: u1, - value: FSOFF, - }, + /// Frame synchronization polarity. This bit is set and cleared by software. It is used to configure the level of the start of frame on the FS signal. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. + FSPOL: FSPOL, + /// Frame synchronization offset. This bit is set and cleared by software. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. + FSOFF: FSOFF, padding: u13, }), - /// This register has no meaning in AC97 and SPDIF audio protocol + /// This register has no meaning in AC97 and SPDIF audio protocol SLOTR: mmio.Mmio(packed struct(u32) { - /// First bit offset These bits are set and cleared by software. The value set in this bitfield defines the position of the first data transfer bit in the slot. It represents an offset value. In transmission mode, the bits outside the data field are forced to 0. In reception mode, the extra received bits are discarded. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + /// First bit offset These bits are set and cleared by software. The value set in this bitfield defines the position of the first data transfer bit in the slot. It represents an offset value. In transmission mode, the bits outside the data field are forced to 0. In reception mode, the extra received bits are discarded. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. FBOFF: u5, reserved6: u1, - /// Slot size This bits is set and cleared by software. The slot size must be higher or equal to the data size. If this condition is not respected, the behavior of the SAI will be undetermined. Refer to Section: Output data line management on an inactive slot for information on how to drive SD line. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. - SLOTSZ: packed union { - raw: u2, - value: SLOTSZ, - }, - /// Number of slots in an audio frame. These bits are set and cleared by software. The value set in this bitfield represents the number of slots + 1 in the audio frame (including the number of inactive slots). The maximum number of slots is 16. The number of slots should be even if FSDEF bit in the SAI_xFRCR register is set. The number of slots must be configured when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + /// Slot size This bits is set and cleared by software. The slot size must be higher or equal to the data size. If this condition is not respected, the behavior of the SAI will be undetermined. Refer to Section: Output data line management on an inactive slot for information on how to drive SD line. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + SLOTSZ: SLOTSZ, + /// Number of slots in an audio frame. These bits are set and cleared by software. The value set in this bitfield represents the number of slots + 1 in the audio frame (including the number of inactive slots). The maximum number of slots is 16. The number of slots should be even if FSDEF bit in the SAI_xFRCR register is set. The number of slots must be configured when the audio block is disabled. They are ignored in AC97 or SPDIF mode. NBSLOT: u4, reserved16: u4, - /// Slot enable. These bits are set and cleared by software. Each SLOTEN bit corresponds to a slot position from 0 to 15 (maximum 16 slots). The slot must be enabled when the audio block is disabled. They are ignored in AC97 or SPDIF mode. - SLOTEN: packed union { - raw: u16, - value: SLOTEN, - }, + /// Slot enable. These bits are set and cleared by software. Each SLOTEN bit corresponds to a slot position from 0 to 15 (maximum 16 slots). The slot must be enabled when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + SLOTEN: SLOTEN, }), - /// Interrupt mask register 2 + /// Interrupt mask register 2 IM: mmio.Mmio(packed struct(u32) { - /// Overrun/underrun interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the OVRUDR bit in the SAI_xSR register is set. + /// Overrun/underrun interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the OVRUDR bit in the SAI_xSR register is set. OVRUDRIE: u1, - /// Mute detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the MUTEDET bit in the SAI_xSR register is set. This bit has a meaning only if the audio block is configured in receiver mode. + /// Mute detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the MUTEDET bit in the SAI_xSR register is set. This bit has a meaning only if the audio block is configured in receiver mode. MUTEDETIE: u1, - /// Wrong clock configuration interrupt enable. This bit is set and cleared by software. This bit is taken into account only if the audio block is configured as a master (MODE[1] = 0) and NODIV = 0. It generates an interrupt if the WCKCFG flag in the SAI_xSR register is set. Note: This bit is used only in TDM mode and is meaningless in other modes. + /// Wrong clock configuration interrupt enable. This bit is set and cleared by software. This bit is taken into account only if the audio block is configured as a master (MODE[1] = 0) and NODIV = 0. It generates an interrupt if the WCKCFG flag in the SAI_xSR register is set. Note: This bit is used only in TDM mode and is meaningless in other modes. WCKCFGIE: u1, - /// FIFO request interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the FREQ bit in the SAI_xSR register is set. Since the audio block defaults to operate as a transmitter after reset, the MODE bit must be configured before setting FREQIE to avoid a parasitic interruption in receiver mode, + /// FIFO request interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the FREQ bit in the SAI_xSR register is set. Since the audio block defaults to operate as a transmitter after reset, the MODE bit must be configured before setting FREQIE to avoid a parasitic interruption in receiver mode, FREQIE: u1, - /// Codec not ready interrupt enable (AC97). This bit is set and cleared by software. When the interrupt is enabled, the audio block detects in the slot 0 (tag0) of the AC97 frame if the Codec connected to this line is ready or not. If it is not ready, the CNRDY flag in the SAI_xSR register is set and an interruption i generated. This bit has a meaning only if the AC97 mode is selected through PRTCFG[1:0] bits and the audio block is operates as a receiver. + /// Codec not ready interrupt enable (AC97). This bit is set and cleared by software. When the interrupt is enabled, the audio block detects in the slot 0 (tag0) of the AC97 frame if the Codec connected to this line is ready or not. If it is not ready, the CNRDY flag in the SAI_xSR register is set and an interruption i generated. This bit has a meaning only if the AC97 mode is selected through PRTCFG[1:0] bits and the audio block is operates as a receiver. CNRDYIE: u1, - /// Anticipated frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the AFSDET bit in the SAI_xSR register is set. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. + /// Anticipated frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the AFSDET bit in the SAI_xSR register is set. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. AFSDETIE: u1, - /// Late frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the LFSDET bit is set in the SAI_xSR register. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. + /// Late frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the LFSDET bit is set in the SAI_xSR register. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. LFSDETIE: u1, padding: u25, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Overrun / underrun. This bit is read only. The overrun and underrun conditions can occur only when the audio block is configured as a receiver and a transmitter, respectively. It can generate an interrupt if OVRUDRIE bit is set in SAI_xIM register. This flag is cleared when the software sets COVRUDR bit in SAI_xCLRFR register. + /// Overrun / underrun. This bit is read only. The overrun and underrun conditions can occur only when the audio block is configured as a receiver and a transmitter, respectively. It can generate an interrupt if OVRUDRIE bit is set in SAI_xIM register. This flag is cleared when the software sets COVRUDR bit in SAI_xCLRFR register. OVRUDR: u1, - /// Mute detection. This bit is read only. This flag is set if consecutive 0 values are received in each slot of a given audio frame and for a consecutive number of audio frames (set in the MUTECNT bit in the SAI_xCR2 register). It can generate an interrupt if MUTEDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets bit CMUTEDET in the SAI_xCLRFR register. + /// Mute detection. This bit is read only. This flag is set if consecutive 0 values are received in each slot of a given audio frame and for a consecutive number of audio frames (set in the MUTECNT bit in the SAI_xCR2 register). It can generate an interrupt if MUTEDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets bit CMUTEDET in the SAI_xCLRFR register. MUTEDET: u1, - /// Wrong clock configuration flag. This bit is read only. This bit is used only when the audio block operates in master mode (MODE[1] = 0) and NODIV = 0. It can generate an interrupt if WCKCFGIE bit is set in SAI_xIM register. This flag is cleared when the software sets CWCKCFG bit in SAI_xCLRFR register. - WCKCFG: packed union { - raw: u1, - value: WCKCFG, - }, - /// FIFO request. This bit is read only. The request depends on the audio block configuration: If the block is configured in transmission mode, the FIFO request is related to a write request operation in the SAI_xDR. If the block configured in reception, the FIFO request related to a read request operation from the SAI_xDR. This flag can generate an interrupt if FREQIE bit is set in SAI_xIM register. + /// Wrong clock configuration flag. This bit is read only. This bit is used only when the audio block operates in master mode (MODE[1] = 0) and NODIV = 0. It can generate an interrupt if WCKCFGIE bit is set in SAI_xIM register. This flag is cleared when the software sets CWCKCFG bit in SAI_xCLRFR register. + WCKCFG: WCKCFG, + /// FIFO request. This bit is read only. The request depends on the audio block configuration: If the block is configured in transmission mode, the FIFO request is related to a write request operation in the SAI_xDR. If the block configured in reception, the FIFO request related to a read request operation from the SAI_xDR. This flag can generate an interrupt if FREQIE bit is set in SAI_xIM register. FREQ: u1, - /// Codec not ready. This bit is read only. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register and configured in receiver mode. It can generate an interrupt if CNRDYIE bit is set in SAI_xIM register. This flag is cleared when the software sets CCNRDY bit in SAI_xCLRFR register. - CNRDY: packed union { - raw: u1, - value: CNRDY, - }, - /// Anticipated frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97or SPDIF mode. It can generate an interrupt if AFSDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets CAFSDET bit in SAI_xCLRFR register. + /// Codec not ready. This bit is read only. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register and configured in receiver mode. It can generate an interrupt if CNRDYIE bit is set in SAI_xIM register. This flag is cleared when the software sets CCNRDY bit in SAI_xCLRFR register. + CNRDY: CNRDY, + /// Anticipated frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97or SPDIF mode. It can generate an interrupt if AFSDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets CAFSDET bit in SAI_xCLRFR register. AFSDET: u1, - /// Late frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97 or SPDIF mode. It can generate an interrupt if LFSDETIE bit is set in the SAI_xIM register. This flag is cleared when the software sets bit CLFSDET in SAI_xCLRFR register + /// Late frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97 or SPDIF mode. It can generate an interrupt if LFSDETIE bit is set in the SAI_xIM register. This flag is cleared when the software sets bit CLFSDET in SAI_xCLRFR register LFSDET: u1, reserved16: u9, - /// FIFO level threshold. This bit is read only. The FIFO level threshold flag is managed only by hardware and its setting depends on SAI block configuration (transmitter or receiver mode). If the SAI block is configured as transmitter: If SAI block is configured as receiver: - FLVL: packed union { - raw: u3, - value: FLVL, - }, + /// FIFO level threshold. This bit is read only. The FIFO level threshold flag is managed only by hardware and its setting depends on SAI block configuration (transmitter or receiver mode). If the SAI block is configured as transmitter: If SAI block is configured as receiver: + FLVL: FLVL, padding: u13, }), - /// Clear flag register + /// Clear flag register CLRFR: mmio.Mmio(packed struct(u32) { - /// Clear overrun / underrun. This bit is write only. Programming this bit to 1 clears the OVRUDR flag in the SAI_xSR register. Reading this bit always returns the value 0. + /// Clear overrun / underrun. This bit is write only. Programming this bit to 1 clears the OVRUDR flag in the SAI_xSR register. Reading this bit always returns the value 0. COVRUDR: u1, - /// Mute detection flag. This bit is write only. Programming this bit to 1 clears the MUTEDET flag in the SAI_xSR register. Reading this bit always returns the value 0. + /// Mute detection flag. This bit is write only. Programming this bit to 1 clears the MUTEDET flag in the SAI_xSR register. Reading this bit always returns the value 0. CMUTEDET: u1, - /// Clear wrong clock configuration flag. This bit is write only. Programming this bit to 1 clears the WCKCFG flag in the SAI_xSR register. This bit is used only when the audio block is set as master (MODE[1] = 0) and NODIV = 0 in the SAI_xCR1 register. Reading this bit always returns the value 0. + /// Clear wrong clock configuration flag. This bit is write only. Programming this bit to 1 clears the WCKCFG flag in the SAI_xSR register. This bit is used only when the audio block is set as master (MODE[1] = 0) and NODIV = 0 in the SAI_xCR1 register. Reading this bit always returns the value 0. CWCKCFG: u1, reserved4: u1, - /// Clear Codec not ready flag. This bit is write only. Programming this bit to 1 clears the CNRDY flag in the SAI_xSR register. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register. Reading this bit always returns the value 0. + /// Clear Codec not ready flag. This bit is write only. Programming this bit to 1 clears the CNRDY flag in the SAI_xSR register. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register. Reading this bit always returns the value 0. CCNRDY: u1, - /// Clear anticipated frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the AFSDET flag in the SAI_xSR register. It is not used in AC97or SPDIF mode. Reading this bit always returns the value 0. + /// Clear anticipated frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the AFSDET flag in the SAI_xSR register. It is not used in AC97or SPDIF mode. Reading this bit always returns the value 0. CAFSDET: u1, - /// Clear late frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the LFSDET flag in the SAI_xSR register. This bit is not used in AC97or SPDIF mode Reading this bit always returns the value 0. + /// Clear late frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the LFSDET flag in the SAI_xSR register. This bit is not used in AC97or SPDIF mode Reading this bit always returns the value 0. CLFSDET: u1, padding: u25, }), - /// Data register + /// Data register DR: mmio.Mmio(packed struct(u32) { - /// Data A write to this register loads the FIFO provided the FIFO is not full. A read from this register empties the FIFO if the FIFO is not empty. + /// Data A write to this register loads the FIFO provided the FIFO is not full. A read from this register empties the FIFO if the FIFO is not empty. DATA: u32, }), }; - /// Serial audio interface + /// Serial audio interface pub const SAI = extern struct { reserved4: [4]u8, - /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR + /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR CH: u32, }; }; pub const sai_v2 = struct { pub const CKSTR = enum(u1) { - /// Data strobing edge is falling edge of SCK + /// Data strobing edge is falling edge of SCK FallingEdge = 0x0, - /// Data strobing edge is rising edge of SCK + /// Data strobing edge is rising edge of SCK RisingEdge = 0x1, }; pub const CNRDY = enum(u1) { - /// External AC’97 Codec is ready + /// External AC’97 Codec is ready Ready = 0x0, - /// External AC’97 Codec is not ready + /// External AC’97 Codec is not ready NotReady = 0x1, }; pub const COMP = enum(u2) { - /// No companding algorithm + /// No companding algorithm NoCompanding = 0x0, - /// μ-Law algorithm + /// μ-Law algorithm MuLaw = 0x2, - /// A-Law algorithm + /// A-Law algorithm ALaw = 0x3, _, }; pub const CPL = enum(u1) { - /// 1’s complement representation + /// 1’s complement representation OnesComplement = 0x0, - /// 2’s complement representation + /// 2’s complement representation TwosComplement = 0x1, }; pub const DS = enum(u3) { - /// 8 bits + /// 8 bits Bit8 = 0x2, - /// 10 bits + /// 10 bits Bit10 = 0x3, - /// 16 bits + /// 16 bits Bit16 = 0x4, - /// 20 bits + /// 20 bits Bit20 = 0x5, - /// 24 bits + /// 24 bits Bit24 = 0x6, - /// 32 bits + /// 32 bits Bit32 = 0x7, _, }; pub const FLVL = enum(u3) { - /// FIFO empty + /// FIFO empty Empty = 0x0, - /// FIFO <= 1⁄4 but not empty + /// FIFO <= 1⁄4 but not empty Quarter1 = 0x1, - /// 1⁄4 < FIFO <= 1⁄2 + /// 1⁄4 < FIFO <= 1⁄2 Quarter2 = 0x2, - /// 1⁄2 < FIFO <= 3⁄4 + /// 1⁄2 < FIFO <= 3⁄4 Quarter3 = 0x3, - /// 3⁄4 < FIFO but not full + /// 3⁄4 < FIFO but not full Quarter4 = 0x4, - /// FIFO full + /// FIFO full Full = 0x5, _, }; pub const FSOFF = enum(u1) { - /// FS is asserted on the first bit of the slot 0 + /// FS is asserted on the first bit of the slot 0 OnFirst = 0x0, - /// FS is asserted one bit before the first bit of the slot 0 + /// FS is asserted one bit before the first bit of the slot 0 BeforeFirst = 0x1, }; pub const FSPOL = enum(u1) { - /// FS is active low (falling edge) + /// FS is active low (falling edge) FallingEdge = 0x0, - /// FS is active high (rising edge) + /// FS is active high (rising edge) RisingEdge = 0x1, }; pub const FTH = enum(u3) { - /// FIFO empty + /// FIFO empty Empty = 0x0, - /// 1⁄4 FIFO + /// 1⁄4 FIFO Quarter1 = 0x1, - /// 1⁄2 FIFO + /// 1⁄2 FIFO Quarter2 = 0x2, - /// 3⁄4 FIFO + /// 3⁄4 FIFO Quarter3 = 0x3, - /// FIFO full + /// FIFO full Full = 0x4, _, }; pub const LSBFIRST = enum(u1) { - /// Data are transferred with MSB first + /// Data are transferred with MSB first MsbFirst = 0x0, - /// Data are transferred with LSB first + /// Data are transferred with LSB first LsbFirst = 0x1, }; pub const MODE = enum(u2) { - /// Master transmitter + /// Master transmitter MasterTx = 0x0, - /// Master receiver + /// Master receiver MasterRx = 0x1, - /// Slave transmitter + /// Slave transmitter SlaveTx = 0x2, - /// Slave receiver + /// Slave receiver SlaveRx = 0x3, }; pub const MONO = enum(u1) { - /// Stereo mode + /// Stereo mode Stereo = 0x0, - /// Mono mode + /// Mono mode Mono = 0x1, }; pub const MUTEVAL = enum(u1) { - /// Bit value 0 is sent during the mute mode + /// Bit value 0 is sent during the mute mode SendZero = 0x0, - /// Last values are sent during the mute mode + /// Last values are sent during the mute mode SendLast = 0x1, }; pub const NODIV = enum(u1) { - /// MCLK output is enabled. Forces the ratio between FS and MCLK to 256 or 512 according to the OSR value + /// MCLK output is enabled. Forces the ratio between FS and MCLK to 256 or 512 according to the OSR value MasterClock = 0x0, - /// MCLK output enable set by the MCKEN bit (where present, else 0). Ratio between FS and MCLK depends on FRL. + /// MCLK output enable set by the MCKEN bit (where present, else 0). Ratio between FS and MCLK depends on FRL. NoDiv = 0x1, }; pub const OUTDRIV = enum(u1) { - /// Audio block output driven when SAIEN is set + /// Audio block output driven when SAIEN is set OnStart = 0x0, - /// Audio block output driven immediately after the setting of this bit + /// Audio block output driven immediately after the setting of this bit Immediately = 0x1, }; pub const PRTCFG = enum(u2) { - /// Free protocol. Free protocol allows to use the powerful configuration of the audio block to address a specific audio protocol + /// Free protocol. Free protocol allows to use the powerful configuration of the audio block to address a specific audio protocol Free = 0x0, - /// SPDIF protocol + /// SPDIF protocol Spdif = 0x1, - /// AC’97 protocol + /// AC’97 protocol Ac97 = 0x2, _, }; pub const SLOTEN = enum(u16) { - /// Inactive slot + /// Inactive slot Inactive = 0x0, - /// Active slot + /// Active slot Active = 0x1, _, }; pub const SLOTSZ = enum(u2) { - /// The slot size is equivalent to the data size (specified in DS[3:0] in the SAI_xCR1 register) + /// The slot size is equivalent to the data size (specified in DS[3:0] in the SAI_xCR1 register) DataSize = 0x0, - /// 16-bit + /// 16-bit Bit16 = 0x1, - /// 32-bit + /// 32-bit Bit32 = 0x2, _, }; pub const SYNCEN = enum(u2) { - /// audio sub-block in asynchronous mode + /// audio sub-block in asynchronous mode Asynchronous = 0x0, - /// audio sub-block is synchronous with the other internal audio sub-block. In this case, the audio sub-block must be configured in slave mode + /// audio sub-block is synchronous with the other internal audio sub-block. In this case, the audio sub-block must be configured in slave mode Internal = 0x1, - /// audio sub-block is synchronous with an external SAI embedded peripheral. In this case the audio sub-block should be configured in Slave mode + /// audio sub-block is synchronous with an external SAI embedded peripheral. In this case the audio sub-block should be configured in Slave mode External = 0x2, _, }; pub const WCKCFG = enum(u1) { - /// Clock configuration is correct + /// Clock configuration is correct Correct = 0x0, - /// Clock configuration does not respect the rule concerning the frame length specification + /// Clock configuration does not respect the rule concerning the frame length specification Wrong = 0x1, }; - /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR + /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR pub const CH = extern struct { - /// Configuration register 1 + /// Configuration register 1 CR1: mmio.Mmio(packed struct(u32) { - /// SAIx audio block mode immediately - MODE: packed union { - raw: u2, - value: MODE, - }, - /// Protocol configuration. These bits are set and cleared by software. These bits have to be configured when the audio block is disabled. - PRTCFG: packed union { - raw: u2, - value: PRTCFG, - }, + /// SAIx audio block mode immediately + MODE: MODE, + /// Protocol configuration. These bits are set and cleared by software. These bits have to be configured when the audio block is disabled. + PRTCFG: PRTCFG, reserved5: u1, - /// Data size. These bits are set and cleared by software. These bits are ignored when the SPDIF protocols are selected (bit PRTCFG[1:0]), because the frame and the data size are fixed in such case. When the companding mode is selected through COMP[1:0] bits, DS[1:0] are ignored since the data size is fixed to 8 bits by the algorithm. These bits must be configured when the audio block is disabled. - DS: packed union { - raw: u3, - value: DS, - }, - /// Least significant bit first. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in AC97 audio protocol since AC97 data are always transferred with the MSB first. This bit has no meaning in SPDIF audio protocol since in SPDIF data are always transferred with LSB first. - LSBFIRST: packed union { - raw: u1, - value: LSBFIRST, - }, - /// Clock strobing edge. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in SPDIF audio protocol. - CKSTR: packed union { - raw: u1, - value: CKSTR, - }, - /// Synchronization enable. These bits are set and cleared by software. They must be configured when the audio sub-block is disabled. Note: The audio sub-block should be configured as asynchronous when SPDIF mode is enabled. - SYNCEN: packed union { - raw: u2, - value: SYNCEN, - }, - /// Mono mode. This bit is set and cleared by software. It is meaningful only when the number of slots is equal to 2. When the mono mode is selected, slot 0 data are duplicated on slot 1 when the audio block operates as a transmitter. In reception mode, the slot1 is discarded and only the data received from slot 0 are stored. Refer to Section: Mono/stereo mode for more details. - MONO: packed union { - raw: u1, - value: MONO, - }, - /// Output drive. This bit is set and cleared by software. Note: This bit has to be set before enabling the audio block and after the audio block configuration. - OUTDRIV: packed union { - raw: u1, - value: OUTDRIV, - }, + /// Data size. These bits are set and cleared by software. These bits are ignored when the SPDIF protocols are selected (bit PRTCFG[1:0]), because the frame and the data size are fixed in such case. When the companding mode is selected through COMP[1:0] bits, DS[1:0] are ignored since the data size is fixed to 8 bits by the algorithm. These bits must be configured when the audio block is disabled. + DS: DS, + /// Least significant bit first. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in AC97 audio protocol since AC97 data are always transferred with the MSB first. This bit has no meaning in SPDIF audio protocol since in SPDIF data are always transferred with LSB first. + LSBFIRST: LSBFIRST, + /// Clock strobing edge. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in SPDIF audio protocol. + CKSTR: CKSTR, + /// Synchronization enable. These bits are set and cleared by software. They must be configured when the audio sub-block is disabled. Note: The audio sub-block should be configured as asynchronous when SPDIF mode is enabled. + SYNCEN: SYNCEN, + /// Mono mode. This bit is set and cleared by software. It is meaningful only when the number of slots is equal to 2. When the mono mode is selected, slot 0 data are duplicated on slot 1 when the audio block operates as a transmitter. In reception mode, the slot1 is discarded and only the data received from slot 0 are stored. Refer to Section: Mono/stereo mode for more details. + MONO: MONO, + /// Output drive. This bit is set and cleared by software. Note: This bit has to be set before enabling the audio block and after the audio block configuration. + OUTDRIV: OUTDRIV, reserved16: u2, - /// Audio block enable where x is A or B. This bit is set by software. To switch off the audio block, the application software must program this bit to 0 and poll the bit till it reads back 0, meaning that the block is completely disabled. Before setting this bit to 1, check that it is set to 0, otherwise the enable command will not be taken into account. This bit allows to control the state of SAIx audio block. If it is disabled when an audio frame transfer is ongoing, the ongoing transfer completes and the cell is fully disabled at the end of this audio frame transfer. Note: When SAIx block is configured in master mode, the clock must be present on the input of SAIx before setting SAIXEN bit. + /// Audio block enable where x is A or B. This bit is set by software. To switch off the audio block, the application software must program this bit to 0 and poll the bit till it reads back 0, meaning that the block is completely disabled. Before setting this bit to 1, check that it is set to 0, otherwise the enable command will not be taken into account. This bit allows to control the state of SAIx audio block. If it is disabled when an audio frame transfer is ongoing, the ongoing transfer completes and the cell is fully disabled at the end of this audio frame transfer. Note: When SAIx block is configured in master mode, the clock must be present on the input of SAIx before setting SAIXEN bit. SAIEN: u1, - /// DMA enable. This bit is set and cleared by software. Note: Since the audio block defaults to operate as a transmitter after reset, the MODE[1:0] bits must be configured before setting DMAEN to avoid a DMA request in receiver mode. + /// DMA enable. This bit is set and cleared by software. Note: Since the audio block defaults to operate as a transmitter after reset, the MODE[1:0] bits must be configured before setting DMAEN to avoid a DMA request in receiver mode. DMAEN: u1, reserved19: u1, - /// No fixed divider between MCLK and FS - NODIV: packed union { - raw: u1, - value: NODIV, - }, - /// Master clock divider. These bits are set and cleared by software. These bits are meaningless when the audio block operates in slave mode. They have to be configured when the audio block is disabled. Others: the master clock frequency is calculated accordingly to the following formula: + /// No fixed divider between MCLK and FS + NODIV: NODIV, + /// Master clock divider. These bits are set and cleared by software. These bits are meaningless when the audio block operates in slave mode. They have to be configured when the audio block is disabled. Others: the master clock frequency is calculated accordingly to the following formula: MCKDIV: u4, padding: u8, }), - /// Configuration register 2 + /// Configuration register 2 CR2: mmio.Mmio(packed struct(u32) { - /// FIFO threshold. This bit is set and cleared by software. - FTH: packed union { - raw: u3, - value: FTH, - }, - /// FIFO flush. This bit is set by software. It is always read as 0. This bit should be configured when the SAI is disabled. + /// FIFO threshold. This bit is set and cleared by software. + FTH: FTH, + /// FIFO flush. This bit is set by software. It is always read as 0. This bit should be configured when the SAI is disabled. FFLUSH: u1, - /// Tristate management on data line. This bit is set and cleared by software. It is meaningful only if the audio block is configured as a transmitter. This bit is not used when the audio block is configured in SPDIF mode. It should be configured when SAI is disabled. Refer to Section: Output data line management on an inactive slot for more details. + /// Tristate management on data line. This bit is set and cleared by software. It is meaningful only if the audio block is configured as a transmitter. This bit is not used when the audio block is configured in SPDIF mode. It should be configured when SAI is disabled. Refer to Section: Output data line management on an inactive slot for more details. TRIS: u1, - /// Mute. This bit is set and cleared by software. It is meaningful only when the audio block operates as a transmitter. The MUTE value is linked to value of MUTEVAL if the number of slots is lower or equal to 2, or equal to 0 if it is greater than 2. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. + /// Mute. This bit is set and cleared by software. It is meaningful only when the audio block operates as a transmitter. The MUTE value is linked to value of MUTEVAL if the number of slots is lower or equal to 2, or equal to 0 if it is greater than 2. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. MUTE: u1, - /// Mute value. This bit is set and cleared by software.It must be written before enabling the audio block: SAIXEN. This bit is meaningful only when the audio block operates as a transmitter, the number of slots is lower or equal to 2 and the MUTE bit is set. If more slots are declared, the bit value sent during the transmission in mute mode is equal to 0, whatever the value of MUTEVAL. if the number of slot is lower or equal to 2 and MUTEVAL = 1, the MUTE value transmitted for each slot is the one sent during the previous frame. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. - MUTEVAL: packed union { - raw: u1, - value: MUTEVAL, - }, - /// Mute counter. These bits are set and cleared by software. They are used only in reception mode. The value set in these bits is compared to the number of consecutive mute frames detected in reception. When the number of mute frames is equal to this value, the flag MUTEDET will be set and an interrupt will be generated if bit MUTEDETIE is set. Refer to Section: Mute mode for more details. + /// Mute value. This bit is set and cleared by software.It must be written before enabling the audio block: SAIXEN. This bit is meaningful only when the audio block operates as a transmitter, the number of slots is lower or equal to 2 and the MUTE bit is set. If more slots are declared, the bit value sent during the transmission in mute mode is equal to 0, whatever the value of MUTEVAL. if the number of slot is lower or equal to 2 and MUTEVAL = 1, the MUTE value transmitted for each slot is the one sent during the previous frame. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. + MUTEVAL: MUTEVAL, + /// Mute counter. These bits are set and cleared by software. They are used only in reception mode. The value set in these bits is compared to the number of consecutive mute frames detected in reception. When the number of mute frames is equal to this value, the flag MUTEDET will be set and an interrupt will be generated if bit MUTEDETIE is set. Refer to Section: Mute mode for more details. MUTECNT: u6, - /// Complement bit. This bit is set and cleared by software. It defines the type of complement to be used for companding mode Note: This bit has effect only when the companding mode is -Law algorithm or A-Law algorithm. - CPL: packed union { - raw: u1, - value: CPL, - }, - /// Companding mode. These bits are set and cleared by software. The -Law and the A-Law log are a part of the CCITT G.711 recommendation, the type of complement that will be used depends on CPL bit. The data expansion or data compression are determined by the state of bit MODE[0]. The data compression is applied if the audio block is configured as a transmitter. The data expansion is automatically applied when the audio block is configured as a receiver. Refer to Section: Companding mode for more details. Note: Companding mode is applicable only when TDM is selected. - COMP: packed union { - raw: u2, - value: COMP, - }, + /// Complement bit. This bit is set and cleared by software. It defines the type of complement to be used for companding mode Note: This bit has effect only when the companding mode is -Law algorithm or A-Law algorithm. + CPL: CPL, + /// Companding mode. These bits are set and cleared by software. The -Law and the A-Law log are a part of the CCITT G.711 recommendation, the type of complement that will be used depends on CPL bit. The data expansion or data compression are determined by the state of bit MODE[0]. The data compression is applied if the audio block is configured as a transmitter. The data expansion is automatically applied when the audio block is configured as a receiver. Refer to Section: Companding mode for more details. Note: Companding mode is applicable only when TDM is selected. + COMP: COMP, padding: u16, }), - /// This register has no meaning in AC97 and SPDIF audio protocol + /// This register has no meaning in AC97 and SPDIF audio protocol FRCR: mmio.Mmio(packed struct(u32) { - /// Frame length. These bits are set and cleared by software. They define the audio frame length expressed in number of SCK clock cycles: the number of bits in the frame is equal to FRL[7:0] + 1. The minimum number of bits to transfer in an audio frame must be equal to 8, otherwise the audio block will behaves in an unexpected way. This is the case when the data size is 8 bits and only one slot 0 is defined in NBSLOT[4:0] of SAI_xSLOTR register (NBSLOT[3:0] = 0000). In master mode, if the master clock (available on MCLK_x pin) is used, the frame length should be aligned with a number equal to a power of 2, ranging from 8 to 256. When the master clock is not used (NODIV = 1), it is recommended to program the frame length to an value ranging from 8 to 256. These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. + /// Frame length. These bits are set and cleared by software. They define the audio frame length expressed in number of SCK clock cycles: the number of bits in the frame is equal to FRL[7:0] + 1. The minimum number of bits to transfer in an audio frame must be equal to 8, otherwise the audio block will behaves in an unexpected way. This is the case when the data size is 8 bits and only one slot 0 is defined in NBSLOT[4:0] of SAI_xSLOTR register (NBSLOT[3:0] = 0000). In master mode, if the master clock (available on MCLK_x pin) is used, the frame length should be aligned with a number equal to a power of 2, ranging from 8 to 256. When the master clock is not used (NODIV = 1), it is recommended to program the frame length to an value ranging from 8 to 256. These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. FRL: u8, - /// Frame synchronization active level length. These bits are set and cleared by software. They specify the length in number of bit clock (SCK) + 1 (FSALL[6:0] + 1) of the active level of the FS signal in the audio frame These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. They must be configured when the audio block is disabled. + /// Frame synchronization active level length. These bits are set and cleared by software. They specify the length in number of bit clock (SCK) + 1 (FSALL[6:0] + 1) of the active level of the FS signal in the audio frame These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. They must be configured when the audio block is disabled. FSALL: u7, reserved16: u1, - /// Frame synchronization definition. This bit is set and cleared by software. When the bit is set, the number of slots defined in the SAI_xSLOTR register has to be even. It means that half of this number of slots will be dedicated to the left channel and the other slots for the right channel (e.g: this bit has to be set for I2S or MSB/LSB-justified protocols...). This bit is meaningless and is not used in AC97 or SPDIF audio block configuration. It must be configured when the audio block is disabled. + /// Frame synchronization definition. This bit is set and cleared by software. When the bit is set, the number of slots defined in the SAI_xSLOTR register has to be even. It means that half of this number of slots will be dedicated to the left channel and the other slots for the right channel (e.g: this bit has to be set for I2S or MSB/LSB-justified protocols...). This bit is meaningless and is not used in AC97 or SPDIF audio block configuration. It must be configured when the audio block is disabled. FSDEF: u1, - /// Frame synchronization polarity. This bit is set and cleared by software. It is used to configure the level of the start of frame on the FS signal. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. - FSPOL: packed union { - raw: u1, - value: FSPOL, - }, - /// Frame synchronization offset. This bit is set and cleared by software. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. - FSOFF: packed union { - raw: u1, - value: FSOFF, - }, + /// Frame synchronization polarity. This bit is set and cleared by software. It is used to configure the level of the start of frame on the FS signal. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. + FSPOL: FSPOL, + /// Frame synchronization offset. This bit is set and cleared by software. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. + FSOFF: FSOFF, padding: u13, }), - /// This register has no meaning in AC97 and SPDIF audio protocol + /// This register has no meaning in AC97 and SPDIF audio protocol SLOTR: mmio.Mmio(packed struct(u32) { - /// First bit offset These bits are set and cleared by software. The value set in this bitfield defines the position of the first data transfer bit in the slot. It represents an offset value. In transmission mode, the bits outside the data field are forced to 0. In reception mode, the extra received bits are discarded. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + /// First bit offset These bits are set and cleared by software. The value set in this bitfield defines the position of the first data transfer bit in the slot. It represents an offset value. In transmission mode, the bits outside the data field are forced to 0. In reception mode, the extra received bits are discarded. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. FBOFF: u5, reserved6: u1, - /// Slot size This bits is set and cleared by software. The slot size must be higher or equal to the data size. If this condition is not respected, the behavior of the SAI will be undetermined. Refer to Section: Output data line management on an inactive slot for information on how to drive SD line. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. - SLOTSZ: packed union { - raw: u2, - value: SLOTSZ, - }, - /// Number of slots in an audio frame. These bits are set and cleared by software. The value set in this bitfield represents the number of slots + 1 in the audio frame (including the number of inactive slots). The maximum number of slots is 16. The number of slots should be even if FSDEF bit in the SAI_xFRCR register is set. The number of slots must be configured when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + /// Slot size This bits is set and cleared by software. The slot size must be higher or equal to the data size. If this condition is not respected, the behavior of the SAI will be undetermined. Refer to Section: Output data line management on an inactive slot for information on how to drive SD line. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + SLOTSZ: SLOTSZ, + /// Number of slots in an audio frame. These bits are set and cleared by software. The value set in this bitfield represents the number of slots + 1 in the audio frame (including the number of inactive slots). The maximum number of slots is 16. The number of slots should be even if FSDEF bit in the SAI_xFRCR register is set. The number of slots must be configured when the audio block is disabled. They are ignored in AC97 or SPDIF mode. NBSLOT: u4, reserved16: u4, - /// Slot enable. These bits are set and cleared by software. Each SLOTEN bit corresponds to a slot position from 0 to 15 (maximum 16 slots). The slot must be enabled when the audio block is disabled. They are ignored in AC97 or SPDIF mode. - SLOTEN: packed union { - raw: u16, - value: SLOTEN, - }, + /// Slot enable. These bits are set and cleared by software. Each SLOTEN bit corresponds to a slot position from 0 to 15 (maximum 16 slots). The slot must be enabled when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + SLOTEN: SLOTEN, }), - /// Interrupt mask register 2 + /// Interrupt mask register 2 IM: mmio.Mmio(packed struct(u32) { - /// Overrun/underrun interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the OVRUDR bit in the SAI_xSR register is set. + /// Overrun/underrun interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the OVRUDR bit in the SAI_xSR register is set. OVRUDRIE: u1, - /// Mute detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the MUTEDET bit in the SAI_xSR register is set. This bit has a meaning only if the audio block is configured in receiver mode. + /// Mute detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the MUTEDET bit in the SAI_xSR register is set. This bit has a meaning only if the audio block is configured in receiver mode. MUTEDETIE: u1, - /// Wrong clock configuration interrupt enable. This bit is set and cleared by software. This bit is taken into account only if the audio block is configured as a master (MODE[1] = 0) and NODIV = 0. It generates an interrupt if the WCKCFG flag in the SAI_xSR register is set. Note: This bit is used only in TDM mode and is meaningless in other modes. + /// Wrong clock configuration interrupt enable. This bit is set and cleared by software. This bit is taken into account only if the audio block is configured as a master (MODE[1] = 0) and NODIV = 0. It generates an interrupt if the WCKCFG flag in the SAI_xSR register is set. Note: This bit is used only in TDM mode and is meaningless in other modes. WCKCFGIE: u1, - /// FIFO request interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the FREQ bit in the SAI_xSR register is set. Since the audio block defaults to operate as a transmitter after reset, the MODE bit must be configured before setting FREQIE to avoid a parasitic interruption in receiver mode, + /// FIFO request interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the FREQ bit in the SAI_xSR register is set. Since the audio block defaults to operate as a transmitter after reset, the MODE bit must be configured before setting FREQIE to avoid a parasitic interruption in receiver mode, FREQIE: u1, - /// Codec not ready interrupt enable (AC97). This bit is set and cleared by software. When the interrupt is enabled, the audio block detects in the slot 0 (tag0) of the AC97 frame if the Codec connected to this line is ready or not. If it is not ready, the CNRDY flag in the SAI_xSR register is set and an interruption i generated. This bit has a meaning only if the AC97 mode is selected through PRTCFG[1:0] bits and the audio block is operates as a receiver. + /// Codec not ready interrupt enable (AC97). This bit is set and cleared by software. When the interrupt is enabled, the audio block detects in the slot 0 (tag0) of the AC97 frame if the Codec connected to this line is ready or not. If it is not ready, the CNRDY flag in the SAI_xSR register is set and an interruption i generated. This bit has a meaning only if the AC97 mode is selected through PRTCFG[1:0] bits and the audio block is operates as a receiver. CNRDYIE: u1, - /// Anticipated frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the AFSDET bit in the SAI_xSR register is set. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. + /// Anticipated frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the AFSDET bit in the SAI_xSR register is set. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. AFSDETIE: u1, - /// Late frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the LFSDET bit is set in the SAI_xSR register. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. + /// Late frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the LFSDET bit is set in the SAI_xSR register. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. LFSDETIE: u1, padding: u25, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Overrun / underrun. This bit is read only. The overrun and underrun conditions can occur only when the audio block is configured as a receiver and a transmitter, respectively. It can generate an interrupt if OVRUDRIE bit is set in SAI_xIM register. This flag is cleared when the software sets COVRUDR bit in SAI_xCLRFR register. + /// Overrun / underrun. This bit is read only. The overrun and underrun conditions can occur only when the audio block is configured as a receiver and a transmitter, respectively. It can generate an interrupt if OVRUDRIE bit is set in SAI_xIM register. This flag is cleared when the software sets COVRUDR bit in SAI_xCLRFR register. OVRUDR: u1, - /// Mute detection. This bit is read only. This flag is set if consecutive 0 values are received in each slot of a given audio frame and for a consecutive number of audio frames (set in the MUTECNT bit in the SAI_xCR2 register). It can generate an interrupt if MUTEDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets bit CMUTEDET in the SAI_xCLRFR register. + /// Mute detection. This bit is read only. This flag is set if consecutive 0 values are received in each slot of a given audio frame and for a consecutive number of audio frames (set in the MUTECNT bit in the SAI_xCR2 register). It can generate an interrupt if MUTEDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets bit CMUTEDET in the SAI_xCLRFR register. MUTEDET: u1, - /// Wrong clock configuration flag. This bit is read only. This bit is used only when the audio block operates in master mode (MODE[1] = 0) and NODIV = 0. It can generate an interrupt if WCKCFGIE bit is set in SAI_xIM register. This flag is cleared when the software sets CWCKCFG bit in SAI_xCLRFR register. - WCKCFG: packed union { - raw: u1, - value: WCKCFG, - }, - /// FIFO request. This bit is read only. The request depends on the audio block configuration: If the block is configured in transmission mode, the FIFO request is related to a write request operation in the SAI_xDR. If the block configured in reception, the FIFO request related to a read request operation from the SAI_xDR. This flag can generate an interrupt if FREQIE bit is set in SAI_xIM register. + /// Wrong clock configuration flag. This bit is read only. This bit is used only when the audio block operates in master mode (MODE[1] = 0) and NODIV = 0. It can generate an interrupt if WCKCFGIE bit is set in SAI_xIM register. This flag is cleared when the software sets CWCKCFG bit in SAI_xCLRFR register. + WCKCFG: WCKCFG, + /// FIFO request. This bit is read only. The request depends on the audio block configuration: If the block is configured in transmission mode, the FIFO request is related to a write request operation in the SAI_xDR. If the block configured in reception, the FIFO request related to a read request operation from the SAI_xDR. This flag can generate an interrupt if FREQIE bit is set in SAI_xIM register. FREQ: u1, - /// Codec not ready. This bit is read only. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register and configured in receiver mode. It can generate an interrupt if CNRDYIE bit is set in SAI_xIM register. This flag is cleared when the software sets CCNRDY bit in SAI_xCLRFR register. - CNRDY: packed union { - raw: u1, - value: CNRDY, - }, - /// Anticipated frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97or SPDIF mode. It can generate an interrupt if AFSDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets CAFSDET bit in SAI_xCLRFR register. + /// Codec not ready. This bit is read only. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register and configured in receiver mode. It can generate an interrupt if CNRDYIE bit is set in SAI_xIM register. This flag is cleared when the software sets CCNRDY bit in SAI_xCLRFR register. + CNRDY: CNRDY, + /// Anticipated frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97or SPDIF mode. It can generate an interrupt if AFSDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets CAFSDET bit in SAI_xCLRFR register. AFSDET: u1, - /// Late frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97 or SPDIF mode. It can generate an interrupt if LFSDETIE bit is set in the SAI_xIM register. This flag is cleared when the software sets bit CLFSDET in SAI_xCLRFR register + /// Late frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97 or SPDIF mode. It can generate an interrupt if LFSDETIE bit is set in the SAI_xIM register. This flag is cleared when the software sets bit CLFSDET in SAI_xCLRFR register LFSDET: u1, reserved16: u9, - /// FIFO level threshold. This bit is read only. The FIFO level threshold flag is managed only by hardware and its setting depends on SAI block configuration (transmitter or receiver mode). If the SAI block is configured as transmitter: If SAI block is configured as receiver: - FLVL: packed union { - raw: u3, - value: FLVL, - }, + /// FIFO level threshold. This bit is read only. The FIFO level threshold flag is managed only by hardware and its setting depends on SAI block configuration (transmitter or receiver mode). If the SAI block is configured as transmitter: If SAI block is configured as receiver: + FLVL: FLVL, padding: u13, }), - /// Clear flag register + /// Clear flag register CLRFR: mmio.Mmio(packed struct(u32) { - /// Clear overrun / underrun. This bit is write only. Programming this bit to 1 clears the OVRUDR flag in the SAI_xSR register. Reading this bit always returns the value 0. + /// Clear overrun / underrun. This bit is write only. Programming this bit to 1 clears the OVRUDR flag in the SAI_xSR register. Reading this bit always returns the value 0. COVRUDR: u1, - /// Mute detection flag. This bit is write only. Programming this bit to 1 clears the MUTEDET flag in the SAI_xSR register. Reading this bit always returns the value 0. + /// Mute detection flag. This bit is write only. Programming this bit to 1 clears the MUTEDET flag in the SAI_xSR register. Reading this bit always returns the value 0. CMUTEDET: u1, - /// Clear wrong clock configuration flag. This bit is write only. Programming this bit to 1 clears the WCKCFG flag in the SAI_xSR register. This bit is used only when the audio block is set as master (MODE[1] = 0) and NODIV = 0 in the SAI_xCR1 register. Reading this bit always returns the value 0. + /// Clear wrong clock configuration flag. This bit is write only. Programming this bit to 1 clears the WCKCFG flag in the SAI_xSR register. This bit is used only when the audio block is set as master (MODE[1] = 0) and NODIV = 0 in the SAI_xCR1 register. Reading this bit always returns the value 0. CWCKCFG: u1, reserved4: u1, - /// Clear Codec not ready flag. This bit is write only. Programming this bit to 1 clears the CNRDY flag in the SAI_xSR register. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register. Reading this bit always returns the value 0. + /// Clear Codec not ready flag. This bit is write only. Programming this bit to 1 clears the CNRDY flag in the SAI_xSR register. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register. Reading this bit always returns the value 0. CCNRDY: u1, - /// Clear anticipated frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the AFSDET flag in the SAI_xSR register. It is not used in AC97or SPDIF mode. Reading this bit always returns the value 0. + /// Clear anticipated frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the AFSDET flag in the SAI_xSR register. It is not used in AC97or SPDIF mode. Reading this bit always returns the value 0. CAFSDET: u1, - /// Clear late frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the LFSDET flag in the SAI_xSR register. This bit is not used in AC97or SPDIF mode Reading this bit always returns the value 0. + /// Clear late frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the LFSDET flag in the SAI_xSR register. This bit is not used in AC97or SPDIF mode Reading this bit always returns the value 0. CLFSDET: u1, padding: u25, }), - /// Data register + /// Data register DR: mmio.Mmio(packed struct(u32) { - /// Data A write to this register loads the FIFO provided the FIFO is not full. A read from this register empties the FIFO if the FIFO is not empty. + /// Data A write to this register loads the FIFO provided the FIFO is not full. A read from this register empties the FIFO if the FIFO is not empty. DATA: u32, }), }; - /// Serial audio interface + /// Serial audio interface pub const SAI = extern struct { - /// Global configuration register + /// Global configuration register GCR: mmio.Mmio(packed struct(u32) { - /// Synchronization inputs + /// Synchronization inputs SYNCIN: u2, reserved4: u2, - /// Synchronization outputs These bits are set and cleared by software. + /// Synchronization outputs These bits are set and cleared by software. SYNCOUT: u2, padding: u26, }), - /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR + /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR CH: u32, }; }; pub const sai_v3_2pdm = struct { pub const CKSTR = enum(u1) { - /// Data strobing edge is falling edge of SCK + /// Data strobing edge is falling edge of SCK FallingEdge = 0x0, - /// Data strobing edge is rising edge of SCK + /// Data strobing edge is rising edge of SCK RisingEdge = 0x1, }; pub const CNRDY = enum(u1) { - /// External AC’97 Codec is ready + /// External AC’97 Codec is ready Ready = 0x0, - /// External AC’97 Codec is not ready + /// External AC’97 Codec is not ready NotReady = 0x1, }; pub const COMP = enum(u2) { - /// No companding algorithm + /// No companding algorithm NoCompanding = 0x0, - /// μ-Law algorithm + /// μ-Law algorithm MuLaw = 0x2, - /// A-Law algorithm + /// A-Law algorithm ALaw = 0x3, _, }; pub const CPL = enum(u1) { - /// 1’s complement representation + /// 1’s complement representation OnesComplement = 0x0, - /// 2’s complement representation + /// 2’s complement representation TwosComplement = 0x1, }; pub const DS = enum(u3) { - /// 8 bits + /// 8 bits Bit8 = 0x2, - /// 10 bits + /// 10 bits Bit10 = 0x3, - /// 16 bits + /// 16 bits Bit16 = 0x4, - /// 20 bits + /// 20 bits Bit20 = 0x5, - /// 24 bits + /// 24 bits Bit24 = 0x6, - /// 32 bits + /// 32 bits Bit32 = 0x7, _, }; pub const FLVL = enum(u3) { - /// FIFO empty + /// FIFO empty Empty = 0x0, - /// FIFO <= 1⁄4 but not empty + /// FIFO <= 1⁄4 but not empty Quarter1 = 0x1, - /// 1⁄4 < FIFO <= 1⁄2 + /// 1⁄4 < FIFO <= 1⁄2 Quarter2 = 0x2, - /// 1⁄2 < FIFO <= 3⁄4 + /// 1⁄2 < FIFO <= 3⁄4 Quarter3 = 0x3, - /// 3⁄4 < FIFO but not full + /// 3⁄4 < FIFO but not full Quarter4 = 0x4, - /// FIFO full + /// FIFO full Full = 0x5, _, }; pub const FSOFF = enum(u1) { - /// FS is asserted on the first bit of the slot 0 + /// FS is asserted on the first bit of the slot 0 OnFirst = 0x0, - /// FS is asserted one bit before the first bit of the slot 0 + /// FS is asserted one bit before the first bit of the slot 0 BeforeFirst = 0x1, }; pub const FSPOL = enum(u1) { - /// FS is active low (falling edge) + /// FS is active low (falling edge) FallingEdge = 0x0, - /// FS is active high (rising edge) + /// FS is active high (rising edge) RisingEdge = 0x1, }; pub const FTH = enum(u3) { - /// FIFO empty + /// FIFO empty Empty = 0x0, - /// 1⁄4 FIFO + /// 1⁄4 FIFO Quarter1 = 0x1, - /// 1⁄2 FIFO + /// 1⁄2 FIFO Quarter2 = 0x2, - /// 3⁄4 FIFO + /// 3⁄4 FIFO Quarter3 = 0x3, - /// FIFO full + /// FIFO full Full = 0x4, _, }; pub const LSBFIRST = enum(u1) { - /// Data are transferred with MSB first + /// Data are transferred with MSB first MsbFirst = 0x0, - /// Data are transferred with LSB first + /// Data are transferred with LSB first LsbFirst = 0x1, }; pub const MODE = enum(u2) { - /// Master transmitter + /// Master transmitter MasterTx = 0x0, - /// Master receiver + /// Master receiver MasterRx = 0x1, - /// Slave transmitter + /// Slave transmitter SlaveTx = 0x2, - /// Slave receiver + /// Slave receiver SlaveRx = 0x3, }; pub const MONO = enum(u1) { - /// Stereo mode + /// Stereo mode Stereo = 0x0, - /// Mono mode + /// Mono mode Mono = 0x1, }; pub const MUTEVAL = enum(u1) { - /// Bit value 0 is sent during the mute mode + /// Bit value 0 is sent during the mute mode SendZero = 0x0, - /// Last values are sent during the mute mode + /// Last values are sent during the mute mode SendLast = 0x1, }; pub const NODIV = enum(u1) { - /// MCLK output is enabled. Forces the ratio between FS and MCLK to 256 or 512 according to the OSR value + /// MCLK output is enabled. Forces the ratio between FS and MCLK to 256 or 512 according to the OSR value MasterClock = 0x0, - /// MCLK output enable set by the MCKEN bit (where present, else 0). Ratio between FS and MCLK depends on FRL. + /// MCLK output enable set by the MCKEN bit (where present, else 0). Ratio between FS and MCLK depends on FRL. NoDiv = 0x1, }; pub const OUTDRIV = enum(u1) { - /// Audio block output driven when SAIEN is set + /// Audio block output driven when SAIEN is set OnStart = 0x0, - /// Audio block output driven immediately after the setting of this bit + /// Audio block output driven immediately after the setting of this bit Immediately = 0x1, }; pub const PRTCFG = enum(u2) { - /// Free protocol. Free protocol allows to use the powerful configuration of the audio block to address a specific audio protocol + /// Free protocol. Free protocol allows to use the powerful configuration of the audio block to address a specific audio protocol Free = 0x0, - /// SPDIF protocol + /// SPDIF protocol Spdif = 0x1, - /// AC’97 protocol + /// AC’97 protocol Ac97 = 0x2, _, }; pub const SLOTEN = enum(u16) { - /// Inactive slot + /// Inactive slot Inactive = 0x0, - /// Active slot + /// Active slot Active = 0x1, _, }; pub const SLOTSZ = enum(u2) { - /// The slot size is equivalent to the data size (specified in DS[3:0] in the SAI_xCR1 register) + /// The slot size is equivalent to the data size (specified in DS[3:0] in the SAI_xCR1 register) DataSize = 0x0, - /// 16-bit + /// 16-bit Bit16 = 0x1, - /// 32-bit + /// 32-bit Bit32 = 0x2, _, }; pub const SYNCEN = enum(u2) { - /// audio sub-block in asynchronous mode + /// audio sub-block in asynchronous mode Asynchronous = 0x0, - /// audio sub-block is synchronous with the other internal audio sub-block. In this case, the audio sub-block must be configured in slave mode + /// audio sub-block is synchronous with the other internal audio sub-block. In this case, the audio sub-block must be configured in slave mode Internal = 0x1, - /// audio sub-block is synchronous with an external SAI embedded peripheral. In this case the audio sub-block should be configured in Slave mode + /// audio sub-block is synchronous with an external SAI embedded peripheral. In this case the audio sub-block should be configured in Slave mode External = 0x2, _, }; pub const WCKCFG = enum(u1) { - /// Clock configuration is correct + /// Clock configuration is correct Correct = 0x0, - /// Clock configuration does not respect the rule concerning the frame length specification + /// Clock configuration does not respect the rule concerning the frame length specification Wrong = 0x1, }; - /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR + /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR pub const CH = extern struct { - /// Configuration register 1 + /// Configuration register 1 CR1: mmio.Mmio(packed struct(u32) { - /// SAIx audio block mode immediately - MODE: packed union { - raw: u2, - value: MODE, - }, - /// Protocol configuration. These bits are set and cleared by software. These bits have to be configured when the audio block is disabled. - PRTCFG: packed union { - raw: u2, - value: PRTCFG, - }, + /// SAIx audio block mode immediately + MODE: MODE, + /// Protocol configuration. These bits are set and cleared by software. These bits have to be configured when the audio block is disabled. + PRTCFG: PRTCFG, reserved5: u1, - /// Data size. These bits are set and cleared by software. These bits are ignored when the SPDIF protocols are selected (bit PRTCFG[1:0]), because the frame and the data size are fixed in such case. When the companding mode is selected through COMP[1:0] bits, DS[1:0] are ignored since the data size is fixed to 8 bits by the algorithm. These bits must be configured when the audio block is disabled. - DS: packed union { - raw: u3, - value: DS, - }, - /// Least significant bit first. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in AC97 audio protocol since AC97 data are always transferred with the MSB first. This bit has no meaning in SPDIF audio protocol since in SPDIF data are always transferred with LSB first. - LSBFIRST: packed union { - raw: u1, - value: LSBFIRST, - }, - /// Clock strobing edge. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in SPDIF audio protocol. - CKSTR: packed union { - raw: u1, - value: CKSTR, - }, - /// Synchronization enable. These bits are set and cleared by software. They must be configured when the audio sub-block is disabled. Note: The audio sub-block should be configured as asynchronous when SPDIF mode is enabled. - SYNCEN: packed union { - raw: u2, - value: SYNCEN, - }, - /// Mono mode. This bit is set and cleared by software. It is meaningful only when the number of slots is equal to 2. When the mono mode is selected, slot 0 data are duplicated on slot 1 when the audio block operates as a transmitter. In reception mode, the slot1 is discarded and only the data received from slot 0 are stored. Refer to Section: Mono/stereo mode for more details. - MONO: packed union { - raw: u1, - value: MONO, - }, - /// Output drive. This bit is set and cleared by software. Note: This bit has to be set before enabling the audio block and after the audio block configuration. - OUTDRIV: packed union { - raw: u1, - value: OUTDRIV, - }, + /// Data size. These bits are set and cleared by software. These bits are ignored when the SPDIF protocols are selected (bit PRTCFG[1:0]), because the frame and the data size are fixed in such case. When the companding mode is selected through COMP[1:0] bits, DS[1:0] are ignored since the data size is fixed to 8 bits by the algorithm. These bits must be configured when the audio block is disabled. + DS: DS, + /// Least significant bit first. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in AC97 audio protocol since AC97 data are always transferred with the MSB first. This bit has no meaning in SPDIF audio protocol since in SPDIF data are always transferred with LSB first. + LSBFIRST: LSBFIRST, + /// Clock strobing edge. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in SPDIF audio protocol. + CKSTR: CKSTR, + /// Synchronization enable. These bits are set and cleared by software. They must be configured when the audio sub-block is disabled. Note: The audio sub-block should be configured as asynchronous when SPDIF mode is enabled. + SYNCEN: SYNCEN, + /// Mono mode. This bit is set and cleared by software. It is meaningful only when the number of slots is equal to 2. When the mono mode is selected, slot 0 data are duplicated on slot 1 when the audio block operates as a transmitter. In reception mode, the slot1 is discarded and only the data received from slot 0 are stored. Refer to Section: Mono/stereo mode for more details. + MONO: MONO, + /// Output drive. This bit is set and cleared by software. Note: This bit has to be set before enabling the audio block and after the audio block configuration. + OUTDRIV: OUTDRIV, reserved16: u2, - /// Audio block enable where x is A or B. This bit is set by software. To switch off the audio block, the application software must program this bit to 0 and poll the bit till it reads back 0, meaning that the block is completely disabled. Before setting this bit to 1, check that it is set to 0, otherwise the enable command will not be taken into account. This bit allows to control the state of SAIx audio block. If it is disabled when an audio frame transfer is ongoing, the ongoing transfer completes and the cell is fully disabled at the end of this audio frame transfer. Note: When SAIx block is configured in master mode, the clock must be present on the input of SAIx before setting SAIXEN bit. + /// Audio block enable where x is A or B. This bit is set by software. To switch off the audio block, the application software must program this bit to 0 and poll the bit till it reads back 0, meaning that the block is completely disabled. Before setting this bit to 1, check that it is set to 0, otherwise the enable command will not be taken into account. This bit allows to control the state of SAIx audio block. If it is disabled when an audio frame transfer is ongoing, the ongoing transfer completes and the cell is fully disabled at the end of this audio frame transfer. Note: When SAIx block is configured in master mode, the clock must be present on the input of SAIx before setting SAIXEN bit. SAIEN: u1, - /// DMA enable. This bit is set and cleared by software. Note: Since the audio block defaults to operate as a transmitter after reset, the MODE[1:0] bits must be configured before setting DMAEN to avoid a DMA request in receiver mode. + /// DMA enable. This bit is set and cleared by software. Note: Since the audio block defaults to operate as a transmitter after reset, the MODE[1:0] bits must be configured before setting DMAEN to avoid a DMA request in receiver mode. DMAEN: u1, reserved19: u1, - /// No fixed divider between MCLK and FS - NODIV: packed union { - raw: u1, - value: NODIV, - }, - /// Master clock divider. These bits are set and cleared by software. These bits are meaningless when the audio block operates in slave mode. They have to be configured when the audio block is disabled. Others: the master clock frequency is calculated accordingly to the following formula: + /// No fixed divider between MCLK and FS + NODIV: NODIV, + /// Master clock divider. These bits are set and cleared by software. These bits are meaningless when the audio block operates in slave mode. They have to be configured when the audio block is disabled. Others: the master clock frequency is calculated accordingly to the following formula: MCKDIV: u6, - /// Oversampling ratio for master clock + /// Oversampling ratio for master clock OSR: u1, padding: u5, }), - /// Configuration register 2 + /// Configuration register 2 CR2: mmio.Mmio(packed struct(u32) { - /// FIFO threshold. This bit is set and cleared by software. - FTH: packed union { - raw: u3, - value: FTH, - }, - /// FIFO flush. This bit is set by software. It is always read as 0. This bit should be configured when the SAI is disabled. + /// FIFO threshold. This bit is set and cleared by software. + FTH: FTH, + /// FIFO flush. This bit is set by software. It is always read as 0. This bit should be configured when the SAI is disabled. FFLUSH: u1, - /// Tristate management on data line. This bit is set and cleared by software. It is meaningful only if the audio block is configured as a transmitter. This bit is not used when the audio block is configured in SPDIF mode. It should be configured when SAI is disabled. Refer to Section: Output data line management on an inactive slot for more details. + /// Tristate management on data line. This bit is set and cleared by software. It is meaningful only if the audio block is configured as a transmitter. This bit is not used when the audio block is configured in SPDIF mode. It should be configured when SAI is disabled. Refer to Section: Output data line management on an inactive slot for more details. TRIS: u1, - /// Mute. This bit is set and cleared by software. It is meaningful only when the audio block operates as a transmitter. The MUTE value is linked to value of MUTEVAL if the number of slots is lower or equal to 2, or equal to 0 if it is greater than 2. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. + /// Mute. This bit is set and cleared by software. It is meaningful only when the audio block operates as a transmitter. The MUTE value is linked to value of MUTEVAL if the number of slots is lower or equal to 2, or equal to 0 if it is greater than 2. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. MUTE: u1, - /// Mute value. This bit is set and cleared by software.It must be written before enabling the audio block: SAIXEN. This bit is meaningful only when the audio block operates as a transmitter, the number of slots is lower or equal to 2 and the MUTE bit is set. If more slots are declared, the bit value sent during the transmission in mute mode is equal to 0, whatever the value of MUTEVAL. if the number of slot is lower or equal to 2 and MUTEVAL = 1, the MUTE value transmitted for each slot is the one sent during the previous frame. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. - MUTEVAL: packed union { - raw: u1, - value: MUTEVAL, - }, - /// Mute counter. These bits are set and cleared by software. They are used only in reception mode. The value set in these bits is compared to the number of consecutive mute frames detected in reception. When the number of mute frames is equal to this value, the flag MUTEDET will be set and an interrupt will be generated if bit MUTEDETIE is set. Refer to Section: Mute mode for more details. + /// Mute value. This bit is set and cleared by software.It must be written before enabling the audio block: SAIXEN. This bit is meaningful only when the audio block operates as a transmitter, the number of slots is lower or equal to 2 and the MUTE bit is set. If more slots are declared, the bit value sent during the transmission in mute mode is equal to 0, whatever the value of MUTEVAL. if the number of slot is lower or equal to 2 and MUTEVAL = 1, the MUTE value transmitted for each slot is the one sent during the previous frame. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. + MUTEVAL: MUTEVAL, + /// Mute counter. These bits are set and cleared by software. They are used only in reception mode. The value set in these bits is compared to the number of consecutive mute frames detected in reception. When the number of mute frames is equal to this value, the flag MUTEDET will be set and an interrupt will be generated if bit MUTEDETIE is set. Refer to Section: Mute mode for more details. MUTECNT: u6, - /// Complement bit. This bit is set and cleared by software. It defines the type of complement to be used for companding mode Note: This bit has effect only when the companding mode is -Law algorithm or A-Law algorithm. - CPL: packed union { - raw: u1, - value: CPL, - }, - /// Companding mode. These bits are set and cleared by software. The -Law and the A-Law log are a part of the CCITT G.711 recommendation, the type of complement that will be used depends on CPL bit. The data expansion or data compression are determined by the state of bit MODE[0]. The data compression is applied if the audio block is configured as a transmitter. The data expansion is automatically applied when the audio block is configured as a receiver. Refer to Section: Companding mode for more details. Note: Companding mode is applicable only when TDM is selected. - COMP: packed union { - raw: u2, - value: COMP, - }, + /// Complement bit. This bit is set and cleared by software. It defines the type of complement to be used for companding mode Note: This bit has effect only when the companding mode is -Law algorithm or A-Law algorithm. + CPL: CPL, + /// Companding mode. These bits are set and cleared by software. The -Law and the A-Law log are a part of the CCITT G.711 recommendation, the type of complement that will be used depends on CPL bit. The data expansion or data compression are determined by the state of bit MODE[0]. The data compression is applied if the audio block is configured as a transmitter. The data expansion is automatically applied when the audio block is configured as a receiver. Refer to Section: Companding mode for more details. Note: Companding mode is applicable only when TDM is selected. + COMP: COMP, padding: u16, }), - /// This register has no meaning in AC97 and SPDIF audio protocol + /// This register has no meaning in AC97 and SPDIF audio protocol FRCR: mmio.Mmio(packed struct(u32) { - /// Frame length. These bits are set and cleared by software. They define the audio frame length expressed in number of SCK clock cycles: the number of bits in the frame is equal to FRL[7:0] + 1. The minimum number of bits to transfer in an audio frame must be equal to 8, otherwise the audio block will behaves in an unexpected way. This is the case when the data size is 8 bits and only one slot 0 is defined in NBSLOT[4:0] of SAI_xSLOTR register (NBSLOT[3:0] = 0000). In master mode, if the master clock (available on MCLK_x pin) is used, the frame length should be aligned with a number equal to a power of 2, ranging from 8 to 256. When the master clock is not used (NODIV = 1), it is recommended to program the frame length to an value ranging from 8 to 256. These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. + /// Frame length. These bits are set and cleared by software. They define the audio frame length expressed in number of SCK clock cycles: the number of bits in the frame is equal to FRL[7:0] + 1. The minimum number of bits to transfer in an audio frame must be equal to 8, otherwise the audio block will behaves in an unexpected way. This is the case when the data size is 8 bits and only one slot 0 is defined in NBSLOT[4:0] of SAI_xSLOTR register (NBSLOT[3:0] = 0000). In master mode, if the master clock (available on MCLK_x pin) is used, the frame length should be aligned with a number equal to a power of 2, ranging from 8 to 256. When the master clock is not used (NODIV = 1), it is recommended to program the frame length to an value ranging from 8 to 256. These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. FRL: u8, - /// Frame synchronization active level length. These bits are set and cleared by software. They specify the length in number of bit clock (SCK) + 1 (FSALL[6:0] + 1) of the active level of the FS signal in the audio frame These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. They must be configured when the audio block is disabled. + /// Frame synchronization active level length. These bits are set and cleared by software. They specify the length in number of bit clock (SCK) + 1 (FSALL[6:0] + 1) of the active level of the FS signal in the audio frame These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. They must be configured when the audio block is disabled. FSALL: u7, reserved16: u1, - /// Frame synchronization definition. This bit is set and cleared by software. When the bit is set, the number of slots defined in the SAI_xSLOTR register has to be even. It means that half of this number of slots will be dedicated to the left channel and the other slots for the right channel (e.g: this bit has to be set for I2S or MSB/LSB-justified protocols...). This bit is meaningless and is not used in AC97 or SPDIF audio block configuration. It must be configured when the audio block is disabled. + /// Frame synchronization definition. This bit is set and cleared by software. When the bit is set, the number of slots defined in the SAI_xSLOTR register has to be even. It means that half of this number of slots will be dedicated to the left channel and the other slots for the right channel (e.g: this bit has to be set for I2S or MSB/LSB-justified protocols...). This bit is meaningless and is not used in AC97 or SPDIF audio block configuration. It must be configured when the audio block is disabled. FSDEF: u1, - /// Frame synchronization polarity. This bit is set and cleared by software. It is used to configure the level of the start of frame on the FS signal. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. - FSPOL: packed union { - raw: u1, - value: FSPOL, - }, - /// Frame synchronization offset. This bit is set and cleared by software. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. - FSOFF: packed union { - raw: u1, - value: FSOFF, - }, + /// Frame synchronization polarity. This bit is set and cleared by software. It is used to configure the level of the start of frame on the FS signal. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. + FSPOL: FSPOL, + /// Frame synchronization offset. This bit is set and cleared by software. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. + FSOFF: FSOFF, padding: u13, }), - /// This register has no meaning in AC97 and SPDIF audio protocol + /// This register has no meaning in AC97 and SPDIF audio protocol SLOTR: mmio.Mmio(packed struct(u32) { - /// First bit offset These bits are set and cleared by software. The value set in this bitfield defines the position of the first data transfer bit in the slot. It represents an offset value. In transmission mode, the bits outside the data field are forced to 0. In reception mode, the extra received bits are discarded. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + /// First bit offset These bits are set and cleared by software. The value set in this bitfield defines the position of the first data transfer bit in the slot. It represents an offset value. In transmission mode, the bits outside the data field are forced to 0. In reception mode, the extra received bits are discarded. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. FBOFF: u5, reserved6: u1, - /// Slot size This bits is set and cleared by software. The slot size must be higher or equal to the data size. If this condition is not respected, the behavior of the SAI will be undetermined. Refer to Section: Output data line management on an inactive slot for information on how to drive SD line. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. - SLOTSZ: packed union { - raw: u2, - value: SLOTSZ, - }, - /// Number of slots in an audio frame. These bits are set and cleared by software. The value set in this bitfield represents the number of slots + 1 in the audio frame (including the number of inactive slots). The maximum number of slots is 16. The number of slots should be even if FSDEF bit in the SAI_xFRCR register is set. The number of slots must be configured when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + /// Slot size This bits is set and cleared by software. The slot size must be higher or equal to the data size. If this condition is not respected, the behavior of the SAI will be undetermined. Refer to Section: Output data line management on an inactive slot for information on how to drive SD line. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + SLOTSZ: SLOTSZ, + /// Number of slots in an audio frame. These bits are set and cleared by software. The value set in this bitfield represents the number of slots + 1 in the audio frame (including the number of inactive slots). The maximum number of slots is 16. The number of slots should be even if FSDEF bit in the SAI_xFRCR register is set. The number of slots must be configured when the audio block is disabled. They are ignored in AC97 or SPDIF mode. NBSLOT: u4, reserved16: u4, - /// Slot enable. These bits are set and cleared by software. Each SLOTEN bit corresponds to a slot position from 0 to 15 (maximum 16 slots). The slot must be enabled when the audio block is disabled. They are ignored in AC97 or SPDIF mode. - SLOTEN: packed union { - raw: u16, - value: SLOTEN, - }, + /// Slot enable. These bits are set and cleared by software. Each SLOTEN bit corresponds to a slot position from 0 to 15 (maximum 16 slots). The slot must be enabled when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + SLOTEN: SLOTEN, }), - /// Interrupt mask register 2 + /// Interrupt mask register 2 IM: mmio.Mmio(packed struct(u32) { - /// Overrun/underrun interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the OVRUDR bit in the SAI_xSR register is set. + /// Overrun/underrun interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the OVRUDR bit in the SAI_xSR register is set. OVRUDRIE: u1, - /// Mute detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the MUTEDET bit in the SAI_xSR register is set. This bit has a meaning only if the audio block is configured in receiver mode. + /// Mute detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the MUTEDET bit in the SAI_xSR register is set. This bit has a meaning only if the audio block is configured in receiver mode. MUTEDETIE: u1, - /// Wrong clock configuration interrupt enable. This bit is set and cleared by software. This bit is taken into account only if the audio block is configured as a master (MODE[1] = 0) and NODIV = 0. It generates an interrupt if the WCKCFG flag in the SAI_xSR register is set. Note: This bit is used only in TDM mode and is meaningless in other modes. + /// Wrong clock configuration interrupt enable. This bit is set and cleared by software. This bit is taken into account only if the audio block is configured as a master (MODE[1] = 0) and NODIV = 0. It generates an interrupt if the WCKCFG flag in the SAI_xSR register is set. Note: This bit is used only in TDM mode and is meaningless in other modes. WCKCFGIE: u1, - /// FIFO request interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the FREQ bit in the SAI_xSR register is set. Since the audio block defaults to operate as a transmitter after reset, the MODE bit must be configured before setting FREQIE to avoid a parasitic interruption in receiver mode, + /// FIFO request interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the FREQ bit in the SAI_xSR register is set. Since the audio block defaults to operate as a transmitter after reset, the MODE bit must be configured before setting FREQIE to avoid a parasitic interruption in receiver mode, FREQIE: u1, - /// Codec not ready interrupt enable (AC97). This bit is set and cleared by software. When the interrupt is enabled, the audio block detects in the slot 0 (tag0) of the AC97 frame if the Codec connected to this line is ready or not. If it is not ready, the CNRDY flag in the SAI_xSR register is set and an interruption i generated. This bit has a meaning only if the AC97 mode is selected through PRTCFG[1:0] bits and the audio block is operates as a receiver. + /// Codec not ready interrupt enable (AC97). This bit is set and cleared by software. When the interrupt is enabled, the audio block detects in the slot 0 (tag0) of the AC97 frame if the Codec connected to this line is ready or not. If it is not ready, the CNRDY flag in the SAI_xSR register is set and an interruption i generated. This bit has a meaning only if the AC97 mode is selected through PRTCFG[1:0] bits and the audio block is operates as a receiver. CNRDYIE: u1, - /// Anticipated frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the AFSDET bit in the SAI_xSR register is set. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. + /// Anticipated frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the AFSDET bit in the SAI_xSR register is set. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. AFSDETIE: u1, - /// Late frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the LFSDET bit is set in the SAI_xSR register. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. + /// Late frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the LFSDET bit is set in the SAI_xSR register. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. LFSDETIE: u1, padding: u25, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Overrun / underrun. This bit is read only. The overrun and underrun conditions can occur only when the audio block is configured as a receiver and a transmitter, respectively. It can generate an interrupt if OVRUDRIE bit is set in SAI_xIM register. This flag is cleared when the software sets COVRUDR bit in SAI_xCLRFR register. + /// Overrun / underrun. This bit is read only. The overrun and underrun conditions can occur only when the audio block is configured as a receiver and a transmitter, respectively. It can generate an interrupt if OVRUDRIE bit is set in SAI_xIM register. This flag is cleared when the software sets COVRUDR bit in SAI_xCLRFR register. OVRUDR: u1, - /// Mute detection. This bit is read only. This flag is set if consecutive 0 values are received in each slot of a given audio frame and for a consecutive number of audio frames (set in the MUTECNT bit in the SAI_xCR2 register). It can generate an interrupt if MUTEDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets bit CMUTEDET in the SAI_xCLRFR register. + /// Mute detection. This bit is read only. This flag is set if consecutive 0 values are received in each slot of a given audio frame and for a consecutive number of audio frames (set in the MUTECNT bit in the SAI_xCR2 register). It can generate an interrupt if MUTEDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets bit CMUTEDET in the SAI_xCLRFR register. MUTEDET: u1, - /// Wrong clock configuration flag. This bit is read only. This bit is used only when the audio block operates in master mode (MODE[1] = 0) and NODIV = 0. It can generate an interrupt if WCKCFGIE bit is set in SAI_xIM register. This flag is cleared when the software sets CWCKCFG bit in SAI_xCLRFR register. - WCKCFG: packed union { - raw: u1, - value: WCKCFG, - }, - /// FIFO request. This bit is read only. The request depends on the audio block configuration: If the block is configured in transmission mode, the FIFO request is related to a write request operation in the SAI_xDR. If the block configured in reception, the FIFO request related to a read request operation from the SAI_xDR. This flag can generate an interrupt if FREQIE bit is set in SAI_xIM register. + /// Wrong clock configuration flag. This bit is read only. This bit is used only when the audio block operates in master mode (MODE[1] = 0) and NODIV = 0. It can generate an interrupt if WCKCFGIE bit is set in SAI_xIM register. This flag is cleared when the software sets CWCKCFG bit in SAI_xCLRFR register. + WCKCFG: WCKCFG, + /// FIFO request. This bit is read only. The request depends on the audio block configuration: If the block is configured in transmission mode, the FIFO request is related to a write request operation in the SAI_xDR. If the block configured in reception, the FIFO request related to a read request operation from the SAI_xDR. This flag can generate an interrupt if FREQIE bit is set in SAI_xIM register. FREQ: u1, - /// Codec not ready. This bit is read only. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register and configured in receiver mode. It can generate an interrupt if CNRDYIE bit is set in SAI_xIM register. This flag is cleared when the software sets CCNRDY bit in SAI_xCLRFR register. - CNRDY: packed union { - raw: u1, - value: CNRDY, - }, - /// Anticipated frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97or SPDIF mode. It can generate an interrupt if AFSDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets CAFSDET bit in SAI_xCLRFR register. + /// Codec not ready. This bit is read only. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register and configured in receiver mode. It can generate an interrupt if CNRDYIE bit is set in SAI_xIM register. This flag is cleared when the software sets CCNRDY bit in SAI_xCLRFR register. + CNRDY: CNRDY, + /// Anticipated frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97or SPDIF mode. It can generate an interrupt if AFSDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets CAFSDET bit in SAI_xCLRFR register. AFSDET: u1, - /// Late frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97 or SPDIF mode. It can generate an interrupt if LFSDETIE bit is set in the SAI_xIM register. This flag is cleared when the software sets bit CLFSDET in SAI_xCLRFR register + /// Late frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97 or SPDIF mode. It can generate an interrupt if LFSDETIE bit is set in the SAI_xIM register. This flag is cleared when the software sets bit CLFSDET in SAI_xCLRFR register LFSDET: u1, reserved16: u9, - /// FIFO level threshold. This bit is read only. The FIFO level threshold flag is managed only by hardware and its setting depends on SAI block configuration (transmitter or receiver mode). If the SAI block is configured as transmitter: If SAI block is configured as receiver: - FLVL: packed union { - raw: u3, - value: FLVL, - }, + /// FIFO level threshold. This bit is read only. The FIFO level threshold flag is managed only by hardware and its setting depends on SAI block configuration (transmitter or receiver mode). If the SAI block is configured as transmitter: If SAI block is configured as receiver: + FLVL: FLVL, padding: u13, }), - /// Clear flag register + /// Clear flag register CLRFR: mmio.Mmio(packed struct(u32) { - /// Clear overrun / underrun. This bit is write only. Programming this bit to 1 clears the OVRUDR flag in the SAI_xSR register. Reading this bit always returns the value 0. + /// Clear overrun / underrun. This bit is write only. Programming this bit to 1 clears the OVRUDR flag in the SAI_xSR register. Reading this bit always returns the value 0. COVRUDR: u1, - /// Mute detection flag. This bit is write only. Programming this bit to 1 clears the MUTEDET flag in the SAI_xSR register. Reading this bit always returns the value 0. + /// Mute detection flag. This bit is write only. Programming this bit to 1 clears the MUTEDET flag in the SAI_xSR register. Reading this bit always returns the value 0. CMUTEDET: u1, - /// Clear wrong clock configuration flag. This bit is write only. Programming this bit to 1 clears the WCKCFG flag in the SAI_xSR register. This bit is used only when the audio block is set as master (MODE[1] = 0) and NODIV = 0 in the SAI_xCR1 register. Reading this bit always returns the value 0. + /// Clear wrong clock configuration flag. This bit is write only. Programming this bit to 1 clears the WCKCFG flag in the SAI_xSR register. This bit is used only when the audio block is set as master (MODE[1] = 0) and NODIV = 0 in the SAI_xCR1 register. Reading this bit always returns the value 0. CWCKCFG: u1, reserved4: u1, - /// Clear Codec not ready flag. This bit is write only. Programming this bit to 1 clears the CNRDY flag in the SAI_xSR register. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register. Reading this bit always returns the value 0. + /// Clear Codec not ready flag. This bit is write only. Programming this bit to 1 clears the CNRDY flag in the SAI_xSR register. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register. Reading this bit always returns the value 0. CCNRDY: u1, - /// Clear anticipated frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the AFSDET flag in the SAI_xSR register. It is not used in AC97or SPDIF mode. Reading this bit always returns the value 0. + /// Clear anticipated frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the AFSDET flag in the SAI_xSR register. It is not used in AC97or SPDIF mode. Reading this bit always returns the value 0. CAFSDET: u1, - /// Clear late frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the LFSDET flag in the SAI_xSR register. This bit is not used in AC97or SPDIF mode Reading this bit always returns the value 0. + /// Clear late frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the LFSDET flag in the SAI_xSR register. This bit is not used in AC97or SPDIF mode Reading this bit always returns the value 0. CLFSDET: u1, padding: u25, }), - /// Data register + /// Data register DR: mmio.Mmio(packed struct(u32) { - /// Data A write to this register loads the FIFO provided the FIFO is not full. A read from this register empties the FIFO if the FIFO is not empty. + /// Data A write to this register loads the FIFO provided the FIFO is not full. A read from this register empties the FIFO if the FIFO is not empty. DATA: u32, }), }; - /// Serial audio interface + /// Serial audio interface pub const SAI = extern struct { - /// Global configuration register + /// Global configuration register GCR: mmio.Mmio(packed struct(u32) { - /// Synchronization inputs + /// Synchronization inputs SYNCIN: u2, reserved4: u2, - /// Synchronization outputs These bits are set and cleared by software. + /// Synchronization outputs These bits are set and cleared by software. SYNCOUT: u2, padding: u26, }), - /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR + /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR CH: u32, reserved68: [60]u8, - /// PDM control register + /// PDM control register PDMCR: mmio.Mmio(packed struct(u32) { - /// PDM enable + /// PDM enable PDMEN: u1, reserved4: u3, - /// Number of microphones + /// Number of microphones MICNBR: u2, reserved8: u2, - /// Clock enable of bitstream clock number 1 + /// Clock enable of bitstream clock number 1 CKEN: u1, padding: u23, }), - /// PDM delay register + /// PDM delay register PDMDLY: mmio.Mmio(packed struct(u32) { - /// Delay line adjust for first microphone of pair 1 + /// Delay line adjust for first microphone of pair 1 DLYML: u3, reserved4: u1, - /// Delay line adjust for second microphone of pair 1 + /// Delay line adjust for second microphone of pair 1 DLYMR: u3, padding: u25, }), @@ -423403,425 +413857,365 @@ pub const types = struct { pub const sai_v3_4pdm = struct { pub const CKSTR = enum(u1) { - /// Data strobing edge is falling edge of SCK + /// Data strobing edge is falling edge of SCK FallingEdge = 0x0, - /// Data strobing edge is rising edge of SCK + /// Data strobing edge is rising edge of SCK RisingEdge = 0x1, }; pub const CNRDY = enum(u1) { - /// External AC’97 Codec is ready + /// External AC’97 Codec is ready Ready = 0x0, - /// External AC’97 Codec is not ready + /// External AC’97 Codec is not ready NotReady = 0x1, }; pub const COMP = enum(u2) { - /// No companding algorithm + /// No companding algorithm NoCompanding = 0x0, - /// μ-Law algorithm + /// μ-Law algorithm MuLaw = 0x2, - /// A-Law algorithm + /// A-Law algorithm ALaw = 0x3, _, }; pub const CPL = enum(u1) { - /// 1’s complement representation + /// 1’s complement representation OnesComplement = 0x0, - /// 2’s complement representation + /// 2’s complement representation TwosComplement = 0x1, }; pub const DS = enum(u3) { - /// 8 bits + /// 8 bits Bit8 = 0x2, - /// 10 bits + /// 10 bits Bit10 = 0x3, - /// 16 bits + /// 16 bits Bit16 = 0x4, - /// 20 bits + /// 20 bits Bit20 = 0x5, - /// 24 bits + /// 24 bits Bit24 = 0x6, - /// 32 bits + /// 32 bits Bit32 = 0x7, _, }; pub const FLVL = enum(u3) { - /// FIFO empty + /// FIFO empty Empty = 0x0, - /// FIFO <= 1⁄4 but not empty + /// FIFO <= 1⁄4 but not empty Quarter1 = 0x1, - /// 1⁄4 < FIFO <= 1⁄2 + /// 1⁄4 < FIFO <= 1⁄2 Quarter2 = 0x2, - /// 1⁄2 < FIFO <= 3⁄4 + /// 1⁄2 < FIFO <= 3⁄4 Quarter3 = 0x3, - /// 3⁄4 < FIFO but not full + /// 3⁄4 < FIFO but not full Quarter4 = 0x4, - /// FIFO full + /// FIFO full Full = 0x5, _, }; pub const FSOFF = enum(u1) { - /// FS is asserted on the first bit of the slot 0 + /// FS is asserted on the first bit of the slot 0 OnFirst = 0x0, - /// FS is asserted one bit before the first bit of the slot 0 + /// FS is asserted one bit before the first bit of the slot 0 BeforeFirst = 0x1, }; pub const FSPOL = enum(u1) { - /// FS is active low (falling edge) + /// FS is active low (falling edge) FallingEdge = 0x0, - /// FS is active high (rising edge) + /// FS is active high (rising edge) RisingEdge = 0x1, }; pub const FTH = enum(u3) { - /// FIFO empty + /// FIFO empty Empty = 0x0, - /// 1⁄4 FIFO + /// 1⁄4 FIFO Quarter1 = 0x1, - /// 1⁄2 FIFO + /// 1⁄2 FIFO Quarter2 = 0x2, - /// 3⁄4 FIFO + /// 3⁄4 FIFO Quarter3 = 0x3, - /// FIFO full + /// FIFO full Full = 0x4, _, }; pub const LSBFIRST = enum(u1) { - /// Data are transferred with MSB first + /// Data are transferred with MSB first MsbFirst = 0x0, - /// Data are transferred with LSB first + /// Data are transferred with LSB first LsbFirst = 0x1, }; pub const MODE = enum(u2) { - /// Master transmitter + /// Master transmitter MasterTx = 0x0, - /// Master receiver + /// Master receiver MasterRx = 0x1, - /// Slave transmitter + /// Slave transmitter SlaveTx = 0x2, - /// Slave receiver + /// Slave receiver SlaveRx = 0x3, }; pub const MONO = enum(u1) { - /// Stereo mode + /// Stereo mode Stereo = 0x0, - /// Mono mode + /// Mono mode Mono = 0x1, }; pub const MUTEVAL = enum(u1) { - /// Bit value 0 is sent during the mute mode + /// Bit value 0 is sent during the mute mode SendZero = 0x0, - /// Last values are sent during the mute mode + /// Last values are sent during the mute mode SendLast = 0x1, }; pub const NODIV = enum(u1) { - /// MCLK output is enabled. Forces the ratio between FS and MCLK to 256 or 512 according to the OSR value + /// MCLK output is enabled. Forces the ratio between FS and MCLK to 256 or 512 according to the OSR value MasterClock = 0x0, - /// MCLK output enable set by the MCKEN bit (where present, else 0). Ratio between FS and MCLK depends on FRL. + /// MCLK output enable set by the MCKEN bit (where present, else 0). Ratio between FS and MCLK depends on FRL. NoDiv = 0x1, }; pub const OUTDRIV = enum(u1) { - /// Audio block output driven when SAIEN is set + /// Audio block output driven when SAIEN is set OnStart = 0x0, - /// Audio block output driven immediately after the setting of this bit + /// Audio block output driven immediately after the setting of this bit Immediately = 0x1, }; pub const PRTCFG = enum(u2) { - /// Free protocol. Free protocol allows to use the powerful configuration of the audio block to address a specific audio protocol + /// Free protocol. Free protocol allows to use the powerful configuration of the audio block to address a specific audio protocol Free = 0x0, - /// SPDIF protocol + /// SPDIF protocol Spdif = 0x1, - /// AC’97 protocol + /// AC’97 protocol Ac97 = 0x2, _, }; pub const SLOTEN = enum(u16) { - /// Inactive slot + /// Inactive slot Inactive = 0x0, - /// Active slot + /// Active slot Active = 0x1, _, }; pub const SLOTSZ = enum(u2) { - /// The slot size is equivalent to the data size (specified in DS[3:0] in the SAI_xCR1 register) + /// The slot size is equivalent to the data size (specified in DS[3:0] in the SAI_xCR1 register) DataSize = 0x0, - /// 16-bit + /// 16-bit Bit16 = 0x1, - /// 32-bit + /// 32-bit Bit32 = 0x2, _, }; pub const SYNCEN = enum(u2) { - /// audio sub-block in asynchronous mode + /// audio sub-block in asynchronous mode Asynchronous = 0x0, - /// audio sub-block is synchronous with the other internal audio sub-block. In this case, the audio sub-block must be configured in slave mode + /// audio sub-block is synchronous with the other internal audio sub-block. In this case, the audio sub-block must be configured in slave mode Internal = 0x1, - /// audio sub-block is synchronous with an external SAI embedded peripheral. In this case the audio sub-block should be configured in Slave mode + /// audio sub-block is synchronous with an external SAI embedded peripheral. In this case the audio sub-block should be configured in Slave mode External = 0x2, _, }; pub const WCKCFG = enum(u1) { - /// Clock configuration is correct + /// Clock configuration is correct Correct = 0x0, - /// Clock configuration does not respect the rule concerning the frame length specification + /// Clock configuration does not respect the rule concerning the frame length specification Wrong = 0x1, }; - /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR + /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR pub const CH = extern struct { - /// Configuration register 1 + /// Configuration register 1 CR1: mmio.Mmio(packed struct(u32) { - /// SAIx audio block mode immediately - MODE: packed union { - raw: u2, - value: MODE, - }, - /// Protocol configuration. These bits are set and cleared by software. These bits have to be configured when the audio block is disabled. - PRTCFG: packed union { - raw: u2, - value: PRTCFG, - }, + /// SAIx audio block mode immediately + MODE: MODE, + /// Protocol configuration. These bits are set and cleared by software. These bits have to be configured when the audio block is disabled. + PRTCFG: PRTCFG, reserved5: u1, - /// Data size. These bits are set and cleared by software. These bits are ignored when the SPDIF protocols are selected (bit PRTCFG[1:0]), because the frame and the data size are fixed in such case. When the companding mode is selected through COMP[1:0] bits, DS[1:0] are ignored since the data size is fixed to 8 bits by the algorithm. These bits must be configured when the audio block is disabled. - DS: packed union { - raw: u3, - value: DS, - }, - /// Least significant bit first. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in AC97 audio protocol since AC97 data are always transferred with the MSB first. This bit has no meaning in SPDIF audio protocol since in SPDIF data are always transferred with LSB first. - LSBFIRST: packed union { - raw: u1, - value: LSBFIRST, - }, - /// Clock strobing edge. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in SPDIF audio protocol. - CKSTR: packed union { - raw: u1, - value: CKSTR, - }, - /// Synchronization enable. These bits are set and cleared by software. They must be configured when the audio sub-block is disabled. Note: The audio sub-block should be configured as asynchronous when SPDIF mode is enabled. - SYNCEN: packed union { - raw: u2, - value: SYNCEN, - }, - /// Mono mode. This bit is set and cleared by software. It is meaningful only when the number of slots is equal to 2. When the mono mode is selected, slot 0 data are duplicated on slot 1 when the audio block operates as a transmitter. In reception mode, the slot1 is discarded and only the data received from slot 0 are stored. Refer to Section: Mono/stereo mode for more details. - MONO: packed union { - raw: u1, - value: MONO, - }, - /// Output drive. This bit is set and cleared by software. Note: This bit has to be set before enabling the audio block and after the audio block configuration. - OUTDRIV: packed union { - raw: u1, - value: OUTDRIV, - }, + /// Data size. These bits are set and cleared by software. These bits are ignored when the SPDIF protocols are selected (bit PRTCFG[1:0]), because the frame and the data size are fixed in such case. When the companding mode is selected through COMP[1:0] bits, DS[1:0] are ignored since the data size is fixed to 8 bits by the algorithm. These bits must be configured when the audio block is disabled. + DS: DS, + /// Least significant bit first. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in AC97 audio protocol since AC97 data are always transferred with the MSB first. This bit has no meaning in SPDIF audio protocol since in SPDIF data are always transferred with LSB first. + LSBFIRST: LSBFIRST, + /// Clock strobing edge. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in SPDIF audio protocol. + CKSTR: CKSTR, + /// Synchronization enable. These bits are set and cleared by software. They must be configured when the audio sub-block is disabled. Note: The audio sub-block should be configured as asynchronous when SPDIF mode is enabled. + SYNCEN: SYNCEN, + /// Mono mode. This bit is set and cleared by software. It is meaningful only when the number of slots is equal to 2. When the mono mode is selected, slot 0 data are duplicated on slot 1 when the audio block operates as a transmitter. In reception mode, the slot1 is discarded and only the data received from slot 0 are stored. Refer to Section: Mono/stereo mode for more details. + MONO: MONO, + /// Output drive. This bit is set and cleared by software. Note: This bit has to be set before enabling the audio block and after the audio block configuration. + OUTDRIV: OUTDRIV, reserved16: u2, - /// Audio block enable where x is A or B. This bit is set by software. To switch off the audio block, the application software must program this bit to 0 and poll the bit till it reads back 0, meaning that the block is completely disabled. Before setting this bit to 1, check that it is set to 0, otherwise the enable command will not be taken into account. This bit allows to control the state of SAIx audio block. If it is disabled when an audio frame transfer is ongoing, the ongoing transfer completes and the cell is fully disabled at the end of this audio frame transfer. Note: When SAIx block is configured in master mode, the clock must be present on the input of SAIx before setting SAIXEN bit. + /// Audio block enable where x is A or B. This bit is set by software. To switch off the audio block, the application software must program this bit to 0 and poll the bit till it reads back 0, meaning that the block is completely disabled. Before setting this bit to 1, check that it is set to 0, otherwise the enable command will not be taken into account. This bit allows to control the state of SAIx audio block. If it is disabled when an audio frame transfer is ongoing, the ongoing transfer completes and the cell is fully disabled at the end of this audio frame transfer. Note: When SAIx block is configured in master mode, the clock must be present on the input of SAIx before setting SAIXEN bit. SAIEN: u1, - /// DMA enable. This bit is set and cleared by software. Note: Since the audio block defaults to operate as a transmitter after reset, the MODE[1:0] bits must be configured before setting DMAEN to avoid a DMA request in receiver mode. + /// DMA enable. This bit is set and cleared by software. Note: Since the audio block defaults to operate as a transmitter after reset, the MODE[1:0] bits must be configured before setting DMAEN to avoid a DMA request in receiver mode. DMAEN: u1, reserved19: u1, - /// No fixed divider between MCLK and FS - NODIV: packed union { - raw: u1, - value: NODIV, - }, - /// Master clock divider. These bits are set and cleared by software. These bits are meaningless when the audio block operates in slave mode. They have to be configured when the audio block is disabled. Others: the master clock frequency is calculated accordingly to the following formula: + /// No fixed divider between MCLK and FS + NODIV: NODIV, + /// Master clock divider. These bits are set and cleared by software. These bits are meaningless when the audio block operates in slave mode. They have to be configured when the audio block is disabled. Others: the master clock frequency is calculated accordingly to the following formula: MCKDIV: u6, - /// Oversampling ratio for master clock + /// Oversampling ratio for master clock OSR: u1, padding: u5, }), - /// Configuration register 2 + /// Configuration register 2 CR2: mmio.Mmio(packed struct(u32) { - /// FIFO threshold. This bit is set and cleared by software. - FTH: packed union { - raw: u3, - value: FTH, - }, - /// FIFO flush. This bit is set by software. It is always read as 0. This bit should be configured when the SAI is disabled. + /// FIFO threshold. This bit is set and cleared by software. + FTH: FTH, + /// FIFO flush. This bit is set by software. It is always read as 0. This bit should be configured when the SAI is disabled. FFLUSH: u1, - /// Tristate management on data line. This bit is set and cleared by software. It is meaningful only if the audio block is configured as a transmitter. This bit is not used when the audio block is configured in SPDIF mode. It should be configured when SAI is disabled. Refer to Section: Output data line management on an inactive slot for more details. + /// Tristate management on data line. This bit is set and cleared by software. It is meaningful only if the audio block is configured as a transmitter. This bit is not used when the audio block is configured in SPDIF mode. It should be configured when SAI is disabled. Refer to Section: Output data line management on an inactive slot for more details. TRIS: u1, - /// Mute. This bit is set and cleared by software. It is meaningful only when the audio block operates as a transmitter. The MUTE value is linked to value of MUTEVAL if the number of slots is lower or equal to 2, or equal to 0 if it is greater than 2. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. + /// Mute. This bit is set and cleared by software. It is meaningful only when the audio block operates as a transmitter. The MUTE value is linked to value of MUTEVAL if the number of slots is lower or equal to 2, or equal to 0 if it is greater than 2. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. MUTE: u1, - /// Mute value. This bit is set and cleared by software.It must be written before enabling the audio block: SAIXEN. This bit is meaningful only when the audio block operates as a transmitter, the number of slots is lower or equal to 2 and the MUTE bit is set. If more slots are declared, the bit value sent during the transmission in mute mode is equal to 0, whatever the value of MUTEVAL. if the number of slot is lower or equal to 2 and MUTEVAL = 1, the MUTE value transmitted for each slot is the one sent during the previous frame. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. - MUTEVAL: packed union { - raw: u1, - value: MUTEVAL, - }, - /// Mute counter. These bits are set and cleared by software. They are used only in reception mode. The value set in these bits is compared to the number of consecutive mute frames detected in reception. When the number of mute frames is equal to this value, the flag MUTEDET will be set and an interrupt will be generated if bit MUTEDETIE is set. Refer to Section: Mute mode for more details. + /// Mute value. This bit is set and cleared by software.It must be written before enabling the audio block: SAIXEN. This bit is meaningful only when the audio block operates as a transmitter, the number of slots is lower or equal to 2 and the MUTE bit is set. If more slots are declared, the bit value sent during the transmission in mute mode is equal to 0, whatever the value of MUTEVAL. if the number of slot is lower or equal to 2 and MUTEVAL = 1, the MUTE value transmitted for each slot is the one sent during the previous frame. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. + MUTEVAL: MUTEVAL, + /// Mute counter. These bits are set and cleared by software. They are used only in reception mode. The value set in these bits is compared to the number of consecutive mute frames detected in reception. When the number of mute frames is equal to this value, the flag MUTEDET will be set and an interrupt will be generated if bit MUTEDETIE is set. Refer to Section: Mute mode for more details. MUTECNT: u6, - /// Complement bit. This bit is set and cleared by software. It defines the type of complement to be used for companding mode Note: This bit has effect only when the companding mode is -Law algorithm or A-Law algorithm. - CPL: packed union { - raw: u1, - value: CPL, - }, - /// Companding mode. These bits are set and cleared by software. The -Law and the A-Law log are a part of the CCITT G.711 recommendation, the type of complement that will be used depends on CPL bit. The data expansion or data compression are determined by the state of bit MODE[0]. The data compression is applied if the audio block is configured as a transmitter. The data expansion is automatically applied when the audio block is configured as a receiver. Refer to Section: Companding mode for more details. Note: Companding mode is applicable only when TDM is selected. - COMP: packed union { - raw: u2, - value: COMP, - }, + /// Complement bit. This bit is set and cleared by software. It defines the type of complement to be used for companding mode Note: This bit has effect only when the companding mode is -Law algorithm or A-Law algorithm. + CPL: CPL, + /// Companding mode. These bits are set and cleared by software. The -Law and the A-Law log are a part of the CCITT G.711 recommendation, the type of complement that will be used depends on CPL bit. The data expansion or data compression are determined by the state of bit MODE[0]. The data compression is applied if the audio block is configured as a transmitter. The data expansion is automatically applied when the audio block is configured as a receiver. Refer to Section: Companding mode for more details. Note: Companding mode is applicable only when TDM is selected. + COMP: COMP, padding: u16, }), - /// This register has no meaning in AC97 and SPDIF audio protocol + /// This register has no meaning in AC97 and SPDIF audio protocol FRCR: mmio.Mmio(packed struct(u32) { - /// Frame length. These bits are set and cleared by software. They define the audio frame length expressed in number of SCK clock cycles: the number of bits in the frame is equal to FRL[7:0] + 1. The minimum number of bits to transfer in an audio frame must be equal to 8, otherwise the audio block will behaves in an unexpected way. This is the case when the data size is 8 bits and only one slot 0 is defined in NBSLOT[4:0] of SAI_xSLOTR register (NBSLOT[3:0] = 0000). In master mode, if the master clock (available on MCLK_x pin) is used, the frame length should be aligned with a number equal to a power of 2, ranging from 8 to 256. When the master clock is not used (NODIV = 1), it is recommended to program the frame length to an value ranging from 8 to 256. These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. + /// Frame length. These bits are set and cleared by software. They define the audio frame length expressed in number of SCK clock cycles: the number of bits in the frame is equal to FRL[7:0] + 1. The minimum number of bits to transfer in an audio frame must be equal to 8, otherwise the audio block will behaves in an unexpected way. This is the case when the data size is 8 bits and only one slot 0 is defined in NBSLOT[4:0] of SAI_xSLOTR register (NBSLOT[3:0] = 0000). In master mode, if the master clock (available on MCLK_x pin) is used, the frame length should be aligned with a number equal to a power of 2, ranging from 8 to 256. When the master clock is not used (NODIV = 1), it is recommended to program the frame length to an value ranging from 8 to 256. These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. FRL: u8, - /// Frame synchronization active level length. These bits are set and cleared by software. They specify the length in number of bit clock (SCK) + 1 (FSALL[6:0] + 1) of the active level of the FS signal in the audio frame These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. They must be configured when the audio block is disabled. + /// Frame synchronization active level length. These bits are set and cleared by software. They specify the length in number of bit clock (SCK) + 1 (FSALL[6:0] + 1) of the active level of the FS signal in the audio frame These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. They must be configured when the audio block is disabled. FSALL: u7, reserved16: u1, - /// Frame synchronization definition. This bit is set and cleared by software. When the bit is set, the number of slots defined in the SAI_xSLOTR register has to be even. It means that half of this number of slots will be dedicated to the left channel and the other slots for the right channel (e.g: this bit has to be set for I2S or MSB/LSB-justified protocols...). This bit is meaningless and is not used in AC97 or SPDIF audio block configuration. It must be configured when the audio block is disabled. + /// Frame synchronization definition. This bit is set and cleared by software. When the bit is set, the number of slots defined in the SAI_xSLOTR register has to be even. It means that half of this number of slots will be dedicated to the left channel and the other slots for the right channel (e.g: this bit has to be set for I2S or MSB/LSB-justified protocols...). This bit is meaningless and is not used in AC97 or SPDIF audio block configuration. It must be configured when the audio block is disabled. FSDEF: u1, - /// Frame synchronization polarity. This bit is set and cleared by software. It is used to configure the level of the start of frame on the FS signal. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. - FSPOL: packed union { - raw: u1, - value: FSPOL, - }, - /// Frame synchronization offset. This bit is set and cleared by software. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. - FSOFF: packed union { - raw: u1, - value: FSOFF, - }, + /// Frame synchronization polarity. This bit is set and cleared by software. It is used to configure the level of the start of frame on the FS signal. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. + FSPOL: FSPOL, + /// Frame synchronization offset. This bit is set and cleared by software. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. + FSOFF: FSOFF, padding: u13, }), - /// This register has no meaning in AC97 and SPDIF audio protocol + /// This register has no meaning in AC97 and SPDIF audio protocol SLOTR: mmio.Mmio(packed struct(u32) { - /// First bit offset These bits are set and cleared by software. The value set in this bitfield defines the position of the first data transfer bit in the slot. It represents an offset value. In transmission mode, the bits outside the data field are forced to 0. In reception mode, the extra received bits are discarded. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + /// First bit offset These bits are set and cleared by software. The value set in this bitfield defines the position of the first data transfer bit in the slot. It represents an offset value. In transmission mode, the bits outside the data field are forced to 0. In reception mode, the extra received bits are discarded. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. FBOFF: u5, reserved6: u1, - /// Slot size This bits is set and cleared by software. The slot size must be higher or equal to the data size. If this condition is not respected, the behavior of the SAI will be undetermined. Refer to Section: Output data line management on an inactive slot for information on how to drive SD line. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. - SLOTSZ: packed union { - raw: u2, - value: SLOTSZ, - }, - /// Number of slots in an audio frame. These bits are set and cleared by software. The value set in this bitfield represents the number of slots + 1 in the audio frame (including the number of inactive slots). The maximum number of slots is 16. The number of slots should be even if FSDEF bit in the SAI_xFRCR register is set. The number of slots must be configured when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + /// Slot size This bits is set and cleared by software. The slot size must be higher or equal to the data size. If this condition is not respected, the behavior of the SAI will be undetermined. Refer to Section: Output data line management on an inactive slot for information on how to drive SD line. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + SLOTSZ: SLOTSZ, + /// Number of slots in an audio frame. These bits are set and cleared by software. The value set in this bitfield represents the number of slots + 1 in the audio frame (including the number of inactive slots). The maximum number of slots is 16. The number of slots should be even if FSDEF bit in the SAI_xFRCR register is set. The number of slots must be configured when the audio block is disabled. They are ignored in AC97 or SPDIF mode. NBSLOT: u4, reserved16: u4, - /// Slot enable. These bits are set and cleared by software. Each SLOTEN bit corresponds to a slot position from 0 to 15 (maximum 16 slots). The slot must be enabled when the audio block is disabled. They are ignored in AC97 or SPDIF mode. - SLOTEN: packed union { - raw: u16, - value: SLOTEN, - }, + /// Slot enable. These bits are set and cleared by software. Each SLOTEN bit corresponds to a slot position from 0 to 15 (maximum 16 slots). The slot must be enabled when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + SLOTEN: SLOTEN, }), - /// Interrupt mask register 2 + /// Interrupt mask register 2 IM: mmio.Mmio(packed struct(u32) { - /// Overrun/underrun interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the OVRUDR bit in the SAI_xSR register is set. + /// Overrun/underrun interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the OVRUDR bit in the SAI_xSR register is set. OVRUDRIE: u1, - /// Mute detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the MUTEDET bit in the SAI_xSR register is set. This bit has a meaning only if the audio block is configured in receiver mode. + /// Mute detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the MUTEDET bit in the SAI_xSR register is set. This bit has a meaning only if the audio block is configured in receiver mode. MUTEDETIE: u1, - /// Wrong clock configuration interrupt enable. This bit is set and cleared by software. This bit is taken into account only if the audio block is configured as a master (MODE[1] = 0) and NODIV = 0. It generates an interrupt if the WCKCFG flag in the SAI_xSR register is set. Note: This bit is used only in TDM mode and is meaningless in other modes. + /// Wrong clock configuration interrupt enable. This bit is set and cleared by software. This bit is taken into account only if the audio block is configured as a master (MODE[1] = 0) and NODIV = 0. It generates an interrupt if the WCKCFG flag in the SAI_xSR register is set. Note: This bit is used only in TDM mode and is meaningless in other modes. WCKCFGIE: u1, - /// FIFO request interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the FREQ bit in the SAI_xSR register is set. Since the audio block defaults to operate as a transmitter after reset, the MODE bit must be configured before setting FREQIE to avoid a parasitic interruption in receiver mode, + /// FIFO request interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the FREQ bit in the SAI_xSR register is set. Since the audio block defaults to operate as a transmitter after reset, the MODE bit must be configured before setting FREQIE to avoid a parasitic interruption in receiver mode, FREQIE: u1, - /// Codec not ready interrupt enable (AC97). This bit is set and cleared by software. When the interrupt is enabled, the audio block detects in the slot 0 (tag0) of the AC97 frame if the Codec connected to this line is ready or not. If it is not ready, the CNRDY flag in the SAI_xSR register is set and an interruption i generated. This bit has a meaning only if the AC97 mode is selected through PRTCFG[1:0] bits and the audio block is operates as a receiver. + /// Codec not ready interrupt enable (AC97). This bit is set and cleared by software. When the interrupt is enabled, the audio block detects in the slot 0 (tag0) of the AC97 frame if the Codec connected to this line is ready or not. If it is not ready, the CNRDY flag in the SAI_xSR register is set and an interruption i generated. This bit has a meaning only if the AC97 mode is selected through PRTCFG[1:0] bits and the audio block is operates as a receiver. CNRDYIE: u1, - /// Anticipated frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the AFSDET bit in the SAI_xSR register is set. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. + /// Anticipated frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the AFSDET bit in the SAI_xSR register is set. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. AFSDETIE: u1, - /// Late frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the LFSDET bit is set in the SAI_xSR register. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. + /// Late frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the LFSDET bit is set in the SAI_xSR register. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. LFSDETIE: u1, padding: u25, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Overrun / underrun. This bit is read only. The overrun and underrun conditions can occur only when the audio block is configured as a receiver and a transmitter, respectively. It can generate an interrupt if OVRUDRIE bit is set in SAI_xIM register. This flag is cleared when the software sets COVRUDR bit in SAI_xCLRFR register. + /// Overrun / underrun. This bit is read only. The overrun and underrun conditions can occur only when the audio block is configured as a receiver and a transmitter, respectively. It can generate an interrupt if OVRUDRIE bit is set in SAI_xIM register. This flag is cleared when the software sets COVRUDR bit in SAI_xCLRFR register. OVRUDR: u1, - /// Mute detection. This bit is read only. This flag is set if consecutive 0 values are received in each slot of a given audio frame and for a consecutive number of audio frames (set in the MUTECNT bit in the SAI_xCR2 register). It can generate an interrupt if MUTEDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets bit CMUTEDET in the SAI_xCLRFR register. + /// Mute detection. This bit is read only. This flag is set if consecutive 0 values are received in each slot of a given audio frame and for a consecutive number of audio frames (set in the MUTECNT bit in the SAI_xCR2 register). It can generate an interrupt if MUTEDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets bit CMUTEDET in the SAI_xCLRFR register. MUTEDET: u1, - /// Wrong clock configuration flag. This bit is read only. This bit is used only when the audio block operates in master mode (MODE[1] = 0) and NODIV = 0. It can generate an interrupt if WCKCFGIE bit is set in SAI_xIM register. This flag is cleared when the software sets CWCKCFG bit in SAI_xCLRFR register. - WCKCFG: packed union { - raw: u1, - value: WCKCFG, - }, - /// FIFO request. This bit is read only. The request depends on the audio block configuration: If the block is configured in transmission mode, the FIFO request is related to a write request operation in the SAI_xDR. If the block configured in reception, the FIFO request related to a read request operation from the SAI_xDR. This flag can generate an interrupt if FREQIE bit is set in SAI_xIM register. + /// Wrong clock configuration flag. This bit is read only. This bit is used only when the audio block operates in master mode (MODE[1] = 0) and NODIV = 0. It can generate an interrupt if WCKCFGIE bit is set in SAI_xIM register. This flag is cleared when the software sets CWCKCFG bit in SAI_xCLRFR register. + WCKCFG: WCKCFG, + /// FIFO request. This bit is read only. The request depends on the audio block configuration: If the block is configured in transmission mode, the FIFO request is related to a write request operation in the SAI_xDR. If the block configured in reception, the FIFO request related to a read request operation from the SAI_xDR. This flag can generate an interrupt if FREQIE bit is set in SAI_xIM register. FREQ: u1, - /// Codec not ready. This bit is read only. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register and configured in receiver mode. It can generate an interrupt if CNRDYIE bit is set in SAI_xIM register. This flag is cleared when the software sets CCNRDY bit in SAI_xCLRFR register. - CNRDY: packed union { - raw: u1, - value: CNRDY, - }, - /// Anticipated frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97or SPDIF mode. It can generate an interrupt if AFSDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets CAFSDET bit in SAI_xCLRFR register. + /// Codec not ready. This bit is read only. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register and configured in receiver mode. It can generate an interrupt if CNRDYIE bit is set in SAI_xIM register. This flag is cleared when the software sets CCNRDY bit in SAI_xCLRFR register. + CNRDY: CNRDY, + /// Anticipated frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97or SPDIF mode. It can generate an interrupt if AFSDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets CAFSDET bit in SAI_xCLRFR register. AFSDET: u1, - /// Late frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97 or SPDIF mode. It can generate an interrupt if LFSDETIE bit is set in the SAI_xIM register. This flag is cleared when the software sets bit CLFSDET in SAI_xCLRFR register + /// Late frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97 or SPDIF mode. It can generate an interrupt if LFSDETIE bit is set in the SAI_xIM register. This flag is cleared when the software sets bit CLFSDET in SAI_xCLRFR register LFSDET: u1, reserved16: u9, - /// FIFO level threshold. This bit is read only. The FIFO level threshold flag is managed only by hardware and its setting depends on SAI block configuration (transmitter or receiver mode). If the SAI block is configured as transmitter: If SAI block is configured as receiver: - FLVL: packed union { - raw: u3, - value: FLVL, - }, + /// FIFO level threshold. This bit is read only. The FIFO level threshold flag is managed only by hardware and its setting depends on SAI block configuration (transmitter or receiver mode). If the SAI block is configured as transmitter: If SAI block is configured as receiver: + FLVL: FLVL, padding: u13, }), - /// Clear flag register + /// Clear flag register CLRFR: mmio.Mmio(packed struct(u32) { - /// Clear overrun / underrun. This bit is write only. Programming this bit to 1 clears the OVRUDR flag in the SAI_xSR register. Reading this bit always returns the value 0. + /// Clear overrun / underrun. This bit is write only. Programming this bit to 1 clears the OVRUDR flag in the SAI_xSR register. Reading this bit always returns the value 0. COVRUDR: u1, - /// Mute detection flag. This bit is write only. Programming this bit to 1 clears the MUTEDET flag in the SAI_xSR register. Reading this bit always returns the value 0. + /// Mute detection flag. This bit is write only. Programming this bit to 1 clears the MUTEDET flag in the SAI_xSR register. Reading this bit always returns the value 0. CMUTEDET: u1, - /// Clear wrong clock configuration flag. This bit is write only. Programming this bit to 1 clears the WCKCFG flag in the SAI_xSR register. This bit is used only when the audio block is set as master (MODE[1] = 0) and NODIV = 0 in the SAI_xCR1 register. Reading this bit always returns the value 0. + /// Clear wrong clock configuration flag. This bit is write only. Programming this bit to 1 clears the WCKCFG flag in the SAI_xSR register. This bit is used only when the audio block is set as master (MODE[1] = 0) and NODIV = 0 in the SAI_xCR1 register. Reading this bit always returns the value 0. CWCKCFG: u1, reserved4: u1, - /// Clear Codec not ready flag. This bit is write only. Programming this bit to 1 clears the CNRDY flag in the SAI_xSR register. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register. Reading this bit always returns the value 0. + /// Clear Codec not ready flag. This bit is write only. Programming this bit to 1 clears the CNRDY flag in the SAI_xSR register. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register. Reading this bit always returns the value 0. CCNRDY: u1, - /// Clear anticipated frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the AFSDET flag in the SAI_xSR register. It is not used in AC97or SPDIF mode. Reading this bit always returns the value 0. + /// Clear anticipated frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the AFSDET flag in the SAI_xSR register. It is not used in AC97or SPDIF mode. Reading this bit always returns the value 0. CAFSDET: u1, - /// Clear late frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the LFSDET flag in the SAI_xSR register. This bit is not used in AC97or SPDIF mode Reading this bit always returns the value 0. + /// Clear late frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the LFSDET flag in the SAI_xSR register. This bit is not used in AC97or SPDIF mode Reading this bit always returns the value 0. CLFSDET: u1, padding: u25, }), - /// Data register + /// Data register DR: mmio.Mmio(packed struct(u32) { - /// Data A write to this register loads the FIFO provided the FIFO is not full. A read from this register empties the FIFO if the FIFO is not empty. + /// Data A write to this register loads the FIFO provided the FIFO is not full. A read from this register empties the FIFO if the FIFO is not empty. DATA: u32, }), }; - /// Serial audio interface + /// Serial audio interface pub const SAI = extern struct { - /// Global configuration register + /// Global configuration register GCR: mmio.Mmio(packed struct(u32) { - /// Synchronization inputs + /// Synchronization inputs SYNCIN: u2, reserved4: u2, - /// Synchronization outputs These bits are set and cleared by software. + /// Synchronization outputs These bits are set and cleared by software. SYNCOUT: u2, padding: u26, }), - /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR + /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR CH: u32, reserved68: [60]u8, - /// PDM control register + /// PDM control register PDMCR: mmio.Mmio(packed struct(u32) { - /// PDM enable + /// PDM enable PDMEN: u1, reserved4: u3, - /// Number of microphones + /// Number of microphones MICNBR: u2, reserved8: u2, - /// Clock enable of bitstream clock number 1 + /// Clock enable of bitstream clock number 1 CKEN: u1, padding: u23, }), - /// PDM delay register + /// PDM delay register PDMDLY: mmio.Mmio(packed struct(u32) { - /// Delay line adjust for first microphone of pair 1 + /// Delay line adjust for first microphone of pair 1 DLYML: u3, reserved4: u1, - /// Delay line adjust for second microphone of pair 1 + /// Delay line adjust for second microphone of pair 1 DLYMR: u3, padding: u25, }), @@ -423830,427 +414224,367 @@ pub const types = struct { pub const sai_v4_2pdm = struct { pub const CKSTR = enum(u1) { - /// Data strobing edge is falling edge of SCK + /// Data strobing edge is falling edge of SCK FallingEdge = 0x0, - /// Data strobing edge is rising edge of SCK + /// Data strobing edge is rising edge of SCK RisingEdge = 0x1, }; pub const CNRDY = enum(u1) { - /// External AC’97 Codec is ready + /// External AC’97 Codec is ready Ready = 0x0, - /// External AC’97 Codec is not ready + /// External AC’97 Codec is not ready NotReady = 0x1, }; pub const COMP = enum(u2) { - /// No companding algorithm + /// No companding algorithm NoCompanding = 0x0, - /// μ-Law algorithm + /// μ-Law algorithm MuLaw = 0x2, - /// A-Law algorithm + /// A-Law algorithm ALaw = 0x3, _, }; pub const CPL = enum(u1) { - /// 1’s complement representation + /// 1’s complement representation OnesComplement = 0x0, - /// 2’s complement representation + /// 2’s complement representation TwosComplement = 0x1, }; pub const DS = enum(u3) { - /// 8 bits + /// 8 bits Bit8 = 0x2, - /// 10 bits + /// 10 bits Bit10 = 0x3, - /// 16 bits + /// 16 bits Bit16 = 0x4, - /// 20 bits + /// 20 bits Bit20 = 0x5, - /// 24 bits + /// 24 bits Bit24 = 0x6, - /// 32 bits + /// 32 bits Bit32 = 0x7, _, }; pub const FLVL = enum(u3) { - /// FIFO empty + /// FIFO empty Empty = 0x0, - /// FIFO <= 1⁄4 but not empty + /// FIFO <= 1⁄4 but not empty Quarter1 = 0x1, - /// 1⁄4 < FIFO <= 1⁄2 + /// 1⁄4 < FIFO <= 1⁄2 Quarter2 = 0x2, - /// 1⁄2 < FIFO <= 3⁄4 + /// 1⁄2 < FIFO <= 3⁄4 Quarter3 = 0x3, - /// 3⁄4 < FIFO but not full + /// 3⁄4 < FIFO but not full Quarter4 = 0x4, - /// FIFO full + /// FIFO full Full = 0x5, _, }; pub const FSOFF = enum(u1) { - /// FS is asserted on the first bit of the slot 0 + /// FS is asserted on the first bit of the slot 0 OnFirst = 0x0, - /// FS is asserted one bit before the first bit of the slot 0 + /// FS is asserted one bit before the first bit of the slot 0 BeforeFirst = 0x1, }; pub const FSPOL = enum(u1) { - /// FS is active low (falling edge) + /// FS is active low (falling edge) FallingEdge = 0x0, - /// FS is active high (rising edge) + /// FS is active high (rising edge) RisingEdge = 0x1, }; pub const FTH = enum(u3) { - /// FIFO empty + /// FIFO empty Empty = 0x0, - /// 1⁄4 FIFO + /// 1⁄4 FIFO Quarter1 = 0x1, - /// 1⁄2 FIFO + /// 1⁄2 FIFO Quarter2 = 0x2, - /// 3⁄4 FIFO + /// 3⁄4 FIFO Quarter3 = 0x3, - /// FIFO full + /// FIFO full Full = 0x4, _, }; pub const LSBFIRST = enum(u1) { - /// Data are transferred with MSB first + /// Data are transferred with MSB first MsbFirst = 0x0, - /// Data are transferred with LSB first + /// Data are transferred with LSB first LsbFirst = 0x1, }; pub const MODE = enum(u2) { - /// Master transmitter + /// Master transmitter MasterTx = 0x0, - /// Master receiver + /// Master receiver MasterRx = 0x1, - /// Slave transmitter + /// Slave transmitter SlaveTx = 0x2, - /// Slave receiver + /// Slave receiver SlaveRx = 0x3, }; pub const MONO = enum(u1) { - /// Stereo mode + /// Stereo mode Stereo = 0x0, - /// Mono mode + /// Mono mode Mono = 0x1, }; pub const MUTEVAL = enum(u1) { - /// Bit value 0 is sent during the mute mode + /// Bit value 0 is sent during the mute mode SendZero = 0x0, - /// Last values are sent during the mute mode + /// Last values are sent during the mute mode SendLast = 0x1, }; pub const NODIV = enum(u1) { - /// MCLK output is enabled. Forces the ratio between FS and MCLK to 256 or 512 according to the OSR value + /// MCLK output is enabled. Forces the ratio between FS and MCLK to 256 or 512 according to the OSR value MasterClock = 0x0, - /// MCLK output enable set by the MCKEN bit (where present, else 0). Ratio between FS and MCLK depends on FRL. + /// MCLK output enable set by the MCKEN bit (where present, else 0). Ratio between FS and MCLK depends on FRL. NoDiv = 0x1, }; pub const OUTDRIV = enum(u1) { - /// Audio block output driven when SAIEN is set + /// Audio block output driven when SAIEN is set OnStart = 0x0, - /// Audio block output driven immediately after the setting of this bit + /// Audio block output driven immediately after the setting of this bit Immediately = 0x1, }; pub const PRTCFG = enum(u2) { - /// Free protocol. Free protocol allows to use the powerful configuration of the audio block to address a specific audio protocol + /// Free protocol. Free protocol allows to use the powerful configuration of the audio block to address a specific audio protocol Free = 0x0, - /// SPDIF protocol + /// SPDIF protocol Spdif = 0x1, - /// AC’97 protocol + /// AC’97 protocol Ac97 = 0x2, _, }; pub const SLOTEN = enum(u16) { - /// Inactive slot + /// Inactive slot Inactive = 0x0, - /// Active slot + /// Active slot Active = 0x1, _, }; pub const SLOTSZ = enum(u2) { - /// The slot size is equivalent to the data size (specified in DS[3:0] in the SAI_xCR1 register) + /// The slot size is equivalent to the data size (specified in DS[3:0] in the SAI_xCR1 register) DataSize = 0x0, - /// 16-bit + /// 16-bit Bit16 = 0x1, - /// 32-bit + /// 32-bit Bit32 = 0x2, _, }; pub const SYNCEN = enum(u2) { - /// audio sub-block in asynchronous mode + /// audio sub-block in asynchronous mode Asynchronous = 0x0, - /// audio sub-block is synchronous with the other internal audio sub-block. In this case, the audio sub-block must be configured in slave mode + /// audio sub-block is synchronous with the other internal audio sub-block. In this case, the audio sub-block must be configured in slave mode Internal = 0x1, - /// audio sub-block is synchronous with an external SAI embedded peripheral. In this case the audio sub-block should be configured in Slave mode + /// audio sub-block is synchronous with an external SAI embedded peripheral. In this case the audio sub-block should be configured in Slave mode External = 0x2, _, }; pub const WCKCFG = enum(u1) { - /// Clock configuration is correct + /// Clock configuration is correct Correct = 0x0, - /// Clock configuration does not respect the rule concerning the frame length specification + /// Clock configuration does not respect the rule concerning the frame length specification Wrong = 0x1, }; - /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR + /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR pub const CH = extern struct { - /// Configuration register 1 + /// Configuration register 1 CR1: mmio.Mmio(packed struct(u32) { - /// SAIx audio block mode immediately - MODE: packed union { - raw: u2, - value: MODE, - }, - /// Protocol configuration. These bits are set and cleared by software. These bits have to be configured when the audio block is disabled. - PRTCFG: packed union { - raw: u2, - value: PRTCFG, - }, + /// SAIx audio block mode immediately + MODE: MODE, + /// Protocol configuration. These bits are set and cleared by software. These bits have to be configured when the audio block is disabled. + PRTCFG: PRTCFG, reserved5: u1, - /// Data size. These bits are set and cleared by software. These bits are ignored when the SPDIF protocols are selected (bit PRTCFG[1:0]), because the frame and the data size are fixed in such case. When the companding mode is selected through COMP[1:0] bits, DS[1:0] are ignored since the data size is fixed to 8 bits by the algorithm. These bits must be configured when the audio block is disabled. - DS: packed union { - raw: u3, - value: DS, - }, - /// Least significant bit first. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in AC97 audio protocol since AC97 data are always transferred with the MSB first. This bit has no meaning in SPDIF audio protocol since in SPDIF data are always transferred with LSB first. - LSBFIRST: packed union { - raw: u1, - value: LSBFIRST, - }, - /// Clock strobing edge. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in SPDIF audio protocol. - CKSTR: packed union { - raw: u1, - value: CKSTR, - }, - /// Synchronization enable. These bits are set and cleared by software. They must be configured when the audio sub-block is disabled. Note: The audio sub-block should be configured as asynchronous when SPDIF mode is enabled. - SYNCEN: packed union { - raw: u2, - value: SYNCEN, - }, - /// Mono mode. This bit is set and cleared by software. It is meaningful only when the number of slots is equal to 2. When the mono mode is selected, slot 0 data are duplicated on slot 1 when the audio block operates as a transmitter. In reception mode, the slot1 is discarded and only the data received from slot 0 are stored. Refer to Section: Mono/stereo mode for more details. - MONO: packed union { - raw: u1, - value: MONO, - }, - /// Output drive. This bit is set and cleared by software. Note: This bit has to be set before enabling the audio block and after the audio block configuration. - OUTDRIV: packed union { - raw: u1, - value: OUTDRIV, - }, + /// Data size. These bits are set and cleared by software. These bits are ignored when the SPDIF protocols are selected (bit PRTCFG[1:0]), because the frame and the data size are fixed in such case. When the companding mode is selected through COMP[1:0] bits, DS[1:0] are ignored since the data size is fixed to 8 bits by the algorithm. These bits must be configured when the audio block is disabled. + DS: DS, + /// Least significant bit first. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in AC97 audio protocol since AC97 data are always transferred with the MSB first. This bit has no meaning in SPDIF audio protocol since in SPDIF data are always transferred with LSB first. + LSBFIRST: LSBFIRST, + /// Clock strobing edge. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in SPDIF audio protocol. + CKSTR: CKSTR, + /// Synchronization enable. These bits are set and cleared by software. They must be configured when the audio sub-block is disabled. Note: The audio sub-block should be configured as asynchronous when SPDIF mode is enabled. + SYNCEN: SYNCEN, + /// Mono mode. This bit is set and cleared by software. It is meaningful only when the number of slots is equal to 2. When the mono mode is selected, slot 0 data are duplicated on slot 1 when the audio block operates as a transmitter. In reception mode, the slot1 is discarded and only the data received from slot 0 are stored. Refer to Section: Mono/stereo mode for more details. + MONO: MONO, + /// Output drive. This bit is set and cleared by software. Note: This bit has to be set before enabling the audio block and after the audio block configuration. + OUTDRIV: OUTDRIV, reserved16: u2, - /// Audio block enable where x is A or B. This bit is set by software. To switch off the audio block, the application software must program this bit to 0 and poll the bit till it reads back 0, meaning that the block is completely disabled. Before setting this bit to 1, check that it is set to 0, otherwise the enable command will not be taken into account. This bit allows to control the state of SAIx audio block. If it is disabled when an audio frame transfer is ongoing, the ongoing transfer completes and the cell is fully disabled at the end of this audio frame transfer. Note: When SAIx block is configured in master mode, the clock must be present on the input of SAIx before setting SAIXEN bit. + /// Audio block enable where x is A or B. This bit is set by software. To switch off the audio block, the application software must program this bit to 0 and poll the bit till it reads back 0, meaning that the block is completely disabled. Before setting this bit to 1, check that it is set to 0, otherwise the enable command will not be taken into account. This bit allows to control the state of SAIx audio block. If it is disabled when an audio frame transfer is ongoing, the ongoing transfer completes and the cell is fully disabled at the end of this audio frame transfer. Note: When SAIx block is configured in master mode, the clock must be present on the input of SAIx before setting SAIXEN bit. SAIEN: u1, - /// DMA enable. This bit is set and cleared by software. Note: Since the audio block defaults to operate as a transmitter after reset, the MODE[1:0] bits must be configured before setting DMAEN to avoid a DMA request in receiver mode. + /// DMA enable. This bit is set and cleared by software. Note: Since the audio block defaults to operate as a transmitter after reset, the MODE[1:0] bits must be configured before setting DMAEN to avoid a DMA request in receiver mode. DMAEN: u1, reserved19: u1, - /// No fixed divider between MCLK and FS - NODIV: packed union { - raw: u1, - value: NODIV, - }, - /// Master clock divider. These bits are set and cleared by software. These bits are meaningless when the audio block operates in slave mode. They have to be configured when the audio block is disabled. Others: the master clock frequency is calculated accordingly to the following formula: + /// No fixed divider between MCLK and FS + NODIV: NODIV, + /// Master clock divider. These bits are set and cleared by software. These bits are meaningless when the audio block operates in slave mode. They have to be configured when the audio block is disabled. Others: the master clock frequency is calculated accordingly to the following formula: MCKDIV: u6, - /// Oversampling ratio for master clock + /// Oversampling ratio for master clock OSR: u1, - /// Master clock generation enable + /// Master clock generation enable MCKEN: u1, padding: u4, }), - /// Configuration register 2 + /// Configuration register 2 CR2: mmio.Mmio(packed struct(u32) { - /// FIFO threshold. This bit is set and cleared by software. - FTH: packed union { - raw: u3, - value: FTH, - }, - /// FIFO flush. This bit is set by software. It is always read as 0. This bit should be configured when the SAI is disabled. + /// FIFO threshold. This bit is set and cleared by software. + FTH: FTH, + /// FIFO flush. This bit is set by software. It is always read as 0. This bit should be configured when the SAI is disabled. FFLUSH: u1, - /// Tristate management on data line. This bit is set and cleared by software. It is meaningful only if the audio block is configured as a transmitter. This bit is not used when the audio block is configured in SPDIF mode. It should be configured when SAI is disabled. Refer to Section: Output data line management on an inactive slot for more details. + /// Tristate management on data line. This bit is set and cleared by software. It is meaningful only if the audio block is configured as a transmitter. This bit is not used when the audio block is configured in SPDIF mode. It should be configured when SAI is disabled. Refer to Section: Output data line management on an inactive slot for more details. TRIS: u1, - /// Mute. This bit is set and cleared by software. It is meaningful only when the audio block operates as a transmitter. The MUTE value is linked to value of MUTEVAL if the number of slots is lower or equal to 2, or equal to 0 if it is greater than 2. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. + /// Mute. This bit is set and cleared by software. It is meaningful only when the audio block operates as a transmitter. The MUTE value is linked to value of MUTEVAL if the number of slots is lower or equal to 2, or equal to 0 if it is greater than 2. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. MUTE: u1, - /// Mute value. This bit is set and cleared by software.It must be written before enabling the audio block: SAIXEN. This bit is meaningful only when the audio block operates as a transmitter, the number of slots is lower or equal to 2 and the MUTE bit is set. If more slots are declared, the bit value sent during the transmission in mute mode is equal to 0, whatever the value of MUTEVAL. if the number of slot is lower or equal to 2 and MUTEVAL = 1, the MUTE value transmitted for each slot is the one sent during the previous frame. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. - MUTEVAL: packed union { - raw: u1, - value: MUTEVAL, - }, - /// Mute counter. These bits are set and cleared by software. They are used only in reception mode. The value set in these bits is compared to the number of consecutive mute frames detected in reception. When the number of mute frames is equal to this value, the flag MUTEDET will be set and an interrupt will be generated if bit MUTEDETIE is set. Refer to Section: Mute mode for more details. + /// Mute value. This bit is set and cleared by software.It must be written before enabling the audio block: SAIXEN. This bit is meaningful only when the audio block operates as a transmitter, the number of slots is lower or equal to 2 and the MUTE bit is set. If more slots are declared, the bit value sent during the transmission in mute mode is equal to 0, whatever the value of MUTEVAL. if the number of slot is lower or equal to 2 and MUTEVAL = 1, the MUTE value transmitted for each slot is the one sent during the previous frame. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. + MUTEVAL: MUTEVAL, + /// Mute counter. These bits are set and cleared by software. They are used only in reception mode. The value set in these bits is compared to the number of consecutive mute frames detected in reception. When the number of mute frames is equal to this value, the flag MUTEDET will be set and an interrupt will be generated if bit MUTEDETIE is set. Refer to Section: Mute mode for more details. MUTECNT: u6, - /// Complement bit. This bit is set and cleared by software. It defines the type of complement to be used for companding mode Note: This bit has effect only when the companding mode is -Law algorithm or A-Law algorithm. - CPL: packed union { - raw: u1, - value: CPL, - }, - /// Companding mode. These bits are set and cleared by software. The -Law and the A-Law log are a part of the CCITT G.711 recommendation, the type of complement that will be used depends on CPL bit. The data expansion or data compression are determined by the state of bit MODE[0]. The data compression is applied if the audio block is configured as a transmitter. The data expansion is automatically applied when the audio block is configured as a receiver. Refer to Section: Companding mode for more details. Note: Companding mode is applicable only when TDM is selected. - COMP: packed union { - raw: u2, - value: COMP, - }, + /// Complement bit. This bit is set and cleared by software. It defines the type of complement to be used for companding mode Note: This bit has effect only when the companding mode is -Law algorithm or A-Law algorithm. + CPL: CPL, + /// Companding mode. These bits are set and cleared by software. The -Law and the A-Law log are a part of the CCITT G.711 recommendation, the type of complement that will be used depends on CPL bit. The data expansion or data compression are determined by the state of bit MODE[0]. The data compression is applied if the audio block is configured as a transmitter. The data expansion is automatically applied when the audio block is configured as a receiver. Refer to Section: Companding mode for more details. Note: Companding mode is applicable only when TDM is selected. + COMP: COMP, padding: u16, }), - /// This register has no meaning in AC97 and SPDIF audio protocol + /// This register has no meaning in AC97 and SPDIF audio protocol FRCR: mmio.Mmio(packed struct(u32) { - /// Frame length. These bits are set and cleared by software. They define the audio frame length expressed in number of SCK clock cycles: the number of bits in the frame is equal to FRL[7:0] + 1. The minimum number of bits to transfer in an audio frame must be equal to 8, otherwise the audio block will behaves in an unexpected way. This is the case when the data size is 8 bits and only one slot 0 is defined in NBSLOT[4:0] of SAI_xSLOTR register (NBSLOT[3:0] = 0000). In master mode, if the master clock (available on MCLK_x pin) is used, the frame length should be aligned with a number equal to a power of 2, ranging from 8 to 256. When the master clock is not used (NODIV = 1), it is recommended to program the frame length to an value ranging from 8 to 256. These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. + /// Frame length. These bits are set and cleared by software. They define the audio frame length expressed in number of SCK clock cycles: the number of bits in the frame is equal to FRL[7:0] + 1. The minimum number of bits to transfer in an audio frame must be equal to 8, otherwise the audio block will behaves in an unexpected way. This is the case when the data size is 8 bits and only one slot 0 is defined in NBSLOT[4:0] of SAI_xSLOTR register (NBSLOT[3:0] = 0000). In master mode, if the master clock (available on MCLK_x pin) is used, the frame length should be aligned with a number equal to a power of 2, ranging from 8 to 256. When the master clock is not used (NODIV = 1), it is recommended to program the frame length to an value ranging from 8 to 256. These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. FRL: u8, - /// Frame synchronization active level length. These bits are set and cleared by software. They specify the length in number of bit clock (SCK) + 1 (FSALL[6:0] + 1) of the active level of the FS signal in the audio frame These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. They must be configured when the audio block is disabled. + /// Frame synchronization active level length. These bits are set and cleared by software. They specify the length in number of bit clock (SCK) + 1 (FSALL[6:0] + 1) of the active level of the FS signal in the audio frame These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. They must be configured when the audio block is disabled. FSALL: u7, reserved16: u1, - /// Frame synchronization definition. This bit is set and cleared by software. When the bit is set, the number of slots defined in the SAI_xSLOTR register has to be even. It means that half of this number of slots will be dedicated to the left channel and the other slots for the right channel (e.g: this bit has to be set for I2S or MSB/LSB-justified protocols...). This bit is meaningless and is not used in AC97 or SPDIF audio block configuration. It must be configured when the audio block is disabled. + /// Frame synchronization definition. This bit is set and cleared by software. When the bit is set, the number of slots defined in the SAI_xSLOTR register has to be even. It means that half of this number of slots will be dedicated to the left channel and the other slots for the right channel (e.g: this bit has to be set for I2S or MSB/LSB-justified protocols...). This bit is meaningless and is not used in AC97 or SPDIF audio block configuration. It must be configured when the audio block is disabled. FSDEF: u1, - /// Frame synchronization polarity. This bit is set and cleared by software. It is used to configure the level of the start of frame on the FS signal. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. - FSPOL: packed union { - raw: u1, - value: FSPOL, - }, - /// Frame synchronization offset. This bit is set and cleared by software. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. - FSOFF: packed union { - raw: u1, - value: FSOFF, - }, + /// Frame synchronization polarity. This bit is set and cleared by software. It is used to configure the level of the start of frame on the FS signal. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. + FSPOL: FSPOL, + /// Frame synchronization offset. This bit is set and cleared by software. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. + FSOFF: FSOFF, padding: u13, }), - /// This register has no meaning in AC97 and SPDIF audio protocol + /// This register has no meaning in AC97 and SPDIF audio protocol SLOTR: mmio.Mmio(packed struct(u32) { - /// First bit offset These bits are set and cleared by software. The value set in this bitfield defines the position of the first data transfer bit in the slot. It represents an offset value. In transmission mode, the bits outside the data field are forced to 0. In reception mode, the extra received bits are discarded. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + /// First bit offset These bits are set and cleared by software. The value set in this bitfield defines the position of the first data transfer bit in the slot. It represents an offset value. In transmission mode, the bits outside the data field are forced to 0. In reception mode, the extra received bits are discarded. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. FBOFF: u5, reserved6: u1, - /// Slot size This bits is set and cleared by software. The slot size must be higher or equal to the data size. If this condition is not respected, the behavior of the SAI will be undetermined. Refer to Section: Output data line management on an inactive slot for information on how to drive SD line. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. - SLOTSZ: packed union { - raw: u2, - value: SLOTSZ, - }, - /// Number of slots in an audio frame. These bits are set and cleared by software. The value set in this bitfield represents the number of slots + 1 in the audio frame (including the number of inactive slots). The maximum number of slots is 16. The number of slots should be even if FSDEF bit in the SAI_xFRCR register is set. The number of slots must be configured when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + /// Slot size This bits is set and cleared by software. The slot size must be higher or equal to the data size. If this condition is not respected, the behavior of the SAI will be undetermined. Refer to Section: Output data line management on an inactive slot for information on how to drive SD line. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + SLOTSZ: SLOTSZ, + /// Number of slots in an audio frame. These bits are set and cleared by software. The value set in this bitfield represents the number of slots + 1 in the audio frame (including the number of inactive slots). The maximum number of slots is 16. The number of slots should be even if FSDEF bit in the SAI_xFRCR register is set. The number of slots must be configured when the audio block is disabled. They are ignored in AC97 or SPDIF mode. NBSLOT: u4, reserved16: u4, - /// Slot enable. These bits are set and cleared by software. Each SLOTEN bit corresponds to a slot position from 0 to 15 (maximum 16 slots). The slot must be enabled when the audio block is disabled. They are ignored in AC97 or SPDIF mode. - SLOTEN: packed union { - raw: u16, - value: SLOTEN, - }, + /// Slot enable. These bits are set and cleared by software. Each SLOTEN bit corresponds to a slot position from 0 to 15 (maximum 16 slots). The slot must be enabled when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + SLOTEN: SLOTEN, }), - /// Interrupt mask register 2 + /// Interrupt mask register 2 IM: mmio.Mmio(packed struct(u32) { - /// Overrun/underrun interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the OVRUDR bit in the SAI_xSR register is set. + /// Overrun/underrun interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the OVRUDR bit in the SAI_xSR register is set. OVRUDRIE: u1, - /// Mute detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the MUTEDET bit in the SAI_xSR register is set. This bit has a meaning only if the audio block is configured in receiver mode. + /// Mute detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the MUTEDET bit in the SAI_xSR register is set. This bit has a meaning only if the audio block is configured in receiver mode. MUTEDETIE: u1, - /// Wrong clock configuration interrupt enable. This bit is set and cleared by software. This bit is taken into account only if the audio block is configured as a master (MODE[1] = 0) and NODIV = 0. It generates an interrupt if the WCKCFG flag in the SAI_xSR register is set. Note: This bit is used only in TDM mode and is meaningless in other modes. + /// Wrong clock configuration interrupt enable. This bit is set and cleared by software. This bit is taken into account only if the audio block is configured as a master (MODE[1] = 0) and NODIV = 0. It generates an interrupt if the WCKCFG flag in the SAI_xSR register is set. Note: This bit is used only in TDM mode and is meaningless in other modes. WCKCFGIE: u1, - /// FIFO request interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the FREQ bit in the SAI_xSR register is set. Since the audio block defaults to operate as a transmitter after reset, the MODE bit must be configured before setting FREQIE to avoid a parasitic interruption in receiver mode, + /// FIFO request interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the FREQ bit in the SAI_xSR register is set. Since the audio block defaults to operate as a transmitter after reset, the MODE bit must be configured before setting FREQIE to avoid a parasitic interruption in receiver mode, FREQIE: u1, - /// Codec not ready interrupt enable (AC97). This bit is set and cleared by software. When the interrupt is enabled, the audio block detects in the slot 0 (tag0) of the AC97 frame if the Codec connected to this line is ready or not. If it is not ready, the CNRDY flag in the SAI_xSR register is set and an interruption i generated. This bit has a meaning only if the AC97 mode is selected through PRTCFG[1:0] bits and the audio block is operates as a receiver. + /// Codec not ready interrupt enable (AC97). This bit is set and cleared by software. When the interrupt is enabled, the audio block detects in the slot 0 (tag0) of the AC97 frame if the Codec connected to this line is ready or not. If it is not ready, the CNRDY flag in the SAI_xSR register is set and an interruption i generated. This bit has a meaning only if the AC97 mode is selected through PRTCFG[1:0] bits and the audio block is operates as a receiver. CNRDYIE: u1, - /// Anticipated frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the AFSDET bit in the SAI_xSR register is set. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. + /// Anticipated frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the AFSDET bit in the SAI_xSR register is set. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. AFSDETIE: u1, - /// Late frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the LFSDET bit is set in the SAI_xSR register. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. + /// Late frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the LFSDET bit is set in the SAI_xSR register. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. LFSDETIE: u1, padding: u25, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Overrun / underrun. This bit is read only. The overrun and underrun conditions can occur only when the audio block is configured as a receiver and a transmitter, respectively. It can generate an interrupt if OVRUDRIE bit is set in SAI_xIM register. This flag is cleared when the software sets COVRUDR bit in SAI_xCLRFR register. + /// Overrun / underrun. This bit is read only. The overrun and underrun conditions can occur only when the audio block is configured as a receiver and a transmitter, respectively. It can generate an interrupt if OVRUDRIE bit is set in SAI_xIM register. This flag is cleared when the software sets COVRUDR bit in SAI_xCLRFR register. OVRUDR: u1, - /// Mute detection. This bit is read only. This flag is set if consecutive 0 values are received in each slot of a given audio frame and for a consecutive number of audio frames (set in the MUTECNT bit in the SAI_xCR2 register). It can generate an interrupt if MUTEDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets bit CMUTEDET in the SAI_xCLRFR register. + /// Mute detection. This bit is read only. This flag is set if consecutive 0 values are received in each slot of a given audio frame and for a consecutive number of audio frames (set in the MUTECNT bit in the SAI_xCR2 register). It can generate an interrupt if MUTEDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets bit CMUTEDET in the SAI_xCLRFR register. MUTEDET: u1, - /// Wrong clock configuration flag. This bit is read only. This bit is used only when the audio block operates in master mode (MODE[1] = 0) and NODIV = 0. It can generate an interrupt if WCKCFGIE bit is set in SAI_xIM register. This flag is cleared when the software sets CWCKCFG bit in SAI_xCLRFR register. - WCKCFG: packed union { - raw: u1, - value: WCKCFG, - }, - /// FIFO request. This bit is read only. The request depends on the audio block configuration: If the block is configured in transmission mode, the FIFO request is related to a write request operation in the SAI_xDR. If the block configured in reception, the FIFO request related to a read request operation from the SAI_xDR. This flag can generate an interrupt if FREQIE bit is set in SAI_xIM register. + /// Wrong clock configuration flag. This bit is read only. This bit is used only when the audio block operates in master mode (MODE[1] = 0) and NODIV = 0. It can generate an interrupt if WCKCFGIE bit is set in SAI_xIM register. This flag is cleared when the software sets CWCKCFG bit in SAI_xCLRFR register. + WCKCFG: WCKCFG, + /// FIFO request. This bit is read only. The request depends on the audio block configuration: If the block is configured in transmission mode, the FIFO request is related to a write request operation in the SAI_xDR. If the block configured in reception, the FIFO request related to a read request operation from the SAI_xDR. This flag can generate an interrupt if FREQIE bit is set in SAI_xIM register. FREQ: u1, - /// Codec not ready. This bit is read only. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register and configured in receiver mode. It can generate an interrupt if CNRDYIE bit is set in SAI_xIM register. This flag is cleared when the software sets CCNRDY bit in SAI_xCLRFR register. - CNRDY: packed union { - raw: u1, - value: CNRDY, - }, - /// Anticipated frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97or SPDIF mode. It can generate an interrupt if AFSDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets CAFSDET bit in SAI_xCLRFR register. + /// Codec not ready. This bit is read only. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register and configured in receiver mode. It can generate an interrupt if CNRDYIE bit is set in SAI_xIM register. This flag is cleared when the software sets CCNRDY bit in SAI_xCLRFR register. + CNRDY: CNRDY, + /// Anticipated frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97or SPDIF mode. It can generate an interrupt if AFSDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets CAFSDET bit in SAI_xCLRFR register. AFSDET: u1, - /// Late frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97 or SPDIF mode. It can generate an interrupt if LFSDETIE bit is set in the SAI_xIM register. This flag is cleared when the software sets bit CLFSDET in SAI_xCLRFR register + /// Late frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97 or SPDIF mode. It can generate an interrupt if LFSDETIE bit is set in the SAI_xIM register. This flag is cleared when the software sets bit CLFSDET in SAI_xCLRFR register LFSDET: u1, reserved16: u9, - /// FIFO level threshold. This bit is read only. The FIFO level threshold flag is managed only by hardware and its setting depends on SAI block configuration (transmitter or receiver mode). If the SAI block is configured as transmitter: If SAI block is configured as receiver: - FLVL: packed union { - raw: u3, - value: FLVL, - }, + /// FIFO level threshold. This bit is read only. The FIFO level threshold flag is managed only by hardware and its setting depends on SAI block configuration (transmitter or receiver mode). If the SAI block is configured as transmitter: If SAI block is configured as receiver: + FLVL: FLVL, padding: u13, }), - /// Clear flag register + /// Clear flag register CLRFR: mmio.Mmio(packed struct(u32) { - /// Clear overrun / underrun. This bit is write only. Programming this bit to 1 clears the OVRUDR flag in the SAI_xSR register. Reading this bit always returns the value 0. + /// Clear overrun / underrun. This bit is write only. Programming this bit to 1 clears the OVRUDR flag in the SAI_xSR register. Reading this bit always returns the value 0. COVRUDR: u1, - /// Mute detection flag. This bit is write only. Programming this bit to 1 clears the MUTEDET flag in the SAI_xSR register. Reading this bit always returns the value 0. + /// Mute detection flag. This bit is write only. Programming this bit to 1 clears the MUTEDET flag in the SAI_xSR register. Reading this bit always returns the value 0. CMUTEDET: u1, - /// Clear wrong clock configuration flag. This bit is write only. Programming this bit to 1 clears the WCKCFG flag in the SAI_xSR register. This bit is used only when the audio block is set as master (MODE[1] = 0) and NODIV = 0 in the SAI_xCR1 register. Reading this bit always returns the value 0. + /// Clear wrong clock configuration flag. This bit is write only. Programming this bit to 1 clears the WCKCFG flag in the SAI_xSR register. This bit is used only when the audio block is set as master (MODE[1] = 0) and NODIV = 0 in the SAI_xCR1 register. Reading this bit always returns the value 0. CWCKCFG: u1, reserved4: u1, - /// Clear Codec not ready flag. This bit is write only. Programming this bit to 1 clears the CNRDY flag in the SAI_xSR register. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register. Reading this bit always returns the value 0. + /// Clear Codec not ready flag. This bit is write only. Programming this bit to 1 clears the CNRDY flag in the SAI_xSR register. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register. Reading this bit always returns the value 0. CCNRDY: u1, - /// Clear anticipated frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the AFSDET flag in the SAI_xSR register. It is not used in AC97or SPDIF mode. Reading this bit always returns the value 0. + /// Clear anticipated frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the AFSDET flag in the SAI_xSR register. It is not used in AC97or SPDIF mode. Reading this bit always returns the value 0. CAFSDET: u1, - /// Clear late frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the LFSDET flag in the SAI_xSR register. This bit is not used in AC97or SPDIF mode Reading this bit always returns the value 0. + /// Clear late frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the LFSDET flag in the SAI_xSR register. This bit is not used in AC97or SPDIF mode Reading this bit always returns the value 0. CLFSDET: u1, padding: u25, }), - /// Data register + /// Data register DR: mmio.Mmio(packed struct(u32) { - /// Data A write to this register loads the FIFO provided the FIFO is not full. A read from this register empties the FIFO if the FIFO is not empty. + /// Data A write to this register loads the FIFO provided the FIFO is not full. A read from this register empties the FIFO if the FIFO is not empty. DATA: u32, }), }; - /// Serial audio interface + /// Serial audio interface pub const SAI = extern struct { - /// Global configuration register + /// Global configuration register GCR: mmio.Mmio(packed struct(u32) { - /// Synchronization inputs + /// Synchronization inputs SYNCIN: u2, reserved4: u2, - /// Synchronization outputs These bits are set and cleared by software. + /// Synchronization outputs These bits are set and cleared by software. SYNCOUT: u2, padding: u26, }), - /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR + /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR CH: u32, reserved68: [60]u8, - /// PDM control register + /// PDM control register PDMCR: mmio.Mmio(packed struct(u32) { - /// PDM enable + /// PDM enable PDMEN: u1, reserved4: u3, - /// Number of microphones + /// Number of microphones MICNBR: u2, reserved8: u2, - /// Clock enable of bitstream clock number 1 + /// Clock enable of bitstream clock number 1 CKEN: u1, padding: u23, }), - /// PDM delay register + /// PDM delay register PDMDLY: mmio.Mmio(packed struct(u32) { - /// Delay line adjust for first microphone of pair 1 + /// Delay line adjust for first microphone of pair 1 DLYML: u3, reserved4: u1, - /// Delay line adjust for second microphone of pair 1 + /// Delay line adjust for second microphone of pair 1 DLYMR: u3, padding: u25, }), @@ -424259,427 +414593,367 @@ pub const types = struct { pub const sai_v4_4pdm = struct { pub const CKSTR = enum(u1) { - /// Data strobing edge is falling edge of SCK + /// Data strobing edge is falling edge of SCK FallingEdge = 0x0, - /// Data strobing edge is rising edge of SCK + /// Data strobing edge is rising edge of SCK RisingEdge = 0x1, }; pub const CNRDY = enum(u1) { - /// External AC’97 Codec is ready + /// External AC’97 Codec is ready Ready = 0x0, - /// External AC’97 Codec is not ready + /// External AC’97 Codec is not ready NotReady = 0x1, }; pub const COMP = enum(u2) { - /// No companding algorithm + /// No companding algorithm NoCompanding = 0x0, - /// μ-Law algorithm + /// μ-Law algorithm MuLaw = 0x2, - /// A-Law algorithm + /// A-Law algorithm ALaw = 0x3, _, }; pub const CPL = enum(u1) { - /// 1’s complement representation + /// 1’s complement representation OnesComplement = 0x0, - /// 2’s complement representation + /// 2’s complement representation TwosComplement = 0x1, }; pub const DS = enum(u3) { - /// 8 bits + /// 8 bits Bit8 = 0x2, - /// 10 bits + /// 10 bits Bit10 = 0x3, - /// 16 bits + /// 16 bits Bit16 = 0x4, - /// 20 bits + /// 20 bits Bit20 = 0x5, - /// 24 bits + /// 24 bits Bit24 = 0x6, - /// 32 bits + /// 32 bits Bit32 = 0x7, _, }; pub const FLVL = enum(u3) { - /// FIFO empty + /// FIFO empty Empty = 0x0, - /// FIFO <= 1⁄4 but not empty + /// FIFO <= 1⁄4 but not empty Quarter1 = 0x1, - /// 1⁄4 < FIFO <= 1⁄2 + /// 1⁄4 < FIFO <= 1⁄2 Quarter2 = 0x2, - /// 1⁄2 < FIFO <= 3⁄4 + /// 1⁄2 < FIFO <= 3⁄4 Quarter3 = 0x3, - /// 3⁄4 < FIFO but not full + /// 3⁄4 < FIFO but not full Quarter4 = 0x4, - /// FIFO full + /// FIFO full Full = 0x5, _, }; pub const FSOFF = enum(u1) { - /// FS is asserted on the first bit of the slot 0 + /// FS is asserted on the first bit of the slot 0 OnFirst = 0x0, - /// FS is asserted one bit before the first bit of the slot 0 + /// FS is asserted one bit before the first bit of the slot 0 BeforeFirst = 0x1, }; pub const FSPOL = enum(u1) { - /// FS is active low (falling edge) + /// FS is active low (falling edge) FallingEdge = 0x0, - /// FS is active high (rising edge) + /// FS is active high (rising edge) RisingEdge = 0x1, }; pub const FTH = enum(u3) { - /// FIFO empty + /// FIFO empty Empty = 0x0, - /// 1⁄4 FIFO + /// 1⁄4 FIFO Quarter1 = 0x1, - /// 1⁄2 FIFO + /// 1⁄2 FIFO Quarter2 = 0x2, - /// 3⁄4 FIFO + /// 3⁄4 FIFO Quarter3 = 0x3, - /// FIFO full + /// FIFO full Full = 0x4, _, }; pub const LSBFIRST = enum(u1) { - /// Data are transferred with MSB first + /// Data are transferred with MSB first MsbFirst = 0x0, - /// Data are transferred with LSB first + /// Data are transferred with LSB first LsbFirst = 0x1, }; pub const MODE = enum(u2) { - /// Master transmitter + /// Master transmitter MasterTx = 0x0, - /// Master receiver + /// Master receiver MasterRx = 0x1, - /// Slave transmitter + /// Slave transmitter SlaveTx = 0x2, - /// Slave receiver + /// Slave receiver SlaveRx = 0x3, }; pub const MONO = enum(u1) { - /// Stereo mode + /// Stereo mode Stereo = 0x0, - /// Mono mode + /// Mono mode Mono = 0x1, }; pub const MUTEVAL = enum(u1) { - /// Bit value 0 is sent during the mute mode + /// Bit value 0 is sent during the mute mode SendZero = 0x0, - /// Last values are sent during the mute mode + /// Last values are sent during the mute mode SendLast = 0x1, }; pub const NODIV = enum(u1) { - /// MCLK output is enabled. Forces the ratio between FS and MCLK to 256 or 512 according to the OSR value + /// MCLK output is enabled. Forces the ratio between FS and MCLK to 256 or 512 according to the OSR value MasterClock = 0x0, - /// MCLK output enable set by the MCKEN bit (where present, else 0). Ratio between FS and MCLK depends on FRL. + /// MCLK output enable set by the MCKEN bit (where present, else 0). Ratio between FS and MCLK depends on FRL. NoDiv = 0x1, }; pub const OUTDRIV = enum(u1) { - /// Audio block output driven when SAIEN is set + /// Audio block output driven when SAIEN is set OnStart = 0x0, - /// Audio block output driven immediately after the setting of this bit + /// Audio block output driven immediately after the setting of this bit Immediately = 0x1, }; pub const PRTCFG = enum(u2) { - /// Free protocol. Free protocol allows to use the powerful configuration of the audio block to address a specific audio protocol + /// Free protocol. Free protocol allows to use the powerful configuration of the audio block to address a specific audio protocol Free = 0x0, - /// SPDIF protocol + /// SPDIF protocol Spdif = 0x1, - /// AC’97 protocol + /// AC’97 protocol Ac97 = 0x2, _, }; pub const SLOTEN = enum(u16) { - /// Inactive slot + /// Inactive slot Inactive = 0x0, - /// Active slot + /// Active slot Active = 0x1, _, }; pub const SLOTSZ = enum(u2) { - /// The slot size is equivalent to the data size (specified in DS[3:0] in the SAI_xCR1 register) + /// The slot size is equivalent to the data size (specified in DS[3:0] in the SAI_xCR1 register) DataSize = 0x0, - /// 16-bit + /// 16-bit Bit16 = 0x1, - /// 32-bit + /// 32-bit Bit32 = 0x2, _, }; pub const SYNCEN = enum(u2) { - /// audio sub-block in asynchronous mode + /// audio sub-block in asynchronous mode Asynchronous = 0x0, - /// audio sub-block is synchronous with the other internal audio sub-block. In this case, the audio sub-block must be configured in slave mode + /// audio sub-block is synchronous with the other internal audio sub-block. In this case, the audio sub-block must be configured in slave mode Internal = 0x1, - /// audio sub-block is synchronous with an external SAI embedded peripheral. In this case the audio sub-block should be configured in Slave mode + /// audio sub-block is synchronous with an external SAI embedded peripheral. In this case the audio sub-block should be configured in Slave mode External = 0x2, _, }; pub const WCKCFG = enum(u1) { - /// Clock configuration is correct + /// Clock configuration is correct Correct = 0x0, - /// Clock configuration does not respect the rule concerning the frame length specification + /// Clock configuration does not respect the rule concerning the frame length specification Wrong = 0x1, }; - /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR + /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR pub const CH = extern struct { - /// Configuration register 1 + /// Configuration register 1 CR1: mmio.Mmio(packed struct(u32) { - /// SAIx audio block mode immediately - MODE: packed union { - raw: u2, - value: MODE, - }, - /// Protocol configuration. These bits are set and cleared by software. These bits have to be configured when the audio block is disabled. - PRTCFG: packed union { - raw: u2, - value: PRTCFG, - }, + /// SAIx audio block mode immediately + MODE: MODE, + /// Protocol configuration. These bits are set and cleared by software. These bits have to be configured when the audio block is disabled. + PRTCFG: PRTCFG, reserved5: u1, - /// Data size. These bits are set and cleared by software. These bits are ignored when the SPDIF protocols are selected (bit PRTCFG[1:0]), because the frame and the data size are fixed in such case. When the companding mode is selected through COMP[1:0] bits, DS[1:0] are ignored since the data size is fixed to 8 bits by the algorithm. These bits must be configured when the audio block is disabled. - DS: packed union { - raw: u3, - value: DS, - }, - /// Least significant bit first. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in AC97 audio protocol since AC97 data are always transferred with the MSB first. This bit has no meaning in SPDIF audio protocol since in SPDIF data are always transferred with LSB first. - LSBFIRST: packed union { - raw: u1, - value: LSBFIRST, - }, - /// Clock strobing edge. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in SPDIF audio protocol. - CKSTR: packed union { - raw: u1, - value: CKSTR, - }, - /// Synchronization enable. These bits are set and cleared by software. They must be configured when the audio sub-block is disabled. Note: The audio sub-block should be configured as asynchronous when SPDIF mode is enabled. - SYNCEN: packed union { - raw: u2, - value: SYNCEN, - }, - /// Mono mode. This bit is set and cleared by software. It is meaningful only when the number of slots is equal to 2. When the mono mode is selected, slot 0 data are duplicated on slot 1 when the audio block operates as a transmitter. In reception mode, the slot1 is discarded and only the data received from slot 0 are stored. Refer to Section: Mono/stereo mode for more details. - MONO: packed union { - raw: u1, - value: MONO, - }, - /// Output drive. This bit is set and cleared by software. Note: This bit has to be set before enabling the audio block and after the audio block configuration. - OUTDRIV: packed union { - raw: u1, - value: OUTDRIV, - }, + /// Data size. These bits are set and cleared by software. These bits are ignored when the SPDIF protocols are selected (bit PRTCFG[1:0]), because the frame and the data size are fixed in such case. When the companding mode is selected through COMP[1:0] bits, DS[1:0] are ignored since the data size is fixed to 8 bits by the algorithm. These bits must be configured when the audio block is disabled. + DS: DS, + /// Least significant bit first. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in AC97 audio protocol since AC97 data are always transferred with the MSB first. This bit has no meaning in SPDIF audio protocol since in SPDIF data are always transferred with LSB first. + LSBFIRST: LSBFIRST, + /// Clock strobing edge. This bit is set and cleared by software. It must be configured when the audio block is disabled. This bit has no meaning in SPDIF audio protocol. + CKSTR: CKSTR, + /// Synchronization enable. These bits are set and cleared by software. They must be configured when the audio sub-block is disabled. Note: The audio sub-block should be configured as asynchronous when SPDIF mode is enabled. + SYNCEN: SYNCEN, + /// Mono mode. This bit is set and cleared by software. It is meaningful only when the number of slots is equal to 2. When the mono mode is selected, slot 0 data are duplicated on slot 1 when the audio block operates as a transmitter. In reception mode, the slot1 is discarded and only the data received from slot 0 are stored. Refer to Section: Mono/stereo mode for more details. + MONO: MONO, + /// Output drive. This bit is set and cleared by software. Note: This bit has to be set before enabling the audio block and after the audio block configuration. + OUTDRIV: OUTDRIV, reserved16: u2, - /// Audio block enable where x is A or B. This bit is set by software. To switch off the audio block, the application software must program this bit to 0 and poll the bit till it reads back 0, meaning that the block is completely disabled. Before setting this bit to 1, check that it is set to 0, otherwise the enable command will not be taken into account. This bit allows to control the state of SAIx audio block. If it is disabled when an audio frame transfer is ongoing, the ongoing transfer completes and the cell is fully disabled at the end of this audio frame transfer. Note: When SAIx block is configured in master mode, the clock must be present on the input of SAIx before setting SAIXEN bit. + /// Audio block enable where x is A or B. This bit is set by software. To switch off the audio block, the application software must program this bit to 0 and poll the bit till it reads back 0, meaning that the block is completely disabled. Before setting this bit to 1, check that it is set to 0, otherwise the enable command will not be taken into account. This bit allows to control the state of SAIx audio block. If it is disabled when an audio frame transfer is ongoing, the ongoing transfer completes and the cell is fully disabled at the end of this audio frame transfer. Note: When SAIx block is configured in master mode, the clock must be present on the input of SAIx before setting SAIXEN bit. SAIEN: u1, - /// DMA enable. This bit is set and cleared by software. Note: Since the audio block defaults to operate as a transmitter after reset, the MODE[1:0] bits must be configured before setting DMAEN to avoid a DMA request in receiver mode. + /// DMA enable. This bit is set and cleared by software. Note: Since the audio block defaults to operate as a transmitter after reset, the MODE[1:0] bits must be configured before setting DMAEN to avoid a DMA request in receiver mode. DMAEN: u1, reserved19: u1, - /// No fixed divider between MCLK and FS - NODIV: packed union { - raw: u1, - value: NODIV, - }, - /// Master clock divider. These bits are set and cleared by software. These bits are meaningless when the audio block operates in slave mode. They have to be configured when the audio block is disabled. Others: the master clock frequency is calculated accordingly to the following formula: + /// No fixed divider between MCLK and FS + NODIV: NODIV, + /// Master clock divider. These bits are set and cleared by software. These bits are meaningless when the audio block operates in slave mode. They have to be configured when the audio block is disabled. Others: the master clock frequency is calculated accordingly to the following formula: MCKDIV: u6, - /// Oversampling ratio for master clock + /// Oversampling ratio for master clock OSR: u1, - /// Master clock generation enable + /// Master clock generation enable MCKEN: u1, padding: u4, }), - /// Configuration register 2 + /// Configuration register 2 CR2: mmio.Mmio(packed struct(u32) { - /// FIFO threshold. This bit is set and cleared by software. - FTH: packed union { - raw: u3, - value: FTH, - }, - /// FIFO flush. This bit is set by software. It is always read as 0. This bit should be configured when the SAI is disabled. + /// FIFO threshold. This bit is set and cleared by software. + FTH: FTH, + /// FIFO flush. This bit is set by software. It is always read as 0. This bit should be configured when the SAI is disabled. FFLUSH: u1, - /// Tristate management on data line. This bit is set and cleared by software. It is meaningful only if the audio block is configured as a transmitter. This bit is not used when the audio block is configured in SPDIF mode. It should be configured when SAI is disabled. Refer to Section: Output data line management on an inactive slot for more details. + /// Tristate management on data line. This bit is set and cleared by software. It is meaningful only if the audio block is configured as a transmitter. This bit is not used when the audio block is configured in SPDIF mode. It should be configured when SAI is disabled. Refer to Section: Output data line management on an inactive slot for more details. TRIS: u1, - /// Mute. This bit is set and cleared by software. It is meaningful only when the audio block operates as a transmitter. The MUTE value is linked to value of MUTEVAL if the number of slots is lower or equal to 2, or equal to 0 if it is greater than 2. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. + /// Mute. This bit is set and cleared by software. It is meaningful only when the audio block operates as a transmitter. The MUTE value is linked to value of MUTEVAL if the number of slots is lower or equal to 2, or equal to 0 if it is greater than 2. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. MUTE: u1, - /// Mute value. This bit is set and cleared by software.It must be written before enabling the audio block: SAIXEN. This bit is meaningful only when the audio block operates as a transmitter, the number of slots is lower or equal to 2 and the MUTE bit is set. If more slots are declared, the bit value sent during the transmission in mute mode is equal to 0, whatever the value of MUTEVAL. if the number of slot is lower or equal to 2 and MUTEVAL = 1, the MUTE value transmitted for each slot is the one sent during the previous frame. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. - MUTEVAL: packed union { - raw: u1, - value: MUTEVAL, - }, - /// Mute counter. These bits are set and cleared by software. They are used only in reception mode. The value set in these bits is compared to the number of consecutive mute frames detected in reception. When the number of mute frames is equal to this value, the flag MUTEDET will be set and an interrupt will be generated if bit MUTEDETIE is set. Refer to Section: Mute mode for more details. + /// Mute value. This bit is set and cleared by software.It must be written before enabling the audio block: SAIXEN. This bit is meaningful only when the audio block operates as a transmitter, the number of slots is lower or equal to 2 and the MUTE bit is set. If more slots are declared, the bit value sent during the transmission in mute mode is equal to 0, whatever the value of MUTEVAL. if the number of slot is lower or equal to 2 and MUTEVAL = 1, the MUTE value transmitted for each slot is the one sent during the previous frame. Refer to Section: Mute mode for more details. Note: This bit is meaningless and should not be used for SPDIF audio blocks. + MUTEVAL: MUTEVAL, + /// Mute counter. These bits are set and cleared by software. They are used only in reception mode. The value set in these bits is compared to the number of consecutive mute frames detected in reception. When the number of mute frames is equal to this value, the flag MUTEDET will be set and an interrupt will be generated if bit MUTEDETIE is set. Refer to Section: Mute mode for more details. MUTECNT: u6, - /// Complement bit. This bit is set and cleared by software. It defines the type of complement to be used for companding mode Note: This bit has effect only when the companding mode is -Law algorithm or A-Law algorithm. - CPL: packed union { - raw: u1, - value: CPL, - }, - /// Companding mode. These bits are set and cleared by software. The -Law and the A-Law log are a part of the CCITT G.711 recommendation, the type of complement that will be used depends on CPL bit. The data expansion or data compression are determined by the state of bit MODE[0]. The data compression is applied if the audio block is configured as a transmitter. The data expansion is automatically applied when the audio block is configured as a receiver. Refer to Section: Companding mode for more details. Note: Companding mode is applicable only when TDM is selected. - COMP: packed union { - raw: u2, - value: COMP, - }, + /// Complement bit. This bit is set and cleared by software. It defines the type of complement to be used for companding mode Note: This bit has effect only when the companding mode is -Law algorithm or A-Law algorithm. + CPL: CPL, + /// Companding mode. These bits are set and cleared by software. The -Law and the A-Law log are a part of the CCITT G.711 recommendation, the type of complement that will be used depends on CPL bit. The data expansion or data compression are determined by the state of bit MODE[0]. The data compression is applied if the audio block is configured as a transmitter. The data expansion is automatically applied when the audio block is configured as a receiver. Refer to Section: Companding mode for more details. Note: Companding mode is applicable only when TDM is selected. + COMP: COMP, padding: u16, }), - /// This register has no meaning in AC97 and SPDIF audio protocol + /// This register has no meaning in AC97 and SPDIF audio protocol FRCR: mmio.Mmio(packed struct(u32) { - /// Frame length. These bits are set and cleared by software. They define the audio frame length expressed in number of SCK clock cycles: the number of bits in the frame is equal to FRL[7:0] + 1. The minimum number of bits to transfer in an audio frame must be equal to 8, otherwise the audio block will behaves in an unexpected way. This is the case when the data size is 8 bits and only one slot 0 is defined in NBSLOT[4:0] of SAI_xSLOTR register (NBSLOT[3:0] = 0000). In master mode, if the master clock (available on MCLK_x pin) is used, the frame length should be aligned with a number equal to a power of 2, ranging from 8 to 256. When the master clock is not used (NODIV = 1), it is recommended to program the frame length to an value ranging from 8 to 256. These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. + /// Frame length. These bits are set and cleared by software. They define the audio frame length expressed in number of SCK clock cycles: the number of bits in the frame is equal to FRL[7:0] + 1. The minimum number of bits to transfer in an audio frame must be equal to 8, otherwise the audio block will behaves in an unexpected way. This is the case when the data size is 8 bits and only one slot 0 is defined in NBSLOT[4:0] of SAI_xSLOTR register (NBSLOT[3:0] = 0000). In master mode, if the master clock (available on MCLK_x pin) is used, the frame length should be aligned with a number equal to a power of 2, ranging from 8 to 256. When the master clock is not used (NODIV = 1), it is recommended to program the frame length to an value ranging from 8 to 256. These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. FRL: u8, - /// Frame synchronization active level length. These bits are set and cleared by software. They specify the length in number of bit clock (SCK) + 1 (FSALL[6:0] + 1) of the active level of the FS signal in the audio frame These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. They must be configured when the audio block is disabled. + /// Frame synchronization active level length. These bits are set and cleared by software. They specify the length in number of bit clock (SCK) + 1 (FSALL[6:0] + 1) of the active level of the FS signal in the audio frame These bits are meaningless and are not used in AC97 or SPDIF audio block configuration. They must be configured when the audio block is disabled. FSALL: u7, reserved16: u1, - /// Frame synchronization definition. This bit is set and cleared by software. When the bit is set, the number of slots defined in the SAI_xSLOTR register has to be even. It means that half of this number of slots will be dedicated to the left channel and the other slots for the right channel (e.g: this bit has to be set for I2S or MSB/LSB-justified protocols...). This bit is meaningless and is not used in AC97 or SPDIF audio block configuration. It must be configured when the audio block is disabled. + /// Frame synchronization definition. This bit is set and cleared by software. When the bit is set, the number of slots defined in the SAI_xSLOTR register has to be even. It means that half of this number of slots will be dedicated to the left channel and the other slots for the right channel (e.g: this bit has to be set for I2S or MSB/LSB-justified protocols...). This bit is meaningless and is not used in AC97 or SPDIF audio block configuration. It must be configured when the audio block is disabled. FSDEF: u1, - /// Frame synchronization polarity. This bit is set and cleared by software. It is used to configure the level of the start of frame on the FS signal. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. - FSPOL: packed union { - raw: u1, - value: FSPOL, - }, - /// Frame synchronization offset. This bit is set and cleared by software. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. - FSOFF: packed union { - raw: u1, - value: FSOFF, - }, + /// Frame synchronization polarity. This bit is set and cleared by software. It is used to configure the level of the start of frame on the FS signal. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. + FSPOL: FSPOL, + /// Frame synchronization offset. This bit is set and cleared by software. It is meaningless and is not used in AC97 or SPDIF audio block configuration. This bit must be configured when the audio block is disabled. + FSOFF: FSOFF, padding: u13, }), - /// This register has no meaning in AC97 and SPDIF audio protocol + /// This register has no meaning in AC97 and SPDIF audio protocol SLOTR: mmio.Mmio(packed struct(u32) { - /// First bit offset These bits are set and cleared by software. The value set in this bitfield defines the position of the first data transfer bit in the slot. It represents an offset value. In transmission mode, the bits outside the data field are forced to 0. In reception mode, the extra received bits are discarded. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + /// First bit offset These bits are set and cleared by software. The value set in this bitfield defines the position of the first data transfer bit in the slot. It represents an offset value. In transmission mode, the bits outside the data field are forced to 0. In reception mode, the extra received bits are discarded. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. FBOFF: u5, reserved6: u1, - /// Slot size This bits is set and cleared by software. The slot size must be higher or equal to the data size. If this condition is not respected, the behavior of the SAI will be undetermined. Refer to Section: Output data line management on an inactive slot for information on how to drive SD line. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. - SLOTSZ: packed union { - raw: u2, - value: SLOTSZ, - }, - /// Number of slots in an audio frame. These bits are set and cleared by software. The value set in this bitfield represents the number of slots + 1 in the audio frame (including the number of inactive slots). The maximum number of slots is 16. The number of slots should be even if FSDEF bit in the SAI_xFRCR register is set. The number of slots must be configured when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + /// Slot size This bits is set and cleared by software. The slot size must be higher or equal to the data size. If this condition is not respected, the behavior of the SAI will be undetermined. Refer to Section: Output data line management on an inactive slot for information on how to drive SD line. These bits must be set when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + SLOTSZ: SLOTSZ, + /// Number of slots in an audio frame. These bits are set and cleared by software. The value set in this bitfield represents the number of slots + 1 in the audio frame (including the number of inactive slots). The maximum number of slots is 16. The number of slots should be even if FSDEF bit in the SAI_xFRCR register is set. The number of slots must be configured when the audio block is disabled. They are ignored in AC97 or SPDIF mode. NBSLOT: u4, reserved16: u4, - /// Slot enable. These bits are set and cleared by software. Each SLOTEN bit corresponds to a slot position from 0 to 15 (maximum 16 slots). The slot must be enabled when the audio block is disabled. They are ignored in AC97 or SPDIF mode. - SLOTEN: packed union { - raw: u16, - value: SLOTEN, - }, + /// Slot enable. These bits are set and cleared by software. Each SLOTEN bit corresponds to a slot position from 0 to 15 (maximum 16 slots). The slot must be enabled when the audio block is disabled. They are ignored in AC97 or SPDIF mode. + SLOTEN: SLOTEN, }), - /// Interrupt mask register 2 + /// Interrupt mask register 2 IM: mmio.Mmio(packed struct(u32) { - /// Overrun/underrun interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the OVRUDR bit in the SAI_xSR register is set. + /// Overrun/underrun interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the OVRUDR bit in the SAI_xSR register is set. OVRUDRIE: u1, - /// Mute detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the MUTEDET bit in the SAI_xSR register is set. This bit has a meaning only if the audio block is configured in receiver mode. + /// Mute detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the MUTEDET bit in the SAI_xSR register is set. This bit has a meaning only if the audio block is configured in receiver mode. MUTEDETIE: u1, - /// Wrong clock configuration interrupt enable. This bit is set and cleared by software. This bit is taken into account only if the audio block is configured as a master (MODE[1] = 0) and NODIV = 0. It generates an interrupt if the WCKCFG flag in the SAI_xSR register is set. Note: This bit is used only in TDM mode and is meaningless in other modes. + /// Wrong clock configuration interrupt enable. This bit is set and cleared by software. This bit is taken into account only if the audio block is configured as a master (MODE[1] = 0) and NODIV = 0. It generates an interrupt if the WCKCFG flag in the SAI_xSR register is set. Note: This bit is used only in TDM mode and is meaningless in other modes. WCKCFGIE: u1, - /// FIFO request interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the FREQ bit in the SAI_xSR register is set. Since the audio block defaults to operate as a transmitter after reset, the MODE bit must be configured before setting FREQIE to avoid a parasitic interruption in receiver mode, + /// FIFO request interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt is generated if the FREQ bit in the SAI_xSR register is set. Since the audio block defaults to operate as a transmitter after reset, the MODE bit must be configured before setting FREQIE to avoid a parasitic interruption in receiver mode, FREQIE: u1, - /// Codec not ready interrupt enable (AC97). This bit is set and cleared by software. When the interrupt is enabled, the audio block detects in the slot 0 (tag0) of the AC97 frame if the Codec connected to this line is ready or not. If it is not ready, the CNRDY flag in the SAI_xSR register is set and an interruption i generated. This bit has a meaning only if the AC97 mode is selected through PRTCFG[1:0] bits and the audio block is operates as a receiver. + /// Codec not ready interrupt enable (AC97). This bit is set and cleared by software. When the interrupt is enabled, the audio block detects in the slot 0 (tag0) of the AC97 frame if the Codec connected to this line is ready or not. If it is not ready, the CNRDY flag in the SAI_xSR register is set and an interruption i generated. This bit has a meaning only if the AC97 mode is selected through PRTCFG[1:0] bits and the audio block is operates as a receiver. CNRDYIE: u1, - /// Anticipated frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the AFSDET bit in the SAI_xSR register is set. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. + /// Anticipated frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the AFSDET bit in the SAI_xSR register is set. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. AFSDETIE: u1, - /// Late frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the LFSDET bit is set in the SAI_xSR register. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. + /// Late frame synchronization detection interrupt enable. This bit is set and cleared by software. When this bit is set, an interrupt will be generated if the LFSDET bit is set in the SAI_xSR register. This bit is meaningless in AC97, SPDIF mode or when the audio block operates as a master. LFSDETIE: u1, padding: u25, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Overrun / underrun. This bit is read only. The overrun and underrun conditions can occur only when the audio block is configured as a receiver and a transmitter, respectively. It can generate an interrupt if OVRUDRIE bit is set in SAI_xIM register. This flag is cleared when the software sets COVRUDR bit in SAI_xCLRFR register. + /// Overrun / underrun. This bit is read only. The overrun and underrun conditions can occur only when the audio block is configured as a receiver and a transmitter, respectively. It can generate an interrupt if OVRUDRIE bit is set in SAI_xIM register. This flag is cleared when the software sets COVRUDR bit in SAI_xCLRFR register. OVRUDR: u1, - /// Mute detection. This bit is read only. This flag is set if consecutive 0 values are received in each slot of a given audio frame and for a consecutive number of audio frames (set in the MUTECNT bit in the SAI_xCR2 register). It can generate an interrupt if MUTEDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets bit CMUTEDET in the SAI_xCLRFR register. + /// Mute detection. This bit is read only. This flag is set if consecutive 0 values are received in each slot of a given audio frame and for a consecutive number of audio frames (set in the MUTECNT bit in the SAI_xCR2 register). It can generate an interrupt if MUTEDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets bit CMUTEDET in the SAI_xCLRFR register. MUTEDET: u1, - /// Wrong clock configuration flag. This bit is read only. This bit is used only when the audio block operates in master mode (MODE[1] = 0) and NODIV = 0. It can generate an interrupt if WCKCFGIE bit is set in SAI_xIM register. This flag is cleared when the software sets CWCKCFG bit in SAI_xCLRFR register. - WCKCFG: packed union { - raw: u1, - value: WCKCFG, - }, - /// FIFO request. This bit is read only. The request depends on the audio block configuration: If the block is configured in transmission mode, the FIFO request is related to a write request operation in the SAI_xDR. If the block configured in reception, the FIFO request related to a read request operation from the SAI_xDR. This flag can generate an interrupt if FREQIE bit is set in SAI_xIM register. + /// Wrong clock configuration flag. This bit is read only. This bit is used only when the audio block operates in master mode (MODE[1] = 0) and NODIV = 0. It can generate an interrupt if WCKCFGIE bit is set in SAI_xIM register. This flag is cleared when the software sets CWCKCFG bit in SAI_xCLRFR register. + WCKCFG: WCKCFG, + /// FIFO request. This bit is read only. The request depends on the audio block configuration: If the block is configured in transmission mode, the FIFO request is related to a write request operation in the SAI_xDR. If the block configured in reception, the FIFO request related to a read request operation from the SAI_xDR. This flag can generate an interrupt if FREQIE bit is set in SAI_xIM register. FREQ: u1, - /// Codec not ready. This bit is read only. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register and configured in receiver mode. It can generate an interrupt if CNRDYIE bit is set in SAI_xIM register. This flag is cleared when the software sets CCNRDY bit in SAI_xCLRFR register. - CNRDY: packed union { - raw: u1, - value: CNRDY, - }, - /// Anticipated frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97or SPDIF mode. It can generate an interrupt if AFSDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets CAFSDET bit in SAI_xCLRFR register. + /// Codec not ready. This bit is read only. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register and configured in receiver mode. It can generate an interrupt if CNRDYIE bit is set in SAI_xIM register. This flag is cleared when the software sets CCNRDY bit in SAI_xCLRFR register. + CNRDY: CNRDY, + /// Anticipated frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97or SPDIF mode. It can generate an interrupt if AFSDETIE bit is set in SAI_xIM register. This flag is cleared when the software sets CAFSDET bit in SAI_xCLRFR register. AFSDET: u1, - /// Late frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97 or SPDIF mode. It can generate an interrupt if LFSDETIE bit is set in the SAI_xIM register. This flag is cleared when the software sets bit CLFSDET in SAI_xCLRFR register + /// Late frame synchronization detection. This bit is read only. This flag can be set only if the audio block is configured in slave mode. It is not used in AC97 or SPDIF mode. It can generate an interrupt if LFSDETIE bit is set in the SAI_xIM register. This flag is cleared when the software sets bit CLFSDET in SAI_xCLRFR register LFSDET: u1, reserved16: u9, - /// FIFO level threshold. This bit is read only. The FIFO level threshold flag is managed only by hardware and its setting depends on SAI block configuration (transmitter or receiver mode). If the SAI block is configured as transmitter: If SAI block is configured as receiver: - FLVL: packed union { - raw: u3, - value: FLVL, - }, + /// FIFO level threshold. This bit is read only. The FIFO level threshold flag is managed only by hardware and its setting depends on SAI block configuration (transmitter or receiver mode). If the SAI block is configured as transmitter: If SAI block is configured as receiver: + FLVL: FLVL, padding: u13, }), - /// Clear flag register + /// Clear flag register CLRFR: mmio.Mmio(packed struct(u32) { - /// Clear overrun / underrun. This bit is write only. Programming this bit to 1 clears the OVRUDR flag in the SAI_xSR register. Reading this bit always returns the value 0. + /// Clear overrun / underrun. This bit is write only. Programming this bit to 1 clears the OVRUDR flag in the SAI_xSR register. Reading this bit always returns the value 0. COVRUDR: u1, - /// Mute detection flag. This bit is write only. Programming this bit to 1 clears the MUTEDET flag in the SAI_xSR register. Reading this bit always returns the value 0. + /// Mute detection flag. This bit is write only. Programming this bit to 1 clears the MUTEDET flag in the SAI_xSR register. Reading this bit always returns the value 0. CMUTEDET: u1, - /// Clear wrong clock configuration flag. This bit is write only. Programming this bit to 1 clears the WCKCFG flag in the SAI_xSR register. This bit is used only when the audio block is set as master (MODE[1] = 0) and NODIV = 0 in the SAI_xCR1 register. Reading this bit always returns the value 0. + /// Clear wrong clock configuration flag. This bit is write only. Programming this bit to 1 clears the WCKCFG flag in the SAI_xSR register. This bit is used only when the audio block is set as master (MODE[1] = 0) and NODIV = 0 in the SAI_xCR1 register. Reading this bit always returns the value 0. CWCKCFG: u1, reserved4: u1, - /// Clear Codec not ready flag. This bit is write only. Programming this bit to 1 clears the CNRDY flag in the SAI_xSR register. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register. Reading this bit always returns the value 0. + /// Clear Codec not ready flag. This bit is write only. Programming this bit to 1 clears the CNRDY flag in the SAI_xSR register. This bit is used only when the AC97 audio protocol is selected in the SAI_xCR1 register. Reading this bit always returns the value 0. CCNRDY: u1, - /// Clear anticipated frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the AFSDET flag in the SAI_xSR register. It is not used in AC97or SPDIF mode. Reading this bit always returns the value 0. + /// Clear anticipated frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the AFSDET flag in the SAI_xSR register. It is not used in AC97or SPDIF mode. Reading this bit always returns the value 0. CAFSDET: u1, - /// Clear late frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the LFSDET flag in the SAI_xSR register. This bit is not used in AC97or SPDIF mode Reading this bit always returns the value 0. + /// Clear late frame synchronization detection flag. This bit is write only. Programming this bit to 1 clears the LFSDET flag in the SAI_xSR register. This bit is not used in AC97or SPDIF mode Reading this bit always returns the value 0. CLFSDET: u1, padding: u25, }), - /// Data register + /// Data register DR: mmio.Mmio(packed struct(u32) { - /// Data A write to this register loads the FIFO provided the FIFO is not full. A read from this register empties the FIFO if the FIFO is not empty. + /// Data A write to this register loads the FIFO provided the FIFO is not full. A read from this register empties the FIFO if the FIFO is not empty. DATA: u32, }), }; - /// Serial audio interface + /// Serial audio interface pub const SAI = extern struct { - /// Global configuration register + /// Global configuration register GCR: mmio.Mmio(packed struct(u32) { - /// Synchronization inputs + /// Synchronization inputs SYNCIN: u2, reserved4: u2, - /// Synchronization outputs These bits are set and cleared by software. + /// Synchronization outputs These bits are set and cleared by software. SYNCOUT: u2, padding: u26, }), - /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR + /// Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR CH: u32, reserved68: [60]u8, - /// PDM control register + /// PDM control register PDMCR: mmio.Mmio(packed struct(u32) { - /// PDM enable + /// PDM enable PDMEN: u1, reserved4: u3, - /// Number of microphones + /// Number of microphones MICNBR: u2, reserved8: u2, - /// Clock enable of bitstream clock number 1 + /// Clock enable of bitstream clock number 1 CKEN: u1, padding: u23, }), - /// PDM delay register + /// PDM delay register PDMDLY: mmio.Mmio(packed struct(u32) { - /// Delay line adjust for first microphone of pair 1 + /// Delay line adjust for first microphone of pair 1 DLYML: u3, reserved4: u1, - /// Delay line adjust for second microphone of pair 1 + /// Delay line adjust for second microphone of pair 1 DLYMR: u3, padding: u25, }), @@ -424687,882 +414961,882 @@ pub const types = struct { }; pub const sdadc_v1 = struct { - /// Sigma-delta analog-to-digital converter. + /// Sigma-delta analog-to-digital converter. pub const SDADC = extern struct { - /// control register 1. + /// control register 1. CR1: mmio.Mmio(packed struct(u32) { - /// End of calibration interrupt enable. + /// End of calibration interrupt enable. EOCALIE: u1, - /// Injected end of conversion interrupt enable. + /// Injected end of conversion interrupt enable. JEOCIE: u1, - /// Injected data overrun interrupt enable. + /// Injected data overrun interrupt enable. JOVRIE: u1, - /// Regular end of conversion interrupt enable. + /// Regular end of conversion interrupt enable. REOCIE: u1, - /// Regular data overrun interrupt enable. + /// Regular data overrun interrupt enable. ROVRIE: u1, reserved8: u3, - /// Reference voltage selection. + /// Reference voltage selection. REFV: u2, - /// Slow clock mode enable. + /// Slow clock mode enable. SLOWCK: u1, - /// Enter Standby mode when idle. + /// Enter Standby mode when idle. SBI: u1, - /// Enter power down mode when idle. + /// Enter power down mode when idle. PDI: u1, reserved14: u1, - /// Launch a injected conversion synchronously with SDADC1. + /// Launch a injected conversion synchronously with SDADC1. JSYNC: u1, - /// Launch regular conversion synchronously with SDADC1. + /// Launch regular conversion synchronously with SDADC1. RSYNC: u1, - /// DMA channel enabled to read data for the injected channel group. + /// DMA channel enabled to read data for the injected channel group. JDMAEN: u1, - /// DMA channel enabled to read data for the regular channel. + /// DMA channel enabled to read data for the regular channel. RDMAEN: u1, reserved31: u13, - /// Initialization mode request. + /// Initialization mode request. INIT: u1, }), - /// control register 2. + /// control register 2. CR2: mmio.Mmio(packed struct(u32) { - /// SDADC enable. + /// SDADC enable. ADON: u1, - /// Number of calibration sequences to be performed (number of valid configurations). + /// Number of calibration sequences to be performed (number of valid configurations). CALIBCNT: u2, reserved4: u1, - /// Start calibration. + /// Start calibration. STARTCALIB: u1, - /// Continuous mode selection for injected conversions. + /// Continuous mode selection for injected conversions. JCONT: u1, - /// Delay start of injected conversions. + /// Delay start of injected conversions. JDS: u1, reserved8: u1, - /// Trigger signal selection for launching injected conversions. + /// Trigger signal selection for launching injected conversions. JEXTSEL: u4, reserved13: u1, - /// Trigger enable and trigger edge selection for injected conversions. + /// Trigger enable and trigger edge selection for injected conversions. JEXTEN: u2, - /// Start a conversion of the injected group of channels. + /// Start a conversion of the injected group of channels. JSWSTART: u1, - /// Regular channel selection. + /// Regular channel selection. RCH: u4, reserved22: u2, - /// Continuous mode selection for regular conversions. + /// Continuous mode selection for regular conversions. RCONT: u1, - /// Software start of a conversion on the regular channel. + /// Software start of a conversion on the regular channel. RSWSTART: u1, - /// Fast conversion mode selection. + /// Fast conversion mode selection. FAST: u1, padding: u7, }), - /// interrupt and status register. + /// interrupt and status register. ISR: mmio.Mmio(packed struct(u32) { - /// End of calibration flag. + /// End of calibration flag. EOCALF: u1, - /// End of injected conversion flag. + /// End of injected conversion flag. JEOCF: u1, - /// Injected conversion overrun flag. + /// Injected conversion overrun flag. JOVRF: u1, - /// End of regular conversion flag. + /// End of regular conversion flag. REOCF: u1, - /// Regular conversion overrun flag. + /// Regular conversion overrun flag. ROVRF: u1, reserved12: u7, - /// Calibration in progress status. + /// Calibration in progress status. CALIBIP: u1, - /// Injected conversion in progress status. + /// Injected conversion in progress status. JCIP: u1, - /// Regular conversion in progress status. + /// Regular conversion in progress status. RCIP: u1, - /// Stabilization in progress status. + /// Stabilization in progress status. STABIP: u1, reserved31: u15, - /// Initialization mode is ready. + /// Initialization mode is ready. INITRDY: u1, }), - /// interrupt and status clear register. + /// interrupt and status clear register. CLRISR: mmio.Mmio(packed struct(u32) { - /// Clear the end of calibration flag. + /// Clear the end of calibration flag. CLREOCALF: u1, reserved2: u1, - /// Clear the injected conversion overrun flag. + /// Clear the injected conversion overrun flag. CLRJOVRF: u1, reserved4: u1, - /// Clear the regular conversion overrun flag. + /// Clear the regular conversion overrun flag. CLRROVRF: u1, padding: u27, }), reserved20: [4]u8, - /// injected channel group selection register. + /// injected channel group selection register. JCHGR: mmio.Mmio(packed struct(u32) { - /// Injected channel group selection. + /// Injected channel group selection. JCHG: u9, padding: u23, }), reserved32: [8]u8, - /// configuration 0 register. + /// configuration 0 register. CONFR: [3]mmio.Mmio(packed struct(u32) { - /// Twelve-bit calibration offset for configuration 0. + /// Twelve-bit calibration offset for configuration 0. OFFSET: u12, reserved20: u8, - /// Gain setting for configuration 0. + /// Gain setting for configuration 0. GAIN: u3, reserved26: u3, - /// Single-ended mode for configuration 0. + /// Single-ended mode for configuration 0. SE: u2, reserved30: u2, - /// Common mode for configuration 0. + /// Common mode for configuration 0. COMMON: u2, }), reserved64: [20]u8, - /// channel configuration register 1. + /// channel configuration register 1. CONFCHR1: mmio.Mmio(packed struct(u32) { - /// CONFCH0. + /// CONFCH0. CONFCH: u2, padding: u30, }), - /// channel configuration register 2. + /// channel configuration register 2. CONFCHR2: mmio.Mmio(packed struct(u32) { - /// Channel 8 configuration. + /// Channel 8 configuration. CONFCH: u2, padding: u30, }), reserved96: [24]u8, - /// data register for injected group. + /// data register for injected group. JDATAR: mmio.Mmio(packed struct(u32) { - /// Injected group conversion data. + /// Injected group conversion data. JDATA: u16, reserved24: u8, - /// Injected channel most recently converted. + /// Injected channel most recently converted. JDATACH: u4, padding: u4, }), - /// data register for the regular channel. + /// data register for the regular channel. RDATAR: mmio.Mmio(packed struct(u32) { - /// Regular channel conversion data. + /// Regular channel conversion data. RDATA: u16, padding: u16, }), reserved112: [8]u8, - /// SDADC1 and SDADC2 injected data register. + /// SDADC1 and SDADC2 injected data register. JDATA12R: u32, - /// SDADC1 and SDADC2 regular data register. + /// SDADC1 and SDADC2 regular data register. RDATA12R: u32, - /// SDADC1 and SDADC3 injected data register. + /// SDADC1 and SDADC3 injected data register. JDATA13R: u32, - /// SDADC1 and SDADC3 regular data register. + /// SDADC1 and SDADC3 regular data register. RDATA13R: u32, }; }; pub const sdmmc_v1 = struct { - /// Secure digital input/output interface + /// Secure digital input/output interface pub const SDMMC = extern struct { - /// power control register + /// power control register POWER: mmio.Mmio(packed struct(u32) { - /// PWRCTRL + /// PWRCTRL PWRCTRL: u2, padding: u30, }), - /// SDI clock control register + /// SDI clock control register CLKCR: mmio.Mmio(packed struct(u32) { - /// Clock divide factor + /// Clock divide factor CLKDIV: u8, - /// Clock enable bit + /// Clock enable bit CLKEN: u1, - /// Power saving configuration bit + /// Power saving configuration bit PWRSAV: u1, - /// Clock divider bypass enable bit + /// Clock divider bypass enable bit BYPASS: u1, - /// Wide bus mode enable bit + /// Wide bus mode enable bit WIDBUS: u2, - /// SDIO_CK dephasing selection bit + /// SDIO_CK dephasing selection bit NEGEDGE: u1, - /// HW Flow Control enable + /// HW Flow Control enable HWFC_EN: u1, padding: u17, }), - /// argument register + /// argument register ARGR: mmio.Mmio(packed struct(u32) { - /// Command argument + /// Command argument CMDARG: u32, }), - /// command register + /// command register CMDR: mmio.Mmio(packed struct(u32) { - /// Command index + /// Command index CMDINDEX: u6, - /// Wait for response bits + /// Wait for response bits WAITRESP: u2, - /// CPSM waits for interrupt request + /// CPSM waits for interrupt request WAITINT: u1, - /// CPSM Waits for ends of data transfer (CmdPend internal signal) + /// CPSM Waits for ends of data transfer (CmdPend internal signal) WAITPEND: u1, - /// Command path state machine (CPSM) Enable bit + /// Command path state machine (CPSM) Enable bit CPSMEN: u1, - /// SD I/O suspend command + /// SD I/O suspend command SDIOSuspend: u1, padding: u20, }), - /// command response register + /// command response register RESPCMDR: mmio.Mmio(packed struct(u32) { - /// Response command index + /// Response command index RESPCMD: u6, padding: u26, }), - /// response 1..4 register + /// response 1..4 register RESPR: [4]mmio.Mmio(packed struct(u32) { - /// see Table 132 + /// see Table 132 CARDSTATUS: u32, }), - /// data timer register + /// data timer register DTIMER: mmio.Mmio(packed struct(u32) { - /// Data timeout period + /// Data timeout period DATATIME: u32, }), - /// data length register + /// data length register DLENR: mmio.Mmio(packed struct(u32) { - /// Data length value + /// Data length value DATALENGTH: u25, padding: u7, }), - /// data control register + /// data control register DCTRL: mmio.Mmio(packed struct(u32) { - /// DTEN + /// DTEN DTEN: u1, - /// Data transfer direction selection + /// Data transfer direction selection DTDIR: u1, - /// Data transfer mode selection 1: Stream or SDIO multibyte data transfer + /// Data transfer mode selection 1: Stream or SDIO multibyte data transfer DTMODE: u1, - /// DMA enable bit + /// DMA enable bit DMAEN: u1, - /// Data block size + /// Data block size DBLOCKSIZE: u4, - /// Read wait start + /// Read wait start RWSTART: u1, - /// Read wait stop + /// Read wait stop RWSTOP: u1, - /// Read wait mode + /// Read wait mode RWMOD: u1, - /// SD I/O enable functions + /// SD I/O enable functions SDIOEN: u1, padding: u20, }), - /// data counter register + /// data counter register DCNTR: mmio.Mmio(packed struct(u32) { - /// Data count value + /// Data count value DATACOUNT: u25, padding: u7, }), - /// status register + /// status register STAR: mmio.Mmio(packed struct(u32) { - /// Command response received (CRC check failed) + /// Command response received (CRC check failed) CCRCFAIL: u1, - /// Data block sent/received (CRC check failed) + /// Data block sent/received (CRC check failed) DCRCFAIL: u1, - /// Command response timeout + /// Command response timeout CTIMEOUT: u1, - /// Data timeout + /// Data timeout DTIMEOUT: u1, - /// Transmit FIFO underrun error + /// Transmit FIFO underrun error TXUNDERR: u1, - /// Received FIFO overrun error + /// Received FIFO overrun error RXOVERR: u1, - /// Command response received (CRC check passed) + /// Command response received (CRC check passed) CMDREND: u1, - /// Command sent (no response required) + /// Command sent (no response required) CMDSENT: u1, - /// Data end (data counter, SDIDCOUNT, is zero) + /// Data end (data counter, SDIDCOUNT, is zero) DATAEND: u1, - /// Start bit not detected on all data signals in wide bus mode + /// Start bit not detected on all data signals in wide bus mode STBITERR: u1, - /// Data block sent/received (CRC check passed) + /// Data block sent/received (CRC check passed) DBCKEND: u1, - /// Command transfer in progress + /// Command transfer in progress CMDACT: u1, - /// Data transmit in progress + /// Data transmit in progress TXACT: u1, - /// Data receive in progress + /// Data receive in progress RXACT: u1, - /// Transmit FIFO half empty: at least 8 words can be written into the FIFO + /// Transmit FIFO half empty: at least 8 words can be written into the FIFO TXFIFOHE: u1, - /// Receive FIFO half full: there are at least 8 words in the FIFO + /// Receive FIFO half full: there are at least 8 words in the FIFO RXFIFOHF: u1, - /// Transmit FIFO full + /// Transmit FIFO full TXFIFOF: u1, - /// Receive FIFO full + /// Receive FIFO full RXFIFOF: u1, - /// Transmit FIFO empty + /// Transmit FIFO empty TXFIFOE: u1, - /// Receive FIFO empty + /// Receive FIFO empty RXFIFOE: u1, - /// Data available in transmit FIFO + /// Data available in transmit FIFO TXDAVL: u1, - /// Data available in receive FIFO + /// Data available in receive FIFO RXDAVL: u1, - /// SDIO interrupt received + /// SDIO interrupt received SDIOIT: u1, padding: u9, }), - /// interrupt clear register + /// interrupt clear register ICR: mmio.Mmio(packed struct(u32) { - /// CCRCFAIL flag clear bit + /// CCRCFAIL flag clear bit CCRCFAILC: u1, - /// DCRCFAIL flag clear bit + /// DCRCFAIL flag clear bit DCRCFAILC: u1, - /// CTIMEOUT flag clear bit + /// CTIMEOUT flag clear bit CTIMEOUTC: u1, - /// DTIMEOUT flag clear bit + /// DTIMEOUT flag clear bit DTIMEOUTC: u1, - /// TXUNDERR flag clear bit + /// TXUNDERR flag clear bit TXUNDERRC: u1, - /// RXOVERR flag clear bit + /// RXOVERR flag clear bit RXOVERRC: u1, - /// CMDREND flag clear bit + /// CMDREND flag clear bit CMDRENDC: u1, - /// CMDSENT flag clear bit + /// CMDSENT flag clear bit CMDSENTC: u1, - /// DATAEND flag clear bit + /// DATAEND flag clear bit DATAENDC: u1, - /// STBITERR flag clear bit + /// STBITERR flag clear bit STBITERRC: u1, - /// DBCKEND flag clear bit + /// DBCKEND flag clear bit DBCKENDC: u1, reserved22: u11, - /// SDIOIT flag clear bit + /// SDIOIT flag clear bit SDIOITC: u1, padding: u9, }), - /// mask register + /// mask register MASKR: mmio.Mmio(packed struct(u32) { - /// Command CRC fail interrupt enable + /// Command CRC fail interrupt enable CCRCFAILIE: u1, - /// Data CRC fail interrupt enable + /// Data CRC fail interrupt enable DCRCFAILIE: u1, - /// Command timeout interrupt enable + /// Command timeout interrupt enable CTIMEOUTIE: u1, - /// Data timeout interrupt enable + /// Data timeout interrupt enable DTIMEOUTIE: u1, - /// Tx FIFO underrun error interrupt enable + /// Tx FIFO underrun error interrupt enable TXUNDERRIE: u1, - /// Rx FIFO overrun error interrupt enable + /// Rx FIFO overrun error interrupt enable RXOVERRIE: u1, - /// Command response received interrupt enable + /// Command response received interrupt enable CMDRENDIE: u1, - /// Command sent interrupt enable + /// Command sent interrupt enable CMDSENTIE: u1, - /// Data end interrupt enable + /// Data end interrupt enable DATAENDIE: u1, - /// STBITERR interrupt enable + /// STBITERR interrupt enable STBITERRE: u1, - /// Data block end interrupt enable + /// Data block end interrupt enable DBCKENDIE: u1, - /// Command acting interrupt enable + /// Command acting interrupt enable CMDACTIE: u1, - /// Data transmit acting interrupt enable + /// Data transmit acting interrupt enable TXACTIE: u1, - /// Data receive acting interrupt enable + /// Data receive acting interrupt enable RXACTIE: u1, - /// Tx FIFO half empty interrupt enable + /// Tx FIFO half empty interrupt enable TXFIFOHEIE: u1, - /// Rx FIFO half full interrupt enable + /// Rx FIFO half full interrupt enable RXFIFOHFIE: u1, - /// Tx FIFO full interrupt enable + /// Tx FIFO full interrupt enable TXFIFOFIE: u1, - /// Rx FIFO full interrupt enable + /// Rx FIFO full interrupt enable RXFIFOFIE: u1, - /// Tx FIFO empty interrupt enable + /// Tx FIFO empty interrupt enable TXFIFOEIE: u1, - /// Rx FIFO empty interrupt enable + /// Rx FIFO empty interrupt enable RXFIFOEIE: u1, - /// Data available in Tx FIFO interrupt enable + /// Data available in Tx FIFO interrupt enable TXDAVLIE: u1, - /// Data available in Rx FIFO interrupt enable + /// Data available in Rx FIFO interrupt enable RXDAVLIE: u1, - /// SDIO mode interrupt received interrupt enable + /// SDIO mode interrupt received interrupt enable SDIOITIE: u1, padding: u9, }), reserved72: [8]u8, - /// FIFO counter register + /// FIFO counter register FIFOCNT: mmio.Mmio(packed struct(u32) { - /// Remaining number of words to be written to or read from the FIFO + /// Remaining number of words to be written to or read from the FIFO FIFOCOUNT: u24, padding: u8, }), reserved128: [52]u8, - /// data FIFO register + /// data FIFO register FIFOR: mmio.Mmio(packed struct(u32) { - /// Receive and transmit FIFO data + /// Receive and transmit FIFO data FIFOData: u32, }), }; }; pub const sdmmc_v2 = struct { - /// SDMMC + /// SDMMC pub const SDMMC = extern struct { - /// SDMMC power control register + /// SDMMC power control register POWER: mmio.Mmio(packed struct(u32) { - /// SDMMC state control bits. These bits can only be written when the SDMMC is not in the power-on state (PWRCTRL?11). These bits are used to define the functional state of the SDMMC signals: Any further write will be ignored, PWRCTRL value will keep 11. + /// SDMMC state control bits. These bits can only be written when the SDMMC is not in the power-on state (PWRCTRL?11). These bits are used to define the functional state of the SDMMC signals: Any further write will be ignored, PWRCTRL value will keep 11. PWRCTRL: u2, - /// Voltage switch sequence start. This bit is used to start the timing critical section of the voltage switch sequence: + /// Voltage switch sequence start. This bit is used to start the timing critical section of the voltage switch sequence: VSWITCH: u1, - /// Voltage switch procedure enable. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). This bit is used to stop the SDMMC_CK after the voltage switch command response: + /// Voltage switch procedure enable. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). This bit is used to stop the SDMMC_CK after the voltage switch command response: VSWITCHEN: u1, - /// Data and command direction signals polarity selection. This bit can only be written when the SDMMC is in the power-off state (PWRCTRL = 00). + /// Data and command direction signals polarity selection. This bit can only be written when the SDMMC is in the power-off state (PWRCTRL = 00). DIRPOL: u1, padding: u27, }), - /// The SDMMC_CLKCR register controls the SDMMC_CK output clock, the SDMMC_RX_CLK receive clock, and the bus width. + /// The SDMMC_CLKCR register controls the SDMMC_CK output clock, the SDMMC_RX_CLK receive clock, and the bus width. CLKCR: mmio.Mmio(packed struct(u32) { - /// Clock divide factor This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0). This field defines the divide factor between the input clock (SDMMCCLK) and the output clock (SDMMC_CK): SDMMC_CK frequency = SDMMCCLK / [2 * CLKDIV]. 0xx: etc.. xxx: etc.. + /// Clock divide factor This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0). This field defines the divide factor between the input clock (SDMMCCLK) and the output clock (SDMMC_CK): SDMMC_CK frequency = SDMMCCLK / [2 * CLKDIV]. 0xx: etc.. xxx: etc.. CLKDIV: u10, reserved12: u2, - /// Power saving configuration bit This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) For power saving, the SDMMC_CK clock output can be disabled when the bus is idle by setting PWRSAV: + /// Power saving configuration bit This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) For power saving, the SDMMC_CK clock output can be disabled when the bus is idle by setting PWRSAV: PWRSAV: u1, reserved14: u1, - /// Wide bus mode enable bit This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) + /// Wide bus mode enable bit This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) WIDBUS: u2, - /// SDMMC_CK dephasing selection bit for data and Command. This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0). When clock division = 1 (CLKDIV = 0), this bit has no effect. Data and Command change on SDMMC_CK falling edge. When clock division >1 (CLKDIV > 0) & DDR = 0: - SDMMC_CK edge occurs on SDMMCCLK rising edge. When clock division >1 (CLKDIV > 0) & DDR = 1: - Data changed on the SDMMCCLK falling edge succeeding a SDMMC_CK edge. - SDMMC_CK edge occurs on SDMMCCLK rising edge. - Data changed on the SDMMC_CK falling edge succeeding a SDMMC_CK edge. - SDMMC_CK edge occurs on SDMMCCLK rising edge. + /// SDMMC_CK dephasing selection bit for data and Command. This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0). When clock division = 1 (CLKDIV = 0), this bit has no effect. Data and Command change on SDMMC_CK falling edge. When clock division >1 (CLKDIV > 0) & DDR = 0: - SDMMC_CK edge occurs on SDMMCCLK rising edge. When clock division >1 (CLKDIV > 0) & DDR = 1: - Data changed on the SDMMCCLK falling edge succeeding a SDMMC_CK edge. - SDMMC_CK edge occurs on SDMMCCLK rising edge. - Data changed on the SDMMC_CK falling edge succeeding a SDMMC_CK edge. - SDMMC_CK edge occurs on SDMMCCLK rising edge. NEGEDGE: u1, - /// Hardware flow control enable This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) When Hardware flow control is enabled, the meaning of the TXFIFOE and RXFIFOF flags change, please see SDMMC status register definition in Section56.8.11. + /// Hardware flow control enable This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) When Hardware flow control is enabled, the meaning of the TXFIFOE and RXFIFOF flags change, please see SDMMC status register definition in Section56.8.11. HWFC_EN: u1, - /// Data rate signaling selection This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) DDR rate shall only be selected with 4-bit or 8-bit wide bus mode. (WIDBUS > 00). DDR = 1 has no effect when WIDBUS = 00 (1-bit wide bus). DDR rate shall only be selected with clock division >1. (CLKDIV > 0) + /// Data rate signaling selection This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) DDR rate shall only be selected with 4-bit or 8-bit wide bus mode. (WIDBUS > 00). DDR = 1 has no effect when WIDBUS = 00 (1-bit wide bus). DDR rate shall only be selected with clock division >1. (CLKDIV > 0) DDR: u1, - /// Bus speed mode selection between DS, HS, SDR12, SDR25 and SDR50, DDR50, SDR104. This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) + /// Bus speed mode selection between DS, HS, SDR12, SDR25 and SDR50, DDR50, SDR104. This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) BUSSPEED: u1, - /// Receive clock selection. These bits can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) + /// Receive clock selection. These bits can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0) SELCLKRX: u2, padding: u10, }), - /// The SDMMC_ARGR register contains a 32-bit command argument, which is sent to a card as part of a command message. + /// The SDMMC_ARGR register contains a 32-bit command argument, which is sent to a card as part of a command message. ARGR: mmio.Mmio(packed struct(u32) { - /// Command argument. These bits can only be written by firmware when CPSM is disabled (CPSMEN = 0). Command argument sent to a card as part of a command message. If a command contains an argument, it must be loaded into this register before writing a command to the command register. + /// Command argument. These bits can only be written by firmware when CPSM is disabled (CPSMEN = 0). Command argument sent to a card as part of a command message. If a command contains an argument, it must be loaded into this register before writing a command to the command register. CMDARG: u32, }), - /// The SDMMC_CMDR register contains the command index and command type bits. The command index is sent to a card as part of a command message. The command type bits control the command path state machine (CPSM). + /// The SDMMC_CMDR register contains the command index and command type bits. The command index is sent to a card as part of a command message. The command type bits control the command path state machine (CPSM). CMDR: mmio.Mmio(packed struct(u32) { - /// Command index. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). The command index is sent to the card as part of a command message. + /// Command index. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). The command index is sent to the card as part of a command message. CMDINDEX: u6, - /// The CPSM treats the command as a data transfer command, stops the interrupt period, and signals DataEnable to the DPSM This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). If this bit is set, the CPSM issues an end of interrupt period and issues DataEnable signal to the DPSM when the command is sent. + /// The CPSM treats the command as a data transfer command, stops the interrupt period, and signals DataEnable to the DPSM This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). If this bit is set, the CPSM issues an end of interrupt period and issues DataEnable signal to the DPSM when the command is sent. CMDTRANS: u1, - /// The CPSM treats the command as a Stop Transmission command and signals Abort to the DPSM. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). If this bit is set, the CPSM issues the Abort signal to the DPSM when the command is sent. + /// The CPSM treats the command as a Stop Transmission command and signals Abort to the DPSM. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). If this bit is set, the CPSM issues the Abort signal to the DPSM when the command is sent. CMDSTOP: u1, - /// Wait for response bits. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). They are used to configure whether the CPSM is to wait for a response, and if yes, which kind of response. + /// Wait for response bits. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). They are used to configure whether the CPSM is to wait for a response, and if yes, which kind of response. WAITRESP: u2, - /// CPSM waits for interrupt request. If this bit is set, the CPSM disables command timeout and waits for an card interrupt request (Response). If this bit is cleared in the CPSM Wait state, will cause the abort of the interrupt mode. + /// CPSM waits for interrupt request. If this bit is set, the CPSM disables command timeout and waits for an card interrupt request (Response). If this bit is cleared in the CPSM Wait state, will cause the abort of the interrupt mode. WAITINT: u1, - /// CPSM Waits for end of data transfer (CmdPend internal signal) from DPSM. This bit when set, the CPSM waits for the end of data transfer trigger before it starts sending a command. WAITPEND is only taken into account when DTMODE = MMC stream data transfer, WIDBUS = 1-bit wide bus mode, DPSMACT = 1 and DTDIR = from host to card. + /// CPSM Waits for end of data transfer (CmdPend internal signal) from DPSM. This bit when set, the CPSM waits for the end of data transfer trigger before it starts sending a command. WAITPEND is only taken into account when DTMODE = MMC stream data transfer, WIDBUS = 1-bit wide bus mode, DPSMACT = 1 and DTDIR = from host to card. WAITPEND: u1, - /// Command path state machine (CPSM) Enable bit This bit is written 1 by firmware, and cleared by hardware when the CPSM enters the Idle state. If this bit is set, the CPSM is enabled. When DTEN = 1, no command will be transfered nor boot procedure will be started. CPSMEN is cleared to 0. + /// Command path state machine (CPSM) Enable bit This bit is written 1 by firmware, and cleared by hardware when the CPSM enters the Idle state. If this bit is set, the CPSM is enabled. When DTEN = 1, no command will be transfered nor boot procedure will be started. CPSMEN is cleared to 0. CPSMEN: u1, - /// Hold new data block transmission and reception in the DPSM. If this bit is set, the DPSM will not move from the Wait_S state to the Send state or from the Wait_R state to the Receive state. + /// Hold new data block transmission and reception in the DPSM. If this bit is set, the DPSM will not move from the Wait_S state to the Send state or from the Wait_R state to the Receive state. DTHOLD: u1, - /// Select the boot mode procedure to be used. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0) + /// Select the boot mode procedure to be used. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0) BOOTMODE: u1, - /// Enable boot mode procedure. + /// Enable boot mode procedure. BOOTEN: u1, - /// The CPSM treats the command as a Suspend or Resume command and signals interrupt period start/end. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). CMDSUSPEND = 1 and CMDTRANS = 0 Suspend command, start interrupt period when response bit BS=0. CMDSUSPEND = 1 and CMDTRANS = 1 Resume command with data, end interrupt period when response bit DF=1. + /// The CPSM treats the command as a Suspend or Resume command and signals interrupt period start/end. This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). CMDSUSPEND = 1 and CMDTRANS = 0 Suspend command, start interrupt period when response bit BS=0. CMDSUSPEND = 1 and CMDTRANS = 1 Resume command with data, end interrupt period when response bit DF=1. CMDSUSPEND: u1, padding: u15, }), - /// SDMMC command response register + /// SDMMC command response register RESPCMDR: mmio.Mmio(packed struct(u32) { - /// Response command index + /// Response command index RESPCMD: u6, padding: u26, }), - /// The SDMMC_RESP1/2/3/4R registers contain the status of a card, which is part of the received response. + /// The SDMMC_RESP1/2/3/4R registers contain the status of a card, which is part of the received response. RESPR: [4]mmio.Mmio(packed struct(u32) { - /// see Table 432 + /// see Table 432 CARDSTATUS: u32, }), - /// The SDMMC_DTIMER register contains the data timeout period, in card bus clock periods. A counter loads the value from the SDMMC_DTIMER register, and starts decrementing when the data path state machine (DPSM) enters the Wait_R or Busy state. If the timer reaches 0 while the DPSM is in either of these states, the timeout status flag is set. + /// The SDMMC_DTIMER register contains the data timeout period, in card bus clock periods. A counter loads the value from the SDMMC_DTIMER register, and starts decrementing when the data path state machine (DPSM) enters the Wait_R or Busy state. If the timer reaches 0 while the DPSM is in either of these states, the timeout status flag is set. DTIMER: mmio.Mmio(packed struct(u32) { - /// Data and R1b busy timeout period This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0). Data and R1b busy timeout period expressed in card bus clock periods. + /// Data and R1b busy timeout period This bit can only be written when the CPSM and DPSM are not active (CPSMACT = 0 and DPSMACT = 0). Data and R1b busy timeout period expressed in card bus clock periods. DATATIME: u32, }), - /// The SDMMC_DLENR register contains the number of data bytes to be transferred. The value is loaded into the data counter when data transfer starts. + /// The SDMMC_DLENR register contains the number of data bytes to be transferred. The value is loaded into the data counter when data transfer starts. DLENR: mmio.Mmio(packed struct(u32) { - /// Data length value This register can only be written by firmware when DPSM is inactive (DPSMACT = 0). Number of data bytes to be transferred. When DDR = 1 DATALENGTH is truncated to a multiple of 2. (The last odd byte is not transfered) When DATALENGTH = 0 no data will be transfered, when requested by a CPSMEN and CMDTRANS = 1 also no command will be transfered. DTEN and CPSMEN are cleared to 0. + /// Data length value This register can only be written by firmware when DPSM is inactive (DPSMACT = 0). Number of data bytes to be transferred. When DDR = 1 DATALENGTH is truncated to a multiple of 2. (The last odd byte is not transfered) When DATALENGTH = 0 no data will be transfered, when requested by a CPSMEN and CMDTRANS = 1 also no command will be transfered. DTEN and CPSMEN are cleared to 0. DATALENGTH: u25, padding: u7, }), - /// The SDMMC_DCTRL register control the data path state machine (DPSM). + /// The SDMMC_DCTRL register control the data path state machine (DPSM). DCTRL: mmio.Mmio(packed struct(u32) { - /// Data transfer enable bit This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). This bit is cleared by Hardware when data transfer completes. This bit shall only be used to transfer data when no associated data transfer command is used, i.e. shall not be used with SD or eMMC cards. + /// Data transfer enable bit This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). This bit is cleared by Hardware when data transfer completes. This bit shall only be used to transfer data when no associated data transfer command is used, i.e. shall not be used with SD or eMMC cards. DTEN: u1, - /// Data transfer direction selection This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). + /// Data transfer direction selection This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). DTDIR: u1, - /// Data transfer mode selection. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). + /// Data transfer mode selection. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). DTMODE: u2, - /// Data block size This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). Define the data block length when the block data transfer mode is selected: When DATALENGTH is not a multiple of DBLOCKSIZE, the transfered data is truncated at a multiple of DBLOCKSIZE. (Any remain data will not be transfered.) When DDR = 1, DBLOCKSIZE = 0000 shall not be used. (No data will be transfered) + /// Data block size This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). Define the data block length when the block data transfer mode is selected: When DATALENGTH is not a multiple of DBLOCKSIZE, the transfered data is truncated at a multiple of DBLOCKSIZE. (Any remain data will not be transfered.) When DDR = 1, DBLOCKSIZE = 0000 shall not be used. (No data will be transfered) DBLOCKSIZE: u4, - /// Read wait start. If this bit is set, read wait operation starts. + /// Read wait start. If this bit is set, read wait operation starts. RWSTART: u1, - /// Read wait stop This bit is written by firmware and auto cleared by hardware when the DPSM moves from the READ_WAIT state to the WAIT_R or IDLE state. + /// Read wait stop This bit is written by firmware and auto cleared by hardware when the DPSM moves from the READ_WAIT state to the WAIT_R or IDLE state. RWSTOP: u1, - /// Read wait mode. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). + /// Read wait mode. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). RWMOD: u1, - /// SD I/O interrupt enable functions This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). If this bit is set, the DPSM enables the SD I/O card specific interrupt operation. + /// SD I/O interrupt enable functions This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). If this bit is set, the DPSM enables the SD I/O card specific interrupt operation. SDIOEN: u1, - /// Enable the reception of the boot acknowledgment. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). + /// Enable the reception of the boot acknowledgment. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). BOOTACKEN: u1, - /// FIFO reset, will flush any remaining data. This bit can only be written by firmware when IDMAEN= 0 and DPSM is active (DPSMACT = 1). This bit will only take effect when a transfer error or transfer hold occurs. + /// FIFO reset, will flush any remaining data. This bit can only be written by firmware when IDMAEN= 0 and DPSM is active (DPSMACT = 1). This bit will only take effect when a transfer error or transfer hold occurs. FIFORST: u1, padding: u18, }), - /// The SDMMC_DCNTR register loads the value from the data length register (see SDMMC_DLENR) when the DPSM moves from the Idle state to the Wait_R or Wait_S state. As data is transferred, the counter decrements the value until it reaches 0. The DPSM then moves to the Idle state and when there has been no error, the data status end flag (DATAEND) is set. + /// The SDMMC_DCNTR register loads the value from the data length register (see SDMMC_DLENR) when the DPSM moves from the Idle state to the Wait_R or Wait_S state. As data is transferred, the counter decrements the value until it reaches 0. The DPSM then moves to the Idle state and when there has been no error, the data status end flag (DATAEND) is set. DCNTR: mmio.Mmio(packed struct(u32) { - /// Data count value When read, the number of remaining data bytes to be transferred is returned. Write has no effect. + /// Data count value When read, the number of remaining data bytes to be transferred is returned. Write has no effect. DATACOUNT: u25, padding: u7, }), - /// The SDMMC_STAR register is a read-only register. It contains two types of flag:Static flags (bits [29,21,11:0]): these bits remain asserted until they are cleared by writing to the SDMMC interrupt Clear register (see SDMMC_ICR)Dynamic flags (bits [20:12]): these bits change state depending on the state of the underlying logic (for example, FIFO full and empty flags are asserted and de-asserted as data while written to the FIFO) + /// The SDMMC_STAR register is a read-only register. It contains two types of flag:Static flags (bits [29,21,11:0]): these bits remain asserted until they are cleared by writing to the SDMMC interrupt Clear register (see SDMMC_ICR)Dynamic flags (bits [20:12]): these bits change state depending on the state of the underlying logic (for example, FIFO full and empty flags are asserted and de-asserted as data while written to the FIFO) STAR: mmio.Mmio(packed struct(u32) { - /// Command response received (CRC check failed). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// Command response received (CRC check failed). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. CCRCFAIL: u1, - /// Data block sent/received (CRC check failed). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// Data block sent/received (CRC check failed). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. DCRCFAIL: u1, - /// Command response timeout. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. The Command Timeout period has a fixed value of 64 SDMMC_CK clock periods. + /// Command response timeout. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. The Command Timeout period has a fixed value of 64 SDMMC_CK clock periods. CTIMEOUT: u1, - /// Data timeout. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// Data timeout. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. DTIMEOUT: u1, - /// Transmit FIFO underrun error or IDMA read transfer error. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// Transmit FIFO underrun error or IDMA read transfer error. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. TXUNDERR: u1, - /// Received FIFO overrun error or IDMA write transfer error. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// Received FIFO overrun error or IDMA write transfer error. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. RXOVERR: u1, - /// Command response received (CRC check passed, or no CRC). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// Command response received (CRC check passed, or no CRC). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. CMDREND: u1, - /// Command sent (no response required). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// Command sent (no response required). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. CMDSENT: u1, - /// Data transfer ended correctly. (data counter, DATACOUNT is zero and no errors occur). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// Data transfer ended correctly. (data counter, DATACOUNT is zero and no errors occur). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. DATAEND: u1, - /// Data transfer Hold. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// Data transfer Hold. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. DHOLD: u1, - /// Data block sent/received. (CRC check passed) and DPSM moves to the READWAIT state. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// Data block sent/received. (CRC check passed) and DPSM moves to the READWAIT state. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. DBCKEND: u1, - /// Data transfer aborted by CMD12. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// Data transfer aborted by CMD12. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. DABORT: u1, - /// Data path state machine active, i.e. not in Idle state. This is a hardware status flag only, does not generate an interrupt. + /// Data path state machine active, i.e. not in Idle state. This is a hardware status flag only, does not generate an interrupt. DPSMACT: u1, - /// Command path state machine active, i.e. not in Idle state. This is a hardware status flag only, does not generate an interrupt. + /// Command path state machine active, i.e. not in Idle state. This is a hardware status flag only, does not generate an interrupt. CPSMACT: u1, - /// Transmit FIFO half empty At least half the number of words can be written into the FIFO. This bit is cleared when the FIFO becomes half+1 full. + /// Transmit FIFO half empty At least half the number of words can be written into the FIFO. This bit is cleared when the FIFO becomes half+1 full. TXFIFOHE: u1, - /// Receive FIFO half full There are at least half the number of words in the FIFO. This bit is cleared when the FIFO becomes half+1 empty. + /// Receive FIFO half full There are at least half the number of words in the FIFO. This bit is cleared when the FIFO becomes half+1 empty. RXFIFOHF: u1, - /// Transmit FIFO full This is a hardware status flag only, does not generate an interrupt. This bit is cleared when one FIFO location becomes empty. + /// Transmit FIFO full This is a hardware status flag only, does not generate an interrupt. This bit is cleared when one FIFO location becomes empty. TXFIFOF: u1, - /// Receive FIFO full This bit is cleared when one FIFO location becomes empty. + /// Receive FIFO full This bit is cleared when one FIFO location becomes empty. RXFIFOF: u1, - /// Transmit FIFO empty This bit is cleared when one FIFO location becomes full. + /// Transmit FIFO empty This bit is cleared when one FIFO location becomes full. TXFIFOE: u1, - /// Receive FIFO empty This is a hardware status flag only, does not generate an interrupt. This bit is cleared when one FIFO location becomes full. + /// Receive FIFO empty This is a hardware status flag only, does not generate an interrupt. This bit is cleared when one FIFO location becomes full. RXFIFOE: u1, - /// Inverted value of SDMMC_D0 line (Busy), sampled at the end of a CMD response and a second time 2 SDMMC_CK cycles after the CMD response. This bit is reset to not busy when the SDMMCD0 line changes from busy to not busy. This bit does not signal busy due to data transfer. This is a hardware status flag only, it does not generate an interrupt. + /// Inverted value of SDMMC_D0 line (Busy), sampled at the end of a CMD response and a second time 2 SDMMC_CK cycles after the CMD response. This bit is reset to not busy when the SDMMCD0 line changes from busy to not busy. This bit does not signal busy due to data transfer. This is a hardware status flag only, it does not generate an interrupt. BUSYD0: u1, - /// end of SDMMC_D0 Busy following a CMD response detected. This indicates only end of busy following a CMD response. This bit does not signal busy due to data transfer. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// end of SDMMC_D0 Busy following a CMD response detected. This indicates only end of busy following a CMD response. This bit does not signal busy due to data transfer. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. BUSYD0END: u1, - /// SDIO interrupt received. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// SDIO interrupt received. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. SDIOIT: u1, - /// Boot acknowledgment received (boot acknowledgment check fail). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// Boot acknowledgment received (boot acknowledgment check fail). Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. ACKFAIL: u1, - /// Boot acknowledgment timeout. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// Boot acknowledgment timeout. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. ACKTIMEOUT: u1, - /// Voltage switch critical timing section completion. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// Voltage switch critical timing section completion. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. VSWEND: u1, - /// SDMMC_CK stopped in Voltage switch procedure. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// SDMMC_CK stopped in Voltage switch procedure. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. CKSTOP: u1, - /// IDMA transfer error. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// IDMA transfer error. Interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. IDMATE: u1, - /// IDMA buffer transfer complete. interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. + /// IDMA buffer transfer complete. interrupt flag is cleared by writing corresponding interrupt clear bit in SDMMC_ICR. IDMABTC: u1, padding: u3, }), - /// The SDMMC_ICR register is a write-only register. Writing a bit with 1 clears the corresponding bit in the SDMMC_STAR status register. + /// The SDMMC_ICR register is a write-only register. Writing a bit with 1 clears the corresponding bit in the SDMMC_STAR status register. ICR: mmio.Mmio(packed struct(u32) { - /// CCRCFAIL flag clear bit Set by software to clear the CCRCFAIL flag. + /// CCRCFAIL flag clear bit Set by software to clear the CCRCFAIL flag. CCRCFAILC: u1, - /// DCRCFAIL flag clear bit Set by software to clear the DCRCFAIL flag. + /// DCRCFAIL flag clear bit Set by software to clear the DCRCFAIL flag. DCRCFAILC: u1, - /// CTIMEOUT flag clear bit Set by software to clear the CTIMEOUT flag. + /// CTIMEOUT flag clear bit Set by software to clear the CTIMEOUT flag. CTIMEOUTC: u1, - /// DTIMEOUT flag clear bit Set by software to clear the DTIMEOUT flag. + /// DTIMEOUT flag clear bit Set by software to clear the DTIMEOUT flag. DTIMEOUTC: u1, - /// TXUNDERR flag clear bit Set by software to clear TXUNDERR flag. + /// TXUNDERR flag clear bit Set by software to clear TXUNDERR flag. TXUNDERRC: u1, - /// RXOVERR flag clear bit Set by software to clear the RXOVERR flag. + /// RXOVERR flag clear bit Set by software to clear the RXOVERR flag. RXOVERRC: u1, - /// CMDREND flag clear bit Set by software to clear the CMDREND flag. + /// CMDREND flag clear bit Set by software to clear the CMDREND flag. CMDRENDC: u1, - /// CMDSENT flag clear bit Set by software to clear the CMDSENT flag. + /// CMDSENT flag clear bit Set by software to clear the CMDSENT flag. CMDSENTC: u1, - /// DATAEND flag clear bit Set by software to clear the DATAEND flag. + /// DATAEND flag clear bit Set by software to clear the DATAEND flag. DATAENDC: u1, - /// DHOLD flag clear bit Set by software to clear the DHOLD flag. + /// DHOLD flag clear bit Set by software to clear the DHOLD flag. DHOLDC: u1, - /// DBCKEND flag clear bit Set by software to clear the DBCKEND flag. + /// DBCKEND flag clear bit Set by software to clear the DBCKEND flag. DBCKENDC: u1, - /// DABORT flag clear bit Set by software to clear the DABORT flag. + /// DABORT flag clear bit Set by software to clear the DABORT flag. DABORTC: u1, reserved21: u9, - /// BUSYD0END flag clear bit Set by software to clear the BUSYD0END flag. + /// BUSYD0END flag clear bit Set by software to clear the BUSYD0END flag. BUSYD0ENDC: u1, - /// SDIOIT flag clear bit Set by software to clear the SDIOIT flag. + /// SDIOIT flag clear bit Set by software to clear the SDIOIT flag. SDIOITC: u1, - /// ACKFAIL flag clear bit Set by software to clear the ACKFAIL flag. + /// ACKFAIL flag clear bit Set by software to clear the ACKFAIL flag. ACKFAILC: u1, - /// ACKTIMEOUT flag clear bit Set by software to clear the ACKTIMEOUT flag. + /// ACKTIMEOUT flag clear bit Set by software to clear the ACKTIMEOUT flag. ACKTIMEOUTC: u1, - /// VSWEND flag clear bit Set by software to clear the VSWEND flag. + /// VSWEND flag clear bit Set by software to clear the VSWEND flag. VSWENDC: u1, - /// CKSTOP flag clear bit Set by software to clear the CKSTOP flag. + /// CKSTOP flag clear bit Set by software to clear the CKSTOP flag. CKSTOPC: u1, - /// IDMA transfer error clear bit Set by software to clear the IDMATE flag. + /// IDMA transfer error clear bit Set by software to clear the IDMATE flag. IDMATEC: u1, - /// IDMA buffer transfer complete clear bit Set by software to clear the IDMABTC flag. + /// IDMA buffer transfer complete clear bit Set by software to clear the IDMABTC flag. IDMABTCC: u1, padding: u3, }), - /// The interrupt mask register determines which status flags generate an interrupt request by setting the corresponding bit to 1. + /// The interrupt mask register determines which status flags generate an interrupt request by setting the corresponding bit to 1. MASKR: mmio.Mmio(packed struct(u32) { - /// Command CRC fail interrupt enable Set and cleared by software to enable/disable interrupt caused by command CRC failure. + /// Command CRC fail interrupt enable Set and cleared by software to enable/disable interrupt caused by command CRC failure. CCRCFAILIE: u1, - /// Data CRC fail interrupt enable Set and cleared by software to enable/disable interrupt caused by data CRC failure. + /// Data CRC fail interrupt enable Set and cleared by software to enable/disable interrupt caused by data CRC failure. DCRCFAILIE: u1, - /// Command timeout interrupt enable Set and cleared by software to enable/disable interrupt caused by command timeout. + /// Command timeout interrupt enable Set and cleared by software to enable/disable interrupt caused by command timeout. CTIMEOUTIE: u1, - /// Data timeout interrupt enable Set and cleared by software to enable/disable interrupt caused by data timeout. + /// Data timeout interrupt enable Set and cleared by software to enable/disable interrupt caused by data timeout. DTIMEOUTIE: u1, - /// Tx FIFO underrun error interrupt enable Set and cleared by software to enable/disable interrupt caused by Tx FIFO underrun error. + /// Tx FIFO underrun error interrupt enable Set and cleared by software to enable/disable interrupt caused by Tx FIFO underrun error. TXUNDERRIE: u1, - /// Rx FIFO overrun error interrupt enable Set and cleared by software to enable/disable interrupt caused by Rx FIFO overrun error. + /// Rx FIFO overrun error interrupt enable Set and cleared by software to enable/disable interrupt caused by Rx FIFO overrun error. RXOVERRIE: u1, - /// Command response received interrupt enable Set and cleared by software to enable/disable interrupt caused by receiving command response. + /// Command response received interrupt enable Set and cleared by software to enable/disable interrupt caused by receiving command response. CMDRENDIE: u1, - /// Command sent interrupt enable Set and cleared by software to enable/disable interrupt caused by sending command. + /// Command sent interrupt enable Set and cleared by software to enable/disable interrupt caused by sending command. CMDSENTIE: u1, - /// Data end interrupt enable Set and cleared by software to enable/disable interrupt caused by data end. + /// Data end interrupt enable Set and cleared by software to enable/disable interrupt caused by data end. DATAENDIE: u1, - /// Data hold interrupt enable Set and cleared by software to enable/disable the interrupt generated when sending new data is hold in the DPSM Wait_S state. + /// Data hold interrupt enable Set and cleared by software to enable/disable the interrupt generated when sending new data is hold in the DPSM Wait_S state. DHOLDIE: u1, - /// Data block end interrupt enable Set and cleared by software to enable/disable interrupt caused by data block end. + /// Data block end interrupt enable Set and cleared by software to enable/disable interrupt caused by data block end. DBCKENDIE: u1, - /// Data transfer aborted interrupt enable Set and cleared by software to enable/disable interrupt caused by a data transfer being aborted. + /// Data transfer aborted interrupt enable Set and cleared by software to enable/disable interrupt caused by a data transfer being aborted. DABORTIE: u1, reserved14: u2, - /// Tx FIFO half empty interrupt enable Set and cleared by software to enable/disable interrupt caused by Tx FIFO half empty. + /// Tx FIFO half empty interrupt enable Set and cleared by software to enable/disable interrupt caused by Tx FIFO half empty. TXFIFOHEIE: u1, - /// Rx FIFO half full interrupt enable Set and cleared by software to enable/disable interrupt caused by Rx FIFO half full. + /// Rx FIFO half full interrupt enable Set and cleared by software to enable/disable interrupt caused by Rx FIFO half full. RXFIFOHFIE: u1, reserved17: u1, - /// Rx FIFO full interrupt enable Set and cleared by software to enable/disable interrupt caused by Rx FIFO full. + /// Rx FIFO full interrupt enable Set and cleared by software to enable/disable interrupt caused by Rx FIFO full. RXFIFOFIE: u1, - /// Tx FIFO empty interrupt enable Set and cleared by software to enable/disable interrupt caused by Tx FIFO empty. + /// Tx FIFO empty interrupt enable Set and cleared by software to enable/disable interrupt caused by Tx FIFO empty. TXFIFOEIE: u1, reserved21: u2, - /// BUSYD0END interrupt enable Set and cleared by software to enable/disable the interrupt generated when SDMMC_D0 signal changes from busy to NOT busy following a CMD response. + /// BUSYD0END interrupt enable Set and cleared by software to enable/disable the interrupt generated when SDMMC_D0 signal changes from busy to NOT busy following a CMD response. BUSYD0ENDIE: u1, - /// SDIO mode interrupt received interrupt enable Set and cleared by software to enable/disable the interrupt generated when receiving the SDIO mode interrupt. + /// SDIO mode interrupt received interrupt enable Set and cleared by software to enable/disable the interrupt generated when receiving the SDIO mode interrupt. SDIOITIE: u1, - /// Acknowledgment Fail interrupt enable Set and cleared by software to enable/disable interrupt caused by acknowledgment Fail. + /// Acknowledgment Fail interrupt enable Set and cleared by software to enable/disable interrupt caused by acknowledgment Fail. ACKFAILIE: u1, - /// Acknowledgment timeout interrupt enable Set and cleared by software to enable/disable interrupt caused by acknowledgment timeout. + /// Acknowledgment timeout interrupt enable Set and cleared by software to enable/disable interrupt caused by acknowledgment timeout. ACKTIMEOUTIE: u1, - /// Voltage switch critical timing section completion interrupt enable Set and cleared by software to enable/disable the interrupt generated when voltage switch critical timing section completion. + /// Voltage switch critical timing section completion interrupt enable Set and cleared by software to enable/disable the interrupt generated when voltage switch critical timing section completion. VSWENDIE: u1, - /// Voltage Switch clock stopped interrupt enable Set and cleared by software to enable/disable interrupt caused by Voltage Switch clock stopped. + /// Voltage Switch clock stopped interrupt enable Set and cleared by software to enable/disable interrupt caused by Voltage Switch clock stopped. CKSTOPIE: u1, reserved28: u1, - /// IDMA buffer transfer complete interrupt enable Set and cleared by software to enable/disable the interrupt generated when the IDMA has transferred all data belonging to a memory buffer. + /// IDMA buffer transfer complete interrupt enable Set and cleared by software to enable/disable the interrupt generated when the IDMA has transferred all data belonging to a memory buffer. IDMABTCIE: u1, padding: u3, }), - /// The SDMMC_ACKTIMER register contains the acknowledgment timeout period, in SDMMC_CK bus clock periods. A counter loads the value from the SDMMC_ACKTIMER register, and starts decrementing when the data path state machine (DPSM) enters the Wait_Ack state. If the timer reaches 0 while the DPSM is in this states, the acknowledgment timeout status flag is set. + /// The SDMMC_ACKTIMER register contains the acknowledgment timeout period, in SDMMC_CK bus clock periods. A counter loads the value from the SDMMC_ACKTIMER register, and starts decrementing when the data path state machine (DPSM) enters the Wait_Ack state. If the timer reaches 0 while the DPSM is in this states, the acknowledgment timeout status flag is set. ACKTIMER: mmio.Mmio(packed struct(u32) { - /// Boot acknowledgment timeout period This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). Boot acknowledgment timeout period expressed in card bus clock periods. + /// Boot acknowledgment timeout period This bit can only be written by firmware when CPSM is disabled (CPSMEN = 0). Boot acknowledgment timeout period expressed in card bus clock periods. ACKTIME: u25, padding: u7, }), reserved80: [12]u8, - /// The receive and transmit FIFOs can be read or written as 32-bit wide registers. The FIFOs contain 32 entries on 32 sequential addresses. This allows the CPU to use its load and store multiple operands to read from/write to the FIFO. + /// The receive and transmit FIFOs can be read or written as 32-bit wide registers. The FIFOs contain 32 entries on 32 sequential addresses. This allows the CPU to use its load and store multiple operands to read from/write to the FIFO. IDMACTRLR: mmio.Mmio(packed struct(u32) { - /// IDMA enable This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). + /// IDMA enable This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). IDMAEN: u1, - /// Buffer mode selection. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). + /// Buffer mode selection. This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). IDMABMODE: u1, - /// Double buffer mode active buffer indication This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). When IDMA is enabled this bit is toggled by hardware. + /// Double buffer mode active buffer indication This bit can only be written by firmware when DPSM is inactive (DPSMACT = 0). When IDMA is enabled this bit is toggled by hardware. IDMABACT: u1, padding: u29, }), - /// The SDMMC_IDMABSIZER register contains the buffers size when in double buffer configuration. + /// The SDMMC_IDMABSIZER register contains the buffers size when in double buffer configuration. IDMABSIZER: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// Number of transfers per buffer. This 8-bit value shall be multiplied by 8 to get the size of the buffer in 32-bit words and by 32 to get the size of the buffer in bytes. Example: IDMABNDT = 0x01: buffer size = 8 words = 32 bytes. These bits can only be written by firmware when DPSM is inactive (DPSMACT = 0). + /// Number of transfers per buffer. This 8-bit value shall be multiplied by 8 to get the size of the buffer in 32-bit words and by 32 to get the size of the buffer in bytes. Example: IDMABNDT = 0x01: buffer size = 8 words = 32 bytes. These bits can only be written by firmware when DPSM is inactive (DPSMACT = 0). IDMABNDT: u8, padding: u19, }), - /// The SDMMC_IDMABASE0R register contains the memory buffer base address in single buffer configuration and the buffer 0 base address in double buffer configuration. + /// The SDMMC_IDMABASE0R register contains the memory buffer base address in single buffer configuration and the buffer 0 base address in double buffer configuration. IDMABASE0R: mmio.Mmio(packed struct(u32) { - /// Buffer 0 memory base address bits [31:2], shall be word aligned (bit [1:0] are always 0 and read only). This register can be written by firmware when DPSM is inactive (DPSMACT = 0), and can dynamically be written by firmware when DPSM active (DPSMACT = 1) and memory buffer 0 is inactive (IDMABACT = 1). + /// Buffer 0 memory base address bits [31:2], shall be word aligned (bit [1:0] are always 0 and read only). This register can be written by firmware when DPSM is inactive (DPSMACT = 0), and can dynamically be written by firmware when DPSM active (DPSMACT = 1) and memory buffer 0 is inactive (IDMABACT = 1). IDMABASE0: u32, }), - /// The SDMMC_IDMABASE1R register contains the double buffer configuration second buffer memory base address. + /// The SDMMC_IDMABASE1R register contains the double buffer configuration second buffer memory base address. IDMABASE1R: mmio.Mmio(packed struct(u32) { - /// Buffer 1 memory base address, shall be word aligned (bit [1:0] are always 0 and read only). This register can be written by firmware when DPSM is inactive (DPSMACT = 0), and can dynamically be written by firmware when DPSM active (DPSMACT = 1) and memory buffer 1 is inactive (IDMABACT = 0). + /// Buffer 1 memory base address, shall be word aligned (bit [1:0] are always 0 and read only). This register can be written by firmware when DPSM is inactive (DPSMACT = 0), and can dynamically be written by firmware when DPSM active (DPSMACT = 1) and memory buffer 1 is inactive (IDMABACT = 0). IDMABASE1: u32, }), reserved128: [32]u8, - /// The receive and transmit FIFOs can be only read or written as word (32-bit) wide registers. The FIFOs contain 16 entries on sequential addresses. This allows the CPU to use its load and store multiple operands to read from/write to the FIFO.When accessing SDMMC_FIFOR with half word or byte access an AHB bus fault is generated. + /// The receive and transmit FIFOs can be only read or written as word (32-bit) wide registers. The FIFOs contain 16 entries on sequential addresses. This allows the CPU to use its load and store multiple operands to read from/write to the FIFO.When accessing SDMMC_FIFOR with half word or byte access an AHB bus fault is generated. FIFOR: mmio.Mmio(packed struct(u32) { - /// Receive and transmit FIFO data This register can only be read or written by firmware when the DPSM is active (DPSMACT=1). The FIFO data occupies 16 entries of 32-bit words. + /// Receive and transmit FIFO data This register can only be read or written by firmware when the DPSM is active (DPSMACT=1). The FIFO data occupies 16 entries of 32-bit words. FIFODATA: u32, }), reserved1012: [880]u8, - /// SDMMC IP version register + /// SDMMC IP version register VER: mmio.Mmio(packed struct(u32) { - /// IP minor revision number. + /// IP minor revision number. MINREV: u4, - /// IP major revision number. + /// IP major revision number. MAJREV: u4, padding: u24, }), - /// SDMMC IP identification register + /// SDMMC IP identification register ID: mmio.Mmio(packed struct(u32) { - /// SDMMC IP identification. + /// SDMMC IP identification. IP_ID: u32, }), }; }; pub const spdifrx_h7 = struct { - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX = extern struct { - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Peripheral Block Enable + /// Peripheral Block Enable SPDIFEN: u2, - /// Receiver DMA ENable for data flow + /// Receiver DMA ENable for data flow RXDMAEN: u1, - /// STerEO Mode + /// STerEO Mode RXSTEO: u1, - /// RX Data format + /// RX Data format DRFMT: u2, - /// Mask Parity error bit + /// Mask Parity error bit PMSK: u1, - /// Mask of Validity bit + /// Mask of Validity bit VMSK: u1, - /// Mask of channel status and user bits + /// Mask of channel status and user bits CUMSK: u1, - /// Mask of Preamble Type bits + /// Mask of Preamble Type bits PTMSK: u1, - /// Control Buffer DMA ENable for control flow + /// Control Buffer DMA ENable for control flow CBDMAEN: u1, - /// Channel Selection + /// Channel Selection CHSEL: u1, - /// Maximum allowed re-tries during synchronization phase + /// Maximum allowed re-tries during synchronization phase NBTR: u2, - /// Wait For Activity + /// Wait For Activity WFA: u1, reserved16: u1, - /// input selection + /// input selection INSEL: u3, reserved20: u1, - /// Symbol Clock Enable + /// Symbol Clock Enable CKSEN: u1, - /// Backup Symbol Clock Enable + /// Backup Symbol Clock Enable CKSBKPEN: u1, padding: u10, }), - /// Interrupt mask register + /// Interrupt mask register IMR: mmio.Mmio(packed struct(u32) { - /// RXNE interrupt enable + /// RXNE interrupt enable RXNEIE: u1, - /// Control Buffer Ready Interrupt Enable + /// Control Buffer Ready Interrupt Enable CSRNEIE: u1, - /// Parity error interrupt enable + /// Parity error interrupt enable PERRIE: u1, - /// Overrun error Interrupt Enable + /// Overrun error Interrupt Enable OVRIE: u1, - /// Synchronization Block Detected Interrupt Enable + /// Synchronization Block Detected Interrupt Enable SBLKIE: u1, - /// Synchronization Done + /// Synchronization Done SYNCDIE: u1, - /// Serial Interface Error Interrupt Enable + /// Serial Interface Error Interrupt Enable IFEIE: u1, padding: u25, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Read data register not empty + /// Read data register not empty RXNE: u1, - /// Control Buffer register is not empty + /// Control Buffer register is not empty CSRNE: u1, - /// Parity error + /// Parity error PERR: u1, - /// Overrun error + /// Overrun error OVR: u1, - /// Synchronization Block Detected + /// Synchronization Block Detected SBD: u1, - /// Synchronization Done + /// Synchronization Done SYNCD: u1, - /// Framing error + /// Framing error FERR: u1, - /// Synchronization error + /// Synchronization error SERR: u1, - /// Time-out error + /// Time-out error TERR: u1, reserved16: u7, - /// Duration of 5 symbols counted with SPDIF_CLK + /// Duration of 5 symbols counted with SPDIF_CLK WIDTH: u15, padding: u1, }), - /// Interrupt Flag Clear register + /// Interrupt Flag Clear register IFCR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Clears the Parity error flag + /// Clears the Parity error flag PERRCF: u1, - /// Clears the Overrun error flag + /// Clears the Overrun error flag OVRCF: u1, - /// Clears the Synchronization Block Detected flag + /// Clears the Synchronization Block Detected flag SBDCF: u1, - /// Clears the Synchronization Done flag + /// Clears the Synchronization Done flag SYNCDCF: u1, padding: u26, }), - /// Data input register + /// Data input register FMT0_DR: mmio.Mmio(packed struct(u32) { - /// Parity Error bit + /// Parity Error bit DR: u24, - /// Parity Error bit + /// Parity Error bit PE: u1, - /// Validity bit + /// Validity bit V: u1, - /// User bit + /// User bit U: u1, - /// Channel Status bit + /// Channel Status bit C: u1, - /// Preamble Type + /// Preamble Type PT: u2, padding: u2, }), - /// Channel Status register + /// Channel Status register CSR: mmio.Mmio(packed struct(u32) { - /// User data information + /// User data information USR: u16, - /// Channel A status information + /// Channel A status information CS: u8, - /// Start Of Block + /// Start Of Block SOB: u1, padding: u7, }), - /// Debug Information register + /// Debug Information register DIR: mmio.Mmio(packed struct(u32) { - /// Threshold HIGH + /// Threshold HIGH THI: u13, reserved16: u3, - /// Threshold LOW + /// Threshold LOW TLO: u13, padding: u3, }), @@ -425570,127 +415844,127 @@ pub const types = struct { }; pub const spdifrx_v1 = struct { - /// Receiver Interface + /// Receiver Interface pub const SPDIFRX = extern struct { - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// Peripheral Block Enable + /// Peripheral Block Enable SPDIFEN: u2, - /// Receiver DMA ENable for data flow + /// Receiver DMA ENable for data flow RXDMAEN: u1, - /// STerEO Mode + /// STerEO Mode RXSTEO: u1, - /// RX Data format + /// RX Data format DRFMT: u2, - /// Mask Parity error bit + /// Mask Parity error bit PMSK: u1, - /// Mask of Validity bit + /// Mask of Validity bit VMSK: u1, - /// Mask of channel status and user bits + /// Mask of channel status and user bits CUMSK: u1, - /// Mask of Preamble Type bits + /// Mask of Preamble Type bits PTMSK: u1, - /// Control Buffer DMA ENable for control flow + /// Control Buffer DMA ENable for control flow CBDMAEN: u1, - /// Channel Selection + /// Channel Selection CHSEL: u1, - /// Maximum allowed re-tries during synchronization phase + /// Maximum allowed re-tries during synchronization phase NBTR: u2, - /// Wait For Activity + /// Wait For Activity WFA: u1, reserved16: u1, - /// input selection + /// input selection INSEL: u3, padding: u13, }), - /// Interrupt mask register + /// Interrupt mask register IMR: mmio.Mmio(packed struct(u32) { - /// RXNE interrupt enable + /// RXNE interrupt enable RXNEIE: u1, - /// Control Buffer Ready Interrupt Enable + /// Control Buffer Ready Interrupt Enable CSRNEIE: u1, - /// Parity error interrupt enable + /// Parity error interrupt enable PERRIE: u1, - /// Overrun error Interrupt Enable + /// Overrun error Interrupt Enable OVRIE: u1, - /// Synchronization Block Detected Interrupt Enable + /// Synchronization Block Detected Interrupt Enable SBLKIE: u1, - /// Synchronization Done + /// Synchronization Done SYNCDIE: u1, - /// Serial Interface Error Interrupt Enable + /// Serial Interface Error Interrupt Enable IFEIE: u1, padding: u25, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Read data register not empty + /// Read data register not empty RXNE: u1, - /// Control Buffer register is not empty + /// Control Buffer register is not empty CSRNE: u1, - /// Parity error + /// Parity error PERR: u1, - /// Overrun error + /// Overrun error OVR: u1, - /// Synchronization Block Detected + /// Synchronization Block Detected SBD: u1, - /// Synchronization Done + /// Synchronization Done SYNCD: u1, - /// Framing error + /// Framing error FERR: u1, - /// Synchronization error + /// Synchronization error SERR: u1, - /// Time-out error + /// Time-out error TERR: u1, reserved16: u7, - /// Duration of 5 symbols counted with SPDIF_CLK + /// Duration of 5 symbols counted with SPDIF_CLK WIDTH: u15, padding: u1, }), - /// Interrupt Flag Clear register + /// Interrupt Flag Clear register IFCR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Clears the Parity error flag + /// Clears the Parity error flag PERRCF: u1, - /// Clears the Overrun error flag + /// Clears the Overrun error flag OVRCF: u1, - /// Clears the Synchronization Block Detected flag + /// Clears the Synchronization Block Detected flag SBDCF: u1, - /// Clears the Synchronization Done flag + /// Clears the Synchronization Done flag SYNCDCF: u1, padding: u26, }), - /// Data input register + /// Data input register DR: mmio.Mmio(packed struct(u32) { - /// Parity Error bit + /// Parity Error bit DR: u24, - /// Parity Error bit + /// Parity Error bit PE: u1, - /// Validity bit + /// Validity bit V: u1, - /// User bit + /// User bit U: u1, - /// Channel Status bit + /// Channel Status bit C: u1, - /// Preamble Type + /// Preamble Type PT: u2, padding: u2, }), - /// Channel Status register + /// Channel Status register CSR: mmio.Mmio(packed struct(u32) { - /// User data information + /// User data information USR: u16, - /// Channel A status information + /// Channel A status information CS: u8, - /// Start Of Block + /// Start Of Block SOB: u1, padding: u7, }), - /// Debug Information register + /// Debug Information register DIR: mmio.Mmio(packed struct(u32) { - /// Threshold HIGH + /// Threshold HIGH THI: u13, reserved16: u3, - /// Threshold LOW + /// Threshold LOW TLO: u13, padding: u3, }), @@ -425699,331 +415973,277 @@ pub const types = struct { pub const spi_f1 = struct { pub const BIDIMODE = enum(u1) { - /// 2-line unidirectional data mode selected + /// 2-line unidirectional data mode selected Unidirectional = 0x0, - /// 1-line bidirectional data mode selected + /// 1-line bidirectional data mode selected Bidirectional = 0x1, }; pub const BIDIOE = enum(u1) { - /// Output disabled (receive-only mode) + /// Output disabled (receive-only mode) Receive = 0x0, - /// Output enabled (transmit-only mode) + /// Output enabled (transmit-only mode) Transmit = 0x1, }; pub const BR = enum(u3) { - /// f_PCLK / 2 + /// f_PCLK / 2 Div2 = 0x0, - /// f_PCLK / 4 + /// f_PCLK / 4 Div4 = 0x1, - /// f_PCLK / 8 + /// f_PCLK / 8 Div8 = 0x2, - /// f_PCLK / 16 + /// f_PCLK / 16 Div16 = 0x3, - /// f_PCLK / 32 + /// f_PCLK / 32 Div32 = 0x4, - /// f_PCLK / 64 + /// f_PCLK / 64 Div64 = 0x5, - /// f_PCLK / 128 + /// f_PCLK / 128 Div128 = 0x6, - /// f_PCLK / 256 + /// f_PCLK / 256 Div256 = 0x7, }; pub const CHLEN = enum(u1) { - /// 16-bit wide + /// 16-bit wide Bits16 = 0x0, - /// 32-bit wide + /// 32-bit wide Bits32 = 0x1, }; pub const CHSIDE = enum(u1) { - /// Channel left has to be transmitted or has been received + /// Channel left has to be transmitted or has been received Left = 0x0, - /// Channel right has to be transmitted or has been received + /// Channel right has to be transmitted or has been received Right = 0x1, }; pub const CKPOL = enum(u1) { - /// I2S clock inactive state is low level + /// I2S clock inactive state is low level IdleLow = 0x0, - /// I2S clock inactive state is high level + /// I2S clock inactive state is high level IdleHigh = 0x1, }; pub const CPHA = enum(u1) { - /// The first clock transition is the first data capture edge + /// The first clock transition is the first data capture edge FirstEdge = 0x0, - /// The second clock transition is the first data capture edge + /// The second clock transition is the first data capture edge SecondEdge = 0x1, }; pub const CPOL = enum(u1) { - /// CK to 0 when idle + /// CK to 0 when idle IdleLow = 0x0, - /// CK to 1 when idle + /// CK to 1 when idle IdleHigh = 0x1, }; pub const CRCNEXT = enum(u1) { - /// Next transmit value is from Tx buffer + /// Next transmit value is from Tx buffer TxBuffer = 0x0, - /// Next transmit value is from Tx CRC register + /// Next transmit value is from Tx CRC register CRC = 0x1, }; pub const DATLEN = enum(u2) { - /// 16-bit data length + /// 16-bit data length Bits16 = 0x0, - /// 24-bit data length + /// 24-bit data length Bits24 = 0x1, - /// 32-bit data length + /// 32-bit data length Bits32 = 0x2, _, }; pub const DFF = enum(u1) { - /// 8-bit data frame format is selected for transmission/reception + /// 8-bit data frame format is selected for transmission/reception Bits8 = 0x0, - /// 16-bit data frame format is selected for transmission/reception + /// 16-bit data frame format is selected for transmission/reception Bits16 = 0x1, }; pub const I2SCFG = enum(u2) { - /// Slave - transmit + /// Slave - transmit SlaveTx = 0x0, - /// Slave - receive + /// Slave - receive SlaveRx = 0x1, - /// Master - transmit + /// Master - transmit MasterTx = 0x2, - /// Master - receive + /// Master - receive MasterRx = 0x3, }; pub const I2SSTD = enum(u2) { - /// I2S Philips standard + /// I2S Philips standard Philips = 0x0, - /// MSB justified standard + /// MSB justified standard MSB = 0x1, - /// LSB justified standard + /// LSB justified standard LSB = 0x2, - /// PCM standard + /// PCM standard PCM = 0x3, }; pub const LSBFIRST = enum(u1) { - /// Data is transmitted/received with the MSB first + /// Data is transmitted/received with the MSB first MSBFirst = 0x0, - /// Data is transmitted/received with the LSB first + /// Data is transmitted/received with the LSB first LSBFirst = 0x1, }; pub const MSTR = enum(u1) { - /// Slave configuration + /// Slave configuration Slave = 0x0, - /// Master configuration + /// Master configuration Master = 0x1, }; pub const ODD = enum(u1) { - /// Real divider value is I2SDIV * 2 + /// Real divider value is I2SDIV * 2 Even = 0x0, - /// Real divider value is (I2SDIV * 2) + 1 + /// Real divider value is (I2SDIV * 2) + 1 Odd = 0x1, }; pub const PCMSYNC = enum(u1) { - /// Short frame synchronisation + /// Short frame synchronisation Short = 0x0, - /// Long frame synchronisation + /// Long frame synchronisation Long = 0x1, }; pub const RXONLY = enum(u1) { - /// Full duplex (Transmit and receive) + /// Full duplex (Transmit and receive) FullDuplex = 0x0, - /// Output disabled (Receive-only mode) + /// Output disabled (Receive-only mode) OutputDisabled = 0x1, }; - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Clock phase - CPHA: packed union { - raw: u1, - value: CPHA, - }, - /// Clock polarity - CPOL: packed union { - raw: u1, - value: CPOL, - }, - /// Master selection - MSTR: packed union { - raw: u1, - value: MSTR, - }, - /// Baud rate control - BR: packed union { - raw: u3, - value: BR, - }, - /// SPI enable + /// Clock phase + CPHA: CPHA, + /// Clock polarity + CPOL: CPOL, + /// Master selection + MSTR: MSTR, + /// Baud rate control + BR: BR, + /// SPI enable SPE: u1, - /// Frame format - LSBFIRST: packed union { - raw: u1, - value: LSBFIRST, - }, - /// Internal slave select + /// Frame format + LSBFIRST: LSBFIRST, + /// Internal slave select SSI: u1, - /// Software slave management + /// Software slave management SSM: u1, - /// Receive only - RXONLY: packed union { - raw: u1, - value: RXONLY, - }, - /// Data frame format - DFF: packed union { - raw: u1, - value: DFF, - }, - /// CRC transfer next - CRCNEXT: packed union { - raw: u1, - value: CRCNEXT, - }, - /// Hardware CRC calculation enable + /// Receive only + RXONLY: RXONLY, + /// Data frame format + DFF: DFF, + /// CRC transfer next + CRCNEXT: CRCNEXT, + /// Hardware CRC calculation enable CRCEN: u1, - /// Select the direction of transfer in bidirectional mode - BIDIOE: packed union { - raw: u1, - value: BIDIOE, - }, - /// Bidirectional data mode enable - BIDIMODE: packed union { - raw: u1, - value: BIDIMODE, - }, + /// Select the direction of transfer in bidirectional mode + BIDIOE: BIDIOE, + /// Bidirectional data mode enable + BIDIMODE: BIDIMODE, padding: u16, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Rx buffer DMA enable + /// Rx buffer DMA enable RXDMAEN: u1, - /// Tx buffer DMA enable + /// Tx buffer DMA enable TXDMAEN: u1, - /// SS output enable + /// SS output enable SSOE: u1, reserved5: u2, - /// Error interrupt enable + /// Error interrupt enable ERRIE: u1, - /// RX buffer not empty interrupt enable + /// RX buffer not empty interrupt enable RXNEIE: u1, - /// Tx buffer empty interrupt enable + /// Tx buffer empty interrupt enable TXEIE: u1, padding: u24, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Receive buffer not empty + /// Receive buffer not empty RXNE: u1, - /// Transmit buffer empty + /// Transmit buffer empty TXE: u1, - /// Channel side - CHSIDE: packed union { - raw: u1, - value: CHSIDE, - }, - /// Underrun flag + /// Channel side + CHSIDE: CHSIDE, + /// Underrun flag UDR: u1, - /// CRC error flag + /// CRC error flag CRCERR: u1, - /// Mode fault + /// Mode fault MODF: u1, - /// Overrun flag + /// Overrun flag OVR: u1, - /// Busy flag + /// Busy flag BSY: u1, padding: u24, }), - /// data register + /// data register DR: mmio.Mmio(packed struct(u32) { - /// Data register + /// Data register DR: u16, padding: u16, }), - /// CRC polynomial register + /// CRC polynomial register CRCPR: mmio.Mmio(packed struct(u32) { - /// CRC polynomial register + /// CRC polynomial register CRCPOLY: u16, padding: u16, }), - /// RX CRC register + /// RX CRC register RXCRCR: mmio.Mmio(packed struct(u32) { - /// Rx CRC register + /// Rx CRC register RxCRC: u16, padding: u16, }), - /// TX CRC register + /// TX CRC register TXCRCR: mmio.Mmio(packed struct(u32) { - /// Tx CRC register + /// Tx CRC register TxCRC: u16, padding: u16, }), - /// I2S configuration register + /// I2S configuration register I2SCFGR: mmio.Mmio(packed struct(u32) { - /// Channel length (number of bits per audio channel) - CHLEN: packed union { - raw: u1, - value: CHLEN, - }, - /// Data length to be transferred - DATLEN: packed union { - raw: u2, - value: DATLEN, - }, - /// Steady state clock polarity - CKPOL: packed union { - raw: u1, - value: CKPOL, - }, - /// I2S standard selection - I2SSTD: packed union { - raw: u2, - value: I2SSTD, - }, + /// Channel length (number of bits per audio channel) + CHLEN: CHLEN, + /// Data length to be transferred + DATLEN: DATLEN, + /// Steady state clock polarity + CKPOL: CKPOL, + /// I2S standard selection + I2SSTD: I2SSTD, reserved7: u1, - /// PCM frame synchronization - PCMSYNC: packed union { - raw: u1, - value: PCMSYNC, - }, - /// I2S configuration mode - I2SCFG: packed union { - raw: u2, - value: I2SCFG, - }, - /// I2S Enable + /// PCM frame synchronization + PCMSYNC: PCMSYNC, + /// I2S configuration mode + I2SCFG: I2SCFG, + /// I2S Enable I2SE: u1, - /// I2S mode selection + /// I2S mode selection I2SMOD: u1, padding: u20, }), - /// I2S prescaler register + /// I2S prescaler register I2SPR: mmio.Mmio(packed struct(u32) { - /// I2S Linear prescaler + /// I2S Linear prescaler I2SDIV: u8, - /// Odd factor for the prescaler - ODD: packed union { - raw: u1, - value: ODD, - }, - /// Master clock output enable + /// Odd factor for the prescaler + ODD: ODD, + /// Master clock output enable MCKOE: u1, padding: u22, }), @@ -426032,345 +416252,288 @@ pub const types = struct { pub const spi_v1 = struct { pub const BIDIMODE = enum(u1) { - /// 2-line unidirectional data mode selected + /// 2-line unidirectional data mode selected Unidirectional = 0x0, - /// 1-line bidirectional data mode selected + /// 1-line bidirectional data mode selected Bidirectional = 0x1, }; pub const BIDIOE = enum(u1) { - /// Output disabled (receive-only mode) + /// Output disabled (receive-only mode) Receive = 0x0, - /// Output enabled (transmit-only mode) + /// Output enabled (transmit-only mode) Transmit = 0x1, }; pub const BR = enum(u3) { - /// f_PCLK / 2 + /// f_PCLK / 2 Div2 = 0x0, - /// f_PCLK / 4 + /// f_PCLK / 4 Div4 = 0x1, - /// f_PCLK / 8 + /// f_PCLK / 8 Div8 = 0x2, - /// f_PCLK / 16 + /// f_PCLK / 16 Div16 = 0x3, - /// f_PCLK / 32 + /// f_PCLK / 32 Div32 = 0x4, - /// f_PCLK / 64 + /// f_PCLK / 64 Div64 = 0x5, - /// f_PCLK / 128 + /// f_PCLK / 128 Div128 = 0x6, - /// f_PCLK / 256 + /// f_PCLK / 256 Div256 = 0x7, }; pub const CHLEN = enum(u1) { - /// 16-bit wide + /// 16-bit wide Bits16 = 0x0, - /// 32-bit wide + /// 32-bit wide Bits32 = 0x1, }; pub const CHSIDE = enum(u1) { - /// Channel left has to be transmitted or has been received + /// Channel left has to be transmitted or has been received Left = 0x0, - /// Channel right has to be transmitted or has been received + /// Channel right has to be transmitted or has been received Right = 0x1, }; pub const CKPOL = enum(u1) { - /// I2S clock inactive state is low level + /// I2S clock inactive state is low level IdleLow = 0x0, - /// I2S clock inactive state is high level + /// I2S clock inactive state is high level IdleHigh = 0x1, }; pub const CPHA = enum(u1) { - /// The first clock transition is the first data capture edge + /// The first clock transition is the first data capture edge FirstEdge = 0x0, - /// The second clock transition is the first data capture edge + /// The second clock transition is the first data capture edge SecondEdge = 0x1, }; pub const CPOL = enum(u1) { - /// CK to 0 when idle + /// CK to 0 when idle IdleLow = 0x0, - /// CK to 1 when idle + /// CK to 1 when idle IdleHigh = 0x1, }; pub const CRCNEXT = enum(u1) { - /// Next transmit value is from Tx buffer + /// Next transmit value is from Tx buffer TxBuffer = 0x0, - /// Next transmit value is from Tx CRC register + /// Next transmit value is from Tx CRC register CRC = 0x1, }; pub const DATLEN = enum(u2) { - /// 16-bit data length + /// 16-bit data length Bits16 = 0x0, - /// 24-bit data length + /// 24-bit data length Bits24 = 0x1, - /// 32-bit data length + /// 32-bit data length Bits32 = 0x2, _, }; pub const DFF = enum(u1) { - /// 8-bit data frame format is selected for transmission/reception + /// 8-bit data frame format is selected for transmission/reception Bits8 = 0x0, - /// 16-bit data frame format is selected for transmission/reception + /// 16-bit data frame format is selected for transmission/reception Bits16 = 0x1, }; pub const FRF = enum(u1) { - /// SPI Motorola mode + /// SPI Motorola mode Motorola = 0x0, - /// SPI TI mode + /// SPI TI mode TI = 0x1, }; pub const I2SCFG = enum(u2) { - /// Slave - transmit + /// Slave - transmit SlaveTx = 0x0, - /// Slave - receive + /// Slave - receive SlaveRx = 0x1, - /// Master - transmit + /// Master - transmit MasterTx = 0x2, - /// Master - receive + /// Master - receive MasterRx = 0x3, }; pub const I2SSTD = enum(u2) { - /// I2S Philips standard + /// I2S Philips standard Philips = 0x0, - /// MSB justified standard + /// MSB justified standard MSB = 0x1, - /// LSB justified standard + /// LSB justified standard LSB = 0x2, - /// PCM standard + /// PCM standard PCM = 0x3, }; pub const LSBFIRST = enum(u1) { - /// Data is transmitted/received with the MSB first + /// Data is transmitted/received with the MSB first MSBFirst = 0x0, - /// Data is transmitted/received with the LSB first + /// Data is transmitted/received with the LSB first LSBFirst = 0x1, }; pub const MSTR = enum(u1) { - /// Slave configuration + /// Slave configuration Slave = 0x0, - /// Master configuration + /// Master configuration Master = 0x1, }; pub const ODD = enum(u1) { - /// Real divider value is I2SDIV * 2 + /// Real divider value is I2SDIV * 2 Even = 0x0, - /// Real divider value is (I2SDIV * 2) + 1 + /// Real divider value is (I2SDIV * 2) + 1 Odd = 0x1, }; pub const PCMSYNC = enum(u1) { - /// Short frame synchronisation + /// Short frame synchronisation Short = 0x0, - /// Long frame synchronisation + /// Long frame synchronisation Long = 0x1, }; pub const RXONLY = enum(u1) { - /// Full duplex (Transmit and receive) + /// Full duplex (Transmit and receive) FullDuplex = 0x0, - /// Output disabled (Receive-only mode) + /// Output disabled (Receive-only mode) OutputDisabled = 0x1, }; - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Clock phase - CPHA: packed union { - raw: u1, - value: CPHA, - }, - /// Clock polarity - CPOL: packed union { - raw: u1, - value: CPOL, - }, - /// Master selection - MSTR: packed union { - raw: u1, - value: MSTR, - }, - /// Baud rate control - BR: packed union { - raw: u3, - value: BR, - }, - /// SPI enable + /// Clock phase + CPHA: CPHA, + /// Clock polarity + CPOL: CPOL, + /// Master selection + MSTR: MSTR, + /// Baud rate control + BR: BR, + /// SPI enable SPE: u1, - /// Frame format - LSBFIRST: packed union { - raw: u1, - value: LSBFIRST, - }, - /// Internal slave select + /// Frame format + LSBFIRST: LSBFIRST, + /// Internal slave select SSI: u1, - /// Software slave management + /// Software slave management SSM: u1, - /// Receive only - RXONLY: packed union { - raw: u1, - value: RXONLY, - }, - /// Data frame format - DFF: packed union { - raw: u1, - value: DFF, - }, - /// CRC transfer next - CRCNEXT: packed union { - raw: u1, - value: CRCNEXT, - }, - /// Hardware CRC calculation enable + /// Receive only + RXONLY: RXONLY, + /// Data frame format + DFF: DFF, + /// CRC transfer next + CRCNEXT: CRCNEXT, + /// Hardware CRC calculation enable CRCEN: u1, - /// Select the direction of transfer in bidirectional mode - BIDIOE: packed union { - raw: u1, - value: BIDIOE, - }, - /// Bidirectional data mode enable - BIDIMODE: packed union { - raw: u1, - value: BIDIMODE, - }, + /// Select the direction of transfer in bidirectional mode + BIDIOE: BIDIOE, + /// Bidirectional data mode enable + BIDIMODE: BIDIMODE, padding: u16, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Rx buffer DMA enable + /// Rx buffer DMA enable RXDMAEN: u1, - /// Tx buffer DMA enable + /// Tx buffer DMA enable TXDMAEN: u1, - /// SS output enable + /// SS output enable SSOE: u1, reserved4: u1, - /// Frame format - FRF: packed union { - raw: u1, - value: FRF, - }, - /// Error interrupt enable + /// Frame format + FRF: FRF, + /// Error interrupt enable ERRIE: u1, - /// RX buffer not empty interrupt enable + /// RX buffer not empty interrupt enable RXNEIE: u1, - /// Tx buffer empty interrupt enable + /// Tx buffer empty interrupt enable TXEIE: u1, padding: u24, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Receive buffer not empty + /// Receive buffer not empty RXNE: u1, - /// Transmit buffer empty + /// Transmit buffer empty TXE: u1, - /// Channel side - CHSIDE: packed union { - raw: u1, - value: CHSIDE, - }, - /// Underrun flag + /// Channel side + CHSIDE: CHSIDE, + /// Underrun flag UDR: u1, - /// CRC error flag + /// CRC error flag CRCERR: u1, - /// Mode fault + /// Mode fault MODF: u1, - /// Overrun flag + /// Overrun flag OVR: u1, - /// Busy flag + /// Busy flag BSY: u1, - /// TI frame format error + /// TI frame format error FRE: u1, padding: u23, }), - /// data register + /// data register DR: mmio.Mmio(packed struct(u32) { - /// Data register + /// Data register DR: u16, padding: u16, }), - /// CRC polynomial register + /// CRC polynomial register CRCPR: mmio.Mmio(packed struct(u32) { - /// CRC polynomial register + /// CRC polynomial register CRCPOLY: u16, padding: u16, }), - /// RX CRC register + /// RX CRC register RXCRCR: mmio.Mmio(packed struct(u32) { - /// Rx CRC register + /// Rx CRC register RxCRC: u16, padding: u16, }), - /// TX CRC register + /// TX CRC register TXCRCR: mmio.Mmio(packed struct(u32) { - /// Tx CRC register + /// Tx CRC register TxCRC: u16, padding: u16, }), - /// I2S configuration register + /// I2S configuration register I2SCFGR: mmio.Mmio(packed struct(u32) { - /// Channel length (number of bits per audio channel) - CHLEN: packed union { - raw: u1, - value: CHLEN, - }, - /// Data length to be transferred - DATLEN: packed union { - raw: u2, - value: DATLEN, - }, - /// Steady state clock polarity - CKPOL: packed union { - raw: u1, - value: CKPOL, - }, - /// I2S standard selection - I2SSTD: packed union { - raw: u2, - value: I2SSTD, - }, + /// Channel length (number of bits per audio channel) + CHLEN: CHLEN, + /// Data length to be transferred + DATLEN: DATLEN, + /// Steady state clock polarity + CKPOL: CKPOL, + /// I2S standard selection + I2SSTD: I2SSTD, reserved7: u1, - /// PCM frame synchronization - PCMSYNC: packed union { - raw: u1, - value: PCMSYNC, - }, - /// I2S configuration mode - I2SCFG: packed union { - raw: u2, - value: I2SCFG, - }, - /// I2S Enable + /// PCM frame synchronization + PCMSYNC: PCMSYNC, + /// I2S configuration mode + I2SCFG: I2SCFG, + /// I2S Enable I2SE: u1, - /// I2S mode selection + /// I2S mode selection I2SMOD: u1, padding: u20, }), - /// I2S prescaler register + /// I2S prescaler register I2SPR: mmio.Mmio(packed struct(u32) { - /// I2S Linear prescaler + /// I2S Linear prescaler I2SDIV: u8, - /// Odd factor for the prescaler - ODD: packed union { - raw: u1, - value: ODD, - }, - /// Master clock output enable + /// Odd factor for the prescaler + ODD: ODD, + /// Master clock output enable MCKOE: u1, padding: u22, }), @@ -426379,457 +416542,379 @@ pub const types = struct { pub const spi_v2 = struct { pub const BIDIMODE = enum(u1) { - /// 2-line unidirectional data mode selected + /// 2-line unidirectional data mode selected Unidirectional = 0x0, - /// 1-line bidirectional data mode selected + /// 1-line bidirectional data mode selected Bidirectional = 0x1, }; pub const BIDIOE = enum(u1) { - /// Output disabled (receive-only mode) + /// Output disabled (receive-only mode) Receive = 0x0, - /// Output enabled (transmit-only mode) + /// Output enabled (transmit-only mode) Transmit = 0x1, }; pub const BR = enum(u3) { - /// f_PCLK / 2 + /// f_PCLK / 2 Div2 = 0x0, - /// f_PCLK / 4 + /// f_PCLK / 4 Div4 = 0x1, - /// f_PCLK / 8 + /// f_PCLK / 8 Div8 = 0x2, - /// f_PCLK / 16 + /// f_PCLK / 16 Div16 = 0x3, - /// f_PCLK / 32 + /// f_PCLK / 32 Div32 = 0x4, - /// f_PCLK / 64 + /// f_PCLK / 64 Div64 = 0x5, - /// f_PCLK / 128 + /// f_PCLK / 128 Div128 = 0x6, - /// f_PCLK / 256 + /// f_PCLK / 256 Div256 = 0x7, }; pub const CHLEN = enum(u1) { - /// 16-bit wide + /// 16-bit wide Bits16 = 0x0, - /// 32-bit wide + /// 32-bit wide Bits32 = 0x1, }; pub const CHSIDE = enum(u1) { - /// Channel left has to be transmitted or has been received + /// Channel left has to be transmitted or has been received Left = 0x0, - /// Channel right has to be transmitted or has been received + /// Channel right has to be transmitted or has been received Right = 0x1, }; pub const CKPOL = enum(u1) { - /// I2S clock inactive state is low level + /// I2S clock inactive state is low level IdleLow = 0x0, - /// I2S clock inactive state is high level + /// I2S clock inactive state is high level IdleHigh = 0x1, }; pub const CPHA = enum(u1) { - /// The first clock transition is the first data capture edge + /// The first clock transition is the first data capture edge FirstEdge = 0x0, - /// The second clock transition is the first data capture edge + /// The second clock transition is the first data capture edge SecondEdge = 0x1, }; pub const CPOL = enum(u1) { - /// CK to 0 when idle + /// CK to 0 when idle IdleLow = 0x0, - /// CK to 1 when idle + /// CK to 1 when idle IdleHigh = 0x1, }; pub const CRCL = enum(u1) { - /// 8-bit CRC length + /// 8-bit CRC length Bits8 = 0x0, - /// 16-bit CRC length + /// 16-bit CRC length Bits16 = 0x1, }; pub const CRCNEXT = enum(u1) { - /// Next transmit value is from Tx buffer + /// Next transmit value is from Tx buffer TxBuffer = 0x0, - /// Next transmit value is from Tx CRC register + /// Next transmit value is from Tx CRC register CRC = 0x1, }; pub const DATLEN = enum(u2) { - /// 16-bit data length + /// 16-bit data length Bits16 = 0x0, - /// 24-bit data length + /// 24-bit data length Bits24 = 0x1, - /// 32-bit data length + /// 32-bit data length Bits32 = 0x2, _, }; pub const DS = enum(u4) { - /// 4-bit + /// 4-bit Bits4 = 0x3, - /// 5-bit + /// 5-bit Bits5 = 0x4, - /// 6-bit + /// 6-bit Bits6 = 0x5, - /// 7-bit + /// 7-bit Bits7 = 0x6, - /// 8-bit + /// 8-bit Bits8 = 0x7, - /// 9-bit + /// 9-bit Bits9 = 0x8, - /// 10-bit + /// 10-bit Bits10 = 0x9, - /// 11-bit + /// 11-bit Bits11 = 0xa, - /// 12-bit + /// 12-bit Bits12 = 0xb, - /// 13-bit + /// 13-bit Bits13 = 0xc, - /// 14-bit + /// 14-bit Bits14 = 0xd, - /// 15-bit + /// 15-bit Bits15 = 0xe, - /// 16-bit + /// 16-bit Bits16 = 0xf, _, }; pub const FRF = enum(u1) { - /// SPI Motorola mode + /// SPI Motorola mode Motorola = 0x0, - /// SPI TI mode + /// SPI TI mode TI = 0x1, }; pub const FRLVL = enum(u2) { - /// Rx FIFO Empty + /// Rx FIFO Empty Empty = 0x0, - /// Rx 1/4 FIFO + /// Rx 1/4 FIFO Quarter = 0x1, - /// Rx 1/2 FIFO + /// Rx 1/2 FIFO Half = 0x2, - /// Rx FIFO full + /// Rx FIFO full Full = 0x3, }; pub const FRXTH = enum(u1) { - /// RXNE event is generated if the FIFO level is greater than or equal to 1/2 (16-bit) + /// RXNE event is generated if the FIFO level is greater than or equal to 1/2 (16-bit) Half = 0x0, - /// RXNE event is generated if the FIFO level is greater than or equal to 1/4 (8-bit) + /// RXNE event is generated if the FIFO level is greater than or equal to 1/4 (8-bit) Quarter = 0x1, }; pub const FTLVL = enum(u2) { - /// Tx FIFO Empty + /// Tx FIFO Empty Empty = 0x0, - /// Tx 1/4 FIFO + /// Tx 1/4 FIFO Quarter = 0x1, - /// Tx 1/2 FIFO + /// Tx 1/2 FIFO Half = 0x2, - /// Tx FIFO full + /// Tx FIFO full Full = 0x3, }; pub const ISCFG = enum(u2) { - /// Slave - transmit + /// Slave - transmit SlaveTx = 0x0, - /// Slave - receive + /// Slave - receive SlaveRx = 0x1, - /// Master - transmit + /// Master - transmit MasterTx = 0x2, - /// Master - receive + /// Master - receive MasterRx = 0x3, }; pub const ISMOD = enum(u1) { - /// SPI mode is selected + /// SPI mode is selected SPIMode = 0x0, - /// I2S mode is selected + /// I2S mode is selected I2SMode = 0x1, }; pub const ISSTD = enum(u2) { - /// I2S Philips standard + /// I2S Philips standard Philips = 0x0, - /// MSB justified standard + /// MSB justified standard MSB = 0x1, - /// LSB justified standard + /// LSB justified standard LSB = 0x2, - /// PCM standard + /// PCM standard PCM = 0x3, }; pub const LDMA_RX = enum(u1) { - /// Number of data to transfer for receive is even + /// Number of data to transfer for receive is even Even = 0x0, - /// Number of data to transfer for receive is odd + /// Number of data to transfer for receive is odd Odd = 0x1, }; pub const LDMA_TX = enum(u1) { - /// Number of data to transfer for transmit is even + /// Number of data to transfer for transmit is even Even = 0x0, - /// Number of data to transfer for transmit is odd + /// Number of data to transfer for transmit is odd Odd = 0x1, }; pub const LSBFIRST = enum(u1) { - /// Data is transmitted/received with the MSB first + /// Data is transmitted/received with the MSB first MSBFirst = 0x0, - /// Data is transmitted/received with the LSB first + /// Data is transmitted/received with the LSB first LSBFirst = 0x1, }; pub const MSTR = enum(u1) { - /// Slave configuration + /// Slave configuration Slave = 0x0, - /// Master configuration + /// Master configuration Master = 0x1, }; pub const ODD = enum(u1) { - /// Real divider value is I2SDIV * 2 + /// Real divider value is I2SDIV * 2 Even = 0x0, - /// Real divider value is (I2SDIV * 2) + 1 + /// Real divider value is (I2SDIV * 2) + 1 Odd = 0x1, }; pub const PCMSYNC = enum(u1) { - /// Short frame synchronisation + /// Short frame synchronisation Short = 0x0, - /// Long frame synchronisation + /// Long frame synchronisation Long = 0x1, }; pub const RXONLY = enum(u1) { - /// Full duplex (Transmit and receive) + /// Full duplex (Transmit and receive) FullDuplex = 0x0, - /// Output disabled (Receive-only mode) + /// Output disabled (Receive-only mode) OutputDisabled = 0x1, }; - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Clock phase - CPHA: packed union { - raw: u1, - value: CPHA, - }, - /// Clock polarity - CPOL: packed union { - raw: u1, - value: CPOL, - }, - /// Master selection - MSTR: packed union { - raw: u1, - value: MSTR, - }, - /// Baud rate control - BR: packed union { - raw: u3, - value: BR, - }, - /// SPI enable + /// Clock phase + CPHA: CPHA, + /// Clock polarity + CPOL: CPOL, + /// Master selection + MSTR: MSTR, + /// Baud rate control + BR: BR, + /// SPI enable SPE: u1, - /// Frame format - LSBFIRST: packed union { - raw: u1, - value: LSBFIRST, - }, - /// Internal slave select + /// Frame format + LSBFIRST: LSBFIRST, + /// Internal slave select SSI: u1, - /// Software slave management + /// Software slave management SSM: u1, - /// Receive only - RXONLY: packed union { - raw: u1, - value: RXONLY, - }, - /// CRC length - CRCL: packed union { - raw: u1, - value: CRCL, - }, - /// CRC transfer next - CRCNEXT: packed union { - raw: u1, - value: CRCNEXT, - }, - /// Hardware CRC calculation enable + /// Receive only + RXONLY: RXONLY, + /// CRC length + CRCL: CRCL, + /// CRC transfer next + CRCNEXT: CRCNEXT, + /// Hardware CRC calculation enable CRCEN: u1, - /// Select the direction of transfer in bidirectional mode - BIDIOE: packed union { - raw: u1, - value: BIDIOE, - }, - /// Bidirectional data mode enable - BIDIMODE: packed union { - raw: u1, - value: BIDIMODE, - }, + /// Select the direction of transfer in bidirectional mode + BIDIOE: BIDIOE, + /// Bidirectional data mode enable + BIDIMODE: BIDIMODE, padding: u16, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Rx buffer DMA enable + /// Rx buffer DMA enable RXDMAEN: u1, - /// Tx buffer DMA enable + /// Tx buffer DMA enable TXDMAEN: u1, - /// SS output enable + /// SS output enable SSOE: u1, - /// NSS pulse management + /// NSS pulse management NSSP: u1, - /// Frame format - FRF: packed union { - raw: u1, - value: FRF, - }, - /// Error interrupt enable + /// Frame format + FRF: FRF, + /// Error interrupt enable ERRIE: u1, - /// RX buffer not empty interrupt enable + /// RX buffer not empty interrupt enable RXNEIE: u1, - /// Tx buffer empty interrupt enable + /// Tx buffer empty interrupt enable TXEIE: u1, - /// Data size - DS: packed union { - raw: u4, - value: DS, - }, - /// FIFO reception threshold - FRXTH: packed union { - raw: u1, - value: FRXTH, - }, - /// Last DMA transfer for reception - LDMA_RX: packed union { - raw: u1, - value: LDMA_RX, - }, - /// Last DMA transfer for transmission - LDMA_TX: packed union { - raw: u1, - value: LDMA_TX, - }, + /// Data size + DS: DS, + /// FIFO reception threshold + FRXTH: FRXTH, + /// Last DMA transfer for reception + LDMA_RX: LDMA_RX, + /// Last DMA transfer for transmission + LDMA_TX: LDMA_TX, padding: u17, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Receive buffer not empty + /// Receive buffer not empty RXNE: u1, - /// Transmit buffer empty + /// Transmit buffer empty TXE: u1, - /// Channel side - CHSIDE: packed union { - raw: u1, - value: CHSIDE, - }, - /// Underrun flag + /// Channel side + CHSIDE: CHSIDE, + /// Underrun flag UDR: u1, - /// CRC error flag + /// CRC error flag CRCERR: u1, - /// Mode fault + /// Mode fault MODF: u1, - /// Overrun flag + /// Overrun flag OVR: u1, - /// Busy flag + /// Busy flag BSY: u1, - /// frame format error + /// frame format error FRE: u1, - /// FIFO reception level - FRLVL: packed union { - raw: u2, - value: FRLVL, - }, - /// FIFO Transmission Level - FTLVL: packed union { - raw: u2, - value: FTLVL, - }, + /// FIFO reception level + FRLVL: FRLVL, + /// FIFO Transmission Level + FTLVL: FTLVL, padding: u19, }), - /// data register - half-word sized + /// data register - half-word sized DR16: u32, - /// CRC polynomial register + /// CRC polynomial register CRCPR: mmio.Mmio(packed struct(u32) { - /// CRC polynomial register + /// CRC polynomial register CRCPOLY: u16, padding: u16, }), - /// RX CRC register + /// RX CRC register RXCRCR: mmio.Mmio(packed struct(u32) { - /// Rx CRC register + /// Rx CRC register RxCRC: u16, padding: u16, }), - /// TX CRC register + /// TX CRC register TXCRCR: mmio.Mmio(packed struct(u32) { - /// Tx CRC register + /// Tx CRC register TxCRC: u16, padding: u16, }), - /// I2S configuration register + /// I2S configuration register I2SCFGR: mmio.Mmio(packed struct(u32) { - /// Channel length (number of bits per audio channel) - CHLEN: packed union { - raw: u1, - value: CHLEN, - }, - /// Data length to be transferred - DATLEN: packed union { - raw: u2, - value: DATLEN, - }, - /// Steady state clock polarity - CKPOL: packed union { - raw: u1, - value: CKPOL, - }, - /// I2S standard selection - I2SSTD: packed union { - raw: u2, - value: ISSTD, - }, + /// Channel length (number of bits per audio channel) + CHLEN: CHLEN, + /// Data length to be transferred + DATLEN: DATLEN, + /// Steady state clock polarity + CKPOL: CKPOL, + /// I2S standard selection + I2SSTD: ISSTD, reserved7: u1, - /// PCM frame synchronization - PCMSYNC: packed union { - raw: u1, - value: PCMSYNC, - }, - /// I2S configuration mode - I2SCFG: packed union { - raw: u2, - value: ISCFG, - }, - /// I2S Enabled + /// PCM frame synchronization + PCMSYNC: PCMSYNC, + /// I2S configuration mode + I2SCFG: ISCFG, + /// I2S Enabled I2SE: u1, - /// I2S mode selection - I2SMOD: packed union { - raw: u1, - value: ISMOD, - }, - /// Asynchronous start enable + /// I2S mode selection + I2SMOD: ISMOD, + /// Asynchronous start enable ASTRTEN: u1, padding: u19, }), - /// I2S prescaler register + /// I2S prescaler register I2SPR: mmio.Mmio(packed struct(u32) { - /// I2S Linear prescaler + /// I2S Linear prescaler I2SDIV: u8, - /// Odd factor for the prescaler - ODD: packed union { - raw: u1, - value: ODD, - }, - /// Master clock output enable + /// Odd factor for the prescaler + ODD: ODD, + /// Master clock output enable MCKOE: u1, padding: u22, }), @@ -426838,569 +416923,491 @@ pub const types = struct { pub const spi_v3 = struct { pub const CHLEN = enum(u1) { - /// 16 bits per channel + /// 16 bits per channel Bits16 = 0x0, - /// 32 bits per channel + /// 32 bits per channel Bits32 = 0x1, }; pub const CKPOL = enum(u1) { - /// CK idle Level is Low. Signals are sampled on rising and changed on falling clock edges + /// CK idle Level is Low. Signals are sampled on rising and changed on falling clock edges IdleLow = 0x0, - /// CK idle level is High. Signals are sampled on falling and changed on rising clock edges + /// CK idle level is High. Signals are sampled on falling and changed on rising clock edges IdleHigh = 0x1, }; pub const COMM = enum(u2) { - /// Full duplex + /// Full duplex FullDuplex = 0x0, - /// Simplex transmitter only + /// Simplex transmitter only Transmitter = 0x1, - /// Simplex receiver only + /// Simplex receiver only Receiver = 0x2, - /// Half duplex + /// Half duplex HalfDuplex = 0x3, }; pub const CPHA = enum(u1) { - /// The first clock transition is the first data capture edge + /// The first clock transition is the first data capture edge FirstEdge = 0x0, - /// The second clock transition is the first data capture edge + /// The second clock transition is the first data capture edge SecondEdge = 0x1, }; pub const CPOL = enum(u1) { - /// SCK to 0 when idle + /// SCK to 0 when idle IdleLow = 0x0, - /// SCK to 1 when idle + /// SCK to 1 when idle IdleHigh = 0x1, }; pub const DATFMT = enum(u1) { - /// The data inside RXDR and TXDR are right aligned + /// The data inside RXDR and TXDR are right aligned RightAligned = 0x0, - /// The data inside RXDR and TXDR are left aligned + /// The data inside RXDR and TXDR are left aligned LeftAligned = 0x1, }; pub const DATLEN = enum(u2) { - /// 16-bit data length + /// 16-bit data length Bits16 = 0x0, - /// 24-bit data length + /// 24-bit data length Bits24 = 0x1, - /// 32-bit data length + /// 32-bit data length Bits32 = 0x2, _, }; pub const FIXCH = enum(u1) { - /// The channel length in slave mode is different from 16 or 32 bits (CHLEN not taken into account) + /// The channel length in slave mode is different from 16 or 32 bits (CHLEN not taken into account) NotFixed = 0x0, - /// The channel length in slave mode is supposed to be 16 or 32 bits (according to CHLEN) + /// The channel length in slave mode is supposed to be 16 or 32 bits (according to CHLEN) Fixed = 0x1, }; pub const FTHLV = enum(u4) { - /// 1 frame + /// 1 frame OneFrame = 0x0, - /// 2 frames + /// 2 frames TwoFrames = 0x1, - /// 3 frames + /// 3 frames ThreeFrames = 0x2, - /// 4 frames + /// 4 frames FourFrames = 0x3, - /// 5 frames + /// 5 frames FiveFrames = 0x4, - /// 6 frames + /// 6 frames SixFrames = 0x5, - /// 7 frames + /// 7 frames SevenFrames = 0x6, - /// 8 frames + /// 8 frames EightFrames = 0x7, - /// 9 frames + /// 9 frames NineFrames = 0x8, - /// 10 frames + /// 10 frames TenFrames = 0x9, - /// 11 frames + /// 11 frames ElevenFrames = 0xa, - /// 12 frames + /// 12 frames TwelveFrames = 0xb, - /// 13 frames + /// 13 frames ThirteenFrames = 0xc, - /// 14 frames + /// 14 frames FourteenFrames = 0xd, - /// 15 frames + /// 15 frames FifteenFrames = 0xe, - /// 16 frames + /// 16 frames SixteenFrames = 0xf, }; pub const HDDIR = enum(u1) { - /// Receiver in half duplex mode + /// Receiver in half duplex mode Receiver = 0x0, - /// Transmitter in half duplex mode + /// Transmitter in half duplex mode Transmitter = 0x1, }; pub const I2SCFG = enum(u3) { - /// Slave, transmit + /// Slave, transmit SlaveTx = 0x0, - /// Slave, receive + /// Slave, receive SlaveRx = 0x1, - /// Master, transmit + /// Master, transmit MasterTx = 0x2, - /// Master, receive + /// Master, receive MasterRx = 0x3, - /// Slave, full duplex + /// Slave, full duplex SlaveFullDuplex = 0x4, - /// Master, full duplex + /// Master, full duplex MasterFullDuplex = 0x5, _, }; pub const I2SSTD = enum(u2) { - /// I2S Philips standard + /// I2S Philips standard Philips = 0x0, - /// MSB/left justified standard + /// MSB/left justified standard MSB = 0x1, - /// LSB/right justified standard + /// LSB/right justified standard LSB = 0x2, - /// PCM standard + /// PCM standard PCM = 0x3, }; pub const LSBFIRST = enum(u1) { - /// Data is transmitted/received with the MSB first + /// Data is transmitted/received with the MSB first MSBFirst = 0x0, - /// Data is transmitted/received with the LSB first + /// Data is transmitted/received with the LSB first LSBFirst = 0x1, }; pub const MASTER = enum(u1) { - /// Slave configuration + /// Slave configuration Slave = 0x0, - /// Master configuration + /// Master configuration Master = 0x1, }; pub const MBR = enum(u3) { - /// f_spi_ker_ck / 2 + /// f_spi_ker_ck / 2 Div2 = 0x0, - /// f_spi_ker_ck / 4 + /// f_spi_ker_ck / 4 Div4 = 0x1, - /// f_spi_ker_ck / 8 + /// f_spi_ker_ck / 8 Div8 = 0x2, - /// f_spi_ker_ck / 16 + /// f_spi_ker_ck / 16 Div16 = 0x3, - /// f_spi_ker_ck / 32 + /// f_spi_ker_ck / 32 Div32 = 0x4, - /// f_spi_ker_ck / 64 + /// f_spi_ker_ck / 64 Div64 = 0x5, - /// f_spi_ker_ck / 128 + /// f_spi_ker_ck / 128 Div128 = 0x6, - /// f_spi_ker_ck / 256 + /// f_spi_ker_ck / 256 Div256 = 0x7, }; pub const ODD = enum(u1) { - /// Real divider value is I2SDIV*2 + /// Real divider value is I2SDIV*2 Even = 0x0, - /// Real divider value is I2SDIV*2 + 1 + /// Real divider value is I2SDIV*2 + 1 Odd = 0x1, }; pub const PCMSYNC = enum(u1) { - /// Short PCM frame synchronization + /// Short PCM frame synchronization Short = 0x0, - /// Long PCM frame synchronization + /// Long PCM frame synchronization Long = 0x1, }; pub const RCRCINI = enum(u1) { - /// All zeros RX CRC initialization pattern + /// All zeros RX CRC initialization pattern AllZeros = 0x0, - /// All ones RX CRC initialization pattern + /// All ones RX CRC initialization pattern AllOnes = 0x1, }; pub const RXPLVL = enum(u2) { - /// Zero frames beyond packing ratio available + /// Zero frames beyond packing ratio available ZeroFrames = 0x0, - /// One frame beyond packing ratio available + /// One frame beyond packing ratio available OneFrame = 0x1, - /// Two frame beyond packing ratio available + /// Two frame beyond packing ratio available TwoFrames = 0x2, - /// Three frame beyond packing ratio available + /// Three frame beyond packing ratio available ThreeFrames = 0x3, }; pub const RXWNE = enum(u1) { - /// Less than 32-bit data frame received + /// Less than 32-bit data frame received LessThan32 = 0x0, - /// At least 32-bit data frame received + /// At least 32-bit data frame received AtLeast32 = 0x1, }; pub const SP = enum(u3) { - /// Motorola SPI protocol + /// Motorola SPI protocol Motorola = 0x0, - /// TI SPI protocol + /// TI SPI protocol TI = 0x1, _, }; pub const SSIOP = enum(u1) { - /// Low level is active for SS signal + /// Low level is active for SS signal ActiveLow = 0x0, - /// High level is active for SS signal + /// High level is active for SS signal ActiveHigh = 0x1, }; pub const SSOM = enum(u1) { - /// SS is asserted until data transfer complete + /// SS is asserted until data transfer complete Asserted = 0x0, - /// Data frames interleaved with SS not asserted during MIDI + /// Data frames interleaved with SS not asserted during MIDI NotAsserted = 0x1, }; pub const TCRCINI = enum(u1) { - /// All zeros TX CRC initialization pattern + /// All zeros TX CRC initialization pattern AllZeros = 0x0, - /// All ones TX CRC initialization pattern + /// All ones TX CRC initialization pattern AllOnes = 0x1, }; pub const UDRCFG = enum(u2) { - /// Slave sends a constant underrun pattern + /// Slave sends a constant underrun pattern Constant = 0x0, - /// Slave repeats last received data frame from master + /// Slave repeats last received data frame from master RepeatReceived = 0x1, - /// Slave repeats last transmitted data frame + /// Slave repeats last transmitted data frame RepeatTransmitted = 0x2, _, }; pub const UDRDET = enum(u2) { - /// Underrun is detected at begin of data frame + /// Underrun is detected at begin of data frame StartOfFrame = 0x0, - /// Underrun is detected at end of last data frame + /// Underrun is detected at end of last data frame EndOfFrame = 0x1, - /// Underrun is detected at begin of active SS signal + /// Underrun is detected at begin of active SS signal StartOfSlaveSelect = 0x2, _, }; - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Serial Peripheral Enable + /// Serial Peripheral Enable SPE: u1, reserved8: u7, - /// Master automatic SUSP in Receive mode + /// Master automatic SUSP in Receive mode MASRX: u1, - /// Master transfer start + /// Master transfer start CSTART: u1, - /// Master SUSPend request + /// Master SUSPend request CSUSP: u1, - /// Rx/Tx direction at Half-duplex mode - HDDIR: packed union { - raw: u1, - value: HDDIR, - }, - /// Internal SS signal input level + /// Rx/Tx direction at Half-duplex mode + HDDIR: HDDIR, + /// Internal SS signal input level SSI: u1, - /// Full size (33-bit or 17-bit) CRC polynomial is used + /// Full size (33-bit or 17-bit) CRC polynomial is used CRC33_17: u1, - /// CRC calculation initialization pattern control for receiver - RCRCINI: packed union { - raw: u1, - value: RCRCINI, - }, - /// CRC calculation initialization pattern control for transmitter - TCRCINI: packed union { - raw: u1, - value: TCRCINI, - }, - /// Locking the AF configuration of associated IOs + /// CRC calculation initialization pattern control for receiver + RCRCINI: RCRCINI, + /// CRC calculation initialization pattern control for transmitter + TCRCINI: TCRCINI, + /// Locking the AF configuration of associated IOs IOLOCK: u1, padding: u15, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Number of data at current transfer + /// Number of data at current transfer TSIZE: u16, - /// Number of data transfer extension to be reload into TSIZE just when a previous + /// Number of data transfer extension to be reload into TSIZE just when a previous TSER: u16, }), - /// configuration register 1 + /// configuration register 1 CFG1: mmio.Mmio(packed struct(u32) { - /// Number of bits in at single SPI data frame + /// Number of bits in at single SPI data frame DSIZE: u5, - /// threshold level - FTHLV: packed union { - raw: u4, - value: FTHLV, - }, - /// Behavior of slave transmitter at underrun condition - UDRCFG: packed union { - raw: u2, - value: UDRCFG, - }, - /// Detection of underrun condition at slave transmitter - UDRDET: packed union { - raw: u2, - value: UDRDET, - }, + /// threshold level + FTHLV: FTHLV, + /// Behavior of slave transmitter at underrun condition + UDRCFG: UDRCFG, + /// Detection of underrun condition at slave transmitter + UDRDET: UDRDET, reserved14: u1, - /// Rx DMA stream enable + /// Rx DMA stream enable RXDMAEN: u1, - /// Tx DMA stream enable + /// Tx DMA stream enable TXDMAEN: u1, - /// Length of CRC frame to be transacted and compared + /// Length of CRC frame to be transacted and compared CRCSIZE: u5, reserved22: u1, - /// Hardware CRC computation enable + /// Hardware CRC computation enable CRCEN: u1, reserved28: u5, - /// Master baud rate - MBR: packed union { - raw: u3, - value: MBR, - }, + /// Master baud rate + MBR: MBR, padding: u1, }), - /// configuration register 2 + /// configuration register 2 CFG2: mmio.Mmio(packed struct(u32) { - /// Master SS Idleness + /// Master SS Idleness MSSI: u4, - /// Master Inter-Data Idleness + /// Master Inter-Data Idleness MIDI: u4, reserved15: u7, - /// Swap functionality of MISO and MOSI pins + /// Swap functionality of MISO and MOSI pins IOSWP: u1, reserved17: u1, - /// SPI Communication Mode - COMM: packed union { - raw: u2, - value: COMM, - }, - /// Serial Protocol - SP: packed union { - raw: u3, - value: SP, - }, - /// SPI Master - MASTER: packed union { - raw: u1, - value: MASTER, - }, - /// Data frame format - LSBFIRST: packed union { - raw: u1, - value: LSBFIRST, - }, - /// Clock phase - CPHA: packed union { - raw: u1, - value: CPHA, - }, - /// Clock polarity - CPOL: packed union { - raw: u1, - value: CPOL, - }, - /// Software management of SS signal input + /// SPI Communication Mode + COMM: COMM, + /// Serial Protocol + SP: SP, + /// SPI Master + MASTER: MASTER, + /// Data frame format + LSBFIRST: LSBFIRST, + /// Clock phase + CPHA: CPHA, + /// Clock polarity + CPOL: CPOL, + /// Software management of SS signal input SSM: u1, reserved28: u1, - /// SS input/output polarity - SSIOP: packed union { - raw: u1, - value: SSIOP, - }, - /// SS output enable + /// SS input/output polarity + SSIOP: SSIOP, + /// SS output enable SSOE: u1, - /// SS output management in master mode - SSOM: packed union { - raw: u1, - value: SSOM, - }, - /// Alternate function always control GPIOs + /// SS output management in master mode + SSOM: SSOM, + /// Alternate function always control GPIOs AFCNTR: u1, }), - /// Interrupt Enable Register + /// Interrupt Enable Register IER: mmio.Mmio(packed struct(u32) { - /// RXP Interrupt Enable + /// RXP Interrupt Enable RXPIE: u1, - /// TXP interrupt enable + /// TXP interrupt enable TXPIE: u1, - /// DXP interrupt enabled + /// DXP interrupt enabled DXPIE: u1, - /// EOT, SUSP and TXC interrupt enable + /// EOT, SUSP and TXC interrupt enable EOTIE: u1, - /// TXTFIE interrupt enable + /// TXTFIE interrupt enable TXTFIE: u1, - /// UDR interrupt enable + /// UDR interrupt enable UDRIE: u1, - /// OVR interrupt enable + /// OVR interrupt enable OVRIE: u1, - /// CRC Interrupt enable + /// CRC Interrupt enable CRCEIE: u1, - /// TIFRE interrupt enable + /// TIFRE interrupt enable TIFREIE: u1, - /// Mode Fault interrupt enable + /// Mode Fault interrupt enable MODFIE: u1, - /// Additional number of transactions reload interrupt enable + /// Additional number of transactions reload interrupt enable TSERFIE: u1, padding: u21, }), - /// Status Register + /// Status Register SR: mmio.Mmio(packed struct(u32) { - /// Rx-Packet available + /// Rx-Packet available RXP: u1, - /// Tx-Packet space available + /// Tx-Packet space available TXP: u1, - /// Duplex Packet + /// Duplex Packet DXP: u1, - /// End Of Transfer + /// End Of Transfer EOT: u1, - /// Transmission Transfer Filled + /// Transmission Transfer Filled TXTF: u1, - /// Underrun at slave transmission mode + /// Underrun at slave transmission mode UDR: u1, - /// Overrun + /// Overrun OVR: u1, - /// CRC Error + /// CRC Error CRCE: u1, - /// TI frame format error + /// TI frame format error TIFRE: u1, - /// Mode Fault + /// Mode Fault MODF: u1, - /// Additional number of SPI data to be transacted was reload + /// Additional number of SPI data to be transacted was reload TSERF: u1, - /// SUSPend + /// SUSPend SUSP: u1, - /// TxFIFO transmission complete + /// TxFIFO transmission complete TXC: u1, - /// RxFIFO Packing LeVeL - RXPLVL: packed union { - raw: u2, - value: RXPLVL, - }, - /// RxFIFO Word Not Empty - RXWNE: packed union { - raw: u1, - value: RXWNE, - }, - /// Number of data frames remaining in current TSIZE session + /// RxFIFO Packing LeVeL + RXPLVL: RXPLVL, + /// RxFIFO Word Not Empty + RXWNE: RXWNE, + /// Number of data frames remaining in current TSIZE session CTSIZE: u16, }), - /// Interrupt/Status Flags Clear Register + /// Interrupt/Status Flags Clear Register IFCR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// End Of Transfer flag clear + /// End Of Transfer flag clear EOTC: u1, - /// Transmission Transfer Filled flag clear + /// Transmission Transfer Filled flag clear TXTFC: u1, - /// Underrun flag clear + /// Underrun flag clear UDRC: u1, - /// Overrun flag clear + /// Overrun flag clear OVRC: u1, - /// CRC Error flag clear + /// CRC Error flag clear CRCEC: u1, - /// TI frame format error flag clear + /// TI frame format error flag clear TIFREC: u1, - /// Mode Fault flag clear + /// Mode Fault flag clear MODFC: u1, - /// TSERFC flag clear + /// TSERFC flag clear TSERFC: u1, - /// SUSPend flag clear + /// SUSPend flag clear SUSPC: u1, padding: u20, }), reserved32: [4]u8, - /// Transmit Data Register - half-word sized + /// Transmit Data Register - half-word sized TXDR16: u32, reserved48: [12]u8, - /// Receive Data Register - half-word sized + /// Receive Data Register - half-word sized RXDR16: u32, reserved64: [12]u8, - /// Polynomial Register + /// Polynomial Register CRCPOLY: mmio.Mmio(packed struct(u32) { - /// CRC polynomial register + /// CRC polynomial register CRCPOLY: u32, }), - /// Transmitter CRC Register + /// Transmitter CRC Register TXCRC: mmio.Mmio(packed struct(u32) { - /// CRC register for transmitter + /// CRC register for transmitter TXCRC: u32, }), - /// Receiver CRC Register + /// Receiver CRC Register RXCRC: mmio.Mmio(packed struct(u32) { - /// CRC register for receiver + /// CRC register for receiver RXCRC: u32, }), - /// Underrun Data Register + /// Underrun Data Register UDRDR: mmio.Mmio(packed struct(u32) { - /// Data at slave underrun condition + /// Data at slave underrun condition UDRDR: u32, }), - /// I2S Configuration Register + /// I2S Configuration Register I2SCFGR: mmio.Mmio(packed struct(u32) { - /// I2S mode selection + /// I2S mode selection I2SMOD: u1, - /// I2S configuration mode - I2SCFG: packed union { - raw: u3, - value: I2SCFG, - }, - /// I2S standard selection - I2SSTD: packed union { - raw: u2, - value: I2SSTD, - }, + /// I2S configuration mode + I2SCFG: I2SCFG, + /// I2S standard selection + I2SSTD: I2SSTD, reserved7: u1, - /// PCM frame synchronization - PCMSYNC: packed union { - raw: u1, - value: PCMSYNC, - }, - /// Data length to be transferred - DATLEN: packed union { - raw: u2, - value: DATLEN, - }, - /// Channel length (number of bits per audio channel) - CHLEN: packed union { - raw: u1, - value: CHLEN, - }, - /// Serial audio clock polarity - CKPOL: packed union { - raw: u1, - value: CKPOL, - }, - /// Fixed channel length in slave - FIXCH: packed union { - raw: u1, - value: FIXCH, - }, - /// Word select inversion + /// PCM frame synchronization + PCMSYNC: PCMSYNC, + /// Data length to be transferred + DATLEN: DATLEN, + /// Channel length (number of bits per audio channel) + CHLEN: CHLEN, + /// Serial audio clock polarity + CKPOL: CKPOL, + /// Fixed channel length in slave + FIXCH: FIXCH, + /// Word select inversion WSINV: u1, - /// Data format - DATFMT: packed union { - raw: u1, - value: DATFMT, - }, + /// Data format + DATFMT: DATFMT, reserved16: u1, - /// I2S linear prescaler + /// I2S linear prescaler I2SDIV: u8, - /// Odd factor for the prescaler - ODD: packed union { - raw: u1, - value: ODD, - }, - /// Master clock output enable + /// Odd factor for the prescaler + ODD: ODD, + /// Master clock output enable MCKOE: u1, padding: u6, }), @@ -427409,437 +417416,383 @@ pub const types = struct { pub const spi_v4 = struct { pub const COMM = enum(u2) { - /// Full duplex + /// Full duplex FullDuplex = 0x0, - /// Simplex transmitter only + /// Simplex transmitter only Transmitter = 0x1, - /// Simplex receiver only + /// Simplex receiver only Receiver = 0x2, - /// Half duplex + /// Half duplex HalfDuplex = 0x3, }; pub const CPHA = enum(u1) { - /// The first clock transition is the first data capture edge + /// The first clock transition is the first data capture edge FirstEdge = 0x0, - /// The second clock transition is the first data capture edge + /// The second clock transition is the first data capture edge SecondEdge = 0x1, }; pub const CPOL = enum(u1) { - /// CK to 0 when idle + /// CK to 0 when idle IdleLow = 0x0, - /// CK to 1 when idle + /// CK to 1 when idle IdleHigh = 0x1, }; pub const FTHLV = enum(u4) { - /// 1 frame + /// 1 frame OneFrame = 0x0, - /// 2 frames + /// 2 frames TwoFrames = 0x1, - /// 3 frames + /// 3 frames ThreeFrames = 0x2, - /// 4 frames + /// 4 frames FourFrames = 0x3, - /// 5 frames + /// 5 frames FiveFrames = 0x4, - /// 6 frames + /// 6 frames SixFrames = 0x5, - /// 7 frames + /// 7 frames SevenFrames = 0x6, - /// 8 frames + /// 8 frames EightFrames = 0x7, - /// 9 frames + /// 9 frames NineFrames = 0x8, - /// 10 frames + /// 10 frames TenFrames = 0x9, - /// 11 frames + /// 11 frames ElevenFrames = 0xa, - /// 12 frames + /// 12 frames TwelveFrames = 0xb, - /// 13 frames + /// 13 frames ThirteenFrames = 0xc, - /// 14 frames + /// 14 frames FourteenFrames = 0xd, - /// 15 frames + /// 15 frames FifteenFrames = 0xe, - /// 16 frames + /// 16 frames SixteenFrames = 0xf, }; pub const HDDIR = enum(u1) { - /// Receiver in half duplex mode + /// Receiver in half duplex mode Receiver = 0x0, - /// Transmitter in half duplex mode + /// Transmitter in half duplex mode Transmitter = 0x1, }; pub const LSBFIRST = enum(u1) { - /// Data is transmitted/received with the MSB first + /// Data is transmitted/received with the MSB first MSBFirst = 0x0, - /// Data is transmitted/received with the LSB first + /// Data is transmitted/received with the LSB first LSBFirst = 0x1, }; pub const MASTER = enum(u1) { - /// Slave configuration + /// Slave configuration Slave = 0x0, - /// Master configuration + /// Master configuration Master = 0x1, }; pub const MBR = enum(u3) { - /// f_spi_ker_ck / 2 + /// f_spi_ker_ck / 2 Div2 = 0x0, - /// f_spi_ker_ck / 4 + /// f_spi_ker_ck / 4 Div4 = 0x1, - /// f_spi_ker_ck / 8 + /// f_spi_ker_ck / 8 Div8 = 0x2, - /// f_spi_ker_ck / 16 + /// f_spi_ker_ck / 16 Div16 = 0x3, - /// f_spi_ker_ck / 32 + /// f_spi_ker_ck / 32 Div32 = 0x4, - /// f_spi_ker_ck / 64 + /// f_spi_ker_ck / 64 Div64 = 0x5, - /// f_spi_ker_ck / 128 + /// f_spi_ker_ck / 128 Div128 = 0x6, - /// f_spi_ker_ck / 256 + /// f_spi_ker_ck / 256 Div256 = 0x7, }; pub const RCRCINI = enum(u1) { - /// All zeros RX CRC initialization pattern + /// All zeros RX CRC initialization pattern AllZeros = 0x0, - /// All ones RX CRC initialization pattern + /// All ones RX CRC initialization pattern AllOnes = 0x1, }; pub const RDIOM = enum(u1) { - /// RDY signal is defined internally fixed as permanently active (RDIOP setting has no effect) + /// RDY signal is defined internally fixed as permanently active (RDIOP setting has no effect) PermanentlyActive = 0x0, - /// RDY signal is overtaken from alternate function input (at master case) or output (at slave case) of the dedicated pin (RDIOP setting takes effect) + /// RDY signal is overtaken from alternate function input (at master case) or output (at slave case) of the dedicated pin (RDIOP setting takes effect) FromInput = 0x1, }; pub const RDIOP = enum(u1) { - /// high level of the signal means the slave is ready for communication + /// high level of the signal means the slave is ready for communication ReadyHigh = 0x0, - /// low level of the signal means the slave is ready for communication + /// low level of the signal means the slave is ready for communication ReadyLow = 0x1, }; pub const RXPLVL = enum(u2) { - /// Zero frames beyond packing ratio available + /// Zero frames beyond packing ratio available ZeroFrames = 0x0, - /// One frame beyond packing ratio available + /// One frame beyond packing ratio available OneFrame = 0x1, - /// Two frame beyond packing ratio available + /// Two frame beyond packing ratio available TwoFrames = 0x2, - /// Three frame beyond packing ratio available + /// Three frame beyond packing ratio available ThreeFrames = 0x3, }; pub const RXWNE = enum(u1) { - /// Less than 32-bit data frame received + /// Less than 32-bit data frame received LessThan32 = 0x0, - /// At least 32-bit data frame received + /// At least 32-bit data frame received AtLeast32 = 0x1, }; pub const SP = enum(u3) { - /// Motorola SPI protocol + /// Motorola SPI protocol Motorola = 0x0, - /// TI SPI protocol + /// TI SPI protocol TI = 0x1, _, }; pub const SSIOP = enum(u1) { - /// Low level is active for SS signal + /// Low level is active for SS signal ActiveLow = 0x0, - /// High level is active for SS signal + /// High level is active for SS signal ActiveHigh = 0x1, }; pub const SSOM = enum(u1) { - /// SS is asserted until data transfer complete + /// SS is asserted until data transfer complete Asserted = 0x0, - /// Data frames interleaved with SS not asserted during MIDI + /// Data frames interleaved with SS not asserted during MIDI NotAsserted = 0x1, }; pub const TCRCINI = enum(u1) { - /// All zeros TX CRC initialization pattern + /// All zeros TX CRC initialization pattern AllZeros = 0x0, - /// All ones TX CRC initialization pattern + /// All ones TX CRC initialization pattern AllOnes = 0x1, }; pub const UDRCFG = enum(u2) { - /// Slave sends a constant underrun pattern + /// Slave sends a constant underrun pattern Constant = 0x0, - /// Slave repeats last received data frame from master + /// Slave repeats last received data frame from master RepeatReceived = 0x1, - /// Slave repeats last transmitted data frame + /// Slave repeats last transmitted data frame RepeatTransmitted = 0x2, _, }; - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Serial Peripheral Enable + /// Serial Peripheral Enable SPE: u1, reserved8: u7, - /// Master automatic SUSP in Receive mode + /// Master automatic SUSP in Receive mode MASRX: u1, - /// Master transfer start + /// Master transfer start CSTART: u1, - /// Master SUSPend request + /// Master SUSPend request CSUSP: u1, - /// Rx/Tx direction at Half-duplex mode - HDDIR: packed union { - raw: u1, - value: HDDIR, - }, - /// Internal SS signal input level + /// Rx/Tx direction at Half-duplex mode + HDDIR: HDDIR, + /// Internal SS signal input level SSI: u1, - /// Full size (33-bit or 17-bit) CRC polynomial is used + /// Full size (33-bit or 17-bit) CRC polynomial is used CRC33_17: u1, - /// CRC calculation initialization pattern control for receiver - RCRCINI: packed union { - raw: u1, - value: RCRCINI, - }, - /// CRC calculation initialization pattern control for transmitter - TCRCINI: packed union { - raw: u1, - value: TCRCINI, - }, - /// Locking the AF configuration of associated IOs + /// CRC calculation initialization pattern control for receiver + RCRCINI: RCRCINI, + /// CRC calculation initialization pattern control for transmitter + TCRCINI: TCRCINI, + /// Locking the AF configuration of associated IOs IOLOCK: u1, padding: u15, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Number of data at current transfer + /// Number of data at current transfer TSIZE: u16, padding: u16, }), - /// configuration register 1 + /// configuration register 1 CFG1: mmio.Mmio(packed struct(u32) { - /// Number of bits in at single SPI data frame + /// Number of bits in at single SPI data frame DSIZE: u5, - /// threshold level - FTHLV: packed union { - raw: u4, - value: FTHLV, - }, - /// Behavior of slave transmitter at underrun condition - UDRCFG: packed union { - raw: u2, - value: UDRCFG, - }, + /// threshold level + FTHLV: FTHLV, + /// Behavior of slave transmitter at underrun condition + UDRCFG: UDRCFG, reserved14: u3, - /// Rx DMA stream enable + /// Rx DMA stream enable RXDMAEN: u1, - /// Tx DMA stream enable + /// Tx DMA stream enable TXDMAEN: u1, - /// Length of CRC frame to be transacted and compared + /// Length of CRC frame to be transacted and compared CRCSIZE: u5, reserved22: u1, - /// Hardware CRC computation enable + /// Hardware CRC computation enable CRCEN: u1, reserved28: u5, - /// Master baud rate - MBR: packed union { - raw: u3, - value: MBR, - }, - /// bypass of the prescaler at master baud rate clock generator + /// Master baud rate + MBR: MBR, + /// bypass of the prescaler at master baud rate clock generator BPASS: u1, }), - /// configuration register 2 + /// configuration register 2 CFG2: mmio.Mmio(packed struct(u32) { - /// Master SS Idleness + /// Master SS Idleness MSSI: u4, - /// Master Inter-Data Idleness + /// Master Inter-Data Idleness MIDI: u4, reserved13: u5, - /// RDY signal input/output management Note: When DSIZE at the CFG1 register is configured shorter than 8-bit, the RDIOM bit has to be kept at zero. - RDIOM: packed union { - raw: u1, - value: RDIOM, - }, - /// RDY signal input/output polarity - RDIOP: packed union { - raw: u1, - value: RDIOP, - }, - /// Swap functionality of MISO and MOSI pins + /// RDY signal input/output management Note: When DSIZE at the CFG1 register is configured shorter than 8-bit, the RDIOM bit has to be kept at zero. + RDIOM: RDIOM, + /// RDY signal input/output polarity + RDIOP: RDIOP, + /// Swap functionality of MISO and MOSI pins IOSWP: u1, reserved17: u1, - /// SPI Communication Mode - COMM: packed union { - raw: u2, - value: COMM, - }, - /// Serial Protocol - SP: packed union { - raw: u3, - value: SP, - }, - /// SPI Master - MASTER: packed union { - raw: u1, - value: MASTER, - }, - /// Data frame format - LSBFIRST: packed union { - raw: u1, - value: LSBFIRST, - }, - /// Clock phase - CPHA: packed union { - raw: u1, - value: CPHA, - }, - /// Clock polarity - CPOL: packed union { - raw: u1, - value: CPOL, - }, - /// Software management of SS signal input + /// SPI Communication Mode + COMM: COMM, + /// Serial Protocol + SP: SP, + /// SPI Master + MASTER: MASTER, + /// Data frame format + LSBFIRST: LSBFIRST, + /// Clock phase + CPHA: CPHA, + /// Clock polarity + CPOL: CPOL, + /// Software management of SS signal input SSM: u1, reserved28: u1, - /// SS input/output polarity - SSIOP: packed union { - raw: u1, - value: SSIOP, - }, - /// SS output enable + /// SS input/output polarity + SSIOP: SSIOP, + /// SS output enable SSOE: u1, - /// SS output management in master mode - SSOM: packed union { - raw: u1, - value: SSOM, - }, - /// Alternate function always control GPIOs + /// SS output management in master mode + SSOM: SSOM, + /// Alternate function always control GPIOs AFCNTR: u1, }), - /// Interrupt Enable Register + /// Interrupt Enable Register IER: mmio.Mmio(packed struct(u32) { - /// RXP Interrupt Enable + /// RXP Interrupt Enable RXPIE: u1, - /// TXP interrupt enable + /// TXP interrupt enable TXPIE: u1, - /// DXP interrupt enabled + /// DXP interrupt enabled DXPIE: u1, - /// EOT, SUSP and TXC interrupt enable + /// EOT, SUSP and TXC interrupt enable EOTIE: u1, - /// TXTFIE interrupt enable + /// TXTFIE interrupt enable TXTFIE: u1, - /// UDR interrupt enable + /// UDR interrupt enable UDRIE: u1, - /// OVR interrupt enable + /// OVR interrupt enable OVRIE: u1, - /// CRC Interrupt enable + /// CRC Interrupt enable CRCEIE: u1, - /// TIFRE interrupt enable + /// TIFRE interrupt enable TIFREIE: u1, - /// Mode Fault interrupt enable + /// Mode Fault interrupt enable MODFIE: u1, padding: u22, }), - /// Status Register + /// Status Register SR: mmio.Mmio(packed struct(u32) { - /// Rx-Packet available + /// Rx-Packet available RXP: u1, - /// Tx-Packet space available + /// Tx-Packet space available TXP: u1, - /// Duplex Packet + /// Duplex Packet DXP: u1, - /// End Of Transfer + /// End Of Transfer EOT: u1, - /// Transmission Transfer Filled + /// Transmission Transfer Filled TXTF: u1, - /// Underrun at slave transmission mode + /// Underrun at slave transmission mode UDR: u1, - /// Overrun + /// Overrun OVR: u1, - /// CRC Error + /// CRC Error CRCE: u1, - /// TI frame format error + /// TI frame format error TIFRE: u1, - /// Mode Fault + /// Mode Fault MODF: u1, reserved11: u1, - /// SUSPend + /// SUSPend SUSP: u1, - /// TxFIFO transmission complete + /// TxFIFO transmission complete TXC: u1, - /// RxFIFO Packing LeVeL - RXPLVL: packed union { - raw: u2, - value: RXPLVL, - }, - /// RxFIFO Word Not Empty - RXWNE: packed union { - raw: u1, - value: RXWNE, - }, - /// Number of data frames remaining in current TSIZE session + /// RxFIFO Packing LeVeL + RXPLVL: RXPLVL, + /// RxFIFO Word Not Empty + RXWNE: RXWNE, + /// Number of data frames remaining in current TSIZE session CTSIZE: u16, }), - /// Interrupt/Status Flags Clear Register + /// Interrupt/Status Flags Clear Register IFCR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// End Of Transfer flag clear + /// End Of Transfer flag clear EOTC: u1, - /// Transmission Transfer Filled flag clear + /// Transmission Transfer Filled flag clear TXTFC: u1, - /// Underrun flag clear + /// Underrun flag clear UDRC: u1, - /// Overrun flag clear + /// Overrun flag clear OVRC: u1, - /// CRC Error flag clear + /// CRC Error flag clear CRCEC: u1, - /// TI frame format error flag clear + /// TI frame format error flag clear TIFREC: u1, - /// Mode Fault flag clear + /// Mode Fault flag clear MODFC: u1, reserved11: u1, - /// SUSPend flag clear + /// SUSPend flag clear SUSPC: u1, padding: u20, }), reserved32: [4]u8, - /// Transmit Data Register - half-word sized + /// Transmit Data Register - half-word sized TXDR16: u32, reserved48: [12]u8, - /// Receive Data Register - half-word sized + /// Receive Data Register - half-word sized RXDR16: u32, reserved64: [12]u8, - /// Polynomial Register + /// Polynomial Register CRCPOLY: mmio.Mmio(packed struct(u32) { - /// CRC polynomial register + /// CRC polynomial register CRCPOLY: u32, }), - /// Transmitter CRC Register + /// Transmitter CRC Register TXCRC: mmio.Mmio(packed struct(u32) { - /// CRC register for transmitter + /// CRC register for transmitter TXCRC: u32, }), - /// Receiver CRC Register + /// Receiver CRC Register RXCRC: mmio.Mmio(packed struct(u32) { - /// CRC register for receiver + /// CRC register for receiver RXCRC: u32, }), - /// Underrun Data Register + /// Underrun Data Register UDRDR: mmio.Mmio(packed struct(u32) { - /// Data at slave underrun condition + /// Data at slave underrun condition UDRDR: u32, }), }; @@ -427847,456 +417800,399 @@ pub const types = struct { pub const spi_v5 = struct { pub const COMM = enum(u2) { - /// Full duplex + /// Full duplex FullDuplex = 0x0, - /// Simplex transmitter only + /// Simplex transmitter only Transmitter = 0x1, - /// Simplex receiver only + /// Simplex receiver only Receiver = 0x2, - /// Half duplex + /// Half duplex HalfDuplex = 0x3, }; pub const CPHA = enum(u1) { - /// The first clock transition is the first data capture edge + /// The first clock transition is the first data capture edge FirstEdge = 0x0, - /// The second clock transition is the first data capture edge + /// The second clock transition is the first data capture edge SecondEdge = 0x1, }; pub const CPOL = enum(u1) { - /// CK to 0 when idle + /// CK to 0 when idle IdleLow = 0x0, - /// CK to 1 when idle + /// CK to 1 when idle IdleHigh = 0x1, }; pub const FTHLV = enum(u4) { - /// 1 frame + /// 1 frame OneFrame = 0x0, - /// 2 frames + /// 2 frames TwoFrames = 0x1, - /// 3 frames + /// 3 frames ThreeFrames = 0x2, - /// 4 frames + /// 4 frames FourFrames = 0x3, - /// 5 frames + /// 5 frames FiveFrames = 0x4, - /// 6 frames + /// 6 frames SixFrames = 0x5, - /// 7 frames + /// 7 frames SevenFrames = 0x6, - /// 8 frames + /// 8 frames EightFrames = 0x7, - /// 9 frames + /// 9 frames NineFrames = 0x8, - /// 10 frames + /// 10 frames TenFrames = 0x9, - /// 11 frames + /// 11 frames ElevenFrames = 0xa, - /// 12 frames + /// 12 frames TwelveFrames = 0xb, - /// 13 frames + /// 13 frames ThirteenFrames = 0xc, - /// 14 frames + /// 14 frames FourteenFrames = 0xd, - /// 15 frames + /// 15 frames FifteenFrames = 0xe, - /// 16 frames + /// 16 frames SixteenFrames = 0xf, }; pub const HDDIR = enum(u1) { - /// Receiver in half duplex mode + /// Receiver in half duplex mode Receiver = 0x0, - /// Transmitter in half duplex mode + /// Transmitter in half duplex mode Transmitter = 0x1, }; pub const LSBFIRST = enum(u1) { - /// Data is transmitted/received with the MSB first + /// Data is transmitted/received with the MSB first MSBFirst = 0x0, - /// Data is transmitted/received with the LSB first + /// Data is transmitted/received with the LSB first LSBFirst = 0x1, }; pub const MASTER = enum(u1) { - /// Slave configuration + /// Slave configuration Slave = 0x0, - /// Master configuration + /// Master configuration Master = 0x1, }; pub const MBR = enum(u3) { - /// f_spi_ker_ck / 2 + /// f_spi_ker_ck / 2 Div2 = 0x0, - /// f_spi_ker_ck / 4 + /// f_spi_ker_ck / 4 Div4 = 0x1, - /// f_spi_ker_ck / 8 + /// f_spi_ker_ck / 8 Div8 = 0x2, - /// f_spi_ker_ck / 16 + /// f_spi_ker_ck / 16 Div16 = 0x3, - /// f_spi_ker_ck / 32 + /// f_spi_ker_ck / 32 Div32 = 0x4, - /// f_spi_ker_ck / 64 + /// f_spi_ker_ck / 64 Div64 = 0x5, - /// f_spi_ker_ck / 128 + /// f_spi_ker_ck / 128 Div128 = 0x6, - /// f_spi_ker_ck / 256 + /// f_spi_ker_ck / 256 Div256 = 0x7, }; pub const RCRCINI = enum(u1) { - /// All zeros RX CRC initialization pattern + /// All zeros RX CRC initialization pattern AllZeros = 0x0, - /// All ones RX CRC initialization pattern + /// All ones RX CRC initialization pattern AllOnes = 0x1, }; pub const RDIOM = enum(u1) { - /// RDY signal is defined internally fixed as permanently active (RDIOP setting has no effect) + /// RDY signal is defined internally fixed as permanently active (RDIOP setting has no effect) PermanentlyActive = 0x0, - /// RDY signal is overtaken from alternate function input (at master case) or output (at slave case) of the dedicated pin (RDIOP setting takes effect) + /// RDY signal is overtaken from alternate function input (at master case) or output (at slave case) of the dedicated pin (RDIOP setting takes effect) FromInput = 0x1, }; pub const RDIOP = enum(u1) { - /// high level of the signal means the slave is ready for communication + /// high level of the signal means the slave is ready for communication ReadyHigh = 0x0, - /// low level of the signal means the slave is ready for communication + /// low level of the signal means the slave is ready for communication ReadyLow = 0x1, }; pub const RXPLVL = enum(u2) { - /// Zero frames beyond packing ratio available + /// Zero frames beyond packing ratio available ZeroFrames = 0x0, - /// One frame beyond packing ratio available + /// One frame beyond packing ratio available OneFrame = 0x1, - /// Two frame beyond packing ratio available + /// Two frame beyond packing ratio available TwoFrames = 0x2, - /// Three frame beyond packing ratio available + /// Three frame beyond packing ratio available ThreeFrames = 0x3, }; pub const RXWNE = enum(u1) { - /// Less than 32-bit data frame received + /// Less than 32-bit data frame received LessThan32 = 0x0, - /// At least 32-bit data frame received + /// At least 32-bit data frame received AtLeast32 = 0x1, }; pub const SP = enum(u3) { - /// Motorola SPI protocol + /// Motorola SPI protocol Motorola = 0x0, - /// TI SPI protocol + /// TI SPI protocol TI = 0x1, _, }; pub const SSIOP = enum(u1) { - /// Low level is active for SS signal + /// Low level is active for SS signal ActiveLow = 0x0, - /// High level is active for SS signal + /// High level is active for SS signal ActiveHigh = 0x1, }; pub const SSOM = enum(u1) { - /// SS is asserted until data transfer complete + /// SS is asserted until data transfer complete Asserted = 0x0, - /// Data frames interleaved with SS not asserted during MIDI + /// Data frames interleaved with SS not asserted during MIDI NotAsserted = 0x1, }; pub const TCRCINI = enum(u1) { - /// All zeros TX CRC initialization pattern + /// All zeros TX CRC initialization pattern AllZeros = 0x0, - /// All ones TX CRC initialization pattern + /// All ones TX CRC initialization pattern AllOnes = 0x1, }; pub const TRIGPOL = enum(u1) { - /// trigger is active on raising edge + /// trigger is active on raising edge RisingEdge = 0x0, - /// trigger is active on falling edge + /// trigger is active on falling edge FallingEdge = 0x1, }; pub const UDRCFG = enum(u2) { - /// Slave sends a constant underrun pattern + /// Slave sends a constant underrun pattern Constant = 0x0, - /// Slave repeats last received data frame from master + /// Slave repeats last received data frame from master RepeatReceived = 0x1, - /// Slave repeats last transmitted data frame + /// Slave repeats last transmitted data frame RepeatTransmitted = 0x2, _, }; - /// Serial peripheral interface + /// Serial peripheral interface pub const SPI = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Serial Peripheral Enable + /// Serial Peripheral Enable SPE: u1, reserved8: u7, - /// Master automatic SUSP in Receive mode + /// Master automatic SUSP in Receive mode MASRX: u1, - /// Master transfer start + /// Master transfer start CSTART: u1, - /// Master SUSPend request + /// Master SUSPend request CSUSP: u1, - /// Rx/Tx direction at Half-duplex mode - HDDIR: packed union { - raw: u1, - value: HDDIR, - }, - /// Internal SS signal input level + /// Rx/Tx direction at Half-duplex mode + HDDIR: HDDIR, + /// Internal SS signal input level SSI: u1, - /// Full size (33-bit or 17-bit) CRC polynomial is used + /// Full size (33-bit or 17-bit) CRC polynomial is used CRC33_17: u1, - /// CRC calculation initialization pattern control for receiver - RCRCINI: packed union { - raw: u1, - value: RCRCINI, - }, - /// CRC calculation initialization pattern control for transmitter - TCRCINI: packed union { - raw: u1, - value: TCRCINI, - }, - /// Locking the AF configuration of associated IOs + /// CRC calculation initialization pattern control for receiver + RCRCINI: RCRCINI, + /// CRC calculation initialization pattern control for transmitter + TCRCINI: TCRCINI, + /// Locking the AF configuration of associated IOs IOLOCK: u1, padding: u15, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Number of data at current transfer + /// Number of data at current transfer TSIZE: u16, padding: u16, }), - /// configuration register 1 + /// configuration register 1 CFG1: mmio.Mmio(packed struct(u32) { - /// Number of bits in at single SPI data frame + /// Number of bits in at single SPI data frame DSIZE: u5, - /// threshold level - FTHLV: packed union { - raw: u4, - value: FTHLV, - }, - /// Behavior of slave transmitter at underrun condition - UDRCFG: packed union { - raw: u2, - value: UDRCFG, - }, + /// threshold level + FTHLV: FTHLV, + /// Behavior of slave transmitter at underrun condition + UDRCFG: UDRCFG, reserved14: u3, - /// Rx DMA stream enable + /// Rx DMA stream enable RXDMAEN: u1, - /// Tx DMA stream enable + /// Tx DMA stream enable TXDMAEN: u1, - /// Length of CRC frame to be transacted and compared + /// Length of CRC frame to be transacted and compared CRCSIZE: u5, reserved22: u1, - /// Hardware CRC computation enable + /// Hardware CRC computation enable CRCEN: u1, reserved28: u5, - /// Master baud rate - MBR: packed union { - raw: u3, - value: MBR, - }, - /// bypass of the prescaler at master baud rate clock generator + /// Master baud rate + MBR: MBR, + /// bypass of the prescaler at master baud rate clock generator BPASS: u1, }), - /// configuration register 2 + /// configuration register 2 CFG2: mmio.Mmio(packed struct(u32) { - /// Master SS Idleness + /// Master SS Idleness MSSI: u4, - /// Master Inter-Data Idleness + /// Master Inter-Data Idleness MIDI: u4, reserved13: u5, - /// RDY signal input/output management Note: When DSIZE at the CFG1 register is configured shorter than 8-bit, the RDIOM bit has to be kept at zero. - RDIOM: packed union { - raw: u1, - value: RDIOM, - }, - /// RDY signal input/output polarity - RDIOP: packed union { - raw: u1, - value: RDIOP, - }, - /// Swap functionality of MISO and MOSI pins + /// RDY signal input/output management Note: When DSIZE at the CFG1 register is configured shorter than 8-bit, the RDIOM bit has to be kept at zero. + RDIOM: RDIOM, + /// RDY signal input/output polarity + RDIOP: RDIOP, + /// Swap functionality of MISO and MOSI pins IOSWP: u1, reserved17: u1, - /// SPI Communication Mode - COMM: packed union { - raw: u2, - value: COMM, - }, - /// Serial Protocol - SP: packed union { - raw: u3, - value: SP, - }, - /// SPI Master - MASTER: packed union { - raw: u1, - value: MASTER, - }, - /// Data frame format - LSBFIRST: packed union { - raw: u1, - value: LSBFIRST, - }, - /// Clock phase - CPHA: packed union { - raw: u1, - value: CPHA, - }, - /// Clock polarity - CPOL: packed union { - raw: u1, - value: CPOL, - }, - /// Software management of SS signal input + /// SPI Communication Mode + COMM: COMM, + /// Serial Protocol + SP: SP, + /// SPI Master + MASTER: MASTER, + /// Data frame format + LSBFIRST: LSBFIRST, + /// Clock phase + CPHA: CPHA, + /// Clock polarity + CPOL: CPOL, + /// Software management of SS signal input SSM: u1, reserved28: u1, - /// SS input/output polarity - SSIOP: packed union { - raw: u1, - value: SSIOP, - }, - /// SS output enable + /// SS input/output polarity + SSIOP: SSIOP, + /// SS output enable SSOE: u1, - /// SS output management in master mode - SSOM: packed union { - raw: u1, - value: SSOM, - }, - /// Alternate function always control GPIOs + /// SS output management in master mode + SSOM: SSOM, + /// Alternate function always control GPIOs AFCNTR: u1, }), - /// Interrupt Enable Register + /// Interrupt Enable Register IER: mmio.Mmio(packed struct(u32) { - /// RXP Interrupt Enable + /// RXP Interrupt Enable RXPIE: u1, - /// TXP interrupt enable + /// TXP interrupt enable TXPIE: u1, - /// DXP interrupt enabled + /// DXP interrupt enabled DXPIE: u1, - /// EOT, SUSP and TXC interrupt enable + /// EOT, SUSP and TXC interrupt enable EOTIE: u1, - /// TXTFIE interrupt enable + /// TXTFIE interrupt enable TXTFIE: u1, - /// UDR interrupt enable + /// UDR interrupt enable UDRIE: u1, - /// OVR interrupt enable + /// OVR interrupt enable OVRIE: u1, - /// CRC Interrupt enable + /// CRC Interrupt enable CRCEIE: u1, - /// TIFRE interrupt enable + /// TIFRE interrupt enable TIFREIE: u1, - /// Mode Fault interrupt enable + /// Mode Fault interrupt enable MODFIE: u1, padding: u22, }), - /// Status Register + /// Status Register SR: mmio.Mmio(packed struct(u32) { - /// Rx-Packet available + /// Rx-Packet available RXP: u1, - /// Tx-Packet space available + /// Tx-Packet space available TXP: u1, - /// Duplex Packet + /// Duplex Packet DXP: u1, - /// End Of Transfer + /// End Of Transfer EOT: u1, - /// Transmission Transfer Filled + /// Transmission Transfer Filled TXTF: u1, - /// Underrun at slave transmission mode + /// Underrun at slave transmission mode UDR: u1, - /// Overrun + /// Overrun OVR: u1, - /// CRC Error + /// CRC Error CRCE: u1, - /// TI frame format error + /// TI frame format error TIFRE: u1, - /// Mode Fault + /// Mode Fault MODF: u1, reserved11: u1, - /// SUSPend + /// SUSPend SUSP: u1, - /// TxFIFO transmission complete + /// TxFIFO transmission complete TXC: u1, - /// RxFIFO Packing LeVeL - RXPLVL: packed union { - raw: u2, - value: RXPLVL, - }, - /// RxFIFO Word Not Empty - RXWNE: packed union { - raw: u1, - value: RXWNE, - }, - /// Number of data frames remaining in current TSIZE session + /// RxFIFO Packing LeVeL + RXPLVL: RXPLVL, + /// RxFIFO Word Not Empty + RXWNE: RXWNE, + /// Number of data frames remaining in current TSIZE session CTSIZE: u16, }), - /// Interrupt/Status Flags Clear Register + /// Interrupt/Status Flags Clear Register IFCR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// End Of Transfer flag clear + /// End Of Transfer flag clear EOTC: u1, - /// Transmission Transfer Filled flag clear + /// Transmission Transfer Filled flag clear TXTFC: u1, - /// Underrun flag clear + /// Underrun flag clear UDRC: u1, - /// Overrun flag clear + /// Overrun flag clear OVRC: u1, - /// CRC Error flag clear + /// CRC Error flag clear CRCEC: u1, - /// TI frame format error flag clear + /// TI frame format error flag clear TIFREC: u1, - /// Mode Fault flag clear + /// Mode Fault flag clear MODFC: u1, reserved11: u1, - /// SUSPend flag clear + /// SUSPend flag clear SUSPC: u1, padding: u20, }), AUTOCR: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// trigger selection (refer ). ... Note: these bits can be written only when SPE = 0. + /// trigger selection (refer ). ... Note: these bits can be written only when SPE = 0. TRIGSEL: u4, - /// trigger polarity Note: This bit can be written only when SPE = 0. - TRIGPOL: packed union { - raw: u1, - value: TRIGPOL, - }, - /// trigger of CSTART control enable Note: if user can't prevent trigger event during write, the TRIGEN has to be changed when SPI is disabled + /// trigger polarity Note: This bit can be written only when SPE = 0. + TRIGPOL: TRIGPOL, + /// trigger of CSTART control enable Note: if user can't prevent trigger event during write, the TRIGEN has to be changed when SPI is disabled TRIGEN: u1, padding: u10, }), - /// Transmit Data Register - half-word sized + /// Transmit Data Register - half-word sized TXDR16: u32, reserved48: [12]u8, - /// Receive Data Register - half-word sized + /// Receive Data Register - half-word sized RXDR16: u32, reserved64: [12]u8, - /// Polynomial Register + /// Polynomial Register CRCPOLY: mmio.Mmio(packed struct(u32) { - /// CRC polynomial register + /// CRC polynomial register CRCPOLY: u32, }), - /// Transmitter CRC Register + /// Transmitter CRC Register TXCRC: mmio.Mmio(packed struct(u32) { - /// CRC register for transmitter + /// CRC register for transmitter TXCRC: u32, }), - /// Receiver CRC Register + /// Receiver CRC Register RXCRC: mmio.Mmio(packed struct(u32) { - /// CRC register for receiver + /// CRC register for receiver RXCRC: u32, }), - /// Underrun Data Register + /// Underrun Data Register UDRDR: mmio.Mmio(packed struct(u32) { - /// Data at slave underrun condition + /// Data at slave underrun condition UDRDR: u32, }), }; @@ -428304,306 +418200,282 @@ pub const types = struct { pub const syscfg_c0 = struct { pub const IR_MOD = enum(u2) { - /// TIM16 + /// TIM16 TIM16 = 0x0, - /// USART1 + /// USART1 USART1 = 0x1, - /// USART2 + /// USART2 USART2 = 0x2, _, }; pub const MEM_MODE = enum(u2) { - /// Main Flash memory mapped at address 0 + /// Main Flash memory mapped at address 0 MAIN_FLASH = 0x0, - /// System Flash memory mapped at address 0 + /// System Flash memory mapped at address 0 SYSTEM_FLASH = 0x1, - /// Main Flash memory mapped at address 0 (alternate encoding) + /// Main Flash memory mapped at address 0 (alternate encoding) MAIN_FLASH_ALT = 0x2, - /// Embedded SRAM mapped at address 0 + /// Embedded SRAM mapped at address 0 SRAM = 0x3, }; pub const PINMUX0 = enum(u2) { - /// PB7 + /// PB7 PB7 = 0x0, - /// PC14 + /// PC14 PC14 = 0x1, _, }; pub const PINMUX1 = enum(u2) { - /// PF2 + /// PF2 PF2 = 0x0, - /// PA0 + /// PA0 PA0 = 0x1, - /// PA1 + /// PA1 PA1 = 0x2, - /// PA2 + /// PA2 PA2 = 0x3, }; pub const PINMUX2 = enum(u2) { - /// PA8 + /// PA8 PA8 = 0x0, - /// PA11 + /// PA11 PA11 = 0x1, _, }; pub const PINMUX3 = enum(u2) { - /// PA14 + /// PA14 PA14 = 0x0, - /// PB6 + /// PB6 PB6 = 0x1, - /// PC15 + /// PC15 PC15 = 0x2, _, }; pub const PINMUX4 = enum(u2) { - /// PA7 + /// PA7 PA7 = 0x0, - /// PA12 + /// PA12 PA12 = 0x1, _, }; pub const PINMUX5 = enum(u2) { - /// PA3 + /// PA3 PA3 = 0x0, - /// PA4 + /// PA4 PA4 = 0x1, - /// PA5 + /// PA5 PA5 = 0x2, - /// PA6 + /// PA6 PA6 = 0x3, }; - /// register block + /// register block pub const SYSCFG = extern struct { - /// configuration register 1 + /// configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { - /// Memory mapping selection bits. This bitfield controlled by software selects the memory internally mapped at the address 0x0000_0000. Its reset value is determined by the boot mode configuration. Refer to Reference Manual section 2.5 for more details. - MEM_MODE: packed union { - raw: u2, - value: MEM_MODE, - }, + /// Memory mapping selection bits. This bitfield controlled by software selects the memory internally mapped at the address 0x0000_0000. Its reset value is determined by the boot mode configuration. Refer to Reference Manual section 2.5 for more details. + MEM_MODE: MEM_MODE, reserved3: u1, - /// PA11 pin remapping This bit is set and cleared by software. When set, it remaps the PA11 pin to operate as PA9 GPIO port, instead as PA11 GPIO port. + /// PA11 pin remapping This bit is set and cleared by software. When set, it remaps the PA11 pin to operate as PA9 GPIO port, instead as PA11 GPIO port. PA11_RMP: u1, - /// PA12 pin remapping This bit is set and cleared by software. When set, it remaps the PA12 pin to operate as PA10 GPIO port, instead as PA12 GPIO port. + /// PA12 pin remapping This bit is set and cleared by software. When set, it remaps the PA12 pin to operate as PA10 GPIO port, instead as PA12 GPIO port. PA12_RMP: u1, - /// IR output polarity selection + /// IR output polarity selection IR_POL: u1, - /// IR Modulation Envelope signal selection This bitfield selects the signal for IR modulation envelope: - IR_MOD: packed union { - raw: u2, - value: IR_MOD, - }, + /// IR Modulation Envelope signal selection This bitfield selects the signal for IR modulation envelope: + IR_MOD: IR_MOD, reserved16: u8, - /// Fast Mode Plus (FM+) enable for PB6 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB6 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. + /// Fast Mode Plus (FM+) enable for PB6 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB6 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. I2C_PB6_FMP: u1, - /// Fast Mode Plus (FM+) enable for PB7 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB7 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. + /// Fast Mode Plus (FM+) enable for PB7 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB7 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. I2C_PB7_FMP: u1, - /// Fast Mode Plus (FM+) enable for PB8 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB8 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. + /// Fast Mode Plus (FM+) enable for PB8 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB8 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. I2C_PB8_FMP: u1, - /// Fast Mode Plus (FM+) enable for PB9 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB9 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. + /// Fast Mode Plus (FM+) enable for PB9 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB9 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. I2C_PB9_FMP: u1, - /// Fast Mode Plus (FM+) enable for I2C1 This bit is set and cleared by software. It enables I2C FM+ driving capability on I/O ports configured as I2C1 through GPIOx_AFR registers. With this bit in disable state, the I2C FM+ driving capability on I/O ports configured as I2C1 can be enabled through their corresponding I2Cx_FMP bit. When I2C FM+ is enabled, the speed control is ignored. + /// Fast Mode Plus (FM+) enable for I2C1 This bit is set and cleared by software. It enables I2C FM+ driving capability on I/O ports configured as I2C1 through GPIOx_AFR registers. With this bit in disable state, the I2C FM+ driving capability on I/O ports configured as I2C1 can be enabled through their corresponding I2Cx_FMP bit. When I2C FM+ is enabled, the speed control is ignored. I2C1_FMP: u1, reserved22: u1, - /// Fast Mode Plus (FM+) enable for PA9 This bit is set and cleared by software. It enables I2C FM+ driving capability on PA9 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. + /// Fast Mode Plus (FM+) enable for PA9 This bit is set and cleared by software. It enables I2C FM+ driving capability on PA9 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. I2C_PA9_FMP: u1, - /// Fast Mode Plus (FM+) enable for PA10 This bit is set and cleared by software. It enables I2C FM+ driving capability on PA10 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. + /// Fast Mode Plus (FM+) enable for PA10 This bit is set and cleared by software. It enables I2C FM+ driving capability on PA10 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. I2C_PA10_FMP: u1, - /// Fast Mode Plus (FM+) enable for PC14 This bit is set and cleared by software. It enables I2C FM+ driving capability on PC14 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. + /// Fast Mode Plus (FM+) enable for PC14 This bit is set and cleared by software. It enables I2C FM+ driving capability on PC14 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. I2C_PC14_FMP: u1, padding: u7, }), reserved24: [20]u8, - /// configuration register 2 + /// configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// Cortex-M0+ LOCKUP enable This bit is set by software and cleared by system reset. When set, it enables the connection of Cortex-M0+ LOCKUP (HardFault) output to the TIM1/16/17 Break input. + /// Cortex-M0+ LOCKUP enable This bit is set by software and cleared by system reset. When set, it enables the connection of Cortex-M0+ LOCKUP (HardFault) output to the TIM1/16/17 Break input. LOCKUP_LOCK: u1, padding: u31, }), reserved60: [32]u8, - /// configuration register 3 + /// configuration register 3 CFGR3: mmio.Mmio(packed struct(u32) { - /// Pin GPIO multiplexer 0 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved Pin F2 of WLCSP14 package GPIO assignment 1x: Reserved - PINMUX0: packed union { - raw: u2, - value: PINMUX0, - }, - /// Pin GPIO multiplexer 1 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved - PINMUX1: packed union { - raw: u2, - value: PINMUX1, - }, - /// Pin GPIO multiplexer 2 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved 1x: Reserved - PINMUX2: packed union { - raw: u2, - value: PINMUX2, - }, - /// Pin GPIO multiplexer 3 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved - PINMUX3: packed union { - raw: u2, - value: PINMUX3, - }, - /// Pin GPIO multiplexer 4 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved 1x: Reserved - PINMUX4: packed union { - raw: u2, - value: PINMUX4, - }, - /// Pin GPIO multiplexer 5 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved - PINMUX5: packed union { - raw: u2, - value: PINMUX5, - }, + /// Pin GPIO multiplexer 0 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved Pin F2 of WLCSP14 package GPIO assignment 1x: Reserved + PINMUX0: PINMUX0, + /// Pin GPIO multiplexer 1 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved + PINMUX1: PINMUX1, + /// Pin GPIO multiplexer 2 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved 1x: Reserved + PINMUX2: PINMUX2, + /// Pin GPIO multiplexer 3 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved + PINMUX3: PINMUX3, + /// Pin GPIO multiplexer 4 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved 1x: Reserved + PINMUX4: PINMUX4, + /// Pin GPIO multiplexer 5 This bit is set by software and cleared by system reset. It assigns a GPIO to a pin. 1x: Reserved + PINMUX5: PINMUX5, padding: u20, }), reserved128: [64]u8, - /// interrupt line 0 status register + /// interrupt line 0 status register ITLINE0: mmio.Mmio(packed struct(u32) { - /// Window watchdog interrupt pending flag + /// Window watchdog interrupt pending flag WWDG: u1, padding: u31, }), reserved136: [4]u8, - /// interrupt line 2 status register + /// interrupt line 2 status register ITLINE2: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// RTC interrupt request pending (EXTI line 19) + /// RTC interrupt request pending (EXTI line 19) RTC: u1, padding: u30, }), - /// interrupt line 3 status register + /// interrupt line 3 status register ITLINE3: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Flash interface interrupt request pending + /// Flash interface interrupt request pending FLASH_ITF: u1, padding: u30, }), - /// interrupt line 4 status register + /// interrupt line 4 status register ITLINE4: mmio.Mmio(packed struct(u32) { - /// Reset and clock control interrupt request pending + /// Reset and clock control interrupt request pending RCC: u1, padding: u31, }), - /// interrupt line 5 status register + /// interrupt line 5 status register ITLINE5: mmio.Mmio(packed struct(u32) { - /// EXTI + /// EXTI EXTI: u1, padding: u31, }), - /// interrupt line 6 status register + /// interrupt line 6 status register ITLINE6: mmio.Mmio(packed struct(u32) { - /// EXTI + /// EXTI EXTI: u1, padding: u31, }), - /// interrupt line 7 status register + /// interrupt line 7 status register ITLINE7: mmio.Mmio(packed struct(u32) { - /// EXTI + /// EXTI EXTI: u1, padding: u31, }), reserved164: [4]u8, - /// interrupt line 9 status register + /// interrupt line 9 status register ITLINE9: mmio.Mmio(packed struct(u32) { - /// DMA1 channel 1interrupt request pending + /// DMA1 channel 1interrupt request pending DMA1_CH1: u1, padding: u31, }), - /// interrupt line 10 status register + /// interrupt line 10 status register ITLINE10: mmio.Mmio(packed struct(u32) { - /// DMA1 channel 2 interrupt request pending + /// DMA1 channel 2 interrupt request pending DMA1_CH2: u1, - /// DMA1 channel 3 interrupt request pending + /// DMA1 channel 3 interrupt request pending DMA1_CH3: u1, padding: u30, }), - /// interrupt line 11 status register + /// interrupt line 11 status register ITLINE11: mmio.Mmio(packed struct(u32) { - /// DMAMUX interrupt request pending + /// DMAMUX interrupt request pending DMAMUX: u1, padding: u31, }), - /// interrupt line 12 status register + /// interrupt line 12 status register ITLINE12: mmio.Mmio(packed struct(u32) { - /// ADC interrupt request pending + /// ADC interrupt request pending ADC: u1, padding: u31, }), - /// interrupt line 13 status register + /// interrupt line 13 status register ITLINE13: mmio.Mmio(packed struct(u32) { - /// Timer 1 commutation interrupt request pending + /// Timer 1 commutation interrupt request pending TIM1_CCU: u1, - /// Timer 1 trigger interrupt request pending + /// Timer 1 trigger interrupt request pending TIM1_TRG: u1, - /// Timer 1 update interrupt request pending + /// Timer 1 update interrupt request pending TIM1_UPD: u1, - /// Timer 1 break interrupt request pending + /// Timer 1 break interrupt request pending TIM1_BRK: u1, padding: u28, }), - /// interrupt line 14 status register + /// interrupt line 14 status register ITLINE14: mmio.Mmio(packed struct(u32) { - /// Timer 1 capture compare interrupt request pending + /// Timer 1 capture compare interrupt request pending TIM1_CC: u1, padding: u31, }), reserved192: [4]u8, - /// interrupt line 16 status register + /// interrupt line 16 status register ITLINE16: mmio.Mmio(packed struct(u32) { - /// Timer 3 interrupt request pending + /// Timer 3 interrupt request pending TIM3: u1, padding: u31, }), reserved204: [8]u8, - /// interrupt line 19 status register + /// interrupt line 19 status register ITLINE19: mmio.Mmio(packed struct(u32) { - /// Timer 14 interrupt request pending + /// Timer 14 interrupt request pending TIM14: u1, padding: u31, }), reserved212: [4]u8, - /// interrupt line 21 status register + /// interrupt line 21 status register ITLINE21: mmio.Mmio(packed struct(u32) { - /// Timer 16 interrupt request pending + /// Timer 16 interrupt request pending TIM16: u1, padding: u31, }), - /// interrupt line 22 status register + /// interrupt line 22 status register ITLINE22: mmio.Mmio(packed struct(u32) { - /// Timer 17 interrupt request pending + /// Timer 17 interrupt request pending TIM17: u1, padding: u31, }), - /// interrupt line 23 status register + /// interrupt line 23 status register ITLINE23: mmio.Mmio(packed struct(u32) { - /// I2C1 interrupt request pending, combined with EXTI line 23 + /// I2C1 interrupt request pending, combined with EXTI line 23 I2C1: u1, padding: u31, }), reserved228: [4]u8, - /// interrupt line 25 status register + /// interrupt line 25 status register ITLINE25: mmio.Mmio(packed struct(u32) { - /// SPI1 interrupt request pending + /// SPI1 interrupt request pending SPI1: u1, padding: u31, }), reserved236: [4]u8, - /// interrupt line 27 status register + /// interrupt line 27 status register ITLINE27: mmio.Mmio(packed struct(u32) { - /// USART1 interrupt request pending, combined with EXTI line 25 + /// USART1 interrupt request pending, combined with EXTI line 25 USART1: u1, padding: u31, }), - /// interrupt line 28 status register + /// interrupt line 28 status register ITLINE28: mmio.Mmio(packed struct(u32) { - /// USART2 interrupt request pending (EXTI line 26) + /// USART2 interrupt request pending (EXTI line 26) USART2: u1, padding: u31, }), @@ -428612,139 +418484,109 @@ pub const types = struct { pub const syscfg_f0 = struct { pub const FMP = enum(u1) { - /// Standard + /// Standard Standard = 0x0, - /// FM+ + /// FM+ FMP = 0x1, }; pub const IR_MOD = enum(u2) { - /// TIM16 selected + /// TIM16 selected TIM16 = 0x0, - /// USART1 selected + /// USART1 selected USART1 = 0x1, - /// USART4 selected + /// USART4 selected USART4 = 0x2, _, }; pub const MEM_MODE = enum(u2) { - /// Main Flash memory mapped at 0x0000_0000 + /// Main Flash memory mapped at 0x0000_0000 MainFlash = 0x0, - /// System Flash memory mapped at 0x0000_0000 + /// System Flash memory mapped at 0x0000_0000 SystemFlash = 0x1, - /// Main Flash memory mapped at 0x0000_0000 + /// Main Flash memory mapped at 0x0000_0000 MainFlash2 = 0x2, - /// Embedded SRAM mapped at 0x0000_0000 + /// Embedded SRAM mapped at 0x0000_0000 SRAM = 0x3, }; - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// configuration register 1 + /// configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { - /// Memory mapping selection bits - MEM_MODE: packed union { - raw: u2, - value: MEM_MODE, - }, + /// Memory mapping selection bits + MEM_MODE: MEM_MODE, reserved4: u2, - /// PA11 and PA12 remapping bit for small packages (28 and 20 pins) 0: Pin pair PA9/PA10 mapped on the pins 1: Pin pair PA11/PA12 mapped instead of PA9/PA10 + /// PA11 and PA12 remapping bit for small packages (28 and 20 pins) 0: Pin pair PA9/PA10 mapped on the pins 1: Pin pair PA11/PA12 mapped instead of PA9/PA10 PA11_PA12_RMP: u1, reserved6: u1, - /// IR Modulation Envelope signal selection - IR_MOD: packed union { - raw: u2, - value: IR_MOD, - }, - /// ADC DMA remapping bit 0: ADC DMA request mapped on DMA channel 1 1: ADC DMA request mapped on DMA channel 2 + /// IR Modulation Envelope signal selection + IR_MOD: IR_MOD, + /// ADC DMA remapping bit 0: ADC DMA request mapped on DMA channel 1 1: ADC DMA request mapped on DMA channel 2 ADC_DMA_RMP: u1, - /// USART1_TX DMA remapping bit 0: USART1_TX DMA request mapped on DMA channel 2 1: USART1_TX DMA request mapped on DMA channel 4 + /// USART1_TX DMA remapping bit 0: USART1_TX DMA request mapped on DMA channel 2 1: USART1_TX DMA request mapped on DMA channel 4 USART1_TX_DMA_RMP: u1, - /// USART1_RX DMA request remapping bit 0: USART1_RX DMA request mapped on DMA channel 3 1: USART1_RX DMA request mapped on DMA channel 5 + /// USART1_RX DMA request remapping bit 0: USART1_RX DMA request mapped on DMA channel 3 1: USART1_RX DMA request mapped on DMA channel 5 USART1_RX_DMA_RMP: u1, - /// TIM16 DMA request remapping bit 0: TIM16_CH1 and TIM16_UP DMA request mapped on DMA channel 3 1: TIM16_CH1 and TIM16_UP DMA request mapped on DMA channel 4 + /// TIM16 DMA request remapping bit 0: TIM16_CH1 and TIM16_UP DMA request mapped on DMA channel 3 1: TIM16_CH1 and TIM16_UP DMA request mapped on DMA channel 4 TIM16_DMA_RMP: u1, - /// TIM17 DMA request remapping bit 0: TIM17_CH1 and TIM17_UP DMA request mapped on DMA channel 1 1: TIM17_CH1 and TIM17_UP DMA request mapped on DMA channel 2 + /// TIM17 DMA request remapping bit 0: TIM17_CH1 and TIM17_UP DMA request mapped on DMA channel 1 1: TIM17_CH1 and TIM17_UP DMA request mapped on DMA channel 2 TIM17_DMA_RMP: u1, - /// TIM16 alternate DMA request remapping bit 0: TIM16 DMA request mapped according to TIM16_DMA_RMP bit 1: TIM16_CH1 and TIM16_UP DMA request mapped on DMA channel 6 + /// TIM16 alternate DMA request remapping bit 0: TIM16 DMA request mapped according to TIM16_DMA_RMP bit 1: TIM16_CH1 and TIM16_UP DMA request mapped on DMA channel 6 TIM16_DMA_RMP2: u1, - /// TIM17 alternate DMA request remapping bit 0: TIM17 DMA request mapped according to TIM16_DMA_RMP bit 1: TIM17_CH1 and TIM17_UP DMA request mapped on DMA channel 7 + /// TIM17 alternate DMA request remapping bit 0: TIM17 DMA request mapped according to TIM16_DMA_RMP bit 1: TIM17_CH1 and TIM17_UP DMA request mapped on DMA channel 7 TIM17_DMA_RMP2: u1, reserved16: u1, - /// Fast Mode Plus (FM plus) driving capability activation bits. 0: PB6 pin operate in standard mode 1: I2C FM+ mode enabled on PB6 and the Speed control is bypassed - I2C_PB6_FMP: packed union { - raw: u1, - value: FMP, - }, - /// Fast Mode Plus (FM+) driving capability activation bits. 0: PB7 pin operate in standard mode 1: I2C FM+ mode enabled on PB7 and the Speed control is bypassed - I2C_PB7_FMP: packed union { - raw: u1, - value: FMP, - }, - /// Fast Mode Plus (FM+) driving capability activation bits. 0: PB8 pin operate in standard mode 1: I2C FM+ mode enabled on PB8 and the Speed control is bypassed - I2C_PB8_FMP: packed union { - raw: u1, - value: FMP, - }, - /// Fast Mode Plus (FM+) driving capability activation bits. 0: PB9 pin operate in standard mode 1: I2C FM+ mode enabled on PB9 and the Speed control is bypassed - I2C_PB9_FMP: packed union { - raw: u1, - value: FMP, - }, - /// FM+ driving capability activation for I2C1 0: FM+ mode is controlled by I2C_Pxx_FMP bits only 1: FM+ mode is enabled on all I2C1 pins selected through selection bits in GPIOx_AFR registers - I2C1_FMP: packed union { - raw: u1, - value: FMP, - }, - /// FM+ driving capability activation for I2C2 0: FM+ mode is controlled by I2C_Pxx_FMP bits only 1: FM+ mode is enabled on all I2C2 pins selected through selection bits in GPIOx_AFR registers - I2C2_FMP: packed union { - raw: u1, - value: FMP, - }, - /// Fast Mode Plus (FM+) driving capability activation bits 0: PA9 pin operate in standard mode 1: I2C FM+ mode enabled on PA9 and the Speed control is bypassed - I2C_PA9_FMP: packed union { - raw: u1, - value: FMP, - }, - /// Fast Mode Plus (FM+) driving capability activation bits 0: PA10 pin operate in standard mode 1: I2C FM+ mode enabled on PA10 and the Speed control is bypassed - I2C_PA10_FMP: packed union { - raw: u1, - value: FMP, - }, - /// SPI2 DMA request remapping bit 0: SPI2_RX and SPI2_TX DMA requests mapped on DMA channel 4 and 5 respectively 1: SPI2_RX and SPI2_TX DMA requests mapped on DMA channel 6 and 7 respectively + /// Fast Mode Plus (FM plus) driving capability activation bits. 0: PB6 pin operate in standard mode 1: I2C FM+ mode enabled on PB6 and the Speed control is bypassed + I2C_PB6_FMP: FMP, + /// Fast Mode Plus (FM+) driving capability activation bits. 0: PB7 pin operate in standard mode 1: I2C FM+ mode enabled on PB7 and the Speed control is bypassed + I2C_PB7_FMP: FMP, + /// Fast Mode Plus (FM+) driving capability activation bits. 0: PB8 pin operate in standard mode 1: I2C FM+ mode enabled on PB8 and the Speed control is bypassed + I2C_PB8_FMP: FMP, + /// Fast Mode Plus (FM+) driving capability activation bits. 0: PB9 pin operate in standard mode 1: I2C FM+ mode enabled on PB9 and the Speed control is bypassed + I2C_PB9_FMP: FMP, + /// FM+ driving capability activation for I2C1 0: FM+ mode is controlled by I2C_Pxx_FMP bits only 1: FM+ mode is enabled on all I2C1 pins selected through selection bits in GPIOx_AFR registers + I2C1_FMP: FMP, + /// FM+ driving capability activation for I2C2 0: FM+ mode is controlled by I2C_Pxx_FMP bits only 1: FM+ mode is enabled on all I2C2 pins selected through selection bits in GPIOx_AFR registers + I2C2_FMP: FMP, + /// Fast Mode Plus (FM+) driving capability activation bits 0: PA9 pin operate in standard mode 1: I2C FM+ mode enabled on PA9 and the Speed control is bypassed + I2C_PA9_FMP: FMP, + /// Fast Mode Plus (FM+) driving capability activation bits 0: PA10 pin operate in standard mode 1: I2C FM+ mode enabled on PA10 and the Speed control is bypassed + I2C_PA10_FMP: FMP, + /// SPI2 DMA request remapping bit 0: SPI2_RX and SPI2_TX DMA requests mapped on DMA channel 4 and 5 respectively 1: SPI2_RX and SPI2_TX DMA requests mapped on DMA channel 6 and 7 respectively SPI2_DMA_RMP: u1, - /// USART2 DMA request remapping bit 0: USART2_RX and USART2_TX DMA requests mapped on DMA channel 5 and 4 respectively 1: USART2_RX and USART2_TX DMA requests mapped on DMA channel 6 and 7 respectively + /// USART2 DMA request remapping bit 0: USART2_RX and USART2_TX DMA requests mapped on DMA channel 5 and 4 respectively 1: USART2_RX and USART2_TX DMA requests mapped on DMA channel 6 and 7 respectively USART2_DMA_RMP: u1, - /// USART3 DMA request remapping bit 0: USART3_RX and USART3_TX DMA requests mapped on DMA channel 6 and 7 respectively (or simply disabled on STM32F0x0) 1: USART3_RX and USART3_TX DMA requests mapped on DMA channel 3 and 2 respectively + /// USART3 DMA request remapping bit 0: USART3_RX and USART3_TX DMA requests mapped on DMA channel 6 and 7 respectively (or simply disabled on STM32F0x0) 1: USART3_RX and USART3_TX DMA requests mapped on DMA channel 3 and 2 respectively USART3_DMA_RMP: u1, - /// I2C1 DMA request remapping bit 0: I2C1_RX and I2C1_TX DMA requests mapped on DMA channel 3 and 2 respectively 1: I2C1_RX and I2C1_TX DMA requests mapped on DMA channel 7 and 6 respectively + /// I2C1 DMA request remapping bit 0: I2C1_RX and I2C1_TX DMA requests mapped on DMA channel 3 and 2 respectively 1: I2C1_RX and I2C1_TX DMA requests mapped on DMA channel 7 and 6 respectively I2C1_DMA_RMP: u1, - /// TIM1 DMA request remapping bit 0: TIM1_CH1, TIM1_CH2 and TIM1_CH3 DMA requests mapped on DMA channel 2, 3 and 4 respectively 1: TIM1_CH1, TIM1_CH2 and TIM1_CH3 DMA requests mapped on DMA channel 6 + /// TIM1 DMA request remapping bit 0: TIM1_CH1, TIM1_CH2 and TIM1_CH3 DMA requests mapped on DMA channel 2, 3 and 4 respectively 1: TIM1_CH1, TIM1_CH2 and TIM1_CH3 DMA requests mapped on DMA channel 6 TIM1_DMA_RMP: u1, - /// TIM2 DMA request remapping bit 0: TIM2_CH2 and TIM2_CH4 DMA requests mapped on DMA channel 3 and 4 respectively 1: TIM2_CH2 and TIM2_CH4 DMA requests mapped on DMA channel 7 + /// TIM2 DMA request remapping bit 0: TIM2_CH2 and TIM2_CH4 DMA requests mapped on DMA channel 3 and 4 respectively 1: TIM2_CH2 and TIM2_CH4 DMA requests mapped on DMA channel 7 TIM2_DMA_RMP: u1, - /// TIM3 DMA request remapping bit 0: TIM3_CH1 and TIM3_TRIG DMA requests mapped on DMA channel 4 1: TIM3_CH1 and TIM3_TRIG DMA requests mapped on DMA channel 6 + /// TIM3 DMA request remapping bit 0: TIM3_CH1 and TIM3_TRIG DMA requests mapped on DMA channel 4 1: TIM3_CH1 and TIM3_TRIG DMA requests mapped on DMA channel 6 TIM3_DMA_RMP: u1, padding: u1, }), reserved8: [4]u8, - /// external interrupt configuration register 1 + /// external interrupt configuration register 1 EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI configuration bits + /// EXTI configuration bits EXTI: u4, padding: u28, }), - /// configuration register 2 + /// configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// Cortex-M0 LOCKUP bit enable bit + /// Cortex-M0 LOCKUP bit enable bit LOCKUP_LOCK: u1, - /// SRAM parity lock bit + /// SRAM parity lock bit SRAM_PARITY_LOCK: u1, - /// PVD lock enable bit + /// PVD lock enable bit PVD_LOCK: u1, reserved8: u5, - /// SRAM parity flag + /// SRAM parity flag SRAM_PEF: u1, padding: u23, }), @@ -428753,47 +418595,44 @@ pub const types = struct { pub const syscfg_f2 = struct { pub const MEM_MODE = enum(u2) { - /// Main Flash memory mapped at 0x0000_0000 + /// Main Flash memory mapped at 0x0000_0000 MainFlash = 0x0, - /// System Flash memory mapped at 0x0000_0000 + /// System Flash memory mapped at 0x0000_0000 SystemFlash = 0x1, - /// FSMC Bank1 (NOR/PSRAM 1 and 2) mapped at 0x0000_0000 + /// FSMC Bank1 (NOR/PSRAM 1 and 2) mapped at 0x0000_0000 FSMC = 0x2, - /// Embedded SRAM mapped at 0x0000_0000 + /// Embedded SRAM mapped at 0x0000_0000 SRAM = 0x3, }; - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// memory remap register + /// memory remap register MEMRMP: mmio.Mmio(packed struct(u32) { - /// Memory mapping selection - MEM_MODE: packed union { - raw: u2, - value: MEM_MODE, - }, + /// Memory mapping selection + MEM_MODE: MEM_MODE, padding: u30, }), - /// peripheral mode configuration register + /// peripheral mode configuration register PMC: mmio.Mmio(packed struct(u32) { reserved23: u23, - /// Ethernet PHY interface selection + /// Ethernet PHY interface selection MII_RMII_SEL: u1, padding: u8, }), - /// external interrupt configuration register 1 + /// external interrupt configuration register 1 EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI x configuration (x = 0 to 3) + /// EXTI x configuration (x = 0 to 3) EXTI: u4, padding: u28, }), reserved32: [8]u8, - /// Compensation cell control register + /// Compensation cell control register CMPCR: mmio.Mmio(packed struct(u32) { - /// Compensation cell power-down + /// Compensation cell power-down CMP_PD: u1, reserved8: u7, - /// Compensation cell ready flag + /// Compensation cell ready flag READY: u1, padding: u23, }), @@ -428802,398 +418641,311 @@ pub const types = struct { pub const syscfg_f3 = struct { pub const ADC12_EXT13_RMP = enum(u1) { - /// Trigger source is TIM6_TRGO + /// Trigger source is TIM6_TRGO Tim6 = 0x0, - /// Trigger source is TIM20_CC2 + /// Trigger source is TIM20_CC2 Tim20 = 0x1, }; pub const ADC12_EXT15_RMP = enum(u1) { - /// Trigger source is TIM3_CC4 + /// Trigger source is TIM3_CC4 Tim3 = 0x0, - /// Trigger source is TIM20_CC3 + /// Trigger source is TIM20_CC3 Tim20 = 0x1, }; pub const ADC12_EXT2_RMP = enum(u1) { - /// Trigger source is TIM3_CC3 + /// Trigger source is TIM3_CC3 Tim1 = 0x0, - /// rigger source is TIM20_TRGO + /// rigger source is TIM20_TRGO Tim20 = 0x1, }; pub const ADC12_EXT3_RMP = enum(u1) { - /// Trigger source is TIM2_CC2 + /// Trigger source is TIM2_CC2 Tim2 = 0x0, - /// rigger source is TIM20_TRGO2 + /// rigger source is TIM20_TRGO2 Tim20 = 0x1, }; pub const ADC12_EXT5_RMP = enum(u1) { - /// Trigger source is TIM4_CC4 + /// Trigger source is TIM4_CC4 Tim4 = 0x0, - /// Trigger source is TIM20_CC1 + /// Trigger source is TIM20_CC1 Tim20 = 0x1, }; pub const ADC12_JEXT13_RMP = enum(u1) { - /// Trigger source is TIM3_CC1 + /// Trigger source is TIM3_CC1 Tim3 = 0x0, - /// Trigger source is TIM20_CC4 + /// Trigger source is TIM20_CC4 Tim20 = 0x1, }; pub const ADC12_JEXT3_RMP = enum(u1) { - /// Trigger source is TIM2_CC1 + /// Trigger source is TIM2_CC1 Tim2 = 0x0, - /// Trigger source is TIM20_TRGO + /// Trigger source is TIM20_TRGO Tim20 = 0x1, }; pub const ADC12_JEXT6_RMP = enum(u1) { - /// Trigger source is EXTI line 15 + /// Trigger source is EXTI line 15 Exti15 = 0x0, - /// Trigger source is TIM20_TRGO2 + /// Trigger source is TIM20_TRGO2 Tim20 = 0x1, }; pub const ADC2_DMA_RMP_CFGR3 = enum(u2) { - /// ADC2 mapped on DMA1 channel 2 + /// ADC2 mapped on DMA1 channel 2 MapDma1Ch2 = 0x2, - /// ADC2 mapped on DMA1 channel 4 + /// ADC2 mapped on DMA1 channel 4 MapDma1Ch4 = 0x3, _, }; pub const ADC34_EXT15_RMP = enum(u1) { - /// Trigger source is TIM2_CC1 + /// Trigger source is TIM2_CC1 Tim2 = 0x0, - /// Trigger source is TIM20_CC1 + /// Trigger source is TIM20_CC1 Tim20 = 0x1, }; pub const ADC34_EXT5_RMP = enum(u1) { - /// Trigger source is EXTI line 2 when reset at 0 + /// Trigger source is EXTI line 2 when reset at 0 Exti2 = 0x0, - /// Trigger source is TIM20_TRGO + /// Trigger source is TIM20_TRGO Tim20 = 0x1, }; pub const ADC34_EXT6_RMP = enum(u1) { - /// Trigger source is TIM4_CC1 + /// Trigger source is TIM4_CC1 Tim4 = 0x0, - /// Trigger source is TIM20_TRGO2 + /// Trigger source is TIM20_TRGO2 Tim20 = 0x1, }; pub const ADC34_JEXT11_RMP = enum(u1) { - /// Trigger source is TIM1_CC3 + /// Trigger source is TIM1_CC3 Tim1 = 0x0, - /// Trigger source is TIM20_TRGO2 + /// Trigger source is TIM20_TRGO2 Tim20 = 0x1, }; pub const ADC34_JEXT14_RMP = enum(u1) { - /// Trigger source is TIM7_TRGO + /// Trigger source is TIM7_TRGO Tim7 = 0x0, - /// Trigger source is TIM20_CC2 + /// Trigger source is TIM20_CC2 Tim20 = 0x1, }; pub const ADC34_JEXT5_RMP = enum(u1) { - /// Trigger source is TIM4_CC3 + /// Trigger source is TIM4_CC3 Tim4 = 0x0, - /// Trigger source is TIM20_TRGO + /// Trigger source is TIM20_TRGO Tim20 = 0x1, }; pub const DAC1_TRIG3_RMP = enum(u1) { - /// DAC trigger is TIM15_TRGO + /// DAC trigger is TIM15_TRGO Tim15 = 0x0, - /// DAC trigger is HRTIM1_DAC1_TRIG1 + /// DAC trigger is HRTIM1_DAC1_TRIG1 HrTim1 = 0x1, }; pub const ENCODER_MODE = enum(u2) { - /// No redirection + /// No redirection NoRedirection = 0x0, - /// TIM2 IC1 and TIM2 IC2 are connected to TIM15 IC1 and TIM15 IC2 respectively + /// TIM2 IC1 and TIM2 IC2 are connected to TIM15 IC1 and TIM15 IC2 respectively MapTim2Tim15 = 0x1, - /// TIM3 IC1 and TIM3 IC2 are connected to TIM15 IC1 and TIM15 IC2 respectively + /// TIM3 IC1 and TIM3 IC2 are connected to TIM15 IC1 and TIM15 IC2 respectively MapTim3Tim15 = 0x2, _, }; pub const FMP = enum(u1) { - /// Standard + /// Standard Standard = 0x0, - /// FM+ + /// FM+ FMP = 0x1, }; pub const I2C1_RX_DMA_RMP = enum(u2) { - /// I2C1_RX mapped on DMA1 CH7 + /// I2C1_RX mapped on DMA1 CH7 MapDma1Ch7 = 0x0, - /// I2C1_RX mapped on DMA1 CH3 + /// I2C1_RX mapped on DMA1 CH3 MapDma1Ch3 = 0x1, - /// I2C1_RX mapped on DMA1 CH5 + /// I2C1_RX mapped on DMA1 CH5 MapDma1Ch5 = 0x2, _, }; pub const I2C1_TX_DMA_RMP = enum(u2) { - /// I2C1_TX mapped on DMA1 CH6 + /// I2C1_TX mapped on DMA1 CH6 MapDma1Ch6 = 0x0, - /// I2C1_TX mapped on DMA1 CH2 + /// I2C1_TX mapped on DMA1 CH2 MapDma1Ch2 = 0x1, - /// I2C1_TX mapped on DMA1 CH4 + /// I2C1_TX mapped on DMA1 CH4 MapDma1Ch4 = 0x2, _, }; pub const MEM_MODE = enum(u2) { - /// Main Flash memory mapped at 0x0000_0000 + /// Main Flash memory mapped at 0x0000_0000 MainFlash = 0x0, - /// System Flash memory mapped at 0x0000_0000 + /// System Flash memory mapped at 0x0000_0000 SystemFlash = 0x1, - /// Main Flash memory mapped at 0x0000_0000 + /// Main Flash memory mapped at 0x0000_0000 MainFlash2 = 0x2, - /// Embedded SRAM mapped at 0x0000_0000 + /// Embedded SRAM mapped at 0x0000_0000 SRAM = 0x3, }; pub const SPI1_RX_DMA_RMP = enum(u2) { - /// SPI1_RX mapped on DMA1 CH2 + /// SPI1_RX mapped on DMA1 CH2 MapDma1Ch3 = 0x0, - /// SPI1_RX mapped on DMA1 CH4 + /// SPI1_RX mapped on DMA1 CH4 MapDma1Ch5 = 0x1, - /// SPI1_RX mapped on DMA1 CH6 + /// SPI1_RX mapped on DMA1 CH6 MapDma1Ch7 = 0x2, _, }; pub const SPI1_TX_DMA_RMP = enum(u2) { - /// SPI1_TX mapped on DMA1 CH3 + /// SPI1_TX mapped on DMA1 CH3 MapDma1Ch3 = 0x0, - /// SPI1_TX mapped on DMA1 CH5 + /// SPI1_TX mapped on DMA1 CH5 MapDma1Ch5 = 0x1, - /// SPI1_TX mapped on DMA1 CH7 + /// SPI1_TX mapped on DMA1 CH7 MapDma1Ch7 = 0x2, _, }; - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// configuration register 1 + /// configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { - /// Memory mapping selection bits - MEM_MODE: packed union { - raw: u2, - value: MEM_MODE, - }, + /// Memory mapping selection bits + MEM_MODE: MEM_MODE, reserved5: u3, - /// USB interrupt remap 0: USB_HP, USB_LP and USB_WAKEUP interrupts are mapped on interrupt lines 19, 20 and 42 respectively 1: USB_HP, USB_LP and USB_WAKEUP interrupts are mapped on interrupt lines 74, 75 and 76 respectively + /// USB interrupt remap 0: USB_HP, USB_LP and USB_WAKEUP interrupts are mapped on interrupt lines 19, 20 and 42 respectively 1: USB_HP, USB_LP and USB_WAKEUP interrupts are mapped on interrupt lines 74, 75 and 76 respectively USB_IT_RMP: u1, - /// Timer 1 ITR3 selection 0: Not remapped 1: TIM1_ITR3 = TIM17_OC + /// Timer 1 ITR3 selection 0: Not remapped 1: TIM1_ITR3 = TIM17_OC TIM1_ITR3_RMP: u1, - /// DAC trigger remap (when TSEL = 001) 0: DAC trigger is TIM8_TRGO in STM32F303xB/C and STM32F358xC devices 1: DAC trigger is TIM3_TRGO + /// DAC trigger remap (when TSEL = 001) 0: DAC trigger is TIM8_TRGO in STM32F303xB/C and STM32F358xC devices 1: DAC trigger is TIM3_TRGO DAC1_TRIG_RMP: u1, - /// ADC24 DMA remapping bit 0: ADC24 DMA requests mapped on DMA2 channels 1 and 2 1: ADC24 DMA requests mapped on DMA2 channels 3 and 4 + /// ADC24 DMA remapping bit 0: ADC24 DMA requests mapped on DMA2 channels 1 and 2 1: ADC24 DMA requests mapped on DMA2 channels 3 and 4 ADC2_DMA_RMP: u1, reserved11: u2, - /// TIM16 DMA request remapping bit 0: TIM16_CH1 and TIM16_UP DMA requests mapped on DMA channel 3 1: TIM16_CH1 and TIM16_UP DMA requests mapped on DMA channel 4 + /// TIM16 DMA request remapping bit 0: TIM16_CH1 and TIM16_UP DMA requests mapped on DMA channel 3 1: TIM16_CH1 and TIM16_UP DMA requests mapped on DMA channel 4 TIM16_DMA_RMP: u1, - /// TIM17 DMA request remapping bit 0: TIM17_CH1 and TIM17_UP DMA requests mapped on DMA channel 1 1: TIM17_CH1 and TIM17_UP DMA requests mapped on DMA channel 2 + /// TIM17 DMA request remapping bit 0: TIM17_CH1 and TIM17_UP DMA requests mapped on DMA channel 1 1: TIM17_CH1 and TIM17_UP DMA requests mapped on DMA channel 2 TIM17_DMA_RMP: u1, - /// TIM6 and DAC1 DMA request remapping bit 0: TIM6_UP and DAC_CH1 DMA requests mapped on DMA2 channel 3 1: TIM6_UP and DAC_CH1 DMA requests mapped on DMA1 channel 3 + /// TIM6 and DAC1 DMA request remapping bit 0: TIM6_UP and DAC_CH1 DMA requests mapped on DMA2 channel 3 1: TIM6_UP and DAC_CH1 DMA requests mapped on DMA1 channel 3 TIM6_DAC1_CH1_DMA_RMP: u1, - /// TIM7 and DAC2 DMA request remapping bit 0: Not remapped 1: TIM7_UP and DAC_CH2 DMA requests mapped on DMA1 channel 4 + /// TIM7 and DAC2 DMA request remapping bit 0: Not remapped 1: TIM7_UP and DAC_CH2 DMA requests mapped on DMA1 channel 4 TIM7_DAC1_CH2_DMA_RMP: u1, - /// DAC2 channel1 DMA remap 0: Not remapped 1: DAC2_CH1 DMA requests mapped on DMA1 channel 5 + /// DAC2 channel1 DMA remap 0: Not remapped 1: DAC2_CH1 DMA requests mapped on DMA1 channel 5 DAC2_CH1_DMA_RMP: u1, - /// Fast Mode Plus (FM+) driving capability activation bits. 0: PB6 pin operate in standard mode 1: I2C FM+ mode enabled on PB6 and the Speed control is bypassed - I2C_PB6_FMP: packed union { - raw: u1, - value: FMP, - }, - /// Fast Mode Plus (FM+) driving capability activation bits. 0: PB7 pin operate in standard mode 1: I2C FM+ mode enabled on PB7 and the Speed control is bypassed - I2C_PB7_FMP: packed union { - raw: u1, - value: FMP, - }, - /// Fast Mode Plus (FM+) driving capability activation bits. 0: PB8 pin operate in standard mode 1: I2C FM+ mode enabled on PB8 and the Speed control is bypassed - I2C_PB8_FMP: packed union { - raw: u1, - value: FMP, - }, - /// Fast Mode Plus (FM+) driving capability activation bits. 0: PB9 pin operate in standard mode 1: I2C FM+ mode enabled on PB9 and the Speed control is bypassed - I2C_PB9_FMP: packed union { - raw: u1, - value: FMP, - }, - /// I2C1 Fast Mode Plus 0: FM+ mode is controlled by I2C_Pxx_FMP bits only 1: FM+ mode is enabled on all I2C1 pins selected through selection through IOPORT control registers AF selection bits - I2C1_FMP: packed union { - raw: u1, - value: FMP, - }, - /// I2C2 Fast Mode Plus 0: FM+ mode is controlled by I2C_Pxx_FMP bits only 1: FM+ mode is enabled on all I2C2 pins selected through selection through IOPORT control registers AF selection bits - I2C2_FMP: packed union { - raw: u1, - value: FMP, - }, - /// Encoder mode - ENCODER_MODE: packed union { - raw: u2, - value: ENCODER_MODE, - }, - /// I2C3 Fast Mode Plus 0: FM+ mode is controlled by I2C_Pxx_FMP bits only 1: FM+ mode is enabled on all I2C3 pins selected through selection trhough IOPORT control registers AF selection bits - I2C3_FMP: packed union { - raw: u1, - value: FMP, - }, + /// Fast Mode Plus (FM+) driving capability activation bits. 0: PB6 pin operate in standard mode 1: I2C FM+ mode enabled on PB6 and the Speed control is bypassed + I2C_PB6_FMP: FMP, + /// Fast Mode Plus (FM+) driving capability activation bits. 0: PB7 pin operate in standard mode 1: I2C FM+ mode enabled on PB7 and the Speed control is bypassed + I2C_PB7_FMP: FMP, + /// Fast Mode Plus (FM+) driving capability activation bits. 0: PB8 pin operate in standard mode 1: I2C FM+ mode enabled on PB8 and the Speed control is bypassed + I2C_PB8_FMP: FMP, + /// Fast Mode Plus (FM+) driving capability activation bits. 0: PB9 pin operate in standard mode 1: I2C FM+ mode enabled on PB9 and the Speed control is bypassed + I2C_PB9_FMP: FMP, + /// I2C1 Fast Mode Plus 0: FM+ mode is controlled by I2C_Pxx_FMP bits only 1: FM+ mode is enabled on all I2C1 pins selected through selection through IOPORT control registers AF selection bits + I2C1_FMP: FMP, + /// I2C2 Fast Mode Plus 0: FM+ mode is controlled by I2C_Pxx_FMP bits only 1: FM+ mode is enabled on all I2C2 pins selected through selection through IOPORT control registers AF selection bits + I2C2_FMP: FMP, + /// Encoder mode + ENCODER_MODE: ENCODER_MODE, + /// I2C3 Fast Mode Plus 0: FM+ mode is controlled by I2C_Pxx_FMP bits only 1: FM+ mode is enabled on all I2C3 pins selected through selection trhough IOPORT control registers AF selection bits + I2C3_FMP: FMP, reserved26: u1, - /// Idx 0: Invalid operation interrupt enable; Idx 1: Devide-by-zero interrupt enable; Idx 2: Underflow interrupt enable; Idx 3: Overflow interrupt enable; Idx 4: Input denormal interrupt enable; Idx 5: Inexact interrupt enable + /// Idx 0: Invalid operation interrupt enable; Idx 1: Devide-by-zero interrupt enable; Idx 2: Underflow interrupt enable; Idx 3: Overflow interrupt enable; Idx 4: Input denormal interrupt enable; Idx 5: Inexact interrupt enable FPU_IE: u1, padding: u5, }), - /// CCM SRAM protection register + /// CCM SRAM protection register RCR: mmio.Mmio(packed struct(u32) { - /// CCM SRAM page x write protection enabled + /// CCM SRAM page x write protection enabled PAGE_WP: u1, padding: u31, }), - /// external interrupt configuration register + /// external interrupt configuration register EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI x configuration + /// EXTI x configuration EXTI: u4, padding: u28, }), - /// configuration register 2 + /// configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// Cortex-M0 LOCKUP bit enable bit + /// Cortex-M0 LOCKUP bit enable bit LOCKUP_LOCK: u1, - /// SRAM parity lock bit + /// SRAM parity lock bit SRAM_PARITY_LOCK: u1, - /// PVD lock enable bit + /// PVD lock enable bit PVD_LOCK: u1, reserved4: u1, - /// Bypass address bit 29 in parity calculation + /// Bypass address bit 29 in parity calculation BYP_ADDR_PAR: u1, reserved8: u3, - /// SRAM parity flag + /// SRAM parity flag SRAM_PEF: u1, padding: u23, }), reserved72: [44]u8, - /// configuration register 4 + /// configuration register 4 CFGR4: mmio.Mmio(packed struct(u32) { - /// Controls the Input trigger of ADC12 regular channel EXT2 - ADC12_EXT2_RMP: packed union { - raw: u1, - value: ADC12_EXT2_RMP, - }, - /// Controls the Input trigger of ADC12 regular channel EXT3 - ADC12_EXT3_RMP: packed union { - raw: u1, - value: ADC12_EXT3_RMP, - }, - /// Controls the Input trigger of ADC12 regular channel EXT5 - ADC12_EXT5_RMP: packed union { - raw: u1, - value: ADC12_EXT5_RMP, - }, - /// Controls the Input trigger of ADC12 regular channel EXT13 - ADC12_EXT13_RMP: packed union { - raw: u1, - value: ADC12_EXT13_RMP, - }, - /// Controls the Input trigger of ADC12 regular channel EXT15 - ADC12_EXT15_RMP: packed union { - raw: u1, - value: ADC12_EXT15_RMP, - }, - /// Controls the Input trigger of ADC12 injected channel JEXT3 - ADC12_JEXT3_RMP: packed union { - raw: u1, - value: ADC12_JEXT3_RMP, - }, - /// Controls the Input trigger of ADC12 injected channel JEXT6 - ADC12_JEXT6_RMP: packed union { - raw: u1, - value: ADC12_JEXT6_RMP, - }, - /// Controls the Input trigger of ADC12 injected channel JEXT13 - ADC12_JEXT13_RMP: packed union { - raw: u1, - value: ADC12_JEXT13_RMP, - }, - /// Controls the Input trigger of ADC34 regular channel EXT5 - ADC34_EXT5_RMP: packed union { - raw: u1, - value: ADC34_EXT5_RMP, - }, - /// Controls the Input trigger of ADC34 regular channel EXT6 - ADC34_EXT6_RMP: packed union { - raw: u1, - value: ADC34_EXT6_RMP, - }, - /// Controls the Input trigger of ADC34 regular channel EXT15 - ADC34_EXT15_RMP: packed union { - raw: u1, - value: ADC34_EXT15_RMP, - }, - /// Controls the Input trigger of ADC34 injected channel JEXT5 - ADC34_JEXT5_RMP: packed union { - raw: u1, - value: ADC34_JEXT5_RMP, - }, - /// Controls the Input trigger of ADC34 injected channel JEXT11 - ADC34_JEXT11_RMP: packed union { - raw: u1, - value: ADC34_JEXT11_RMP, - }, - /// Controls the Input trigger of ADC34 injected channel JEXT14 - ADC34_JEXT14_RMP: packed union { - raw: u1, - value: ADC34_JEXT14_RMP, - }, + /// Controls the Input trigger of ADC12 regular channel EXT2 + ADC12_EXT2_RMP: ADC12_EXT2_RMP, + /// Controls the Input trigger of ADC12 regular channel EXT3 + ADC12_EXT3_RMP: ADC12_EXT3_RMP, + /// Controls the Input trigger of ADC12 regular channel EXT5 + ADC12_EXT5_RMP: ADC12_EXT5_RMP, + /// Controls the Input trigger of ADC12 regular channel EXT13 + ADC12_EXT13_RMP: ADC12_EXT13_RMP, + /// Controls the Input trigger of ADC12 regular channel EXT15 + ADC12_EXT15_RMP: ADC12_EXT15_RMP, + /// Controls the Input trigger of ADC12 injected channel JEXT3 + ADC12_JEXT3_RMP: ADC12_JEXT3_RMP, + /// Controls the Input trigger of ADC12 injected channel JEXT6 + ADC12_JEXT6_RMP: ADC12_JEXT6_RMP, + /// Controls the Input trigger of ADC12 injected channel JEXT13 + ADC12_JEXT13_RMP: ADC12_JEXT13_RMP, + /// Controls the Input trigger of ADC34 regular channel EXT5 + ADC34_EXT5_RMP: ADC34_EXT5_RMP, + /// Controls the Input trigger of ADC34 regular channel EXT6 + ADC34_EXT6_RMP: ADC34_EXT6_RMP, + /// Controls the Input trigger of ADC34 regular channel EXT15 + ADC34_EXT15_RMP: ADC34_EXT15_RMP, + /// Controls the Input trigger of ADC34 injected channel JEXT5 + ADC34_JEXT5_RMP: ADC34_JEXT5_RMP, + /// Controls the Input trigger of ADC34 injected channel JEXT11 + ADC34_JEXT11_RMP: ADC34_JEXT11_RMP, + /// Controls the Input trigger of ADC34 injected channel JEXT14 + ADC34_JEXT14_RMP: ADC34_JEXT14_RMP, padding: u18, }), reserved80: [4]u8, - /// configuration register 3 + /// configuration register 3 CFGR3: mmio.Mmio(packed struct(u32) { - /// SPI1_RX DMA remapping bit - SPI1_RX_DMA_RMP: packed union { - raw: u2, - value: SPI1_RX_DMA_RMP, - }, - /// SPI1_TX DMA remapping bit - SPI1_TX_DMA_RMP: packed union { - raw: u2, - value: SPI1_TX_DMA_RMP, - }, - /// I2C1_RX DMA remapping bit - I2C1_RX_DMA_RMP: packed union { - raw: u2, - value: I2C1_RX_DMA_RMP, - }, - /// I2C1_TX DMA remapping bit - I2C1_TX_DMA_RMP: packed union { - raw: u2, - value: I2C1_TX_DMA_RMP, - }, - /// ADC2 DMA remapping bit - ADC2_DMA_RMP: packed union { - raw: u2, - value: ADC2_DMA_RMP_CFGR3, - }, + /// SPI1_RX DMA remapping bit + SPI1_RX_DMA_RMP: SPI1_RX_DMA_RMP, + /// SPI1_TX DMA remapping bit + SPI1_TX_DMA_RMP: SPI1_TX_DMA_RMP, + /// I2C1_RX DMA remapping bit + I2C1_RX_DMA_RMP: I2C1_RX_DMA_RMP, + /// I2C1_TX DMA remapping bit + I2C1_TX_DMA_RMP: I2C1_TX_DMA_RMP, + /// ADC2 DMA remapping bit + ADC2_DMA_RMP: ADC2_DMA_RMP_CFGR3, reserved16: u6, - /// DAC1_CH1 / DAC1_CH2 Trigger remap - DAC1_TRIG3_RMP: packed union { - raw: u1, - value: DAC1_TRIG3_RMP, - }, - /// DAC1_CH1 / DAC1_CH2 Trigger remap 0: Not remapped 1: DAC trigger is HRTIM1_DAC1_TRIG2 + /// DAC1_CH1 / DAC1_CH2 Trigger remap + DAC1_TRIG3_RMP: DAC1_TRIG3_RMP, + /// DAC1_CH1 / DAC1_CH2 Trigger remap 0: Not remapped 1: DAC trigger is HRTIM1_DAC1_TRIG2 DAC1_TRIG5_RMP: u1, padding: u14, }), @@ -429201,47 +418953,47 @@ pub const types = struct { }; pub const syscfg_f4 = struct { - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// memory remap register + /// memory remap register MEMRM: mmio.Mmio(packed struct(u32) { - /// Memory mapping selection + /// Memory mapping selection MEM_MODE: u3, reserved8: u5, - /// Flash bank mode selection + /// Flash bank mode selection FB_MODE: u1, reserved10: u1, - /// FMC memory mapping swap + /// FMC memory mapping swap SWP_FMC: u2, padding: u20, }), - /// peripheral mode configuration register + /// peripheral mode configuration register PMC: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// ADC1DC2 + /// ADC1DC2 ADC1DC2: u1, - /// ADC2DC2 + /// ADC2DC2 ADC2DC2: u1, - /// ADC3DC2 + /// ADC3DC2 ADC3DC2: u1, reserved23: u4, - /// Ethernet PHY interface selection + /// Ethernet PHY interface selection MII_RMII_SEL: u1, padding: u8, }), - /// external interrupt configuration register + /// external interrupt configuration register EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI x configuration + /// EXTI x configuration EXTI: u4, padding: u28, }), reserved32: [8]u8, - /// Compensation cell control register + /// Compensation cell control register CMPCR: mmio.Mmio(packed struct(u32) { - /// Compensation cell power-down + /// Compensation cell power-down CMP_PD: u1, reserved8: u7, - /// READY + /// READY READY: u1, padding: u23, }), @@ -429249,63 +419001,63 @@ pub const types = struct { }; pub const syscfg_f7 = struct { - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// memory remap register + /// memory remap register MEMRMP: mmio.Mmio(packed struct(u32) { - /// Memory boot mapping + /// Memory boot mapping MEM_BOOT: u1, reserved8: u7, - /// Flash bank mode selection + /// Flash bank mode selection FB_MODE: u1, reserved10: u1, - /// FMC memory mapping swap + /// FMC memory mapping swap SWP_FMC: u2, padding: u20, }), - /// peripheral mode configuration register + /// peripheral mode configuration register PMC: mmio.Mmio(packed struct(u32) { - /// I2C1_FMP I2C1 Fast Mode + Enable + /// I2C1_FMP I2C1 Fast Mode + Enable I2C1_FMP: u1, - /// I2C2_FMP I2C2 Fast Mode + Enable + /// I2C2_FMP I2C2 Fast Mode + Enable I2C2_FMP: u1, - /// I2C3_FMP I2C3 Fast Mode + Enable + /// I2C3_FMP I2C3 Fast Mode + Enable I2C3_FMP: u1, - /// I2C4 Fast Mode + Enable + /// I2C4 Fast Mode + Enable I2C4_FMP: u1, - /// PB6_FMP Fast Mode + /// PB6_FMP Fast Mode PB6_FMP: u1, - /// PB7_FMP Fast Mode + Enable + /// PB7_FMP Fast Mode + Enable PB7_FMP: u1, - /// PB8_FMP Fast Mode + Enable + /// PB8_FMP Fast Mode + Enable PB8_FMP: u1, - /// Fast Mode + Enable + /// Fast Mode + Enable PB9_FMP: u1, reserved16: u8, - /// ADC3DC2 + /// ADC3DC2 ADC1DC2: u1, - /// ADC2DC2 + /// ADC2DC2 ADC2DC2: u1, - /// ADC3DC2 + /// ADC3DC2 ADC3DC2: u1, reserved23: u4, - /// Ethernet PHY interface selection + /// Ethernet PHY interface selection MII_RMII_SEL: u1, padding: u8, }), - /// external interrupt configuration register 1 + /// external interrupt configuration register 1 EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI x configuration (x = 0 to 3) + /// EXTI x configuration (x = 0 to 3) EXTI: u4, padding: u28, }), reserved32: [8]u8, - /// Compensation cell control register + /// Compensation cell control register CMPCR: mmio.Mmio(packed struct(u32) { - /// Compensation cell power-down + /// Compensation cell power-down CMP_PD: u1, reserved8: u7, - /// READY + /// READY READY: u1, padding: u23, }), @@ -429314,340 +419066,337 @@ pub const types = struct { pub const syscfg_g0 = struct { pub const MEM_MODE = enum(u2) { - /// Main Flash memory mapped at address 0 + /// Main Flash memory mapped at address 0 MAIN_FLASH = 0x0, - /// System Flash memory mapped at address 0 + /// System Flash memory mapped at address 0 SYSTEM_FLASH = 0x1, - /// Main Flash memory mapped at address 0 (alternate encoding) + /// Main Flash memory mapped at address 0 (alternate encoding) MAIN_FLASH_ALT = 0x2, - /// Embedded SRAM mapped at address 0 + /// Embedded SRAM mapped at address 0 SRAM = 0x3, }; - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// configuration register 1 + /// configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { - /// Memory mapping selection bits. This bitfield controlled by software selects the memory internally mapped at the address 0x0000_0000. Its reset value is determined by the boot mode configuration. Refer to Reference Manual section 2.5 for more details. - MEM_MODE: packed union { - raw: u2, - value: MEM_MODE, - }, + /// Memory mapping selection bits. This bitfield controlled by software selects the memory internally mapped at the address 0x0000_0000. Its reset value is determined by the boot mode configuration. Refer to Reference Manual section 2.5 for more details. + MEM_MODE: MEM_MODE, reserved3: u1, - /// PA11 pin remapping This bit is set and cleared by software. When set, it remaps the PA11 pin to operate as PA9 GPIO port, instead as PA11 GPIO port. + /// PA11 pin remapping This bit is set and cleared by software. When set, it remaps the PA11 pin to operate as PA9 GPIO port, instead as PA11 GPIO port. PA11_RMP: u1, - /// PA12 pin remapping This bit is set and cleared by software. When set, it remaps the PA12 pin to operate as PA10 GPIO port, instead as PA12 GPIO port. + /// PA12 pin remapping This bit is set and cleared by software. When set, it remaps the PA12 pin to operate as PA10 GPIO port, instead as PA12 GPIO port. PA12_RMP: u1, - /// IR output polarity selection + /// IR output polarity selection IR_POL: u1, - /// IR Modulation Envelope signal selection. + /// IR Modulation Envelope signal selection. IR_MOD: u2, - /// I/O analog switch voltage booster enable + /// I/O analog switch voltage booster enable BOOSTEN: u1, - /// Strobe signal bit for UCPD1 + /// Strobe signal bit for UCPD1 UCPD1_STROBE: u1, - /// Strobe signal bit for UCPD2 + /// Strobe signal bit for UCPD2 UCPD2_STROBE: u1, reserved16: u5, - /// Fast Mode Plus (FM+) driving capability activation bits + /// Fast Mode Plus (FM+) driving capability activation bits I2C_PBx_FMP: u4, - /// FM+ driving capability activation for I2C1 + /// FM+ driving capability activation for I2C1 I2C1_FMP: u1, - /// FM+ driving capability activation for I2C2 + /// FM+ driving capability activation for I2C2 I2C2_FMP: u1, - /// Fast Mode Plus (FM+) driving capability activation bits + /// Fast Mode Plus (FM+) driving capability activation bits I2C_PAx_FMP: u2, padding: u8, }), reserved24: [20]u8, - /// configuration register 1 + /// configuration register 1 CFGR2: mmio.Mmio(packed struct(u32) { - /// Cortex-M0+ LOCKUP bit enable bit + /// Cortex-M0+ LOCKUP bit enable bit LOCKUP_LOCK: u1, - /// SRAM parity lock bit + /// SRAM parity lock bit SRAM_PARITY_LOCK: u1, - /// PVD lock enable bit + /// PVD lock enable bit PVD_LOCK: u1, - /// ECC error lock bit + /// ECC error lock bit ECC_LOCK: u1, reserved8: u4, - /// SRAM parity error flag + /// SRAM parity error flag SRAM_PEF: u1, reserved16: u7, - /// PA1_CDEN + /// PA1_CDEN PA1_CDEN: u1, - /// PA3_CDEN + /// PA3_CDEN PA3_CDEN: u1, - /// PA5_CDEN + /// PA5_CDEN PA5_CDEN: u1, - /// PA6_CDEN + /// PA6_CDEN PA6_CDEN: u1, - /// PA13_CDEN + /// PA13_CDEN PA13_CDEN: u1, - /// PB0_CDEN + /// PB0_CDEN PB0_CDEN: u1, - /// PB1_CDEN + /// PB1_CDEN PB1_CDEN: u1, - /// PB2_CDEN + /// PB2_CDEN PB2_CDEN: u1, padding: u8, }), reserved48: [20]u8, - /// VREFBUF control and status register + /// VREFBUF control and status register VREFBUF_CSR: mmio.Mmio(packed struct(u32) { - /// Voltage reference buffer mode enable This bit is used to enable the voltage reference buffer mode. + /// Voltage reference buffer mode enable This bit is used to enable the voltage reference buffer mode. ENVR: u1, - /// High impedance mode This bit controls the analog switch to connect or not the VREF+ pin. Refer to Table196: VREF buffer modes for the mode descriptions depending on ENVR bit configuration. + /// High impedance mode This bit controls the analog switch to connect or not the VREF+ pin. Refer to Table196: VREF buffer modes for the mode descriptions depending on ENVR bit configuration. HIZ: u1, reserved3: u1, - /// Voltage reference buffer ready + /// Voltage reference buffer ready VRR: u1, - /// Voltage reference scale These bits select the value generated by the voltage reference buffer. Other: Reserved + /// Voltage reference scale These bits select the value generated by the voltage reference buffer. Other: Reserved VRS: u3, padding: u25, }), - /// VREFBUF calibration control register + /// VREFBUF calibration control register VREFBUF_CCR: mmio.Mmio(packed struct(u32) { - /// Trimming code These bits are automatically initialized after reset with the trimming value stored in the Flash memory during the production test. Writing into these bits allows to tune the internal reference buffer voltage. + /// Trimming code These bits are automatically initialized after reset with the trimming value stored in the Flash memory during the production test. Writing into these bits allows to tune the internal reference buffer voltage. TRIM: u6, padding: u26, }), reserved128: [72]u8, - /// interrupt line 0 status register + /// interrupt line 0 status register ITLINE0: mmio.Mmio(packed struct(u32) { - /// Window watchdog interrupt pending flag + /// Window watchdog interrupt pending flag WWDG: u1, padding: u31, }), - /// interrupt line 1 status register + /// interrupt line 1 status register ITLINE1: mmio.Mmio(packed struct(u32) { - /// PVD supply monitoring interrupt request pending (EXTI line 16). + /// PVD supply monitoring interrupt request pending (EXTI line 16). PVDOUT: u1, padding: u31, }), - /// interrupt line 2 status register + /// interrupt line 2 status register ITLINE2: mmio.Mmio(packed struct(u32) { - /// TAMP + /// TAMP TAMP: u1, - /// RTC + /// RTC RTC: u1, padding: u30, }), - /// interrupt line 3 status register + /// interrupt line 3 status register ITLINE3: mmio.Mmio(packed struct(u32) { - /// FLASH_ITF + /// FLASH_ITF FLASH_ITF: u1, - /// FLASH_ECC + /// FLASH_ECC FLASH_ECC: u1, padding: u30, }), - /// interrupt line 4 status register + /// interrupt line 4 status register ITLINE4: mmio.Mmio(packed struct(u32) { - /// RCC + /// RCC RCC: u1, padding: u31, }), - /// interrupt line 5 status register + /// interrupt line 5 status register ITLINE5: mmio.Mmio(packed struct(u32) { - /// EXTI0 + /// EXTI0 EXTI0: u1, - /// EXTI1 + /// EXTI1 EXTI1: u1, padding: u30, }), - /// interrupt line 6 status register + /// interrupt line 6 status register ITLINE6: mmio.Mmio(packed struct(u32) { - /// EXTI2 + /// EXTI2 EXTI2: u1, - /// EXTI3 + /// EXTI3 EXTI3: u1, padding: u30, }), - /// interrupt line 7 status register + /// interrupt line 7 status register ITLINE7: mmio.Mmio(packed struct(u32) { - /// EXTI4 + /// EXTI4 EXTI4: u1, - /// EXTI5 + /// EXTI5 EXTI5: u1, - /// EXTI6 + /// EXTI6 EXTI6: u1, - /// EXTI7 + /// EXTI7 EXTI7: u1, - /// EXTI8 + /// EXTI8 EXTI8: u1, - /// EXTI9 + /// EXTI9 EXTI9: u1, - /// EXTI10 + /// EXTI10 EXTI10: u1, - /// EXTI11 + /// EXTI11 EXTI11: u1, - /// EXTI12 + /// EXTI12 EXTI12: u1, - /// EXTI13 + /// EXTI13 EXTI13: u1, - /// EXTI14 + /// EXTI14 EXTI14: u1, - /// EXTI15 + /// EXTI15 EXTI15: u1, padding: u20, }), - /// interrupt line 8 status register + /// interrupt line 8 status register ITLINE8: mmio.Mmio(packed struct(u32) { - /// UCPD1 + /// UCPD1 UCPD1: u1, - /// UCPD2 + /// UCPD2 UCPD2: u1, - /// USB + /// USB USB: u1, padding: u29, }), - /// interrupt line 9 status register + /// interrupt line 9 status register ITLINE9: mmio.Mmio(packed struct(u32) { - /// DMA1_CH1 + /// DMA1_CH1 DMA1_CH1: u1, padding: u31, }), - /// interrupt line 10 status register + /// interrupt line 10 status register ITLINE10: mmio.Mmio(packed struct(u32) { - /// DMA1_CH1 + /// DMA1_CH1 DMA1_CH2: u1, - /// DMA1_CH3 + /// DMA1_CH3 DMA1_CH3: u1, padding: u30, }), - /// interrupt line 11 status register + /// interrupt line 11 status register ITLINE11: mmio.Mmio(packed struct(u32) { - /// DMAMUX + /// DMAMUX DMAMUX: u1, - /// DMA1_CH4 + /// DMA1_CH4 DMA1_CH4: u1, - /// DMA1_CH5 + /// DMA1_CH5 DMA1_CH5: u1, - /// DMA1_CH6 + /// DMA1_CH6 DMA1_CH6: u1, - /// DMA1_CH7 + /// DMA1_CH7 DMA1_CH7: u1, padding: u27, }), - /// interrupt line 12 status register + /// interrupt line 12 status register ITLINE12: mmio.Mmio(packed struct(u32) { - /// ADC + /// ADC ADC: u1, - /// COMP1 + /// COMP1 COMP1: u1, - /// COMP2 + /// COMP2 COMP2: u1, padding: u29, }), - /// interrupt line 13 status register + /// interrupt line 13 status register ITLINE13: mmio.Mmio(packed struct(u32) { - /// TIM1_CCU + /// TIM1_CCU TIM1_CCU: u1, - /// TIM1_TRG + /// TIM1_TRG TIM1_TRG: u1, - /// TIM1_UPD + /// TIM1_UPD TIM1_UPD: u1, - /// TIM1_BRK + /// TIM1_BRK TIM1_BRK: u1, padding: u28, }), - /// interrupt line 14 status register + /// interrupt line 14 status register ITLINE14: mmio.Mmio(packed struct(u32) { - /// TIM1_CC + /// TIM1_CC TIM1_CC: u1, padding: u31, }), - /// interrupt line 15 status register + /// interrupt line 15 status register ITLINE15: mmio.Mmio(packed struct(u32) { - /// TIM2 + /// TIM2 TIM2: u1, padding: u31, }), - /// interrupt line 16 status register + /// interrupt line 16 status register ITLINE16: mmio.Mmio(packed struct(u32) { - /// TIM3 + /// TIM3 TIM3: u1, padding: u31, }), - /// interrupt line 17 status register + /// interrupt line 17 status register ITLINE17: mmio.Mmio(packed struct(u32) { - /// TIM6 + /// TIM6 TIM6: u1, - /// DAC + /// DAC DAC: u1, - /// LPTIM1 + /// LPTIM1 LPTIM1: u1, padding: u29, }), - /// interrupt line 18 status register + /// interrupt line 18 status register ITLINE18: mmio.Mmio(packed struct(u32) { - /// TIM7 + /// TIM7 TIM7: u1, - /// LPTIM2 + /// LPTIM2 LPTIM2: u1, padding: u30, }), - /// interrupt line 19 status register + /// interrupt line 19 status register ITLINE19: mmio.Mmio(packed struct(u32) { - /// TIM14 + /// TIM14 TIM14: u1, padding: u31, }), - /// interrupt line 20 status register + /// interrupt line 20 status register ITLINE20: mmio.Mmio(packed struct(u32) { - /// TIM15 + /// TIM15 TIM15: u1, padding: u31, }), - /// interrupt line 21 status register + /// interrupt line 21 status register ITLINE21: mmio.Mmio(packed struct(u32) { - /// TIM16 + /// TIM16 TIM16: u1, padding: u31, }), - /// interrupt line 22 status register + /// interrupt line 22 status register ITLINE22: mmio.Mmio(packed struct(u32) { - /// TIM17 + /// TIM17 TIM17: u1, padding: u31, }), - /// interrupt line 23 status register + /// interrupt line 23 status register ITLINE23: mmio.Mmio(packed struct(u32) { - /// I2C1 + /// I2C1 I2C1: u1, padding: u31, }), - /// interrupt line 24 status register + /// interrupt line 24 status register ITLINE24: mmio.Mmio(packed struct(u32) { - /// I2C2 + /// I2C2 I2C2: u1, padding: u31, }), - /// interrupt line 25 status register + /// interrupt line 25 status register ITLINE25: mmio.Mmio(packed struct(u32) { - /// SPI1 + /// SPI1 SPI1: u1, padding: u31, }), - /// interrupt line 26 status register + /// interrupt line 26 status register ITLINE26: mmio.Mmio(packed struct(u32) { - /// SPI2 + /// SPI2 SPI2: u1, padding: u31, }), - /// interrupt line 27 status register + /// interrupt line 27 status register ITLINE27: mmio.Mmio(packed struct(u32) { - /// USART1 + /// USART1 USART1: u1, padding: u31, }), - /// interrupt line 28 status register + /// interrupt line 28 status register ITLINE28: mmio.Mmio(packed struct(u32) { - /// USART2 + /// USART2 USART2: u1, padding: u31, }), - /// interrupt line 29 status register + /// interrupt line 29 status register ITLINE29: mmio.Mmio(packed struct(u32) { USART3: u1, USART4: u1, @@ -429656,17 +419405,17 @@ pub const types = struct { USART6: u1, padding: u27, }), - /// interrupt line 30 status register + /// interrupt line 30 status register ITLINE30: mmio.Mmio(packed struct(u32) { - /// CEC + /// CEC CEC: u1, padding: u31, }), - /// interrupt line 31 status register + /// interrupt line 31 status register ITLINE31: mmio.Mmio(packed struct(u32) { - /// RNG + /// RNG RNG: u1, - /// AES + /// AES AES: u1, padding: u30, }), @@ -429674,83 +419423,83 @@ pub const types = struct { }; pub const syscfg_g4 = struct { - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// Remap Memory register + /// Remap Memory register MEMRMP: mmio.Mmio(packed struct(u32) { - /// Memory mapping selection + /// Memory mapping selection MEM_MODE: u3, reserved8: u5, - /// User Flash Bank mode + /// User Flash Bank mode FB_mode: u1, padding: u23, }), - /// peripheral mode configuration register + /// peripheral mode configuration register CFGR1: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// BOOSTEN + /// BOOSTEN BOOSTEN: u1, - /// GPIO analog switch control voltage selection + /// GPIO analog switch control voltage selection ANASWVDD: u1, reserved16: u6, - /// FM+ drive capability on PB6 + /// FM+ drive capability on PB6 I2C_PB6_FMP: u1, - /// FM+ drive capability on PB6 + /// FM+ drive capability on PB6 I2C_PB7_FMP: u1, - /// FM+ drive capability on PB6 + /// FM+ drive capability on PB6 I2C_PB8_FMP: u1, - /// FM+ drive capability on PB6 + /// FM+ drive capability on PB6 I2C_PB9_FMP: u1, - /// I2C1 FM+ drive capability enable + /// I2C1 FM+ drive capability enable I2C1_FMP: u1, - /// I2C1 FM+ drive capability enable + /// I2C1 FM+ drive capability enable I2C2_FMP: u1, - /// I2C1 FM+ drive capability enable + /// I2C1 FM+ drive capability enable I2C3_FMP: u1, - /// I2C1 FM+ drive capability enable + /// I2C1 FM+ drive capability enable I2C4_FMP: u1, reserved26: u2, - /// FPU Interrupts Enable + /// FPU Interrupts Enable FPU_IE: u6, }), - /// external interrupt configuration register 1 + /// external interrupt configuration register 1 EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI x configuration + /// EXTI x configuration EXTI: u4, padding: u28, }), - /// CCM SRAM control and status register + /// CCM SRAM control and status register SCSR: mmio.Mmio(packed struct(u32) { - /// CCM SRAM Erase + /// CCM SRAM Erase CCMER: u1, - /// CCM SRAM busy by erase operation + /// CCM SRAM busy by erase operation CCMBSY: u1, padding: u30, }), - /// configuration register 2 + /// configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// Core Lockup Lock + /// Core Lockup Lock CLL: u1, - /// SRAM Parity Lock + /// SRAM Parity Lock SPL: u1, - /// PVD Lock + /// PVD Lock PVDL: u1, - /// ECC Lock + /// ECC Lock ECCL: u1, reserved8: u4, - /// SRAM Parity Flag + /// SRAM Parity Flag SPF: u1, padding: u23, }), - /// SRAM Write protection register 1 + /// SRAM Write protection register 1 SWPR: mmio.Mmio(packed struct(u32) { - /// Write protection + /// Write protection Page_WP: u1, padding: u31, }), - /// SRAM2 Key Register + /// SRAM2 Key Register SKR: mmio.Mmio(packed struct(u32) { - /// SRAM2 Key for software erase + /// SRAM2 Key for software erase KEY: u8, padding: u24, }), @@ -429759,278 +419508,248 @@ pub const types = struct { pub const syscfg_h5 = struct { pub const CS = enum(u1) { - /// Code from the cell (available in the SBS_CCVR) + /// Code from the cell (available in the SBS_CCVR) Cell = 0x0, - /// Code from SBS_CCCR + /// Code from SBS_CCCR Software = 0x1, }; pub const DBGCFG_LOCK = enum(u8) { - /// Writes to SBS_DBGCR allowed (default) + /// Writes to SBS_DBGCR allowed (default) B_0xB4 = 0xb4, _, }; pub const DBG_AUTH_HDPL = enum(u8) { - /// HDPL1 + /// HDPL1 B_0x51 = 0x51, - /// HDPL3 + /// HDPL3 B_0x6F = 0x6f, - /// HDPL2 + /// HDPL2 B_0x8A = 0x8a, _, }; pub const EPOCH_SEL = enum(u2) { - /// SEC_EPOCH counter input selected + /// SEC_EPOCH counter input selected B_0x0 = 0x0, - /// NS_EPOCH (non-secure) input selected + /// NS_EPOCH (non-secure) input selected B_0x1 = 0x1, _, }; pub const ETH_SEL_PHY = enum(u3) { - /// GMII or MII + /// GMII or MII MII_GMII = 0x0, - /// reserved (RGMII) + /// reserved (RGMII) ReservedRGMII = 0x1, - /// RMII + /// RMII RMII = 0x4, _, }; pub const HDPL = enum(u8) { - /// HDPL1, iRoT + /// HDPL1, iRoT B_0x51 = 0x51, - /// HDPL3, application (secure/non-secure) + /// HDPL3, application (secure/non-secure) B_0x6F = 0x6f, - /// HDPL2, uRoT + /// HDPL2, uRoT B_0x8A = 0x8a, - /// HDPL0, RSS + /// HDPL0, RSS B_0xB4 = 0xb4, _, }; pub const INCR_HDPL = enum(u8) { - /// recommended value to increment HDPL level by one + /// recommended value to increment HDPL level by one B_0x6A = 0x6a, - /// no increment + /// no increment B_0xB4 = 0xb4, _, }; pub const SEC = enum(u1) { - /// SBS_CFGR2 register accessible through secure or non-secure transaction + /// SBS_CFGR2 register accessible through secure or non-secure transaction B_0x0 = 0x0, - /// SBS_CFGR2 register only accessible through secure transaction + /// SBS_CFGR2 register only accessible through secure transaction B_0x1 = 0x1, }; - /// SBS register block + /// SBS register block pub const SYSCFG = extern struct { reserved16: [16]u8, - /// SBS temporal isolation control register + /// SBS temporal isolation control register HDPLCR: mmio.Mmio(packed struct(u32) { - /// increment HDPL value Other: all other values allow a HDPL level increment. - INCR_HDPL: packed union { - raw: u8, - value: INCR_HDPL, - }, + /// increment HDPL value Other: all other values allow a HDPL level increment. + INCR_HDPL: INCR_HDPL, padding: u24, }), - /// SBS temporal isolation status register + /// SBS temporal isolation status register HDPLSR: mmio.Mmio(packed struct(u32) { - /// temporal isolation level This bitfield returns the current temporal isolation level. - HDPL: packed union { - raw: u8, - value: HDPL, - }, + /// temporal isolation level This bitfield returns the current temporal isolation level. + HDPL: HDPL, padding: u24, }), - /// SBS next HDPL control register + /// SBS next HDPL control register NEXTHDPLCR: mmio.Mmio(packed struct(u32) { - /// index to point to a higher HDPL than the current one Index to add to the current HDPL to point (through OBK-HDPL) to the next secure storage areas (OBK-HDPL = HDPL + NEXTHDPL). See for more details. + /// index to point to a higher HDPL than the current one Index to add to the current HDPL to point (through OBK-HDPL) to the next secure storage areas (OBK-HDPL = HDPL + NEXTHDPL). See for more details. NEXTHDPL: u2, padding: u30, }), reserved32: [4]u8, - /// SBS debug control register + /// SBS debug control register DBGCR: mmio.Mmio(packed struct(u32) { - /// access port unlock Write 0xB4 to this bitfield to open the device access port. + /// access port unlock Write 0xB4 to this bitfield to open the device access port. AP_UNLOCK: u8, - /// debug unlock when DBG_AUTH_HDPL is reached Write 0xB4 to this bitfield to open the debug when HDPL in SBS_HDPLSR equals to DBG_AUTH_HDPL in this register. + /// debug unlock when DBG_AUTH_HDPL is reached Write 0xB4 to this bitfield to open the debug when HDPL in SBS_HDPLSR equals to DBG_AUTH_HDPL in this register. DBG_UNLOCK: u8, - /// authenticated debug temporal isolation level Writing to this bitfield defines at which HDPL the authenticated debug opens. Note: Writing any other values is ignored. Reading any other value means the debug never opens. - DBG_AUTH_HDPL: packed union { - raw: u8, - value: DBG_AUTH_HDPL, - }, - /// control debug opening secure/non-secure Write 0xB4 to this bitfield to open debug for secure and non-secure. Writing any other values only open non-secure. + /// authenticated debug temporal isolation level Writing to this bitfield defines at which HDPL the authenticated debug opens. Note: Writing any other values is ignored. Reading any other value means the debug never opens. + DBG_AUTH_HDPL: DBG_AUTH_HDPL, + /// control debug opening secure/non-secure Write 0xB4 to this bitfield to open debug for secure and non-secure. Writing any other values only open non-secure. DBG_AUTH_SEC: u8, }), - /// SBS debug lock register + /// SBS debug lock register DBGLOCKR: mmio.Mmio(packed struct(u32) { - /// debug configuration lock Reading this bitfield returns 0x6A if the bitfield value is different from 0xB4. 0xC3 is the recommended value to lock the debug configuration using this bitfield. Other: Writes to SBS_DBGCR ignored - DBGCFG_LOCK: packed union { - raw: u8, - value: DBGCFG_LOCK, - }, + /// debug configuration lock Reading this bitfield returns 0x6A if the bitfield value is different from 0xB4. 0xC3 is the recommended value to lock the debug configuration using this bitfield. Other: Writes to SBS_DBGCR ignored + DBGCFG_LOCK: DBGCFG_LOCK, padding: u24, }), reserved52: [12]u8, - /// SBS RSS command register + /// SBS RSS command register RSSCMDR: mmio.Mmio(packed struct(u32) { - /// RSS command The application can use this bitfield to pass on a command to the RSS, executed at the next reset. When RSSCMD ≠ 0 and PRODUCT_STATE is in Open, then the system always boots on RSS whatever is the boot pin value. + /// RSS command The application can use this bitfield to pass on a command to the RSS, executed at the next reset. When RSSCMD ≠ 0 and PRODUCT_STATE is in Open, then the system always boots on RSS whatever is the boot pin value. RSSCMD: u16, padding: u16, }), reserved160: [104]u8, - /// SBS EPOCH selection control register + /// SBS EPOCH selection control register EPOCHSELCR: mmio.Mmio(packed struct(u32) { - /// select EPOCH value to be sent to the SAES 1x: EPOCH forced to zero (value used to retrieve PUF reference value at boot time) - EPOCH_SEL: packed union { - raw: u2, - value: EPOCH_SEL, - }, + /// select EPOCH value to be sent to the SAES 1x: EPOCH forced to zero (value used to retrieve PUF reference value at boot time) + EPOCH_SEL: EPOCH_SEL, padding: u30, }), reserved192: [28]u8, - /// SBS security mode configuration control register + /// SBS security mode configuration control register SECCFGR: mmio.Mmio(packed struct(u32) { - /// SBS clock control, memory-erase status register and compensation cell register security enable - SBSSEC: packed union { - raw: u1, - value: SEC, - }, - /// ClassB security enable - CLASSBSEC: packed union { - raw: u1, - value: SEC, - }, + /// SBS clock control, memory-erase status register and compensation cell register security enable + SBSSEC: SEC, + /// ClassB security enable + CLASSBSEC: SEC, reserved3: u1, - /// FPU security enable Note: This bit can only be written through privilege transaction. - FPUSEC: packed union { - raw: u1, - value: SEC, - }, + /// FPU security enable Note: This bit can only be written through privilege transaction. + FPUSEC: SEC, reserved31: u27, - /// control accessibility of SMPS_DIV_CLOCK _EN in SBS_PMCR + /// control accessibility of SMPS_DIV_CLOCK _EN in SBS_PMCR SDCE_SEC_EN: u1, }), reserved256: [60]u8, - /// SBS product mode and configuration register + /// SBS product mode and configuration register PMCR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// booster enable Set this bit to reduce the total harmonic distortion of the analog switch when the processor supply is below 2.7 V. The booster can be activated to guaranty AC performance on analog switch when the supply is below 2.7 V. When the booster is activated, the analog switch performances are the same as with the full voltage range. + /// booster enable Set this bit to reduce the total harmonic distortion of the analog switch when the processor supply is below 2.7 V. The booster can be activated to guaranty AC performance on analog switch when the supply is below 2.7 V. When the booster is activated, the analog switch performances are the same as with the full voltage range. BOOSTEN: u1, - /// booster VDD selection Note: Booster must not be used when VDDA < 2.7 V, but VDD > 2.7 V (add current consumption). When both VDD < 2.7 V and VDDA < 2.7 V, booster is needed to get full AC performances from I/O analog switches. + /// booster VDD selection Note: Booster must not be used when VDDA < 2.7 V, but VDD > 2.7 V (add current consumption). When both VDD < 2.7 V and VDDA < 2.7 V, booster is needed to get full AC performances from I/O analog switches. BOOSTVDDSEL: u1, reserved16: u6, - /// Fast-mode Plus command on PB(6) + /// Fast-mode Plus command on PB(6) PB6_FMPLUS: u1, - /// Fast-mode Plus command on PB(7) + /// Fast-mode Plus command on PB(7) PB7_FMPLUS: u1, - /// Fast-mode Plus command on PB(8) + /// Fast-mode Plus command on PB(8) PB8_FMPLUS: u1, - /// Fast-mode Plus command on PB(9) + /// Fast-mode Plus command on PB(9) PB9_FMPLUS: u1, reserved21: u1, - /// Ethernet PHY interface selection Other: reserved - ETH_SEL_PHY: packed union { - raw: u3, - value: ETH_SEL_PHY, - }, + /// Ethernet PHY interface selection Other: reserved + ETH_SEL_PHY: ETH_SEL_PHY, padding: u8, }), - /// SBS FPU interrupt mask register + /// SBS FPU interrupt mask register FPUIMR: mmio.Mmio(packed struct(u32) { - /// FPU interrupt enable Set and cleared by software to enable the Cortex-M33 FPU interrupts FPU_IE[5]: inexact interrupt enable (interrupt disabled at reset) FPU_IE[4]: input abnormal interrupt enable FPU_IE[3]: overflow interrupt enable FPU_IE[2]: underflow interrupt enable FPU_IE[1]: divide-by-zero interrupt enable FPU_IE[0]: invalid operation interrupt enable + /// FPU interrupt enable Set and cleared by software to enable the Cortex-M33 FPU interrupts FPU_IE[5]: inexact interrupt enable (interrupt disabled at reset) FPU_IE[4]: input abnormal interrupt enable FPU_IE[3]: overflow interrupt enable FPU_IE[2]: underflow interrupt enable FPU_IE[1]: divide-by-zero interrupt enable FPU_IE[0]: invalid operation interrupt enable FPU_IE: u6, padding: u26, }), - /// SBS memory erase status register + /// SBS memory erase status register MESR: mmio.Mmio(packed struct(u32) { - /// erase after reset status This bit shows the status of the protection for SRAM2, BKPRAM, ICACHE, DCACHE, ICACHE and PKA. It is set by hardware and reset by software + /// erase after reset status This bit shows the status of the protection for SRAM2, BKPRAM, ICACHE, DCACHE, ICACHE and PKA. It is set by hardware and reset by software MCLR: u1, reserved16: u15, - /// end-of-erase status for ICACHE and PKA RAM This bit shows the status of the protection for ICACHE and PKA. It is set by hardware and reset by software. + /// end-of-erase status for ICACHE and PKA RAM This bit shows the status of the protection for ICACHE and PKA. It is set by hardware and reset by software. IPMEE: u1, padding: u15, }), reserved272: [4]u8, - /// SBS compensation cell for I/Os control and status register + /// SBS compensation cell for I/Os control and status register CCCSR: mmio.Mmio(packed struct(u32) { - /// enable compensation cell for VDDIO power rail This bit enables the I/O compensation cell. + /// enable compensation cell for VDDIO power rail This bit enables the I/O compensation cell. EN: u1, - /// code selection for VDDIO power rail (reset value set to 1) This bit selects the code to be applied for the I/O compensation cell. - CS: packed union { - raw: u1, - value: CS, - }, + /// code selection for VDDIO power rail (reset value set to 1) This bit selects the code to be applied for the I/O compensation cell. + CS: CS, reserved8: u6, - /// VDDIO compensation cell ready flag This bit provides the status of the compensation cell. + /// VDDIO compensation cell ready flag This bit provides the status of the compensation cell. RDY: u1, padding: u23, }), - /// SBS compensation cell for I/Os value register + /// SBS compensation cell for I/Os value register CCVALR: mmio.Mmio(packed struct(u32) { - /// compensation value for the NMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. + /// compensation value for the NMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. ANSRC1: u4, - /// compensation value for the PMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. + /// compensation value for the PMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. APSRC1: u4, - /// Compensation value for the NMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. + /// Compensation value for the NMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. ANSRC2: u4, - /// compensation value for the PMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. + /// compensation value for the PMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. APSRC2: u4, padding: u16, }), - /// SBS compensation cell for I/Os software code register + /// SBS compensation cell for I/Os software code register CCSWCR: mmio.Mmio(packed struct(u32) { - /// NMOS compensation code for VDD power rails This bitfield is written by software to define an I/O compensation cell code for NMOS transistors of the VDD power rail. This code is applied to the I/O when CS1 is set in SBS_CCSR. + /// NMOS compensation code for VDD power rails This bitfield is written by software to define an I/O compensation cell code for NMOS transistors of the VDD power rail. This code is applied to the I/O when CS1 is set in SBS_CCSR. SW_ANSRC1: u4, - /// PMOS compensation code for the VDD power rails This bitfield is written by software to define an I/O compensation cell code for PMOS transistors of the VDDIO power rail. This code is applied to the I/O when CS1 is set in SBS_CCSR. + /// PMOS compensation code for the VDD power rails This bitfield is written by software to define an I/O compensation cell code for PMOS transistors of the VDDIO power rail. This code is applied to the I/O when CS1 is set in SBS_CCSR. SW_APSRC1: u4, - /// NMOS compensation code for VDDIO power rails This bitfield is written by software to define an I/O compensation cell code for NMOS transistors of the VDD power rail. This code is applied to the I/O when CS2 is set in SBS_CCSR. + /// NMOS compensation code for VDDIO power rails This bitfield is written by software to define an I/O compensation cell code for NMOS transistors of the VDD power rail. This code is applied to the I/O when CS2 is set in SBS_CCSR. SW_ANSRC2: u4, - /// PMOS compensation code for the VDDIO power rails This bitfield is written by software to define an I/O compensation cell code for PMOS transistors of the VDDIO power rail. This code is applied to the I/O when CS2 is set in SBS_CCSR. + /// PMOS compensation code for the VDDIO power rails This bitfield is written by software to define an I/O compensation cell code for PMOS transistors of the VDDIO power rail. This code is applied to the I/O when CS2 is set in SBS_CCSR. SW_APSRC2: u4, padding: u16, }), reserved288: [4]u8, - /// SBS Class B register + /// SBS Class B register CFGR2: mmio.Mmio(packed struct(u32) { - /// core lockup lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the lockup (HardFault) output of Cortex-M33 with TIM1/8/15/16/17 break inputs. + /// core lockup lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the lockup (HardFault) output of Cortex-M33 with TIM1/8/15/16/17 break inputs. CLL: u1, - /// SRAM ECC error lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the SRAM double ECC error signal with break input of TIM1/8/15/16/17. + /// SRAM ECC error lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the SRAM double ECC error signal with break input of TIM1/8/15/16/17. SEL: u1, - /// PVD lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the PVD connection with TIM1/8/15/16/17 break inputs. + /// PVD lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the PVD connection with TIM1/8/15/16/17 break inputs. PVDL: u1, - /// ECC lock This bit is set and cleared by software. It can be used to enable and lock the Flash memory double ECC error with break input of TIM1/8/15/6/17. + /// ECC lock This bit is set and cleared by software. It can be used to enable and lock the Flash memory double ECC error with break input of TIM1/8/15/6/17. ECCL: u1, padding: u28, }), reserved324: [32]u8, - /// SBS CPU non-secure lock register + /// SBS CPU non-secure lock register CNSLCKR: mmio.Mmio(packed struct(u32) { - /// VTOR_NS register lock This bit is set by software and cleared only by a system reset. + /// VTOR_NS register lock This bit is set by software and cleared only by a system reset. LOCKNSVTOR: u1, - /// non-secure MPU register lock This bit is set by software and cleared only by a system reset. When set, this bit disables write access to non-secure MPU_CTRL_NS, MPU_RNR_NS and MPU_RBAR_NS registers. + /// non-secure MPU register lock This bit is set by software and cleared only by a system reset. When set, this bit disables write access to non-secure MPU_CTRL_NS, MPU_RNR_NS and MPU_RBAR_NS registers. LOCKNSMPU: u1, padding: u30, }), - /// SBS CPU secure lock register + /// SBS CPU secure lock register CSLCKR: mmio.Mmio(packed struct(u32) { - /// VTOR_S and AIRCR register lock This bit is set by software and cleared only by a system reset. When set, this bit disables write access to VTOR_S register, PRIS and BFHFNMINS bits in the AIRCR register. + /// VTOR_S and AIRCR register lock This bit is set by software and cleared only by a system reset. When set, this bit disables write access to VTOR_S register, PRIS and BFHFNMINS bits in the AIRCR register. LOCKSVTAIRCR: u1, - /// secure MPU registers lock This bit is set by software and cleared only by a system reset. When set, this bit disables write access to secure MPU_CTRL, MPU_RNR and MPU_RBAR registers. + /// secure MPU registers lock This bit is set by software and cleared only by a system reset. When set, this bit disables write access to secure MPU_CTRL, MPU_RNR and MPU_RBAR registers. LOCKSMPU: u1, - /// SAU registers lock This bit is set by software and cleared only by a system reset. When set, this bit disables write access to SAU_CTRL, SAU_RNR, SAU_RBAR and SAU_RLAR registers. + /// SAU registers lock This bit is set by software and cleared only by a system reset. When set, this bit disables write access to SAU_CTRL, SAU_RNR, SAU_RBAR and SAU_RLAR registers. LOCKSAU: u1, padding: u29, }), - /// SBS flift ECC NMI mask register + /// SBS flift ECC NMI mask register ECCNMIR: mmio.Mmio(packed struct(u32) { - /// NMI behavior setup when a double ECC error occurs on flitf data part + /// NMI behavior setup when a double ECC error occurs on flitf data part ECCNMI_MASK_EN: u1, padding: u31, }), @@ -430039,189 +419758,174 @@ pub const types = struct { pub const syscfg_h50 = struct { pub const CS = enum(u1) { - /// Code from the cell (available in SBS_CCVR) + /// Code from the cell (available in SBS_CCVR) Cell = 0x0, - /// Code from SBS_CCCR + /// Code from SBS_CCCR Software = 0x1, }; pub const DBGCFG_LOCK = enum(u8) { - /// Writes to SBS_DBGCR allowed (default) + /// Writes to SBS_DBGCR allowed (default) B_0xB4 = 0xb4, _, }; pub const DBG_AUTH_HDPL = enum(u8) { - /// HDPL1 + /// HDPL1 B_0x51 = 0x51, - /// HDPL3 + /// HDPL3 B_0x6F = 0x6f, - /// HDPL2 + /// HDPL2 B_0x8A = 0x8a, _, }; pub const HDPL = enum(u8) { - /// HDPL1, iRoT + /// HDPL1, iRoT B_0x51 = 0x51, - /// HDPL3, application + /// HDPL3, application B_0x6F = 0x6f, - /// HDPL2, uRoT + /// HDPL2, uRoT B_0x8A = 0x8a, - /// HDPL0, RSS + /// HDPL0, RSS B_0xB4 = 0xb4, _, }; pub const INCR_HDPL = enum(u8) { - /// recommended value to increment HDPL level by one + /// recommended value to increment HDPL level by one B_0x6A = 0x6a, - /// no increment + /// no increment B_0xB4 = 0xb4, _, }; - /// System configuration, boot and security + /// System configuration, boot and security pub const SYSCFG = extern struct { reserved16: [16]u8, - /// SBS temporal isolation control register + /// SBS temporal isolation control register HDPLCR: mmio.Mmio(packed struct(u32) { - /// increment HDPL value Other: all other values allow a HDPL level increment. - INCR_HDPL: packed union { - raw: u8, - value: INCR_HDPL, - }, + /// increment HDPL value Other: all other values allow a HDPL level increment. + INCR_HDPL: INCR_HDPL, padding: u24, }), - /// SBS temporal isolation status register + /// SBS temporal isolation status register HDPLSR: mmio.Mmio(packed struct(u32) { - /// temporal isolation level This bitfield returns the current temporal isolation level. - HDPL: packed union { - raw: u8, - value: HDPL, - }, + /// temporal isolation level This bitfield returns the current temporal isolation level. + HDPL: HDPL, padding: u24, }), reserved32: [8]u8, - /// SBS debug control register + /// SBS debug control register DBGCR: mmio.Mmio(packed struct(u32) { - /// access port unlock Write 0xB4 to this bitfield to open the device access port. + /// access port unlock Write 0xB4 to this bitfield to open the device access port. AP_UNLOCK: u8, - /// debug unlock when DBG_AUTH_HDPL is reached Write 0xB4 to this bitfield to open the debug when HDPL in SBS_HDPLSR equals to DBG_AUTH_HDPL in this register. + /// debug unlock when DBG_AUTH_HDPL is reached Write 0xB4 to this bitfield to open the debug when HDPL in SBS_HDPLSR equals to DBG_AUTH_HDPL in this register. DBG_UNLOCK: u8, - /// authenticated debug temporal isolation level Writing to this bitfield defines at which HDPL the authenticated debug opens. Note: Writing any other values is ignored. Reading any other value means the debug never opens. - DBG_AUTH_HDPL: packed union { - raw: u8, - value: DBG_AUTH_HDPL, - }, + /// authenticated debug temporal isolation level Writing to this bitfield defines at which HDPL the authenticated debug opens. Note: Writing any other values is ignored. Reading any other value means the debug never opens. + DBG_AUTH_HDPL: DBG_AUTH_HDPL, padding: u8, }), - /// SBS debug lock register + /// SBS debug lock register DBGLOCKR: mmio.Mmio(packed struct(u32) { - /// debug configuration lock Reading this bitfield returns 0x6A if the bitfield value is different from 0xB4. 0xC3 is the recommended value to lock the debug configuration using this bitfield. Other: Writes to SBS_DBGCR ignored - DBGCFG_LOCK: packed union { - raw: u8, - value: DBGCFG_LOCK, - }, + /// debug configuration lock Reading this bitfield returns 0x6A if the bitfield value is different from 0xB4. 0xC3 is the recommended value to lock the debug configuration using this bitfield. Other: Writes to SBS_DBGCR ignored + DBGCFG_LOCK: DBGCFG_LOCK, padding: u24, }), reserved256: [216]u8, - /// SBS product mode and configuration register + /// SBS product mode and configuration register PMCR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// booster enable Set this bit to reduce the total harmonic distortion of the analog switch when the processor supply is below 2.7 V. The booster can be activated to guaranty AC performance on analog switch when the supply is below 2.7 V. When the booster is activated, the analog switch performances are the same as with the full voltage range. + /// booster enable Set this bit to reduce the total harmonic distortion of the analog switch when the processor supply is below 2.7 V. The booster can be activated to guaranty AC performance on analog switch when the supply is below 2.7 V. When the booster is activated, the analog switch performances are the same as with the full voltage range. BOOSTEN: u1, - /// booster VDD selection Note: Booster must not be used when VDDA < 2.7 V, but VDD > 2.7 V (add current consumption). Note: When both VDD < 2.7 V and VDDA < 2.7 V, booster is needed to get full AC performances from I/O analog switches. + /// booster VDD selection Note: Booster must not be used when VDDA < 2.7 V, but VDD > 2.7 V (add current consumption). Note: When both VDD < 2.7 V and VDDA < 2.7 V, booster is needed to get full AC performances from I/O analog switches. BOOSTVDDSEL: u1, reserved16: u6, - /// Fast-mode Plus command on PB(6) + /// Fast-mode Plus command on PB(6) PB6_FMPLUS: u1, - /// Fast-mode Plus command on PB(7) + /// Fast-mode Plus command on PB(7) PB7_FMPLUS: u1, - /// Fast-mode Plus command on PB(8) + /// Fast-mode Plus command on PB(8) PB8_FMPLUS: u1, padding: u13, }), - /// SBS FPU interrupt mask register + /// SBS FPU interrupt mask register FPUIMR: mmio.Mmio(packed struct(u32) { - /// FPU interrupt enable Set and cleared by software to enable the Cortex-M33 FPU interrupts FPU_IE[5]: inexact interrupt enable (interrupt disabled at reset) FPU_IE[4]: input abnormal interrupt enable FPU_IE[3]: overflow interrupt enable FPU_IE[2]: underflow interrupt enable FPU_IE[1]: divide-by-zero interrupt enable FPU_IE[0]: invalid operation interrupt enable + /// FPU interrupt enable Set and cleared by software to enable the Cortex-M33 FPU interrupts FPU_IE[5]: inexact interrupt enable (interrupt disabled at reset) FPU_IE[4]: input abnormal interrupt enable FPU_IE[3]: overflow interrupt enable FPU_IE[2]: underflow interrupt enable FPU_IE[1]: divide-by-zero interrupt enable FPU_IE[0]: invalid operation interrupt enable FPU_IE: u6, padding: u26, }), - /// SBS memory erase status register + /// SBS memory erase status register MESR: mmio.Mmio(packed struct(u32) { - /// erase after reset status This bit shows the status of the protection for SRAM2, BKPRAM, ICACHE, ICACHE. It is set by hardware and reset by software + /// erase after reset status This bit shows the status of the protection for SRAM2, BKPRAM, ICACHE, ICACHE. It is set by hardware and reset by software MCLR: u1, reserved16: u15, - /// end-of-erase status for ICACHE This bit shows the status of the protection for ICACHE. It is set by hardware and reset by software. + /// end-of-erase status for ICACHE This bit shows the status of the protection for ICACHE. It is set by hardware and reset by software. IPMEE: u1, padding: u15, }), reserved272: [4]u8, - /// SBS compensation cell for I/Os control and status register + /// SBS compensation cell for I/Os control and status register CCCSR: mmio.Mmio(packed struct(u32) { - /// enable compensation cell for VDDIO power rail This bit enables the I/O compensation cell. + /// enable compensation cell for VDDIO power rail This bit enables the I/O compensation cell. EN: u1, - /// code selection for VDDIO power rail (reset value set to 1) This bit selects the code to be applied for the I/O compensation cell. - CS: packed union { - raw: u1, - value: CS, - }, + /// code selection for VDDIO power rail (reset value set to 1) This bit selects the code to be applied for the I/O compensation cell. + CS: CS, reserved8: u6, - /// VDDIO compensation cell ready flag This bit provides the status of the compensation cell. + /// VDDIO compensation cell ready flag This bit provides the status of the compensation cell. RDY: u1, padding: u23, }), - /// SBS compensation cell for I/Os value register + /// SBS compensation cell for I/Os value register CCVALR: mmio.Mmio(packed struct(u32) { - /// compensation value for the NMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. + /// compensation value for the NMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. ANSRC1: u4, - /// compensation value for the PMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. + /// compensation value for the PMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. APSRC1: u4, - /// Compensation value for the NMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. + /// Compensation value for the NMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. ANSRC2: u4, - /// compensation value for the PMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. + /// compensation value for the PMOS transistor This value is provided by the cell and must be interpreted by the processor to compensate the slew rate in the functional range. APSRC2: u4, padding: u16, }), - /// SBS compensation cell for I/Os software code register + /// SBS compensation cell for I/Os software code register CCSWCR: mmio.Mmio(packed struct(u32) { - /// NMOS compensation code for VDD power rails This bitfield is written by software to define an I/O compensation cell code for NMOS transistors of the VDD power rail. This code is applied to the I/O when CS1 is set in SBS_CCSR. + /// NMOS compensation code for VDD power rails This bitfield is written by software to define an I/O compensation cell code for NMOS transistors of the VDD power rail. This code is applied to the I/O when CS1 is set in SBS_CCSR. SW_ANSRC1: u4, - /// PMOS compensation code for the VDD power rails This bitfield is written by software to define an I/O compensation cell code for PMOS transistors of the VDDIO power rail. This code is applied to the I/O when CS1 is set in SBS_CCSR. + /// PMOS compensation code for the VDD power rails This bitfield is written by software to define an I/O compensation cell code for PMOS transistors of the VDDIO power rail. This code is applied to the I/O when CS1 is set in SBS_CCSR. SW_APSRC1: u4, - /// NMOS compensation code for VDDIO power rails This bitfield is written by software to define an I/O compensation cell code for NMOS transistors of the VDD power rail. This code is applied to the I/O when CS2 is set in SBS_CCSR. + /// NMOS compensation code for VDDIO power rails This bitfield is written by software to define an I/O compensation cell code for NMOS transistors of the VDD power rail. This code is applied to the I/O when CS2 is set in SBS_CCSR. SW_ANSRC2: u4, - /// PMOS compensation code for the VDDIO power rails This bitfield is written by software to define an I/O compensation cell code for PMOS transistors of the VDDIO power rail. This code is applied to the I/O when CS2 is set in SBS_CCSR. + /// PMOS compensation code for the VDDIO power rails This bitfield is written by software to define an I/O compensation cell code for PMOS transistors of the VDDIO power rail. This code is applied to the I/O when CS2 is set in SBS_CCSR. SW_APSRC2: u4, padding: u16, }), reserved288: [4]u8, - /// SBS Class B register + /// SBS Class B register CFGR2: mmio.Mmio(packed struct(u32) { - /// core lockup lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the lockup (HardFault) output of Cortex-M33 with TIM1 break inputs. + /// core lockup lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the lockup (HardFault) output of Cortex-M33 with TIM1 break inputs. CLL: u1, - /// SRAM ECC error lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the SRAM double ECC error signal with break input of TIM1. + /// SRAM ECC error lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the SRAM double ECC error signal with break input of TIM1. SEL: u1, - /// PVD lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the PVD connection with TIM1 break inputs. + /// PVD lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the PVD connection with TIM1 break inputs. PVDL: u1, - /// ECC lock This bit is set and cleared by software. It can be used to enable and lock the Flash memory double ECC error with break input of TIM1. + /// ECC lock This bit is set and cleared by software. It can be used to enable and lock the Flash memory double ECC error with break input of TIM1. ECCL: u1, padding: u28, }), reserved324: [32]u8, - /// SBS CPU lock register + /// SBS CPU lock register CNSLCKR: mmio.Mmio(packed struct(u32) { - /// VTOR_NS register lock This bit is set by software and cleared only by a system reset. + /// VTOR_NS register lock This bit is set by software and cleared only by a system reset. LOCKNSVTOR: u1, - /// MPU register lock This bit is set by software and cleared only by a system reset. When set, this bit disables write access to MPU_CTRL_NS, MPU_RNR_NS and MPU_RBAR_NS registers. + /// MPU register lock This bit is set by software and cleared only by a system reset. When set, this bit disables write access to MPU_CTRL_NS, MPU_RNR_NS and MPU_RBAR_NS registers. LOCKNSMPU: u1, padding: u30, }), reserved332: [4]u8, - /// SBS flift ECC NMI mask register + /// SBS flift ECC NMI mask register ECCNMIR: mmio.Mmio(packed struct(u32) { - /// NMI behavior setup when a double ECC error occurs on flitf data part + /// NMI behavior setup when a double ECC error occurs on flitf data part ECCNMI_MASK_EN: u1, padding: u31, }), @@ -430230,257 +419934,251 @@ pub const types = struct { pub const syscfg_h7 = struct { pub const ETH_SEL_PHY = enum(u3) { - /// GMII or MII + /// GMII or MII MII_GMII = 0x0, - /// RMII + /// RMII RMII = 0x4, _, }; pub const ITCM_AXI_RAM_SIZE = enum(u2) { - /// 64 Kbyte ITCM-RAM / 320 Kbyte AXI-SRAM + /// 64 Kbyte ITCM-RAM / 320 Kbyte AXI-SRAM Itcm64Axi320 = 0x0, - /// 128 Kbyte ITCM-RAM / 256 Kbyte AXI-SRAM + /// 128 Kbyte ITCM-RAM / 256 Kbyte AXI-SRAM Itcm128Axi256 = 0x1, - /// 192 Kbyte ITCM-RAM / 192 Kbyte AXI-SRAM + /// 192 Kbyte ITCM-RAM / 192 Kbyte AXI-SRAM Itcm192Axi192 = 0x2, - /// 256 Kbyte ITCM-RAM / 128 Kbyte AXI-SRAM + /// 256 Kbyte ITCM-RAM / 128 Kbyte AXI-SRAM Itcm256Axi128 = 0x3, }; - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { reserved4: [4]u8, - /// peripheral mode configuration register + /// peripheral mode configuration register PMCR: mmio.Mmio(packed struct(u32) { - /// I2C1 Fm+ + /// I2C1 Fm+ I2C1FMP: u1, - /// I2C2 Fm+ + /// I2C2 Fm+ I2C2FMP: u1, - /// I2C3 Fm+ + /// I2C3 Fm+ I2C3FMP: u1, - /// I2C4 Fm+ + /// I2C4 Fm+ I2C4FMP: u1, - /// PB(6) Fm+ + /// PB(6) Fm+ PB6FMP: u1, - /// PB(7) Fast Mode Plus + /// PB(7) Fast Mode Plus PB7FMP: u1, - /// PB(8) Fast Mode Plus + /// PB(8) Fast Mode Plus PB8FMP: u1, - /// PB(9) Fm+ + /// PB(9) Fm+ PB9FMP: u1, - /// Booster Enable + /// Booster Enable BOOSTE: u1, - /// Analog switch supply voltage selection + /// Analog switch supply voltage selection BOOSTVDDSEL: u1, reserved21: u11, - /// Ethernet PHY interface selection. - ETH_SEL_PHY: packed union { - raw: u3, - value: ETH_SEL_PHY, - }, - /// PA0 Switch Open + /// Ethernet PHY interface selection. + ETH_SEL_PHY: ETH_SEL_PHY, + /// PA0 Switch Open PA0SO: u1, - /// PA1 Switch Open + /// PA1 Switch Open PA1SO: u1, - /// PC2 Switch Open + /// PC2 Switch Open PC2SO: u1, - /// PC3 Switch Open + /// PC3 Switch Open PC3SO: u1, padding: u4, }), - /// external interrupt configuration register + /// external interrupt configuration register EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI x configuration (x = 4 to 7) + /// EXTI x configuration (x = 4 to 7) EXTI: u4, padding: u28, }), reserved32: [8]u8, - /// compensation cell control/status register + /// compensation cell control/status register CCCSR: mmio.Mmio(packed struct(u32) { - /// enable + /// enable EN: u1, - /// Code selection + /// Code selection CS: u1, reserved8: u6, - /// Compensation cell ready flag + /// Compensation cell ready flag RDY: u1, reserved16: u7, - /// High-speed at low-voltage + /// High-speed at low-voltage HSLV: u1, padding: u15, }), - /// SYSCFG compensation cell value register + /// SYSCFG compensation cell value register CCVR: mmio.Mmio(packed struct(u32) { - /// NMOS compensation value + /// NMOS compensation value NCV: u4, - /// PMOS compensation value + /// PMOS compensation value PCV: u4, padding: u24, }), - /// SYSCFG compensation cell code register + /// SYSCFG compensation cell code register CCCR: mmio.Mmio(packed struct(u32) { - /// NMOS compensation code + /// NMOS compensation code NCC: u4, - /// PMOS compensation code + /// PMOS compensation code PCC: u4, padding: u24, }), reserved292: [248]u8, - /// SYSCFG package register + /// SYSCFG package register PKGR: mmio.Mmio(packed struct(u32) { - /// Package + /// Package PKG: u4, padding: u28, }), reserved768: [472]u8, - /// SYSCFG user register 0 + /// SYSCFG user register 0 UR0: mmio.Mmio(packed struct(u32) { - /// Bank Swap + /// Bank Swap BKS: u1, reserved16: u15, - /// Readout protection + /// Readout protection RDP: u8, padding: u8, }), reserved776: [4]u8, - /// SYSCFG user register 2 + /// SYSCFG user register 2 UR2: mmio.Mmio(packed struct(u32) { - /// BOR_LVL Brownout Reset Threshold Level + /// BOR_LVL Brownout Reset Threshold Level BORH: u2, reserved16: u14, - /// Boot Address 0 + /// Boot Address 0 BOOT_ADD0: u16, }), - /// SYSCFG user register 3 + /// SYSCFG user register 3 UR3: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Boot Address 1 + /// Boot Address 1 BOOT_ADD1: u16, }), - /// SYSCFG user register 4 + /// SYSCFG user register 4 UR4: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Mass Erase Protected Area Disabled for bank 1 + /// Mass Erase Protected Area Disabled for bank 1 MEPAD_1: u1, padding: u15, }), - /// SYSCFG user register 5 + /// SYSCFG user register 5 UR5: mmio.Mmio(packed struct(u32) { - /// Mass erase secured area disabled for bank 1 + /// Mass erase secured area disabled for bank 1 MESAD_1: u1, reserved16: u15, - /// Write protection for flash bank 1 + /// Write protection for flash bank 1 WRPN_1: u8, padding: u8, }), - /// SYSCFG user register 6 + /// SYSCFG user register 6 UR6: mmio.Mmio(packed struct(u32) { - /// Protected area start address for bank 1 + /// Protected area start address for bank 1 PA_BEG_1: u12, reserved16: u4, - /// Protected area end address for bank 1 + /// Protected area end address for bank 1 PA_END_1: u12, padding: u4, }), - /// SYSCFG user register 7 + /// SYSCFG user register 7 UR7: mmio.Mmio(packed struct(u32) { - /// Secured area start address for bank 1 + /// Secured area start address for bank 1 SA_BEG_1: u12, reserved16: u4, - /// Secured area end address for bank 1 + /// Secured area end address for bank 1 SA_END_1: u12, padding: u4, }), - /// SYSCFG user register 8 + /// SYSCFG user register 8 UR8: mmio.Mmio(packed struct(u32) { - /// Mass erase protected area disabled for bank 2 + /// Mass erase protected area disabled for bank 2 MEPAD_2: u1, reserved16: u15, - /// Mass erase secured area disabled for bank 2 + /// Mass erase secured area disabled for bank 2 MESAD_2: u1, padding: u15, }), - /// SYSCFG user register 9 + /// SYSCFG user register 9 UR9: mmio.Mmio(packed struct(u32) { - /// Write protection for flash bank 2 + /// Write protection for flash bank 2 WRPN_2: u8, reserved16: u8, - /// Protected area start address for bank 2 + /// Protected area start address for bank 2 PA_BEG_2: u12, padding: u4, }), - /// SYSCFG user register 10 + /// SYSCFG user register 10 UR10: mmio.Mmio(packed struct(u32) { - /// Protected area end address for bank 2 + /// Protected area end address for bank 2 PA_END_2: u12, reserved16: u4, - /// Secured area start address for bank 2 + /// Secured area start address for bank 2 SA_BEG_2: u12, padding: u4, }), - /// SYSCFG user register 11 + /// SYSCFG user register 11 UR11: mmio.Mmio(packed struct(u32) { - /// Secured area end address for bank 2 + /// Secured area end address for bank 2 SA_END_2: u12, reserved16: u4, - /// Independent Watchdog 1 mode + /// Independent Watchdog 1 mode IWDG1M: u1, padding: u15, }), - /// SYSCFG user register 12 + /// SYSCFG user register 12 UR12: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Secure mode + /// Secure mode SECURE: u1, padding: u15, }), - /// SYSCFG user register 13 + /// SYSCFG user register 13 UR13: mmio.Mmio(packed struct(u32) { - /// Secured DTCM RAM Size + /// Secured DTCM RAM Size SDRS: u2, reserved16: u14, - /// D1 Standby reset + /// D1 Standby reset D1SBRST: u1, padding: u15, }), - /// SYSCFG user register 14 + /// SYSCFG user register 14 UR14: mmio.Mmio(packed struct(u32) { - /// D1 Stop Reset + /// D1 Stop Reset D1STPRST: u1, padding: u31, }), - /// SYSCFG user register 15 + /// SYSCFG user register 15 UR15: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Freeze independent watchdog in Standby mode + /// Freeze independent watchdog in Standby mode FZIWDGSTB: u1, padding: u15, }), - /// SYSCFG user register 16 + /// SYSCFG user register 16 UR16: mmio.Mmio(packed struct(u32) { - /// Freeze independent watchdog in Stop mode + /// Freeze independent watchdog in Stop mode FZIWDGSTP: u1, reserved16: u15, - /// Private key programmed + /// Private key programmed PKP: u1, padding: u15, }), - /// SYSCFG user register 17 + /// SYSCFG user register 17 UR17: mmio.Mmio(packed struct(u32) { - /// I/O high speed / low voltage + /// I/O high speed / low voltage IO_HSLV: u1, reserved16: u15, - /// ITCM-RAM / AXI-SRAM size - TCM_AXI_SHARED_CFG: packed union { - raw: u2, - value: ITCM_AXI_RAM_SIZE, - }, + /// ITCM-RAM / AXI-SRAM size + TCM_AXI_SHARED_CFG: ITCM_AXI_RAM_SIZE, padding: u14, }), - /// SYSCFG user register 18 + /// SYSCFG user register 18 UR18: mmio.Mmio(packed struct(u32) { - /// CPU maximum frequency boost enable + /// CPU maximum frequency boost enable CPU_FREQ_BOOST: u1, padding: u31, }), @@ -430489,240 +420187,237 @@ pub const types = struct { pub const syscfg_h7od = struct { pub const ETH_SEL_PHY = enum(u3) { - /// GMII or MII + /// GMII or MII MII_GMII = 0x0, - /// RMII + /// RMII RMII = 0x4, _, }; - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { reserved4: [4]u8, - /// peripheral mode configuration register + /// peripheral mode configuration register PMCR: mmio.Mmio(packed struct(u32) { - /// I2C1 Fm+ + /// I2C1 Fm+ I2C1FMP: u1, - /// I2C2 Fm+ + /// I2C2 Fm+ I2C2FMP: u1, - /// I2C3 Fm+ + /// I2C3 Fm+ I2C3FMP: u1, - /// I2C4 Fm+ + /// I2C4 Fm+ I2C4FMP: u1, - /// PB(6) Fm+ + /// PB(6) Fm+ PB6FMP: u1, - /// PB(7) Fast Mode Plus + /// PB(7) Fast Mode Plus PB7FMP: u1, - /// PB(8) Fast Mode Plus + /// PB(8) Fast Mode Plus PB8FMP: u1, - /// PB(9) Fm+ + /// PB(9) Fm+ PB9FMP: u1, - /// Booster Enable + /// Booster Enable BOOSTE: u1, - /// Analog switch supply voltage selection + /// Analog switch supply voltage selection BOOSTVDDSEL: u1, reserved21: u11, - /// Ethernet PHY interface selection. - ETH_SEL_PHY: packed union { - raw: u3, - value: ETH_SEL_PHY, - }, - /// PA0 Switch Open + /// Ethernet PHY interface selection. + ETH_SEL_PHY: ETH_SEL_PHY, + /// PA0 Switch Open PA0SO: u1, - /// PA1 Switch Open + /// PA1 Switch Open PA1SO: u1, - /// PC2 Switch Open + /// PC2 Switch Open PC2SO: u1, - /// PC3 Switch Open + /// PC3 Switch Open PC3SO: u1, padding: u4, }), - /// external interrupt configuration register + /// external interrupt configuration register EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI x configuration (x = 4 to 7) + /// EXTI x configuration (x = 4 to 7) EXTI: u4, padding: u28, }), reserved32: [8]u8, - /// compensation cell control/status register + /// compensation cell control/status register CCCSR: mmio.Mmio(packed struct(u32) { - /// enable + /// enable EN: u1, - /// Code selection + /// Code selection CS: u1, reserved8: u6, - /// Compensation cell ready flag + /// Compensation cell ready flag RDY: u1, reserved16: u7, - /// High-speed at low-voltage + /// High-speed at low-voltage HSLV: u1, padding: u15, }), - /// SYSCFG compensation cell value register + /// SYSCFG compensation cell value register CCVR: mmio.Mmio(packed struct(u32) { - /// NMOS compensation value + /// NMOS compensation value NCV: u4, - /// PMOS compensation value + /// PMOS compensation value PCV: u4, padding: u24, }), - /// SYSCFG compensation cell code register + /// SYSCFG compensation cell code register CCCR: mmio.Mmio(packed struct(u32) { - /// NMOS compensation code + /// NMOS compensation code NCC: u4, - /// PMOS compensation code + /// PMOS compensation code PCC: u4, padding: u24, }), - /// SYSCFG power control register + /// SYSCFG power control register PWRCR: mmio.Mmio(packed struct(u32) { - /// Overdrive enable + /// Overdrive enable ODEN: u4, padding: u28, }), reserved292: [244]u8, - /// SYSCFG package register + /// SYSCFG package register PKGR: mmio.Mmio(packed struct(u32) { - /// Package + /// Package PKG: u4, padding: u28, }), reserved768: [472]u8, - /// SYSCFG user register 0 + /// SYSCFG user register 0 UR0: mmio.Mmio(packed struct(u32) { - /// Bank Swap + /// Bank Swap BKS: u1, reserved16: u15, - /// Readout protection + /// Readout protection RDP: u8, padding: u8, }), reserved776: [4]u8, - /// SYSCFG user register 2 + /// SYSCFG user register 2 UR2: mmio.Mmio(packed struct(u32) { - /// BOR_LVL Brownout Reset Threshold Level + /// BOR_LVL Brownout Reset Threshold Level BORH: u2, reserved16: u14, - /// Boot Address 0 + /// Boot Address 0 BOOT_ADD0: u16, }), - /// SYSCFG user register 3 + /// SYSCFG user register 3 UR3: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Boot Address 1 + /// Boot Address 1 BOOT_ADD1: u16, }), - /// SYSCFG user register 4 + /// SYSCFG user register 4 UR4: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Mass Erase Protected Area Disabled for bank 1 + /// Mass Erase Protected Area Disabled for bank 1 MEPAD_1: u1, padding: u15, }), - /// SYSCFG user register 5 + /// SYSCFG user register 5 UR5: mmio.Mmio(packed struct(u32) { - /// Mass erase secured area disabled for bank 1 + /// Mass erase secured area disabled for bank 1 MESAD_1: u1, reserved16: u15, - /// Write protection for flash bank 1 + /// Write protection for flash bank 1 WRPN_1: u8, padding: u8, }), - /// SYSCFG user register 6 + /// SYSCFG user register 6 UR6: mmio.Mmio(packed struct(u32) { - /// Protected area start address for bank 1 + /// Protected area start address for bank 1 PA_BEG_1: u12, reserved16: u4, - /// Protected area end address for bank 1 + /// Protected area end address for bank 1 PA_END_1: u12, padding: u4, }), - /// SYSCFG user register 7 + /// SYSCFG user register 7 UR7: mmio.Mmio(packed struct(u32) { - /// Secured area start address for bank 1 + /// Secured area start address for bank 1 SA_BEG_1: u12, reserved16: u4, - /// Secured area end address for bank 1 + /// Secured area end address for bank 1 SA_END_1: u12, padding: u4, }), - /// SYSCFG user register 8 + /// SYSCFG user register 8 UR8: mmio.Mmio(packed struct(u32) { - /// Mass erase protected area disabled for bank 2 + /// Mass erase protected area disabled for bank 2 MEPAD_2: u1, reserved16: u15, - /// Mass erase secured area disabled for bank 2 + /// Mass erase secured area disabled for bank 2 MESAD_2: u1, padding: u15, }), - /// SYSCFG user register 9 + /// SYSCFG user register 9 UR9: mmio.Mmio(packed struct(u32) { - /// Write protection for flash bank 2 + /// Write protection for flash bank 2 WRPN_2: u8, reserved16: u8, - /// Protected area start address for bank 2 + /// Protected area start address for bank 2 PA_BEG_2: u12, padding: u4, }), - /// SYSCFG user register 10 + /// SYSCFG user register 10 UR10: mmio.Mmio(packed struct(u32) { - /// Protected area end address for bank 2 + /// Protected area end address for bank 2 PA_END_2: u12, reserved16: u4, - /// Secured area start address for bank 2 + /// Secured area start address for bank 2 SA_BEG_2: u12, padding: u4, }), - /// SYSCFG user register 11 + /// SYSCFG user register 11 UR11: mmio.Mmio(packed struct(u32) { - /// Secured area end address for bank 2 + /// Secured area end address for bank 2 SA_END_2: u12, reserved16: u4, - /// Independent Watchdog 1 mode + /// Independent Watchdog 1 mode IWDG1M: u1, padding: u15, }), - /// SYSCFG user register 12 + /// SYSCFG user register 12 UR12: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Secure mode + /// Secure mode SECURE: u1, padding: u15, }), - /// SYSCFG user register 13 + /// SYSCFG user register 13 UR13: mmio.Mmio(packed struct(u32) { - /// Secured DTCM RAM Size + /// Secured DTCM RAM Size SDRS: u2, reserved16: u14, - /// D1 Standby reset + /// D1 Standby reset D1SBRST: u1, padding: u15, }), - /// SYSCFG user register 14 + /// SYSCFG user register 14 UR14: mmio.Mmio(packed struct(u32) { - /// D1 Stop Reset + /// D1 Stop Reset D1STPRST: u1, padding: u31, }), - /// SYSCFG user register 15 + /// SYSCFG user register 15 UR15: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Freeze independent watchdog in Standby mode + /// Freeze independent watchdog in Standby mode FZIWDGSTB: u1, padding: u15, }), - /// SYSCFG user register 16 + /// SYSCFG user register 16 UR16: mmio.Mmio(packed struct(u32) { - /// Freeze independent watchdog in Stop mode + /// Freeze independent watchdog in Stop mode FZIWDGSTP: u1, reserved16: u15, - /// Private key programmed + /// Private key programmed PKP: u1, padding: u15, }), - /// SYSCFG user register 17 + /// SYSCFG user register 17 UR17: mmio.Mmio(packed struct(u32) { - /// I/O high speed / low voltage + /// I/O high speed / low voltage IO_HSLV: u1, padding: u31, }), @@ -430731,234 +420426,219 @@ pub const types = struct { pub const syscfg_h7rs = struct { pub const AXIRAM_WS = enum(u1) { - /// No wait state added when accessing any AXIRAM with ECC = 0. + /// No wait state added when accessing any AXIRAM with ECC = 0. Ws0 = 0x0, - /// One wait state added when accessing any AXIRAM with ECC = 0. In this case, Fmax = 500 MHz is not guaranteed. (TBC). + /// One wait state added when accessing any AXIRAM with ECC = 0. In this case, Fmax = 500 MHz is not guaranteed. (TBC). Ws1 = 0x1, }; pub const DBGCFG_LOCK = enum(u8) { - /// Writes to SBS_DBGCR allowed (default). + /// Writes to SBS_DBGCR allowed (default). Unlock = 0xb4, _, }; pub const DBG_AUTH_HDPL = enum(u8) { - /// HDPL1. + /// HDPL1. HDPL1 = 0x51, - /// HDPL3. + /// HDPL3. HDPL3 = 0x6f, - /// HDPL2. + /// HDPL2. HDPL2 = 0x8a, _, }; pub const ETH_SEL_PHY = enum(u3) { - /// GMII or MII + /// GMII or MII MII_GMII = 0x0, - /// RMII + /// RMII RMII = 0x4, _, }; pub const HDPL = enum(u8) { - /// HDPL1. + /// HDPL1. HDPL1 = 0x51, - /// HDPL2. + /// HDPL2. HDPL2 = 0x8a, - /// HDPL0, corresponding to ST-RSS (default when device is close). + /// HDPL0, corresponding to ST-RSS (default when device is close). HDPL0 = 0xb4, _, }; - /// System configuration, boot and security. + /// System configuration, boot and security. pub const SYSCFG = extern struct { - /// SBS boot status register. + /// SBS boot status register. BOOTSR: mmio.Mmio(packed struct(u32) { - /// initial vector for Cortex-M7 This register includes the physical boot address used by the Cortex-M7 after reset. + /// initial vector for Cortex-M7 This register includes the physical boot address used by the Cortex-M7 after reset. INITVTOR: u32, }), reserved16: [12]u8, - /// SBS hide protection control register. + /// SBS hide protection control register. HDPLCR: mmio.Mmio(packed struct(u32) { - /// increment HDPL Write 0x6A to increment device HDPL by one. After a write, the register value reverts to its default value (0xB4). + /// increment HDPL Write 0x6A to increment device HDPL by one. After a write, the register value reverts to its default value (0xB4). INCR_HDPL: u8, padding: u24, }), - /// SBS hide protection status register. + /// SBS hide protection status register. HDPLSR: mmio.Mmio(packed struct(u32) { - /// hide protection level This bitfield returns the current HDPL of the device. 0x6F and other codes: HDPL3, corresponding to non-boot application. Note: The device state (open/close) is defined in FLASH_NVSTATER register of the embedded Flash memory. - HDPL: packed union { - raw: u8, - value: HDPL, - }, + /// hide protection level This bitfield returns the current HDPL of the device. 0x6F and other codes: HDPL3, corresponding to non-boot application. Note: The device state (open/close) is defined in FLASH_NVSTATER register of the embedded Flash memory. + HDPL: HDPL, padding: u24, }), reserved32: [8]u8, - /// SBS debug control register. + /// SBS debug control register. DBGCR: mmio.Mmio(packed struct(u32) { - /// access port unlock Write 0xB4 to this bitfield to open the device access port. + /// access port unlock Write 0xB4 to this bitfield to open the device access port. AP_UNLOCK: u8, - /// debug unlock Write 0xB4 to this bitfield to open the debug when HDPL in SBS_HDPLSR equals to DBG_AUTH_HDPL in this register. + /// debug unlock Write 0xB4 to this bitfield to open the debug when HDPL in SBS_HDPLSR equals to DBG_AUTH_HDPL in this register. DBG_UNLOCK: u8, - /// authenticated debug hide protection level Writing to this bitfield defines at which HDPL the authenticated debug opens. Note: Writing any other values is ignored. Reading any other value means the authenticated debug always fails. - DBG_AUTH_HDPL: packed union { - raw: u8, - value: DBG_AUTH_HDPL, - }, + /// authenticated debug hide protection level Writing to this bitfield defines at which HDPL the authenticated debug opens. Note: Writing any other values is ignored. Reading any other value means the authenticated debug always fails. + DBG_AUTH_HDPL: DBG_AUTH_HDPL, padding: u8, }), - /// SBS debug lock register. + /// SBS debug lock register. DBGLOCKR: mmio.Mmio(packed struct(u32) { - /// debug configuration lock Reading this bitfield returns 0x6A if the bitfield value is different from 0xB4. Other: Writes to SBS_DBGCR ignored Note: 0xC3 is the recommended value to lock the debug configuration using this bitfield. - DBGCFG_LOCK: packed union { - raw: u8, - value: DBGCFG_LOCK, - }, + /// debug configuration lock Reading this bitfield returns 0x6A if the bitfield value is different from 0xB4. Other: Writes to SBS_DBGCR ignored Note: 0xC3 is the recommended value to lock the debug configuration using this bitfield. + DBGCFG_LOCK: DBGCFG_LOCK, padding: u24, }), reserved52: [12]u8, - /// SBS RSS command register. + /// SBS RSS command register. RSSCMDR: mmio.Mmio(packed struct(u32) { - /// RSS command The application can use this bitfield to pass on a command to the RSS, executed at the next reset. + /// RSS command The application can use this bitfield to pass on a command to the RSS, executed at the next reset. RSSCMD: u16, padding: u16, }), reserved256: [200]u8, - /// SBS product mode and configuration register. + /// SBS product mode and configuration register. PMCR: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Fast-mode Plus on PB(6). + /// Fast-mode Plus on PB(6). FMPLUS_PB6: u1, - /// Fast-mode Plus on PB(7). + /// Fast-mode Plus on PB(7). FMPLUS_PB7: u1, - /// Fast-mode Plus on PB(8). + /// Fast-mode Plus on PB(8). FMPLUS_PB8: u1, - /// Fast-mode Plus on PB(9). + /// Fast-mode Plus on PB(9). FMPLUS_PB9: u1, - /// booster enable Set this bit to reduce the THD of the analog switches when the supply voltage is below 2.7 V. guaranteeing the same performance as with the full voltage range. To avoid current consumption due to booster activation when VDDA < 2.7 V and VDD > 2.7 V, VDD can be selected as supply voltage for analog switches by setting BOOSTVDDSEL bit in SBS_PMCR. In this case, the BOOSTEN bit must be cleared to avoid unwanted power consumption. + /// booster enable Set this bit to reduce the THD of the analog switches when the supply voltage is below 2.7 V. guaranteeing the same performance as with the full voltage range. To avoid current consumption due to booster activation when VDDA < 2.7 V and VDD > 2.7 V, VDD can be selected as supply voltage for analog switches by setting BOOSTVDDSEL bit in SBS_PMCR. In this case, the BOOSTEN bit must be cleared to avoid unwanted power consumption. BOOSTEN: u1, - /// booster VDD selection This bit selects the analog switch supply voltage, between VDD, VDDA and booster. To avoid current consumption due to booster activation when VDDA < 2.7 V and VDD > 2.7 V, VDD can be selected as supply voltage for analog switches. In this case, the BOOSTEN bit must be cleared to avoid unwanted power consumption. When both VDD and VDDA are below 2.7 V, the booster is still needed to obtain full AC performances from the I/O analog switches. + /// booster VDD selection This bit selects the analog switch supply voltage, between VDD, VDDA and booster. To avoid current consumption due to booster activation when VDDA < 2.7 V and VDD > 2.7 V, VDD can be selected as supply voltage for analog switches. In this case, the BOOSTEN bit must be cleared to avoid unwanted power consumption. When both VDD and VDDA are below 2.7 V, the booster is still needed to obtain full AC performances from the I/O analog switches. BOOSTVDDSEL: u1, reserved21: u11, - /// Ethernet PHY interface selection. - ETH_SEL_PHY: packed union { - raw: u3, - value: ETH_SEL_PHY, - }, + /// Ethernet PHY interface selection. + ETH_SEL_PHY: ETH_SEL_PHY, reserved28: u4, - /// AXIRAM wait state Set this bit to add one wait state to all AXIRAMs when ECC = 0. When ECC = 1 there is one wait state by default. - AXIRAM_WS: packed union { - raw: u1, - value: AXIRAM_WS, - }, + /// AXIRAM wait state Set this bit to add one wait state to all AXIRAMs when ECC = 0. When ECC = 1 there is one wait state by default. + AXIRAM_WS: AXIRAM_WS, padding: u3, }), - /// SBS FPU interrupt mask register. + /// SBS FPU interrupt mask register. FPUIMR: mmio.Mmio(packed struct(u32) { - /// FPU interrupt enable Set and cleared by software to enable the Cortex-M7 FPU interrupts xxxxx1: Invalid operation interrupt enabled (xxxxx0 to disable) xxxx1x: Divide-by-zero interrupt enabled (xxxx0x to disable) xxx1xx: Underflow interrupt enabled (xxx0xx to disable) xx1xxx: Overflow interrupt enabled (xx0xxx to disable) x1xxxx: Input denormal interrupt enabled (x0xxxx to disable) 1xxxxx: Inexact interrupt enabled (0xxxxx to disable), disabled by default. + /// FPU interrupt enable Set and cleared by software to enable the Cortex-M7 FPU interrupts xxxxx1: Invalid operation interrupt enabled (xxxxx0 to disable) xxxx1x: Divide-by-zero interrupt enabled (xxxx0x to disable) xxx1xx: Underflow interrupt enabled (xxx0xx to disable) xx1xxx: Overflow interrupt enabled (xx0xxx to disable) x1xxxx: Input denormal interrupt enabled (x0xxxx to disable) 1xxxxx: Inexact interrupt enabled (0xxxxx to disable), disabled by default. FPU_IE: u6, padding: u26, }), - /// SBS memory erase status register. + /// SBS memory erase status register. MESR: mmio.Mmio(packed struct(u32) { - /// memory erase flag This bit is set by hardware when BKPRAM and PKA SRAM erase is ongoing after a POWER ON reset or one tamper event (see Section 50: Tamper and backup registers (TAMP) for details). This bit is cleared when the erase is done. + /// memory erase flag This bit is set by hardware when BKPRAM and PKA SRAM erase is ongoing after a POWER ON reset or one tamper event (see Section 50: Tamper and backup registers (TAMP) for details). This bit is cleared when the erase is done. MEF: u1, padding: u31, }), reserved272: [4]u8, - /// SBS I/O compensation cell control and status register. + /// SBS I/O compensation cell control and status register. CCCSR: mmio.Mmio(packed struct(u32) { - /// Compensation cell enable Set this bit to enable the compensation cell. + /// Compensation cell enable Set this bit to enable the compensation cell. COMP_EN: u1, - /// Compensation cell code selection This bit selects the code to be applied for the I/O compensation cell. + /// Compensation cell code selection This bit selects the code to be applied for the I/O compensation cell. COMP_CODESEL: u1, - /// XSPIM_P1 compensation cell enable Set this bit to enable the XSPIM_P1 compensation cell. + /// XSPIM_P1 compensation cell enable Set this bit to enable the XSPIM_P1 compensation cell. OCTO1_COMP_EN: u1, - /// XSPIM_P1 compensation cell code selection This bit selects the code to be applied for the XSPIM_P1 I/O compensation cell. + /// XSPIM_P1 compensation cell code selection This bit selects the code to be applied for the XSPIM_P1 I/O compensation cell. OCTO1_COMP_CODESEL: u1, - /// XSPIM_P2 compensation cell enable Set this bit to enable the XSPIM_P2 compensation cell. + /// XSPIM_P2 compensation cell enable Set this bit to enable the XSPIM_P2 compensation cell. OCTO2_COMP_EN: u1, - /// XSPIM_P2 compensation cell code selection This bit selects the code to be applied for the XSPIM_P2 I/O compensation cell. + /// XSPIM_P2 compensation cell code selection This bit selects the code to be applied for the XSPIM_P2 I/O compensation cell. OCTO2_COMP_CODESEL: u1, reserved8: u2, - /// Compensation cell ready This bit provides the status of the compensation cell. + /// Compensation cell ready This bit provides the status of the compensation cell. COMP_RDY: u1, - /// XSPIM_P1 compensation cell ready This bit provides the status of the XSPIM_P1 compensation cell. + /// XSPIM_P1 compensation cell ready This bit provides the status of the XSPIM_P1 compensation cell. OCTO1_COMP_RDY: u1, - /// XSPIM_P2 compensation cell ready This bit provides the status of the XSPIM_P2 compensation cell. + /// XSPIM_P2 compensation cell ready This bit provides the status of the XSPIM_P2 compensation cell. OCTO2_COMP_RDY: u1, reserved16: u5, - /// I/O high speed at low voltage When this bit is set, the speed of the I/Os is optimized when the device voltage is low. This bit is active only if VDDIO_HSLV user option bit is set in FLASH. It must be used only if the device supply voltage is below 2.7 V. Setting this bit when VDD is higher than 2.7 V may be destructive. + /// I/O high speed at low voltage When this bit is set, the speed of the I/Os is optimized when the device voltage is low. This bit is active only if VDDIO_HSLV user option bit is set in FLASH. It must be used only if the device supply voltage is below 2.7 V. Setting this bit when VDD is higher than 2.7 V may be destructive. IOHSLV: u1, - /// XSPIM_P1 I/O high speed at low voltage When this bit is set, the speed of the XSPIM_P1 I/Os is optimized when the device voltage is low. This bit is active only if OCTO1_HSLV user option bit is set in FLASH. This bit must be used only if the device supply voltage is below 2.7 V. Setting this bit when VDD is higher than 2.7 V may be destructive. + /// XSPIM_P1 I/O high speed at low voltage When this bit is set, the speed of the XSPIM_P1 I/Os is optimized when the device voltage is low. This bit is active only if OCTO1_HSLV user option bit is set in FLASH. This bit must be used only if the device supply voltage is below 2.7 V. Setting this bit when VDD is higher than 2.7 V may be destructive. OCTO1_IOHSLV: u1, - /// XSPIM_P2 I/O high speed at low voltage When this bit is set, the speed of the XSPIM_P2 I/Os is optimized when the device voltage is low. This bit is active only if OCTO2_HSLV user option bit is set in FLASH. This bit must be used only if the device supply voltage is below 2.7 V. Setting this bit when VDD is higher than 2.7 V may be destructive. + /// XSPIM_P2 I/O high speed at low voltage When this bit is set, the speed of the XSPIM_P2 I/Os is optimized when the device voltage is low. This bit is active only if OCTO2_HSLV user option bit is set in FLASH. This bit must be used only if the device supply voltage is below 2.7 V. Setting this bit when VDD is higher than 2.7 V may be destructive. OCTO2_IOHSLV: u1, padding: u13, }), - /// SBS compensation cell for I/Os value register. + /// SBS compensation cell for I/Os value register. CCVALR: mmio.Mmio(packed struct(u32) { - /// NMOS transistors slew-rate compensation This bitfield returns the NMOS transistors slew-rate compensation value computed by the cell. It is interpreted to compensate the NMOS transistors slew rate in the functional range if COMP_CODESEL = 0 in SBS_CCCSR register. + /// NMOS transistors slew-rate compensation This bitfield returns the NMOS transistors slew-rate compensation value computed by the cell. It is interpreted to compensate the NMOS transistors slew rate in the functional range if COMP_CODESEL = 0 in SBS_CCCSR register. NSRC: u4, - /// PMOS transistors slew-rate compensation This bitfield returns the PMOS transistors slew-rate compensation value computed by the cell. It is interpreted to compensate the PMOS transistors slew rate in the functional range if COMP_CODESEL = 0 in SBS_CCCSR register. + /// PMOS transistors slew-rate compensation This bitfield returns the PMOS transistors slew-rate compensation value computed by the cell. It is interpreted to compensate the PMOS transistors slew rate in the functional range if COMP_CODESEL = 0 in SBS_CCCSR register. PSRC: u4, - /// XSPIM_P1 NMOS transistors slew-rate compensation This bitfield returns the NMOS transistors slew-rate compensation value computed by the cell. It is interpreted by XSPIM_P1 to compensate the NMOS transistors slew rate in the functional range if OCTO1_COMP_CODESEL = 0 in SBS_CCCSR register. + /// XSPIM_P1 NMOS transistors slew-rate compensation This bitfield returns the NMOS transistors slew-rate compensation value computed by the cell. It is interpreted by XSPIM_P1 to compensate the NMOS transistors slew rate in the functional range if OCTO1_COMP_CODESEL = 0 in SBS_CCCSR register. OCTO1_NSRC: u4, - /// XSPIM_P1 PMOS transistors slew-rate compensation This bitfield returns the PMOS transistors slew-rate compensation value computed by the cell. It is interpreted by XSPIM_P1 to compensate the PMOS transistors slew rate in the functional range if OCTO1_COMP_CODESEL = 0 in SBS_CCCSR register. + /// XSPIM_P1 PMOS transistors slew-rate compensation This bitfield returns the PMOS transistors slew-rate compensation value computed by the cell. It is interpreted by XSPIM_P1 to compensate the PMOS transistors slew rate in the functional range if OCTO1_COMP_CODESEL = 0 in SBS_CCCSR register. OCTO1_PSRC: u4, - /// XSPIM_P2 NMOS transistors slew-rate compensation This bitfield returns the NMOS transistors slew-rate compensation value computed by the cell. It is interpreted by XSPIM_P2 to compensate the NMOS transistors slew rate in the functional range if OCTO2_COMP_CODESEL = 0 in SBS_CCCSR register. + /// XSPIM_P2 NMOS transistors slew-rate compensation This bitfield returns the NMOS transistors slew-rate compensation value computed by the cell. It is interpreted by XSPIM_P2 to compensate the NMOS transistors slew rate in the functional range if OCTO2_COMP_CODESEL = 0 in SBS_CCCSR register. OCTO2_NSRC: u4, - /// XSPIM_P2 PMOS transistors slew-rate compensation This bitfield returns the PMOS transistors slew-rate compensation value computed by the cell. It is interpreted by XSPIM_P2 to compensate the PMOS transistors slew rate in the functional range if OCTO2_COMP_CODESEL = 0 in SBS_CCCSR register. + /// XSPIM_P2 PMOS transistors slew-rate compensation This bitfield returns the PMOS transistors slew-rate compensation value computed by the cell. It is interpreted by XSPIM_P2 to compensate the PMOS transistors slew rate in the functional range if OCTO2_COMP_CODESEL = 0 in SBS_CCCSR register. OCTO2_PSRC: u4, padding: u8, }), - /// SBS compensation cell for I/Os software value register. + /// SBS compensation cell for I/Os software value register. CCSWVALR: mmio.Mmio(packed struct(u32) { - /// Software NMOS transistors slew-rate compensation This bitfield returns the NMOS transistors slew-rate compensation value computed by the cell. It is interpreted to compensate the NMOS transistors slew rate in the functional range if COMP_CODESEL = 1 in SBS_CCCSR register. + /// Software NMOS transistors slew-rate compensation This bitfield returns the NMOS transistors slew-rate compensation value computed by the cell. It is interpreted to compensate the NMOS transistors slew rate in the functional range if COMP_CODESEL = 1 in SBS_CCCSR register. SW_NSRC: u4, - /// Software PMOS transistors slew-rate compensation This bitfield returns the PMOS transistors slew-rate compensation value computed by the cell. It is interpreted to compensate the PMOS transistors slew rate in the functional range if COMP_CODESEL = 1 in SBS_CCCSR register. + /// Software PMOS transistors slew-rate compensation This bitfield returns the PMOS transistors slew-rate compensation value computed by the cell. It is interpreted to compensate the PMOS transistors slew rate in the functional range if COMP_CODESEL = 1 in SBS_CCCSR register. SW_PSRC: u4, - /// XSPIM_P1 software NMOS transistors slew-rate compensation This bitfield returns the NMOS transistors slew -ate compensation value computed by the cell. It is interpreted by XSPIM_P1 to compensate the NMOS transistors slew rate in the functional range if OCTO1_COMP_CODESEL = 1 in SBS_CCCSR register. + /// XSPIM_P1 software NMOS transistors slew-rate compensation This bitfield returns the NMOS transistors slew -ate compensation value computed by the cell. It is interpreted by XSPIM_P1 to compensate the NMOS transistors slew rate in the functional range if OCTO1_COMP_CODESEL = 1 in SBS_CCCSR register. OCTO1_SW_NSRC: u4, - /// XSPIM_P1 software PMOS transistors slew-rate compensation This bitfield returns the PMOS transistors slew-rate compensation value computed by the cell. It is interpreted by XSPIM_P1 to compensate the PMOS transistors slew rate in the functional range if OCTO1_COMP_CODESEL = 1 in SBS_CCCSR register. + /// XSPIM_P1 software PMOS transistors slew-rate compensation This bitfield returns the PMOS transistors slew-rate compensation value computed by the cell. It is interpreted by XSPIM_P1 to compensate the PMOS transistors slew rate in the functional range if OCTO1_COMP_CODESEL = 1 in SBS_CCCSR register. OCTO1_SW_PSRC: u4, - /// XSPIM_P2 software NMOS transistors slew-rate compensation This bitfield returns the NMOS transistors slew-rate compensation value computed by the cell. It is interpreted by XSPIM_P2 to compensate the NMOS transistors slew rate in the functional range if OCTO2_COMP_CODESEL = 1 in SBS_CCCSR register. + /// XSPIM_P2 software NMOS transistors slew-rate compensation This bitfield returns the NMOS transistors slew-rate compensation value computed by the cell. It is interpreted by XSPIM_P2 to compensate the NMOS transistors slew rate in the functional range if OCTO2_COMP_CODESEL = 1 in SBS_CCCSR register. OCTO2_SW_NSRC: u4, - /// XSPIM_P2 software PMOS transistors slew-rate compensation This bitfield returns the PMOS transistors slew-rate compensation value computed by the cell. It is interpreted by XSPIM_P2 to compensate the PMOS transistors slew rate in the functional range if OCTO2_COMP_CODESEL = 1 in SBS_CCCSR register. + /// XSPIM_P2 software PMOS transistors slew-rate compensation This bitfield returns the PMOS transistors slew-rate compensation value computed by the cell. It is interpreted by XSPIM_P2 to compensate the PMOS transistors slew rate in the functional range if OCTO2_COMP_CODESEL = 1 in SBS_CCCSR register. OCTO2_SW_PSRC: u4, padding: u8, }), reserved288: [4]u8, - /// SBS break lockup register. + /// SBS break lockup register. BKLOCKR: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// PVD break lock This bit is set by SW and cleared only by a system reset. it can be used to enable and lock the connection to TIM1/8/15/16/17Break input as well as the PVDE and PLS[2:0] bitfields in the PWR_CR1 register. Once set, this bit is cleared only by a system reset. + /// PVD break lock This bit is set by SW and cleared only by a system reset. it can be used to enable and lock the connection to TIM1/8/15/16/17Break input as well as the PVDE and PLS[2:0] bitfields in the PWR_CR1 register. Once set, this bit is cleared only by a system reset. PVD_BL: u1, - /// Flash ECC error break lock Set this bit to enable and lock the connection between embedded flash memory ECC double error detection flag and break inputs of TIM1/15/16/17 peripherals. Once set, this bit is cleared only by a system reset. + /// Flash ECC error break lock Set this bit to enable and lock the connection between embedded flash memory ECC double error detection flag and break inputs of TIM1/15/16/17 peripherals. Once set, this bit is cleared only by a system reset. FLASHECC_BL: u1, reserved6: u2, - /// Cortex-M7 lockup break lock Set this bit to enable and lock the connection between the Cortex-M7 lockup (HardFault) output and break inputs of TIM1/15/16/17 peripherals. Once set, this bit is cleared only by a system reset. + /// Cortex-M7 lockup break lock Set this bit to enable and lock the connection between the Cortex-M7 lockup (HardFault) output and break inputs of TIM1/15/16/17 peripherals. Once set, this bit is cleared only by a system reset. CM7LCKUP_BL: u1, - /// Backup RAM ECC error break lock Set this bit to enable and lock the connection between backup RAM ECC double error detection flag and break inputs of TIM1/15/16/17 peripherals. Once set, this bit is cleared only by a system reset. + /// Backup RAM ECC error break lock Set this bit to enable and lock the connection between backup RAM ECC double error detection flag and break inputs of TIM1/15/16/17 peripherals. Once set, this bit is cleared only by a system reset. BKRAMECC_BL: u1, reserved13: u5, - /// DTCM ECC error break lock Set this bit to enable and lock the connection between DTCM ECC double error detection flag and break inputs of TIM1/15/16/17 peripherals. Once set, this bit is cleared only by a system reset. Note: The DTCM0 and DTCM1 are Ored to give DTCMECC. + /// DTCM ECC error break lock Set this bit to enable and lock the connection between DTCM ECC double error detection flag and break inputs of TIM1/15/16/17 peripherals. Once set, this bit is cleared only by a system reset. Note: The DTCM0 and DTCM1 are Ored to give DTCMECC. DTCMECC_BL: u1, - /// ITCM ECC error break lock Set this bit to enable and lock the connection between ITCM ECC double error detection flag and break inputs of TIM1/15/16/17 peripherals. Once set, this bit is cleared only by a system reset. + /// ITCM ECC error break lock Set this bit to enable and lock the connection between ITCM ECC double error detection flag and break inputs of TIM1/15/16/17 peripherals. Once set, this bit is cleared only by a system reset. ITCMECC_BL: u1, reserved21: u6, - /// AXIRAM3 ECC error break lock Set this bit to enable and lock the connection between AXIRAM3 ECC double error detection flag and break inputs of TIM1/15/16/17 peripherals. Once set this bit is cleared only by a system reset. + /// AXIRAM3 ECC error break lock Set this bit to enable and lock the connection between AXIRAM3 ECC double error detection flag and break inputs of TIM1/15/16/17 peripherals. Once set this bit is cleared only by a system reset. ARAM3ECC_BL: u1, reserved23: u1, - /// AXIRAM1 ECC error break lock Set this bit to enable and lock the connection between AXIRAM1 ECC double error detection flag and break inputs of TIM1/15/16/17 peripherals. Once set, this bit is cleared only by a system reset. + /// AXIRAM1 ECC error break lock Set this bit to enable and lock the connection between AXIRAM1 ECC double error detection flag and break inputs of TIM1/15/16/17 peripherals. Once set, this bit is cleared only by a system reset. ARAM1ECC_BL: u1, padding: u8, }), reserved304: [12]u8, - /// external interrupt configuration register + /// external interrupt configuration register EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI x configuration (x = 4 to 7) + /// EXTI x configuration (x = 4 to 7) EXTI: u4, padding: u28, }), @@ -430966,97 +420646,97 @@ pub const types = struct { }; pub const syscfg_l0 = struct { - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// configuration register 1 + /// configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { - /// Memory mapping selection bits + /// Memory mapping selection bits MEM_MODE: u2, reserved3: u1, - /// User bank swapping + /// User bank swapping UFB: u1, reserved8: u4, - /// Boot mode selected by the boot pins status bits + /// Boot mode selected by the boot pins status bits BOOT_MODE: u2, padding: u22, }), - /// CFGR2 + /// CFGR2 CFGR2: mmio.Mmio(packed struct(u32) { - /// Firewall disable bit + /// Firewall disable bit FWDIS: u1, reserved8: u7, - /// Fm+ drive capability on PB6 enable bit + /// Fm+ drive capability on PB6 enable bit I2C_PB6_FMP: u1, - /// Fm+ drive capability on PB7 enable bit + /// Fm+ drive capability on PB7 enable bit I2C_PB7_FMP: u1, - /// Fm+ drive capability on PB8 enable bit + /// Fm+ drive capability on PB8 enable bit I2C_PB8_FMP: u1, - /// Fm+ drive capability on PB9 enable bit + /// Fm+ drive capability on PB9 enable bit I2C_PB9_FMP: u1, - /// I2C1 Fm+ drive capability enable bit + /// I2C1 Fm+ drive capability enable bit I2C1_FMP: u1, - /// I2C2 Fm+ drive capability enable bit + /// I2C2 Fm+ drive capability enable bit I2C2_FMP: u1, - /// I2C3 Fm+ drive capability enable bit + /// I2C3 Fm+ drive capability enable bit I2C3_FMP: u1, padding: u17, }), - /// external interrupt configuration register + /// external interrupt configuration register EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI configuration bits + /// EXTI configuration bits EXTI: u4, padding: u28, }), reserved32: [8]u8, - /// CFGR3 + /// CFGR3 CFGR3: mmio.Mmio(packed struct(u32) { - /// VREFINT enable and scaler control for COMP2 enable bit + /// VREFINT enable and scaler control for COMP2 enable bit EN_VREFINT: u1, reserved4: u3, - /// VREFINT_ADC connection bit + /// VREFINT_ADC connection bit SEL_VREF_OUT: u2, reserved8: u2, - /// VREFINT reference for ADC enable bit + /// VREFINT reference for ADC enable bit ENBUF_VREFINT_ADC: u1, - /// Temperature sensor reference for ADC enable bit + /// Temperature sensor reference for ADC enable bit ENBUF_SENSOR_ADC: u1, reserved12: u2, - /// VREFINT reference for COMP2 scaler enable bit + /// VREFINT reference for COMP2 scaler enable bit ENBUF_VREFINT_COMP2: u1, - /// VREFINT reference for HSI48 oscillator enable bit + /// VREFINT reference for HSI48 oscillator enable bit ENREF_HSI48: u1, reserved30: u16, - /// VREFINT ready flag + /// VREFINT ready flag VREFINT_RDYF: u1, - /// SYSCFG_CFGR3 lock bit + /// SYSCFG_CFGR3 lock bit REF_LOCK: u1, }), }; }; pub const syscfg_l1 = struct { - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// memory remap register + /// memory remap register MEMRMP: mmio.Mmio(packed struct(u32) { - /// MEM_MODE + /// MEM_MODE MEM_MODE: u2, reserved8: u6, - /// BOOT_MODE + /// BOOT_MODE BOOT_MODE: u2, padding: u22, }), - /// peripheral mode configuration register + /// peripheral mode configuration register PMC: mmio.Mmio(packed struct(u32) { - /// USB pull-up + /// USB pull-up USB_PU: u1, - /// USB pull-up enable on DP line + /// USB pull-up enable on DP line LCD_CAPA: u5, padding: u26, }), - /// external interrupt configuration register 1 + /// external interrupt configuration register 1 EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI x configuration (x = 8 to 11) + /// EXTI x configuration (x = 8 to 11) EXTI: u4, padding: u28, }), @@ -431064,83 +420744,83 @@ pub const types = struct { }; pub const syscfg_l4 = struct { - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// memory remap register + /// memory remap register MEMRMP: mmio.Mmio(packed struct(u32) { - /// Memory mapping selection + /// Memory mapping selection MEM_MODE: u3, - /// QUADSPI memory mapping swap + /// QUADSPI memory mapping swap QFS: u1, reserved8: u4, - /// Flash Bank mode selection + /// Flash Bank mode selection FB_MODE: u1, padding: u23, }), - /// configuration register 1 + /// configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { - /// Firewall disable + /// Firewall disable FWDIS: u1, reserved8: u7, - /// I/O analog switch voltage booster enable + /// I/O analog switch voltage booster enable BOOSTEN: u1, reserved16: u7, - /// Fast-mode Plus (Fm+) driving capability activation on PB6 + /// Fast-mode Plus (Fm+) driving capability activation on PB6 I2C_PB6_FMP: u1, - /// Fast-mode Plus (Fm+) driving capability activation on PB7 + /// Fast-mode Plus (Fm+) driving capability activation on PB7 I2C_PB7_FMP: u1, - /// Fast-mode Plus (Fm+) driving capability activation on PB8 + /// Fast-mode Plus (Fm+) driving capability activation on PB8 I2C_PB8_FMP: u1, - /// Fast-mode Plus (Fm+) driving capability activation on PB9 + /// Fast-mode Plus (Fm+) driving capability activation on PB9 I2C_PB9_FMP: u1, - /// I2C1 Fast-mode Plus driving capability activation + /// I2C1 Fast-mode Plus driving capability activation I2C1_FMP: u1, - /// I2C2 Fast-mode Plus driving capability activation + /// I2C2 Fast-mode Plus driving capability activation I2C2_FMP: u1, - /// I2C3 Fast-mode Plus driving capability activation + /// I2C3 Fast-mode Plus driving capability activation I2C3_FMP: u1, reserved26: u3, - /// Floating Point Unit interrupts enable bits + /// Floating Point Unit interrupts enable bits FPU_IE: u6, }), - /// external interrupt configuration register 1 + /// external interrupt configuration register 1 EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI12 configuration bits + /// EXTI12 configuration bits EXTI: u4, padding: u28, }), - /// SCSR + /// SCSR SCSR: mmio.Mmio(packed struct(u32) { - /// SRAM2 Erase + /// SRAM2 Erase SRAM2ER: u1, - /// SRAM2 busy by erase operation + /// SRAM2 busy by erase operation SRAM2BSY: u1, padding: u30, }), - /// CFGR2 + /// CFGR2 CFGR2: mmio.Mmio(packed struct(u32) { - /// Cortex LOCKUP (Hardfault) output enable bit + /// Cortex LOCKUP (Hardfault) output enable bit CLL: u1, - /// SRAM2 parity lock bit + /// SRAM2 parity lock bit SPL: u1, - /// PVD lock enable bit + /// PVD lock enable bit PVDL: u1, - /// ECC Lock + /// ECC Lock ECCL: u1, reserved8: u4, - /// SRAM2 parity error flag + /// SRAM2 parity error flag SPF: u1, padding: u23, }), - /// SWPR + /// SWPR SWPR: mmio.Mmio(packed struct(u32) { - /// SRAWM2 write protection. + /// SRAWM2 write protection. PWP: u1, padding: u31, }), - /// SKR + /// SKR SKR: mmio.Mmio(packed struct(u32) { - /// SRAM2 write protection key for software erase + /// SRAM2 write protection key for software erase KEY: u8, padding: u24, }), @@ -431148,237 +420828,237 @@ pub const types = struct { }; pub const syscfg_l5 = struct { - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// SYSCFG secure configuration register + /// SYSCFG secure configuration register SECCFGR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock control security + /// SYSCFG clock control security SYSCFGSEC: u1, - /// ClassB security + /// ClassB security CLASSBSEC: u1, - /// SRAM2 security + /// SRAM2 security SRAM2SEC: u1, - /// FPUSEC + /// FPUSEC FPUSEC: u1, padding: u28, }), - /// configuration register 1 + /// configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// I/O analog switch voltage booster enable + /// I/O analog switch voltage booster enable BOOSTEN: u1, - /// GPIO analog switch control voltage selection + /// GPIO analog switch control voltage selection ANASWVDD: u1, reserved16: u6, - /// Fast-mode Plus (Fm+) driving capability activation on PB6 + /// Fast-mode Plus (Fm+) driving capability activation on PB6 I2C_PB6_FMP: u1, - /// Fast-mode Plus (Fm+) driving capability activation on PB7 + /// Fast-mode Plus (Fm+) driving capability activation on PB7 I2C_PB7_FMP: u1, - /// Fast-mode Plus (Fm+) driving capability activation on PB8 + /// Fast-mode Plus (Fm+) driving capability activation on PB8 I2C_PB8_FMP: u1, - /// Fast-mode Plus (Fm+) driving capability activation on PB9 + /// Fast-mode Plus (Fm+) driving capability activation on PB9 I2C_PB9_FMP: u1, - /// I2C1 Fast-mode Plus driving capability activation + /// I2C1 Fast-mode Plus driving capability activation I2C1_FMP: u1, - /// I2C2 Fast-mode Plus driving capability activation + /// I2C2 Fast-mode Plus driving capability activation I2C2_FMP: u1, - /// I2C3 Fast-mode Plus driving capability activation + /// I2C3 Fast-mode Plus driving capability activation I2C3_FMP: u1, - /// I2C4_FMP + /// I2C4_FMP I2C4_FMP: u1, padding: u8, }), - /// FPU interrupt mask register + /// FPU interrupt mask register FPUIMR: mmio.Mmio(packed struct(u32) { - /// Floating point unit interrupts enable bits + /// Floating point unit interrupts enable bits FPU_IE: u6, padding: u26, }), - /// SYSCFG CPU non-secure lock register + /// SYSCFG CPU non-secure lock register CNSLCKR: mmio.Mmio(packed struct(u32) { - /// VTOR_NS register lock + /// VTOR_NS register lock LOCKNSVTOR: u1, - /// Non-secure MPU registers lock + /// Non-secure MPU registers lock LOCKNSMPU: u1, padding: u30, }), - /// SYSCFG CPU secure lock register + /// SYSCFG CPU secure lock register CSLOCKR: mmio.Mmio(packed struct(u32) { - /// LOCKSVTAIRCR + /// LOCKSVTAIRCR LOCKSVTAIRCR: u1, - /// LOCKSMPU + /// LOCKSMPU LOCKSMPU: u1, - /// LOCKSAU + /// LOCKSAU LOCKSAU: u1, padding: u29, }), - /// CFGR2 + /// CFGR2 CFGR2: mmio.Mmio(packed struct(u32) { - /// LOCKUP (hardfault) output enable bit + /// LOCKUP (hardfault) output enable bit CLL: u1, - /// SRAM2 parity lock bit + /// SRAM2 parity lock bit SPL: u1, - /// PVD lock enable bit + /// PVD lock enable bit PVDL: u1, - /// ECC Lock + /// ECC Lock ECCL: u1, reserved8: u4, - /// SRAM2 parity error flag + /// SRAM2 parity error flag SPF: u1, padding: u23, }), - /// SCSR + /// SCSR SCSR: mmio.Mmio(packed struct(u32) { - /// SRAM2 Erase + /// SRAM2 Erase SRAM2ER: u1, - /// SRAM2 busy by erase operation + /// SRAM2 busy by erase operation SRAM2BSY: u1, padding: u30, }), - /// SKR + /// SKR SKR: mmio.Mmio(packed struct(u32) { - /// SRAM2 write protection key for software erase + /// SRAM2 write protection key for software erase KEY: u8, padding: u24, }), - /// SWPR + /// SWPR SWPR: mmio.Mmio(packed struct(u32) { - /// P0WP + /// P0WP P0WP: u1, - /// P1WP + /// P1WP P1WP: u1, - /// P2WP + /// P2WP P2WP: u1, - /// P3WP + /// P3WP P3WP: u1, - /// P4WP + /// P4WP P4WP: u1, - /// P5WP + /// P5WP P5WP: u1, - /// P6WP + /// P6WP P6WP: u1, - /// P7WP + /// P7WP P7WP: u1, - /// P8WP + /// P8WP P8WP: u1, - /// P9WP + /// P9WP P9WP: u1, - /// P10WP + /// P10WP P10WP: u1, - /// P11WP + /// P11WP P11WP: u1, - /// P12WP + /// P12WP P12WP: u1, - /// P13WP + /// P13WP P13WP: u1, - /// P14WP + /// P14WP P14WP: u1, - /// P15WP + /// P15WP P15WP: u1, - /// P16WP + /// P16WP P16WP: u1, - /// P17WP + /// P17WP P17WP: u1, - /// P18WP + /// P18WP P18WP: u1, - /// P19WP + /// P19WP P19WP: u1, - /// P20WP + /// P20WP P20WP: u1, - /// P21WP + /// P21WP P21WP: u1, - /// P22WP + /// P22WP P22WP: u1, - /// P23WP + /// P23WP P23WP: u1, - /// P24WP + /// P24WP P24WP: u1, - /// P25WP + /// P25WP P25WP: u1, - /// P26WP + /// P26WP P26WP: u1, - /// P27WP + /// P27WP P27WP: u1, - /// P28WP + /// P28WP P28WP: u1, - /// P29WP + /// P29WP P29WP: u1, - /// P30WP + /// P30WP P30WP: u1, - /// SRAM2 page 31 write protection + /// SRAM2 page 31 write protection P31WP: u1, }), - /// SWPR2 + /// SWPR2 SWPR2: mmio.Mmio(packed struct(u32) { - /// P32WP + /// P32WP P32WP: u1, - /// P33WP + /// P33WP P33WP: u1, - /// P34WP + /// P34WP P34WP: u1, - /// P35WP + /// P35WP P35WP: u1, - /// P36WP + /// P36WP P36WP: u1, - /// P37WP + /// P37WP P37WP: u1, - /// P38WP + /// P38WP P38WP: u1, - /// P39WP + /// P39WP P39WP: u1, - /// P40WP + /// P40WP P40WP: u1, - /// P41WP + /// P41WP P41WP: u1, - /// P42WP + /// P42WP P42WP: u1, - /// P43WP + /// P43WP P43WP: u1, - /// P44WP + /// P44WP P44WP: u1, - /// P45WP + /// P45WP P45WP: u1, - /// P46WP + /// P46WP P46WP: u1, - /// P47WP + /// P47WP P47WP: u1, - /// P48WP + /// P48WP P48WP: u1, - /// P49WP + /// P49WP P49WP: u1, - /// P50WP + /// P50WP P50WP: u1, - /// P51WP + /// P51WP P51WP: u1, - /// P52WP + /// P52WP P52WP: u1, - /// P53WP + /// P53WP P53WP: u1, - /// P54WP + /// P54WP P54WP: u1, - /// P55WP + /// P55WP P55WP: u1, - /// P56WP + /// P56WP P56WP: u1, - /// P57WP + /// P57WP P57WP: u1, - /// P58WP + /// P58WP P58WP: u1, - /// P59WP + /// P59WP P59WP: u1, - /// P60WP + /// P60WP P60WP: u1, - /// P61WP + /// P61WP P61WP: u1, - /// P62WP + /// P62WP P62WP: u1, - /// P63WP + /// P63WP P63WP: u1, }), reserved44: [4]u8, - /// RSSCMDR + /// RSSCMDR RSSCMDR: mmio.Mmio(packed struct(u32) { - /// RSS commands + /// RSS commands RSSCMD: u8, padding: u24, }), @@ -431387,402 +421067,396 @@ pub const types = struct { pub const syscfg_u0 = struct { pub const IR_MOD = enum(u2) { - /// TIM16 + /// TIM16 TIM16 = 0x0, - /// USART1 + /// USART1 USART1 = 0x1, - /// USART2 + /// USART2 USART2 = 0x2, _, }; pub const MEM_MODE = enum(u2) { - /// System flash memory mapped at 0x000010000 + /// System flash memory mapped at 0x000010000 System_Flash = 0x1, - /// Embedded SRAM mapped at 0x000010000 + /// Embedded SRAM mapped at 0x000010000 SRAM = 0x3, _, }; - /// SYSCFG register block + /// SYSCFG register block pub const SYSCFG = extern struct { - /// SYSCFG configuration register 1 + /// SYSCFG configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { - /// Memory mapping selection bits These bits are set and cleared by software. They control the memory internal mapping at address 0x000010000. After reset these bits take on the value selected by the actual boot mode configuration. Refer to Section12.5: Boot configuration for more details. X0: Main flash memory mapped at 0x000010000 - MEM_MODE: packed union { - raw: u2, - value: MEM_MODE, - }, + /// Memory mapping selection bits These bits are set and cleared by software. They control the memory internal mapping at address 0x000010000. After reset these bits take on the value selected by the actual boot mode configuration. Refer to Section12.5: Boot configuration for more details. X0: Main flash memory mapped at 0x000010000 + MEM_MODE: MEM_MODE, reserved3: u1, - /// PA11 pin remapping This bit is set and cleared by software. When set, it remaps the PA11 pin to operate as PA9 GPIO port, instead as PA11 GPIO port. 0: No remap (PA11) 1: Remap (PA9) + /// PA11 pin remapping This bit is set and cleared by software. When set, it remaps the PA11 pin to operate as PA9 GPIO port, instead as PA11 GPIO port. 0: No remap (PA11) 1: Remap (PA9) PA11_RMP: u1, - /// PA12 pin remapping This bit is set and cleared by software. When set, it remaps the PA12 pin to operate as PA10 GPIO port, instead as PA12 GPIO port. 0: No remap (PA12) 1: Remap (PA10) + /// PA12 pin remapping This bit is set and cleared by software. When set, it remaps the PA12 pin to operate as PA10 GPIO port, instead as PA12 GPIO port. 0: No remap (PA12) 1: Remap (PA10) PA12_RMP: u1, - /// IR output polarity selection + /// IR output polarity selection IR_POL: u1, - /// IR Modulation Envelope signal selection This bitfield selects the signal for IR modulation envelope: - IR_MOD: packed union { - raw: u2, - value: IR_MOD, - }, - /// I/O analog switch voltage booster enable This bit selects the way of supplying I/O analog switches: When using the analog inputs , setting to 0 is recommended for high VDD, setting to 1 for low VDD (less than 2.4 V). + /// IR Modulation Envelope signal selection This bitfield selects the signal for IR modulation envelope: + IR_MOD: IR_MOD, + /// I/O analog switch voltage booster enable This bit selects the way of supplying I/O analog switches: When using the analog inputs , setting to 0 is recommended for high VDD, setting to 1 for low VDD (less than 2.4 V). BOOSTEN: u1, reserved16: u7, - /// Fast Mode Plus (FM+) enable for PB6 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB6 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. Note: This control bit is kept for legacy reasons. It is recommended to use the FMP bit of the I2Cx_CR1 register instead. 0: Disable 1: Enable + /// Fast Mode Plus (FM+) enable for PB6 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB6 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. Note: This control bit is kept for legacy reasons. It is recommended to use the FMP bit of the I2Cx_CR1 register instead. 0: Disable 1: Enable I2C_PB6_FMP: u1, - /// Fast Mode Plus (FM+) enable for PB7 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB7 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. Note: This control bit is kept for legacy reasons. It is recommended to use the FMP bit of the I2Cx_CR1 register instead. 0: Disable 1: Enable + /// Fast Mode Plus (FM+) enable for PB7 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB7 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. Note: This control bit is kept for legacy reasons. It is recommended to use the FMP bit of the I2Cx_CR1 register instead. 0: Disable 1: Enable I2C_PB7_FMP: u1, - /// Fast Mode Plus (FM+) enable for PB8 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB8 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. Note: This control bit is kept for legacy reasons. It is recommended to use the FMP bit of the I2Cx_CR1 register instead. 0: Disable 1: Enable + /// Fast Mode Plus (FM+) enable for PB8 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB8 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. Note: This control bit is kept for legacy reasons. It is recommended to use the FMP bit of the I2Cx_CR1 register instead. 0: Disable 1: Enable I2C_PB8_FMP: u1, - /// Fast Mode Plus (FM+) enable for PB9 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB9 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. Note: This control bit is kept for legacy reasons. It is recommended to use the FMP bit of the I2Cx_CR1 register instead. 0: Disable 1: Enable + /// Fast Mode Plus (FM+) enable for PB9 This bit is set and cleared by software. It enables I2C FM+ driving capability on PB9 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. Note: This control bit is kept for legacy reasons. It is recommended to use the FMP bit of the I2Cx_CR1 register instead. 0: Disable 1: Enable I2C_PB9_FMP: u1, reserved22: u2, - /// Fast Mode Plus (FM+) enable for PA9 This bit is set and cleared by software. It enables I2C FM+ driving capability on PA9 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. Note: This control bit is kept for legacy reasons. It is recommended to use the FMP bit of the I2Cx_CR1 register instead. 0: Disable 1: Enable + /// Fast Mode Plus (FM+) enable for PA9 This bit is set and cleared by software. It enables I2C FM+ driving capability on PA9 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. Note: This control bit is kept for legacy reasons. It is recommended to use the FMP bit of the I2Cx_CR1 register instead. 0: Disable 1: Enable I2C_PA9_FMP: u1, - /// Fast Mode Plus (FM+) enable for PA10 This bit is set and cleared by software. It enables I2C FM+ driving capability on PA10 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. Note: This control bit is kept for legacy reasons. It is recommended to use the FMP bit of the I2Cx_CR1 register instead. 0: Disable 1: Enable + /// Fast Mode Plus (FM+) enable for PA10 This bit is set and cleared by software. It enables I2C FM+ driving capability on PA10 I/O port. With this bit in disable state, the I2C FM+ driving capability on this I/O port can be enabled through one of I2Cx_FMP bits. When I2C FM+ is enabled, the speed control is ignored. Note: This control bit is kept for legacy reasons. It is recommended to use the FMP bit of the I2Cx_CR1 register instead. 0: Disable 1: Enable I2C_PA10_FMP: u1, - /// Fast Mode Plus (FM+) enable for I2C3 This bit is set and cleared by software. It enables I2C FM+ driving capability on I/O ports configured as I2C3 through GPIOx_AFR registers. With this bit in disable state, the I2C FM+ driving capability on I/O ports configured as I2C3 can be enabled through their corresponding I2Cx_FMP bit. When I2C FM+ is enabled, the speed control is ignored. Note: This control bit is kept for legacy reasons. It is recommended to use the FMP bit of the I2Cx_CR1 register instead. 0: Disable 1: Enable + /// Fast Mode Plus (FM+) enable for I2C3 This bit is set and cleared by software. It enables I2C FM+ driving capability on I/O ports configured as I2C3 through GPIOx_AFR registers. With this bit in disable state, the I2C FM+ driving capability on I/O ports configured as I2C3 can be enabled through their corresponding I2Cx_FMP bit. When I2C FM+ is enabled, the speed control is ignored. Note: This control bit is kept for legacy reasons. It is recommended to use the FMP bit of the I2Cx_CR1 register instead. 0: Disable 1: Enable I2C3_FMP: u1, padding: u7, }), reserved24: [20]u8, - /// SYSCFG configuration register 2 + /// SYSCFG configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// Cortex1-M0+ LOCKUP bit enable bit This bit is set by software and cleared by a system reset. It can be use to enable and lock the connection of Cortex1-M0+ LOCKUP (Hardfault) output to TIM1/15/16 Break input. + /// Cortex1-M0+ LOCKUP bit enable bit This bit is set by software and cleared by a system reset. It can be use to enable and lock the connection of Cortex1-M0+ LOCKUP (Hardfault) output to TIM1/15/16 Break input. CCL: u1, - /// SRAM1 parity lock bit This bit is set by software and cleared by a system reset. It can be used to enable and lock the SRAM1 parity error signal connection to TIM1/15/16 Break input. + /// SRAM1 parity lock bit This bit is set by software and cleared by a system reset. It can be used to enable and lock the SRAM1 parity error signal connection to TIM1/15/16 Break input. SPL: u1, - /// PVD lock enable bit This bit is set by software and cleared by a system reset. It can be used to enable and lock the PVD connection to TIM1/15/16 Break input, as well as the PVDE and PLS[2:0] in the PWR_CR register. + /// PVD lock enable bit This bit is set by software and cleared by a system reset. It can be used to enable and lock the PVD connection to TIM1/15/16 Break input, as well as the PVDE and PLS[2:0] in the PWR_CR register. PVDL: u1, - /// ECC error lock bit This bit is set by software and cleared by a system reset. It can be used to enable and lock the flash ECC 2-bit error detection signal connection to TIM1/15/16 Break input. + /// ECC error lock bit This bit is set by software and cleared by a system reset. It can be used to enable and lock the flash ECC 2-bit error detection signal connection to TIM1/15/16 Break input. ECCL: u1, - /// Backup SRAM2 parity lock This bit is set by software and cleared by a system reset. It can be used to enable and lock the SRAM2 parity error signal connection to TIM1/15/16 Break input. + /// Backup SRAM2 parity lock This bit is set by software and cleared by a system reset. It can be used to enable and lock the SRAM2 parity error signal connection to TIM1/15/16 Break input. BKPL: u1, reserved7: u2, - /// Backup SRAM2 parity error flag This bit is set by hardware when an SRAM2 parity error is detected. It is cleared by software by writing 1. + /// Backup SRAM2 parity error flag This bit is set by hardware when an SRAM2 parity error is detected. It is cleared by software by writing 1. BKPF: u1, - /// SRAM1 parity error flag This bit is set by hardware when an SRAM1 parity error is detected. It is cleared by software by writing 1. + /// SRAM1 parity error flag This bit is set by hardware when an SRAM1 parity error is detected. It is cleared by software by writing 1. SPF: u1, padding: u23, }), - /// SYSCFG SRAM2 control and status register + /// SYSCFG SRAM2 control and status register SCSR: mmio.Mmio(packed struct(u32) { - /// SRAM2 erase Setting this bit starts a hardware SRAM2 erase operation. This bit is automatically cleared at the end of the SRAM2 erase operation. Note: This bit is write-protected: setting this bit is possible only after the correct key sequence is written in the SYSCFG_SKR register. + /// SRAM2 erase Setting this bit starts a hardware SRAM2 erase operation. This bit is automatically cleared at the end of the SRAM2 erase operation. Note: This bit is write-protected: setting this bit is possible only after the correct key sequence is written in the SYSCFG_SKR register. SRAM2ER: u1, - /// SRAM2 busy by erase operation + /// SRAM2 busy by erase operation SRAM2BSY: u1, padding: u30, }), - /// SYSCFG SRAM2 key register + /// SYSCFG SRAM2 key register SKR: mmio.Mmio(packed struct(u32) { - /// SRAM2 write protection key for software erase The following steps are required to unlock the write protection of the SRAM2ER bit in the SYSCFG_CFGR2 register: Write 0xCA into KEY[7:0] Write 0x53 into KEY[7:0] Writing a wrong key reactivates the write protection. + /// SRAM2 write protection key for software erase The following steps are required to unlock the write protection of the SRAM2ER bit in the SYSCFG_CFGR2 register: Write 0xCA into KEY[7:0] Write 0x53 into KEY[7:0] Writing a wrong key reactivates the write protection. KEY: u8, padding: u24, }), - /// SYSCFG TSC comparator register + /// SYSCFG TSC comparator register TSCCR: mmio.Mmio(packed struct(u32) { - /// Comparator mode for group 2 on I/O 1 + /// Comparator mode for group 2 on I/O 1 G2_IO1: u1, - /// Comparator mode for group 2 on I/O 3 + /// Comparator mode for group 2 on I/O 3 G2_IO3: u1, - /// Comparator mode for group 4 on I/O 3 + /// Comparator mode for group 4 on I/O 3 G4_IO3: u1, - /// Comparator mode for group 6 on I/O 1 + /// Comparator mode for group 6 on I/O 1 G6_IO1: u1, - /// Comparator mode for group 7 on I/O 1 + /// Comparator mode for group 7 on I/O 1 G7_IO1: u1, - /// I/O control in comparator mode The I/O control in comparator mode can be overwritten by hardware. + /// I/O control in comparator mode The I/O control in comparator mode can be overwritten by hardware. TSC_IOCTRL: u1, padding: u26, }), reserved128: [88]u8, - /// SYSCFG interrupt line 0 status register + /// SYSCFG interrupt line 0 status register ITLINE0: mmio.Mmio(packed struct(u32) { - /// Window watchdog interrupt pending flag + /// Window watchdog interrupt pending flag WWDG: u1, padding: u31, }), - /// SYSCFG interrupt line 1 status register + /// SYSCFG interrupt line 1 status register ITLINE1: mmio.Mmio(packed struct(u32) { - /// PVD supply monitoring interrupt request pending (EXTI line 16). + /// PVD supply monitoring interrupt request pending (EXTI line 16). PVDOUT: u1, - /// VDDUSB supply monitoring interrupt request pending (EXTI line 19) + /// VDDUSB supply monitoring interrupt request pending (EXTI line 19) PVMOUT1: u1, - /// ADC supply monitoring interrupt request pending (EXTI line 20) + /// ADC supply monitoring interrupt request pending (EXTI line 20) PVMOUT3: u1, - /// DAC supply monitoring interrupt request pending (EXTI line 21) + /// DAC supply monitoring interrupt request pending (EXTI line 21) PVMOUT4: u1, padding: u28, }), - /// SYSCFG interrupt line 2 status register + /// SYSCFG interrupt line 2 status register ITLINE2: mmio.Mmio(packed struct(u32) { - /// Tamper interrupt request pending (EXTI line 21) + /// Tamper interrupt request pending (EXTI line 21) TAMP: u1, - /// RTC interrupt request pending (EXTI line 19) + /// RTC interrupt request pending (EXTI line 19) RTC: u1, padding: u30, }), - /// SYSCFG interrupt line 3 status register + /// SYSCFG interrupt line 3 status register ITLINE3: mmio.Mmio(packed struct(u32) { - /// Flash interface interrupt request pending + /// Flash interface interrupt request pending FLASH_ITF: u1, - /// Flash interface ECC interrupt request pending + /// Flash interface ECC interrupt request pending FLASH_ECC: u1, padding: u30, }), - /// SYSCFG interrupt line 4 status register + /// SYSCFG interrupt line 4 status register ITLINE4: mmio.Mmio(packed struct(u32) { - /// Reset and clock control interrupt request pending + /// Reset and clock control interrupt request pending RCC: u1, - /// CRS interrupt request pending + /// CRS interrupt request pending CRS: u1, padding: u30, }), - /// SYSCFG interrupt line 5 status register + /// SYSCFG interrupt line 5 status register ITLINE5: mmio.Mmio(packed struct(u32) { - /// EXTI line 0 interrupt request pending + /// EXTI line 0 interrupt request pending EXTI0: u1, - /// EXTI line 1 interrupt request pending + /// EXTI line 1 interrupt request pending EXTI1: u1, padding: u30, }), - /// SYSCFG interrupt line 6 status register + /// SYSCFG interrupt line 6 status register ITLINE6: mmio.Mmio(packed struct(u32) { - /// EXTI line 2 interrupt request pending + /// EXTI line 2 interrupt request pending EXTI2: u1, - /// EXTI line 3 interrupt request pending + /// EXTI line 3 interrupt request pending EXTI3: u1, padding: u30, }), - /// SYSCFG interrupt line 7 status register + /// SYSCFG interrupt line 7 status register ITLINE7: mmio.Mmio(packed struct(u32) { - /// EXTI line 4 interrupt request pending + /// EXTI line 4 interrupt request pending EXTI4: u1, - /// EXTI line 5 interrupt request pending + /// EXTI line 5 interrupt request pending EXTI5: u1, - /// EXTI line 6 interrupt request pending + /// EXTI line 6 interrupt request pending EXTI6: u1, - /// EXTI line 7 interrupt request pending + /// EXTI line 7 interrupt request pending EXTI7: u1, - /// EXTI line 8 interrupt request pending + /// EXTI line 8 interrupt request pending EXTI8: u1, - /// EXTI line 9 interrupt request pending + /// EXTI line 9 interrupt request pending EXTI9: u1, - /// EXTI line 10 interrupt request pending + /// EXTI line 10 interrupt request pending EXTI10: u1, - /// EXTI line 11 interrupt request pending + /// EXTI line 11 interrupt request pending EXTI11: u1, - /// EXTI line 12 interrupt request pending + /// EXTI line 12 interrupt request pending EXTI12: u1, - /// EXTI line 13 interrupt request pending + /// EXTI line 13 interrupt request pending EXTI13: u1, - /// EXTI line 14 interrupt request pending + /// EXTI line 14 interrupt request pending EXTI14: u1, - /// EXTI line 15 interrupt request pending + /// EXTI line 15 interrupt request pending EXTI15: u1, padding: u20, }), - /// SYSCFG interrupt line 8 status register + /// SYSCFG interrupt line 8 status register ITLINE8: mmio.Mmio(packed struct(u32) { - /// USB interrupt request pending + /// USB interrupt request pending USB: u1, padding: u31, }), - /// SYSCFG interrupt line 9 status register + /// SYSCFG interrupt line 9 status register ITLINE9: mmio.Mmio(packed struct(u32) { - /// DMA1 channel 1 interrupt request pending + /// DMA1 channel 1 interrupt request pending DMA1_CH1: u1, padding: u31, }), - /// SYSCFG interrupt line 10 status register + /// SYSCFG interrupt line 10 status register ITLINE10: mmio.Mmio(packed struct(u32) { - /// DMA1 channel 2 interrupt request pending + /// DMA1 channel 2 interrupt request pending DMA1_CH2: u1, - /// DMA1 channel 3 interrupt request pending + /// DMA1 channel 3 interrupt request pending DMA1_CH3: u1, padding: u30, }), - /// SYSCFG interrupt line 11 status register + /// SYSCFG interrupt line 11 status register ITLINE11: mmio.Mmio(packed struct(u32) { - /// DMAMUX interrupt request pending + /// DMAMUX interrupt request pending DMAMUX: u1, - /// DMA1 channel 4 interrupt request pending + /// DMA1 channel 4 interrupt request pending DMA1_CH4: u1, - /// DMA1 channel 5 interrupt request pending + /// DMA1 channel 5 interrupt request pending DMA1_CH5: u1, - /// DMA1 channel 6 interrupt request pending + /// DMA1 channel 6 interrupt request pending DMA1_CH6: u1, - /// DMA1 channel 7 interrupt request pending + /// DMA1 channel 7 interrupt request pending DMA1_CH7: u1, - /// DMA2 channel 1 interrupt request pending + /// DMA2 channel 1 interrupt request pending DMA2_CH1: u1, - /// DMA2 channel 2 interrupt request pending + /// DMA2 channel 2 interrupt request pending DMA2_CH2: u1, - /// DMA2 channel 3 interrupt request pending + /// DMA2 channel 3 interrupt request pending DMA2_CH3: u1, - /// DMA2 channel 4 interrupt request pending + /// DMA2 channel 4 interrupt request pending DMA2_CH4: u1, - /// DMA2 channel 5 interrupt request pending + /// DMA2 channel 5 interrupt request pending DMA2_CH5: u1, padding: u22, }), - /// SYSCFG interrupt line 12 status register + /// SYSCFG interrupt line 12 status register ITLINE12: mmio.Mmio(packed struct(u32) { - /// ADC interrupt request pending + /// ADC interrupt request pending ADC: u1, - /// Comparator 1 interrupt request pending (EXTI line 17) + /// Comparator 1 interrupt request pending (EXTI line 17) COMP1: u1, - /// Comparator 2 interrupt request pending (EXTI line 18) + /// Comparator 2 interrupt request pending (EXTI line 18) COMP2: u1, padding: u29, }), - /// SYSCFG interrupt line 13 status register + /// SYSCFG interrupt line 13 status register ITLINE13: mmio.Mmio(packed struct(u32) { - /// Timer 1 commutation interrupt request pending + /// Timer 1 commutation interrupt request pending TIM1_CCU: u1, - /// Timer 1 trigger interrupt request pending + /// Timer 1 trigger interrupt request pending TIM1_TRG: u1, - /// Timer 1 update interrupt request pending + /// Timer 1 update interrupt request pending TIM1_UPD: u1, - /// Timer 1 break interrupt request pending + /// Timer 1 break interrupt request pending TIM1_BRK: u1, padding: u28, }), - /// SYSCFG interrupt line 14 status register + /// SYSCFG interrupt line 14 status register ITLINE14: mmio.Mmio(packed struct(u32) { - /// Timer 1 capture compare 1 interrupt request pending + /// Timer 1 capture compare 1 interrupt request pending TIM1_CC1: u1, - /// Timer 1 capture compare 2 interrupt request pending + /// Timer 1 capture compare 2 interrupt request pending TIM1_CC2: u1, - /// Timer 1 capture compare 3 interrupt request pending + /// Timer 1 capture compare 3 interrupt request pending TIM1_CC3: u1, - /// Timer 1 capture compare 4 interrupt request pending + /// Timer 1 capture compare 4 interrupt request pending TIM1_CC4: u1, padding: u28, }), - /// SYSCFG interrupt line 15 status register + /// SYSCFG interrupt line 15 status register ITLINE15: mmio.Mmio(packed struct(u32) { - /// Timer 2 interrupt request pending + /// Timer 2 interrupt request pending TIM2: u1, padding: u31, }), - /// SYSCFG interrupt line 16 status register + /// SYSCFG interrupt line 16 status register ITLINE16: mmio.Mmio(packed struct(u32) { - /// Timer 3 interrupt request pending + /// Timer 3 interrupt request pending TIM3: u1, padding: u31, }), - /// SYSCFG interrupt line 17 status register + /// SYSCFG interrupt line 17 status register ITLINE17: mmio.Mmio(packed struct(u32) { - /// Timer 6 interrupt request pending + /// Timer 6 interrupt request pending TIM6: u1, - /// DAC underrun interrupt request pending + /// DAC underrun interrupt request pending DAC: u1, - /// Low-power timer 1 interrupt request pending (EXTI line 29) + /// Low-power timer 1 interrupt request pending (EXTI line 29) LPTIM1: u1, padding: u29, }), - /// SYSCFG interrupt line 18 status register + /// SYSCFG interrupt line 18 status register ITLINE18: mmio.Mmio(packed struct(u32) { - /// Timer 7 interrupt request pending + /// Timer 7 interrupt request pending TIM7: u1, - /// Low-power timer 2 interrupt request pending (EXTI line 30) + /// Low-power timer 2 interrupt request pending (EXTI line 30) LPTIM2: u1, padding: u30, }), - /// SYSCFG interrupt line 19 status register + /// SYSCFG interrupt line 19 status register ITLINE19: mmio.Mmio(packed struct(u32) { - /// Timer 15 interrupt request pending + /// Timer 15 interrupt request pending TIM15: u1, - /// Low-power timer 3 interrupt request pending + /// Low-power timer 3 interrupt request pending LPTIM3: u1, padding: u30, }), - /// SYSCFG interrupt line 20 status register + /// SYSCFG interrupt line 20 status register ITLINE20: mmio.Mmio(packed struct(u32) { - /// Timer 16 interrupt request pending + /// Timer 16 interrupt request pending TIM16: u1, padding: u31, }), - /// SYSCFG interrupt line 21 status register + /// SYSCFG interrupt line 21 status register ITLINE21: mmio.Mmio(packed struct(u32) { - /// TSC max count error interrupt request pending + /// TSC max count error interrupt request pending TSC_MCE: u1, - /// TSC end of acquisition interrupt request pending + /// TSC end of acquisition interrupt request pending TSC_EOA: u1, padding: u30, }), - /// SYSCFG interrupt line 22 status register + /// SYSCFG interrupt line 22 status register ITLINE22: mmio.Mmio(packed struct(u32) { - /// LCD interrupt request pending + /// LCD interrupt request pending LCD: u1, padding: u31, }), - /// SYSCFG interrupt line 23 status register + /// SYSCFG interrupt line 23 status register ITLINE23: mmio.Mmio(packed struct(u32) { - /// I2C1 interrupt request pending (EXTI line 33) + /// I2C1 interrupt request pending (EXTI line 33) I2C1: u1, padding: u31, }), - /// SYSCFG interrupt line 24 status register + /// SYSCFG interrupt line 24 status register ITLINE24: mmio.Mmio(packed struct(u32) { - /// I2C2 interrupt request pending + /// I2C2 interrupt request pending I2C2: u1, - /// I2C4 interrupt request pending + /// I2C4 interrupt request pending I2C4: u1, - /// I2C3 interrupt request pending (EXTI line 23) + /// I2C3 interrupt request pending (EXTI line 23) I2C3: u1, padding: u29, }), - /// SYSCFG interrupt line 25 status register + /// SYSCFG interrupt line 25 status register ITLINE25: mmio.Mmio(packed struct(u32) { - /// SPI1 interrupt request pending + /// SPI1 interrupt request pending SPI1: u1, padding: u31, }), - /// SYSCFG interrupt line 26 status register + /// SYSCFG interrupt line 26 status register ITLINE26: mmio.Mmio(packed struct(u32) { - /// SPI2 interrupt request pending + /// SPI2 interrupt request pending SPI2: u1, - /// SPI3 interrupt request pending + /// SPI3 interrupt request pending SPI3: u1, padding: u30, }), - /// SYSCFG interrupt line 27 status register + /// SYSCFG interrupt line 27 status register ITLINE27: mmio.Mmio(packed struct(u32) { - /// USART1 interrupt request pending, combined with EXTI line 25 + /// USART1 interrupt request pending, combined with EXTI line 25 USART1: u1, padding: u31, }), - /// SYSCFG interrupt line 28 status register + /// SYSCFG interrupt line 28 status register ITLINE28: mmio.Mmio(packed struct(u32) { - /// USART2 interrupt request pending (EXTI line 35) + /// USART2 interrupt request pending (EXTI line 35) USART2: u1, - /// LPUART2 interrupt request pending (EXTI line 31) + /// LPUART2 interrupt request pending (EXTI line 31) LPUART2: u1, padding: u30, }), - /// SYSCFG interrupt line 29 status register + /// SYSCFG interrupt line 29 status register ITLINE29: mmio.Mmio(packed struct(u32) { - /// USART3 interrupt request pending + /// USART3 interrupt request pending USART3: u1, - /// LPUART1 interrupt request pending (EXTI line 30) + /// LPUART1 interrupt request pending (EXTI line 30) LPUART1: u1, padding: u30, }), - /// SYSCFG interrupt line 30 status register + /// SYSCFG interrupt line 30 status register ITLINE30: mmio.Mmio(packed struct(u32) { - /// USART4 interrupt request pending + /// USART4 interrupt request pending USART4: u1, - /// LPUART3 interrupt request pending (EXTI line 32) + /// LPUART3 interrupt request pending (EXTI line 32) LPUART3: u1, padding: u30, }), - /// SYSCFG interrupt line 31 status register + /// SYSCFG interrupt line 31 status register ITLINE31: mmio.Mmio(packed struct(u32) { - /// RNG interrupt request pending + /// RNG interrupt request pending RNG: u1, - /// AES interrupt request pending + /// AES interrupt request pending AES: u1, padding: u30, }), @@ -431790,136 +421464,136 @@ pub const types = struct { }; pub const syscfg_u5 = struct { - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// SYSCFG secure configuration register + /// SYSCFG secure configuration register SECCFGR: mmio.Mmio(packed struct(u32) { - /// SYSCFG clock control security + /// SYSCFG clock control security SYSCFGSEC: u1, - /// CLASSBSEC + /// CLASSBSEC CLASSBSEC: u1, reserved3: u1, - /// FPUSEC + /// FPUSEC FPUSEC: u1, padding: u28, }), - /// configuration register 1 + /// configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// I/O analog switch voltage booster enable + /// I/O analog switch voltage booster enable BOOSTEN: u1, - /// GPIO analog switch control voltage selection + /// GPIO analog switch control voltage selection ANASWVDD: u1, reserved16: u6, - /// PB6_FMP + /// PB6_FMP PB6_FMP: u1, - /// PB7_FMP + /// PB7_FMP PB7_FMP: u1, - /// PB8_FMP + /// PB8_FMP PB8_FMP: u1, - /// PB9_FMP + /// PB9_FMP PB9_FMP: u1, padding: u12, }), - /// FPU interrupt mask register + /// FPU interrupt mask register FPUIMR: mmio.Mmio(packed struct(u32) { - /// Floating point unit interrupts enable bits + /// Floating point unit interrupts enable bits FPU_IE: u6, padding: u26, }), - /// SYSCFG CPU non-secure lock register + /// SYSCFG CPU non-secure lock register CNSLCKR: mmio.Mmio(packed struct(u32) { - /// VTOR_NS register lock + /// VTOR_NS register lock LOCKNSVTOR: u1, - /// Non-secure MPU registers lock + /// Non-secure MPU registers lock LOCKNSMPU: u1, padding: u30, }), - /// SYSCFG CPU secure lock register + /// SYSCFG CPU secure lock register CSLOCKR: mmio.Mmio(packed struct(u32) { - /// LOCKSVTAIRCR + /// LOCKSVTAIRCR LOCKSVTAIRCR: u1, - /// LOCKSMPU + /// LOCKSMPU LOCKSMPU: u1, - /// LOCKSAU + /// LOCKSAU LOCKSAU: u1, padding: u29, }), - /// configuration register 2 + /// configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// LOCKUP (hardfault) output enable bit + /// LOCKUP (hardfault) output enable bit CLL: u1, - /// SRAM ECC lock bit + /// SRAM ECC lock bit SPL: u1, - /// PVD lock enable bit + /// PVD lock enable bit PVDL: u1, - /// ECC Lock + /// ECC Lock ECCL: u1, padding: u28, }), - /// memory erase status register + /// memory erase status register MESR: mmio.Mmio(packed struct(u32) { - /// MCLR + /// MCLR MCLR: u1, reserved16: u15, - /// IPMEE + /// IPMEE IPMEE: u1, padding: u15, }), - /// compensation cell control/status register + /// compensation cell control/status register CCCSR: mmio.Mmio(packed struct(u32) { - /// EN1 + /// EN1 EN1: u1, - /// CS1 + /// CS1 CS1: u1, - /// EN2 + /// EN2 EN2: u1, - /// CS2 + /// CS2 CS2: u1, reserved8: u4, - /// RDY1 + /// RDY1 RDY1: u1, - /// RDY2 + /// RDY2 RDY2: u1, padding: u22, }), - /// compensation cell value register + /// compensation cell value register CCVR: mmio.Mmio(packed struct(u32) { - /// NCV1 + /// NCV1 NCV1: u4, - /// PCV1 + /// PCV1 PCV1: u4, - /// NCV2 + /// NCV2 NCV2: u4, - /// PCV2 + /// PCV2 PCV2: u4, padding: u16, }), - /// compensation cell code register + /// compensation cell code register CCCR: mmio.Mmio(packed struct(u32) { - /// NCC1 + /// NCC1 NCC1: u4, - /// PCC1 + /// PCC1 PCC1: u4, - /// NCC2 + /// NCC2 NCC2: u4, - /// PCC2 + /// PCC2 PCC2: u4, padding: u16, }), reserved44: [4]u8, - /// RSS command register + /// RSS command register RSSCMDR: mmio.Mmio(packed struct(u32) { - /// RSS commands + /// RSS commands RSSCMD: u16, padding: u16, }), reserved112: [64]u8, - /// USB Type C and Power Delivery register + /// USB Type C and Power Delivery register UCPDR: mmio.Mmio(packed struct(u32) { - /// CC1ENRXFILTER + /// CC1ENRXFILTER CC1ENRXFILTER: u1, - /// CC2ENRXFILTER + /// CC2ENRXFILTER CC2ENRXFILTER: u1, padding: u30, }), @@ -431927,214 +421601,214 @@ pub const types = struct { }; pub const syscfg_wb = struct { - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// memory remap register + /// memory remap register MEMRMP: mmio.Mmio(packed struct(u32) { - /// Memory mapping selection + /// Memory mapping selection MEM_MODE: u3, padding: u29, }), - /// configuration register 1 + /// configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// I/O analog switch voltage booster enable + /// I/O analog switch voltage booster enable BOOSTEN: u1, reserved16: u7, - /// Fast-mode Plus (Fm+) driving capability activation on PB6 + /// Fast-mode Plus (Fm+) driving capability activation on PB6 I2C_PB6_FMP: u1, - /// Fast-mode Plus (Fm+) driving capability activation on PB7 + /// Fast-mode Plus (Fm+) driving capability activation on PB7 I2C_PB7_FMP: u1, - /// Fast-mode Plus (Fm+) driving capability activation on PB8 + /// Fast-mode Plus (Fm+) driving capability activation on PB8 I2C_PB8_FMP: u1, - /// Fast-mode Plus (Fm+) driving capability activation on PB9 + /// Fast-mode Plus (Fm+) driving capability activation on PB9 I2C_PB9_FMP: u1, - /// I2C1 Fast-mode Plus driving capability activation + /// I2C1 Fast-mode Plus driving capability activation I2C1_FMP: u1, reserved22: u1, - /// I2C3 Fast-mode Plus driving capability activation + /// I2C3 Fast-mode Plus driving capability activation I2C3_FMP: u1, reserved26: u3, - /// Floating Point Unit interrupts enable bits + /// Floating Point Unit interrupts enable bits FPU_IE: u6, }), - /// external interrupt configuration register 1 + /// external interrupt configuration register 1 EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI 0 configuration bits + /// EXTI 0 configuration bits EXTI: u3, padding: u29, }), - /// SCSR + /// SCSR SCSR: mmio.Mmio(packed struct(u32) { - /// SRAM2 Erase + /// SRAM2 Erase SRAM2ER: u1, - /// SRAM2 busy by erase operation + /// SRAM2 busy by erase operation SRAM2BSY: u1, reserved31: u29, - /// CPU2 SRAM fetch (execution) disable. + /// CPU2 SRAM fetch (execution) disable. C2RFD: u1, }), - /// CFGR2 + /// CFGR2 CFGR2: mmio.Mmio(packed struct(u32) { - /// Cortex-M4 LOCKUP (Hardfault) output enable bit + /// Cortex-M4 LOCKUP (Hardfault) output enable bit CLL: u1, - /// SRAM2 parity lock bit + /// SRAM2 parity lock bit SPL: u1, - /// PVD lock enable bit + /// PVD lock enable bit PVDL: u1, - /// ECC Lock + /// ECC Lock ECCL: u1, reserved8: u4, - /// SRAM2 parity error flag + /// SRAM2 parity error flag SPF: u1, padding: u23, }), - /// SRAM2 write protection register + /// SRAM2 write protection register SWPR: mmio.Mmio(packed struct(u32) { - /// P0WP + /// P0WP PWP: u1, padding: u31, }), - /// SKR + /// SKR SKR: mmio.Mmio(packed struct(u32) { - /// SRAM2 write protection key for software erase + /// SRAM2 write protection key for software erase KEY: u8, padding: u24, }), - /// SRAM2 write protection register 2 + /// SRAM2 write protection register 2 SWPR2: mmio.Mmio(packed struct(u32) { - /// P32WP + /// P32WP PWP: u1, padding: u31, }), reserved256: [212]u8, - /// CPU1 interrupt mask register 1 + /// CPU1 interrupt mask register 1 IMR1: mmio.Mmio(packed struct(u32) { reserved13: u13, - /// Peripheral TIM1 interrupt mask to CPU1 + /// Peripheral TIM1 interrupt mask to CPU1 TIM1IM: u1, - /// Peripheral TIM16 interrupt mask to CPU1 + /// Peripheral TIM16 interrupt mask to CPU1 TIM16IM: u1, - /// Peripheral TIM17 interrupt mask to CPU1 + /// Peripheral TIM17 interrupt mask to CPU1 TIM17IM: u1, reserved21: u5, - /// Peripheral EXIT5 interrupt mask to CPU1 + /// Peripheral EXIT5 interrupt mask to CPU1 EXIT5IM: u1, - /// Peripheral EXIT6 interrupt mask to CPU1 + /// Peripheral EXIT6 interrupt mask to CPU1 EXIT6IM: u1, - /// Peripheral EXIT7 interrupt mask to CPU1 + /// Peripheral EXIT7 interrupt mask to CPU1 EXIT7IM: u1, - /// Peripheral EXIT8 interrupt mask to CPU1 + /// Peripheral EXIT8 interrupt mask to CPU1 EXIT8IM: u1, - /// Peripheral EXIT9 interrupt mask to CPU1 + /// Peripheral EXIT9 interrupt mask to CPU1 EXIT9IM: u1, - /// Peripheral EXIT10 interrupt mask to CPU1 + /// Peripheral EXIT10 interrupt mask to CPU1 EXIT10IM: u1, - /// Peripheral EXIT11 interrupt mask to CPU1 + /// Peripheral EXIT11 interrupt mask to CPU1 EXIT11IM: u1, - /// Peripheral EXIT12 interrupt mask to CPU1 + /// Peripheral EXIT12 interrupt mask to CPU1 EXIT12IM: u1, - /// Peripheral EXIT13 interrupt mask to CPU1 + /// Peripheral EXIT13 interrupt mask to CPU1 EXIT13IM: u1, - /// Peripheral EXIT14 interrupt mask to CPU1 + /// Peripheral EXIT14 interrupt mask to CPU1 EXIT14IM: u1, - /// Peripheral EXIT15 interrupt mask to CPU1 + /// Peripheral EXIT15 interrupt mask to CPU1 EXIT15IM: u1, }), - /// CPU1 interrupt mask register 2 + /// CPU1 interrupt mask register 2 IMR2: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// Peripheral PVM1 interrupt mask to CPU1 + /// Peripheral PVM1 interrupt mask to CPU1 PVM1IM: u1, reserved18: u1, - /// Peripheral PVM3 interrupt mask to CPU1 + /// Peripheral PVM3 interrupt mask to CPU1 PVM3IM: u1, reserved20: u1, - /// Peripheral PVD interrupt mask to CPU1 + /// Peripheral PVD interrupt mask to CPU1 PVDIM: u1, padding: u11, }), - /// CPU2 interrupt mask register 1 + /// CPU2 interrupt mask register 1 C2IMR1: mmio.Mmio(packed struct(u32) { - /// Peripheral RTCSTAMP interrupt mask to CPU2 + /// Peripheral RTCSTAMP interrupt mask to CPU2 RTCSTAMP: u1, reserved3: u2, - /// Peripheral RTCWKUP interrupt mask to CPU2 + /// Peripheral RTCWKUP interrupt mask to CPU2 RTCWKUP: u1, - /// Peripheral RTCALARM interrupt mask to CPU2 + /// Peripheral RTCALARM interrupt mask to CPU2 RTCALARM: u1, - /// Peripheral RCC interrupt mask to CPU2 + /// Peripheral RCC interrupt mask to CPU2 RCC: u1, - /// Peripheral FLASH interrupt mask to CPU2 + /// Peripheral FLASH interrupt mask to CPU2 FLASH: u1, reserved8: u1, - /// Peripheral PKA interrupt mask to CPU2 + /// Peripheral PKA interrupt mask to CPU2 PKA: u1, - /// Peripheral RNG interrupt mask to CPU2 + /// Peripheral RNG interrupt mask to CPU2 RNG: u1, - /// Peripheral AES1 interrupt mask to CPU2 + /// Peripheral AES1 interrupt mask to CPU2 AES1: u1, - /// Peripheral COMP interrupt mask to CPU2 + /// Peripheral COMP interrupt mask to CPU2 COMP: u1, - /// Peripheral ADC interrupt mask to CPU2 + /// Peripheral ADC interrupt mask to CPU2 ADC: u1, padding: u19, }), - /// CPU2 interrupt mask register 1 + /// CPU2 interrupt mask register 1 C2IMR2: mmio.Mmio(packed struct(u32) { - /// Peripheral DMA1 CH1 interrupt mask to CPU2 + /// Peripheral DMA1 CH1 interrupt mask to CPU2 DMA1_CH1_IM: u1, - /// Peripheral DMA1 CH2 interrupt mask to CPU2 + /// Peripheral DMA1 CH2 interrupt mask to CPU2 DMA1_CH2_IM: u1, - /// Peripheral DMA1 CH3 interrupt mask to CPU2 + /// Peripheral DMA1 CH3 interrupt mask to CPU2 DMA1_CH3_IM: u1, - /// Peripheral DMA1 CH4 interrupt mask to CPU2 + /// Peripheral DMA1 CH4 interrupt mask to CPU2 DMA1_CH4_IM: u1, - /// Peripheral DMA1 CH5 interrupt mask to CPU2 + /// Peripheral DMA1 CH5 interrupt mask to CPU2 DMA1_CH5_IM: u1, - /// Peripheral DMA1 CH6 interrupt mask to CPU2 + /// Peripheral DMA1 CH6 interrupt mask to CPU2 DMA1_CH6_IM: u1, - /// Peripheral DMA1 CH7 interrupt mask to CPU2 + /// Peripheral DMA1 CH7 interrupt mask to CPU2 DMA1_CH7_IM: u1, reserved8: u1, - /// Peripheral DMA2 CH1 interrupt mask to CPU1 + /// Peripheral DMA2 CH1 interrupt mask to CPU1 DMA2_CH1_IM: u1, - /// Peripheral DMA2 CH2 interrupt mask to CPU1 + /// Peripheral DMA2 CH2 interrupt mask to CPU1 DMA2_CH2_IM: u1, - /// Peripheral DMA2 CH3 interrupt mask to CPU1 + /// Peripheral DMA2 CH3 interrupt mask to CPU1 DMA2_CH3_IM: u1, - /// Peripheral DMA2 CH4 interrupt mask to CPU1 + /// Peripheral DMA2 CH4 interrupt mask to CPU1 DMA2_CH4_IM: u1, - /// Peripheral DMA2 CH5 interrupt mask to CPU1 + /// Peripheral DMA2 CH5 interrupt mask to CPU1 DMA2_CH5_IM: u1, - /// Peripheral DMA2 CH6 interrupt mask to CPU1 + /// Peripheral DMA2 CH6 interrupt mask to CPU1 DMA2_CH6_IM: u1, - /// Peripheral DMA2 CH7 interrupt mask to CPU1 + /// Peripheral DMA2 CH7 interrupt mask to CPU1 DMA2_CH7_IM: u1, - /// Peripheral DMAM UX1 interrupt mask to CPU1 + /// Peripheral DMAM UX1 interrupt mask to CPU1 DMAM_UX1_IM: u1, - /// Peripheral PVM1IM interrupt mask to CPU1 + /// Peripheral PVM1IM interrupt mask to CPU1 PVM1IM: u1, reserved18: u1, - /// Peripheral PVM3IM interrupt mask to CPU1 + /// Peripheral PVM3IM interrupt mask to CPU1 PVM3IM: u1, reserved20: u1, - /// Peripheral PVDIM interrupt mask to CPU1 + /// Peripheral PVDIM interrupt mask to CPU1 PVDIM: u1, - /// Peripheral TSCIM interrupt mask to CPU1 + /// Peripheral TSCIM interrupt mask to CPU1 TSCIM: u1, - /// Peripheral LCDIM interrupt mask to CPU1 + /// Peripheral LCDIM interrupt mask to CPU1 LCDIM: u1, padding: u9, }), - /// secure IP control register + /// secure IP control register SIPCR: mmio.Mmio(packed struct(u32) { - /// Enable AES1 KEY[7:0] security. + /// Enable AES1 KEY[7:0] security. SAES: u1, reserved2: u1, - /// Enable PKA security + /// Enable PKA security SPKA: u1, - /// Enable True RNG security + /// Enable True RNG security SRNG: u1, padding: u28, }), @@ -432142,113 +421816,113 @@ pub const types = struct { }; pub const syscfg_wba = struct { - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// secure configuration register + /// secure configuration register SECCFGR: mmio.Mmio(packed struct(u32) { - /// clock control, memory erase status and compensation cell registers security + /// clock control, memory erase status and compensation cell registers security SYSCFGSEC: u1, - /// Class B security + /// Class B security CLASSBSEC: u1, reserved3: u1, - /// FPU security + /// FPU security FPUSEC: u1, padding: u28, }), - /// configuration register 1 + /// configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// I/O analog switch voltage booster enable Access can be protected by GTZC_TZSC ADC4SEC. Note: Refer to Table�121 for setting. + /// I/O analog switch voltage booster enable Access can be protected by GTZC_TZSC ADC4SEC. Note: Refer to Table�121 for setting. BOOSTEN: u1, - /// GPIO analog switch control voltage selection Access can be protected by GTZC_TZSC ADC4SEC. Note: Refer to Table�121 for setting. + /// GPIO analog switch control voltage selection Access can be protected by GTZC_TZSC ADC4SEC. Note: Refer to Table�121 for setting. ANASWVDD: u1, reserved16: u6, - /// Fast-mode Plus drive capability activation on PA6 This bit can be read and written only with secure access if PA6 is secure in GPIOA. This bit enables the Fast-mode Plus drive mode for PA6 when PA6 is not used by I2C peripheral. This can be used to dive a LED for instance. Access can be protected by GPIOA SEC6. + /// Fast-mode Plus drive capability activation on PA6 This bit can be read and written only with secure access if PA6 is secure in GPIOA. This bit enables the Fast-mode Plus drive mode for PA6 when PA6 is not used by I2C peripheral. This can be used to dive a LED for instance. Access can be protected by GPIOA SEC6. PA6_FMP: u1, - /// Fast-mode Plus drive capability activation on PA7 This bit can be read and written only with secure access if PA7 is secure in GPIOA. This bit enables the Fast-mode Plus drive mode for PA7 when PA7 is not used by I2C peripheral. This can be used to dive a LED for instance. Access can be protected by GPIOA SEC7. + /// Fast-mode Plus drive capability activation on PA7 This bit can be read and written only with secure access if PA7 is secure in GPIOA. This bit enables the Fast-mode Plus drive mode for PA7 when PA7 is not used by I2C peripheral. This can be used to dive a LED for instance. Access can be protected by GPIOA SEC7. PA7_FMP: u1, - /// Fast-mode Plus drive capability activation on PA15 This bit can be read and written only with secure access if PA15 is secure in GPIOA. This bit enables the Fast-mode Plus drive mode for PA15 when PA15 is not used by I2C peripheral. This can be used to dive a LED for instance. Access can be protected by GPIOA SEC15. + /// Fast-mode Plus drive capability activation on PA15 This bit can be read and written only with secure access if PA15 is secure in GPIOA. This bit enables the Fast-mode Plus drive mode for PA15 when PA15 is not used by I2C peripheral. This can be used to dive a LED for instance. Access can be protected by GPIOA SEC15. PA15_FMP: u1, - /// Fast-mode Plus drive capability activation on PB3 This bit can be read and written only with secure access if PB3 is secure in GPIOB. This bit enables the Fast-mode Plus drive mode for PB3 when PB3 is not used by I2C peripheral. This can be used to dive a LED for instance. Access can be protected by GPIOB SEC3. + /// Fast-mode Plus drive capability activation on PB3 This bit can be read and written only with secure access if PB3 is secure in GPIOB. This bit enables the Fast-mode Plus drive mode for PB3 when PB3 is not used by I2C peripheral. This can be used to dive a LED for instance. Access can be protected by GPIOB SEC3. PB3_FMP: u1, padding: u12, }), - /// FPU interrupt mask register + /// FPU interrupt mask register FPUIMR: mmio.Mmio(packed struct(u32) { - /// Floating point unit interrupts enable bits FPU_IE[5]: Inexact interrupt enable (interrupt disable at reset) FPU_IE[4]: Input abnormal interrupt enable FPU_IE[3]: Overflow interrupt enable FPU_IE[2]: Underflow interrupt enable FPU_IE[1]: Divide-by-zero interrupt enable FPU_IE[0]: Invalid operation Interrupt enable + /// Floating point unit interrupts enable bits FPU_IE[5]: Inexact interrupt enable (interrupt disable at reset) FPU_IE[4]: Input abnormal interrupt enable FPU_IE[3]: Overflow interrupt enable FPU_IE[2]: Underflow interrupt enable FPU_IE[1]: Divide-by-zero interrupt enable FPU_IE[0]: Invalid operation Interrupt enable FPU_IE: u6, padding: u26, }), - /// CPU non-secure lock register + /// CPU non-secure lock register CNSLCKR: mmio.Mmio(packed struct(u32) { - /// VTOR_NS register lock This bit is set by software and cleared only by a system reset. + /// VTOR_NS register lock This bit is set by software and cleared only by a system reset. LOCKNSVTOR: u1, - /// Non-secure MPU registers lock This bit is set by software and cleared only by a system reset. When set, this bit disables write access to non-secure MPU_CTRL_NS, MPU_RNR_NS and MPU_RBAR_NS registers. + /// Non-secure MPU registers lock This bit is set by software and cleared only by a system reset. When set, this bit disables write access to non-secure MPU_CTRL_NS, MPU_RNR_NS and MPU_RBAR_NS registers. LOCKNSMPU: u1, padding: u30, }), - /// CPU secure lock register + /// CPU secure lock register CSLOCKR: mmio.Mmio(packed struct(u32) { - /// VTOR_S register and AIRCR register bits lock This bit is set by software and cleared only by a system reset. When set, it disables write access to VTOR_S register, PRIS and BFHFNMINS bits in the AIRCR register. + /// VTOR_S register and AIRCR register bits lock This bit is set by software and cleared only by a system reset. When set, it disables write access to VTOR_S register, PRIS and BFHFNMINS bits in the AIRCR register. LOCKSVTAIRCR: u1, - /// Secure MPU registers lock This bit is set by software and cleared only by a system reset. When set, it disables write access to secure MPU_CTRL, MPU_RNR and MPU_RBAR registers. + /// Secure MPU registers lock This bit is set by software and cleared only by a system reset. When set, it disables write access to secure MPU_CTRL, MPU_RNR and MPU_RBAR registers. LOCKSMPU: u1, - /// SAU registers lock This bit is set by software and cleared only by a system reset. When set, it disables write access to SAU_CTRL, SAU_RNR, SAU_RBAR and SAU_RLAR registers. + /// SAU registers lock This bit is set by software and cleared only by a system reset. When set, it disables write access to SAU_CTRL, SAU_RNR, SAU_RBAR and SAU_RLAR registers. LOCKSAU: u1, padding: u29, }), - /// configuration register 2 + /// configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// Cortex-M33 LOCKUP (hardfault) output enable This bit is set by software and cleared only by a system reset. It can be used to enable and lock the connection of Cortex-M33 LOCKUP (hardfault) output to TIM1/16/17 break input. + /// Cortex-M33 LOCKUP (hardfault) output enable This bit is set by software and cleared only by a system reset. It can be used to enable and lock the connection of Cortex-M33 LOCKUP (hardfault) output to TIM1/16/17 break input. CLL: u1, - /// SRAM2 parity lock bit This bit is set by software and cleared only by a system reset. It can be used to enable and lock the SRAM2 parity error signal connection to TIM1/16/17 break inputs. + /// SRAM2 parity lock bit This bit is set by software and cleared only by a system reset. It can be used to enable and lock the SRAM2 parity error signal connection to TIM1/16/17 break inputs. SPL: u1, - /// PVD lock enable bit This bit is set by software and cleared only by a system reset. It can be used to enable and lock the PVD connection to TIM1/16/17 break input, as well as the PVDE and PVDLS[2:0] in the PWR register. + /// PVD lock enable bit This bit is set by software and cleared only by a system reset. It can be used to enable and lock the PVD connection to TIM1/16/17 break input, as well as the PVDE and PVDLS[2:0] in the PWR register. PVDL: u1, - /// ECC lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the Flash ECC double error signal connection to TIM1/16/17 break input. + /// ECC lock This bit is set by software and cleared only by a system reset. It can be used to enable and lock the Flash ECC double error signal connection to TIM1/16/17 break input. ECCL: u1, padding: u28, }), - /// memory erase status register + /// memory erase status register MESR: mmio.Mmio(packed struct(u32) { - /// Device memories erase status This bit is set by hardware when SRAM2, ICACHE, PKA SRAM erase is completed after power-on reset or tamper detection (refer to Section�75: Tamper and backup registers (TAMP) for more details). This bit is not reset by system reset and is cleared by software by writing 1 to it. + /// Device memories erase status This bit is set by hardware when SRAM2, ICACHE, PKA SRAM erase is completed after power-on reset or tamper detection (refer to Section�75: Tamper and backup registers (TAMP) for more details). This bit is not reset by system reset and is cleared by software by writing 1 to it. MCLR: u1, reserved16: u15, - /// ICACHE and PKA SRAM erase status This bit is set by hardware when ICACHE and PKA SRAM erase is completed after potential tamper detection (refer to Section�75: Tamper and backup registers (TAMP) for more details). This bit is cleared by software by writing 1 to it. + /// ICACHE and PKA SRAM erase status This bit is set by hardware when ICACHE and PKA SRAM erase is completed after potential tamper detection (refer to Section�75: Tamper and backup registers (TAMP) for more details). This bit is cleared by software by writing 1 to it. IPMEE: u1, padding: u15, }), - /// compensation cell control/status register + /// compensation cell control/status register CCCSR: mmio.Mmio(packed struct(u32) { - /// VDD I/Os compensation cell enable This bit enables the compensation cell of the I/Os supplied by VDD. + /// VDD I/Os compensation cell enable This bit enables the compensation cell of the I/Os supplied by VDD. EN1: u1, - /// VDD I/Os code selection This bit selects the code to be applied for the compensation cell of the I/Os supplied by VDD. + /// VDD I/Os code selection This bit selects the code to be applied for the compensation cell of the I/Os supplied by VDD. CS1: u1, reserved8: u6, - /// VDD I/Os compensation cell ready flag This bit provides the compensation cell status of the I/Os supplied by VDD. Note: The HSI clock is required for the compensation cell to work properly. The compensation cell ready bit (RDY1) is not set if the HSI clock is not enabled (HSION). + /// VDD I/Os compensation cell ready flag This bit provides the compensation cell status of the I/Os supplied by VDD. Note: The HSI clock is required for the compensation cell to work properly. The compensation cell ready bit (RDY1) is not set if the HSI clock is not enabled (HSION). RDY1: u1, padding: u23, }), - /// compensation cell value register + /// compensation cell value register CCVR: mmio.Mmio(packed struct(u32) { - /// NMOS compensation value of the I/Os supplied by VDD This value is provided by the cell and can be used by the CPU to compute an I/Os compensation cell code for NMOS transistors. This code is applied to the I/Os compensation cell when the CS1 bit of the CCCSR is reset. + /// NMOS compensation value of the I/Os supplied by VDD This value is provided by the cell and can be used by the CPU to compute an I/Os compensation cell code for NMOS transistors. This code is applied to the I/Os compensation cell when the CS1 bit of the CCCSR is reset. NCV1: u4, - /// PMOS compensation value of the I/Os supplied by VDD This value is provided by the cell and can be used by the CPU to compute an I/Os compensation cell code for PMOS transistors. This code is applied to the I/Os compensation cell when the CS1 bit of the CCCSR is reset. + /// PMOS compensation value of the I/Os supplied by VDD This value is provided by the cell and can be used by the CPU to compute an I/Os compensation cell code for PMOS transistors. This code is applied to the I/Os compensation cell when the CS1 bit of the CCCSR is reset. PCV1: u4, padding: u24, }), - /// compensation cell code register + /// compensation cell code register CCCR: mmio.Mmio(packed struct(u32) { - /// NMOS compensation code of the I/Os supplied by VDD These bits are written by software to define an I/Os compensation cell code for NMOS transistors. This code is applied to the I/Os compensation cell when the CS1 bit of the CCCSR is set. + /// NMOS compensation code of the I/Os supplied by VDD These bits are written by software to define an I/Os compensation cell code for NMOS transistors. This code is applied to the I/Os compensation cell when the CS1 bit of the CCCSR is set. NCC1: u4, - /// PMOS compensation code of the I/Os supplied by VDD These bits are written by software to define an I/Os compensation cell code for PMOS transistors. This code is applied to the I/Os compensation cell when the CS1 bit of the CCCSR is set. + /// PMOS compensation code of the I/Os supplied by VDD These bits are written by software to define an I/Os compensation cell code for PMOS transistors. This code is applied to the I/Os compensation cell when the CS1 bit of the CCCSR is set. PCC1: u4, padding: u24, }), reserved44: [4]u8, - /// RSS command register + /// RSS command register RSSCMDR: mmio.Mmio(packed struct(u32) { - /// RSS commands This field defines a command to be executed by the RSS. + /// RSS commands This field defines a command to be executed by the RSS. RSSCMD: u16, padding: u16, }), @@ -432256,228 +421930,228 @@ pub const types = struct { }; pub const syscfg_wl5 = struct { - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// memory remap register + /// memory remap register MEMRMP: mmio.Mmio(packed struct(u32) { - /// Memory mapping selection + /// Memory mapping selection MEM_MODE: u3, padding: u29, }), - /// configuration register 1 + /// configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// I/O analog switch voltage booster enable + /// I/O analog switch voltage booster enable BOOSTEN: u1, reserved16: u7, - /// Fast-mode Plus (Fm+) driving capability activation on PB6 + /// Fast-mode Plus (Fm+) driving capability activation on PB6 I2C_PB6_FMP: u1, - /// Fast-mode Plus (Fm+) driving capability activation on PB7 + /// Fast-mode Plus (Fm+) driving capability activation on PB7 I2C_PB7_FMP: u1, - /// Fast-mode Plus (Fm+) driving capability activation on PB8 + /// Fast-mode Plus (Fm+) driving capability activation on PB8 I2C_PB8_FMP: u1, - /// Fast-mode Plus (Fm+) driving capability activation on PB9 + /// Fast-mode Plus (Fm+) driving capability activation on PB9 I2C_PB9_FMP: u1, - /// I2C1 Fast-mode Plus driving capability activation + /// I2C1 Fast-mode Plus driving capability activation I2C1_FMP: u1, - /// I2C2 Fast-mode Plus driving capability activation + /// I2C2 Fast-mode Plus driving capability activation I2C2_FMP: u1, - /// I2C3 Fast-mode Plus driving capability activation + /// I2C3 Fast-mode Plus driving capability activation I2C3_FMP: u1, padding: u9, }), - /// external interrupt configuration register 1 + /// external interrupt configuration register 1 EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI12 configuration bits + /// EXTI12 configuration bits EXTI: u3, padding: u29, }), - /// SCSR + /// SCSR SCSR: mmio.Mmio(packed struct(u32) { - /// SRAM2 erase + /// SRAM2 erase SRAM2ER: u1, - /// SRAM1, SRAM2 and PKA SRAM busy by erase operation + /// SRAM1, SRAM2 and PKA SRAM busy by erase operation SRAMBSY: u1, reserved8: u6, - /// PKA SRAM busy by erase operation + /// PKA SRAM busy by erase operation PKASRAMBSY: u1, padding: u23, }), - /// CFGR2 + /// CFGR2 CFGR2: mmio.Mmio(packed struct(u32) { - /// CPU1 LOCKUP (Hardfault) output enable bit + /// CPU1 LOCKUP (Hardfault) output enable bit CLL: u1, - /// SRAM2 parity lock bit + /// SRAM2 parity lock bit SPL: u1, - /// PVD lock enable bit + /// PVD lock enable bit PVDL: u1, - /// ECC Lock + /// ECC Lock ECCL: u1, reserved8: u4, - /// SRAM2 parity error flag + /// SRAM2 parity error flag SPF: u1, padding: u23, }), - /// SWPR + /// SWPR SWPR: mmio.Mmio(packed struct(u32) { - /// SRAM2 1Kbyte page 0 write protection + /// SRAM2 1Kbyte page 0 write protection PWP: u1, padding: u31, }), - /// SKR + /// SKR SKR: mmio.Mmio(packed struct(u32) { - /// SRAM2 write protection key for software erase + /// SRAM2 write protection key for software erase KEY: u8, padding: u24, }), reserved256: [216]u8, - /// SYSCFG CPU1 interrupt mask register 1 + /// SYSCFG CPU1 interrupt mask register 1 IMR1: mmio.Mmio(packed struct(u32) { - /// RTCSTAMPTAMPLSECSSIM + /// RTCSTAMPTAMPLSECSSIM RTCSTAMPTAMPLSECSSIM: u1, reserved2: u1, - /// RTCSSRUIM + /// RTCSSRUIM RTCSSRUIM: u1, reserved21: u18, - /// EXTI5IM + /// EXTI5IM EXTI5IM: u1, - /// EXTI6IM + /// EXTI6IM EXTI6IM: u1, - /// EXTI7IM + /// EXTI7IM EXTI7IM: u1, - /// EXTI8IM + /// EXTI8IM EXTI8IM: u1, - /// EXTI9IM + /// EXTI9IM EXTI9IM: u1, - /// EXTI10IM + /// EXTI10IM EXTI10IM: u1, - /// EXTI11IM + /// EXTI11IM EXTI11IM: u1, - /// EXTI12IM + /// EXTI12IM EXTI12IM: u1, - /// EXTI13IM + /// EXTI13IM EXTI13IM: u1, - /// EXTI14IM + /// EXTI14IM EXTI14IM: u1, - /// EXTI15IM + /// EXTI15IM EXTI15IM: u1, }), - /// SYSCFG CPU1 interrupt mask register 2 + /// SYSCFG CPU1 interrupt mask register 2 IMR2: mmio.Mmio(packed struct(u32) { reserved18: u18, - /// PVM3IM + /// PVM3IM PVM3IM: u1, reserved20: u1, - /// PVDIM + /// PVDIM PVDIM: u1, padding: u11, }), - /// SYSCFG CPU2 interrupt mask register 1 + /// SYSCFG CPU2 interrupt mask register 1 C2IMR1: mmio.Mmio(packed struct(u32) { - /// RTCSTAMPTAMPLSECSSIM + /// RTCSTAMPTAMPLSECSSIM RTCSTAMPTAMPLSECSSIM: u1, - /// RTCALARMIM + /// RTCALARMIM RTCALARMIM: u1, - /// RTCSSRUIM + /// RTCSSRUIM RTCSSRUIM: u1, - /// RTCWKUPIM + /// RTCWKUPIM RTCWKUPIM: u1, reserved5: u1, - /// RCCIM + /// RCCIM RCCIM: u1, - /// FLASHIM + /// FLASHIM FLASHIM: u1, reserved8: u1, - /// PKAIM + /// PKAIM PKAIM: u1, reserved10: u1, - /// AESIM + /// AESIM AESIM: u1, - /// COMPIM + /// COMPIM COMPIM: u1, - /// ADCIM + /// ADCIM ADCIM: u1, - /// DACIM + /// DACIM DACIM: u1, reserved16: u2, - /// EXTI0IM + /// EXTI0IM EXTI0IM: u1, - /// EXTI1IM + /// EXTI1IM EXTI1IM: u1, - /// EXTI2IM + /// EXTI2IM EXTI2IM: u1, - /// EXTI3IM + /// EXTI3IM EXTI3IM: u1, - /// EXTI4IM + /// EXTI4IM EXTI4IM: u1, - /// EXTI5IM + /// EXTI5IM EXTI5IM: u1, - /// EXTI6IM + /// EXTI6IM EXTI6IM: u1, - /// EXTI7IM + /// EXTI7IM EXTI7IM: u1, - /// EXTI8IM + /// EXTI8IM EXTI8IM: u1, - /// EXTI9IM + /// EXTI9IM EXTI9IM: u1, - /// EXTI10IM + /// EXTI10IM EXTI10IM: u1, - /// EXTI11IM + /// EXTI11IM EXTI11IM: u1, - /// EXTI12IM + /// EXTI12IM EXTI12IM: u1, - /// EXTI13IM + /// EXTI13IM EXTI13IM: u1, - /// EXTI14IM + /// EXTI14IM EXTI14IM: u1, - /// EXTI15IM + /// EXTI15IM EXTI15IM: u1, }), - /// SYSCFG CPU2 interrupt mask register 2 + /// SYSCFG CPU2 interrupt mask register 2 C2IMR2: mmio.Mmio(packed struct(u32) { - /// DMA1CH1IM + /// DMA1CH1IM DMA1CH1IM: u1, - /// DMA1CH2IM + /// DMA1CH2IM DMA1CH2IM: u1, - /// DMA1CH3IM + /// DMA1CH3IM DMA1CH3IM: u1, - /// DMA1CH4IM + /// DMA1CH4IM DMA1CH4IM: u1, - /// DMA1CH5IM + /// DMA1CH5IM DMA1CH5IM: u1, - /// DMA1CH6IM + /// DMA1CH6IM DMA1CH6IM: u1, - /// DMA1CH7IM + /// DMA1CH7IM DMA1CH7IM: u1, reserved8: u1, - /// DMA2CH1IM + /// DMA2CH1IM DMA2CH1IM: u1, - /// DMA2CH2IM + /// DMA2CH2IM DMA2CH2IM: u1, - /// DMA2CH3IM + /// DMA2CH3IM DMA2CH3IM: u1, - /// DMA2CH4IM + /// DMA2CH4IM DMA2CH4IM: u1, - /// DMA2CH5IM + /// DMA2CH5IM DMA2CH5IM: u1, - /// DMA2CH6IM + /// DMA2CH6IM DMA2CH6IM: u1, - /// DMA2CH7IM + /// DMA2CH7IM DMA2CH7IM: u1, - /// DMAMUX1IM + /// DMAMUX1IM DMAMUX1IM: u1, reserved18: u2, - /// PVM3IM + /// PVM3IM PVM3IM: u1, reserved20: u1, - /// PVDIM + /// PVDIM PVDIM: u1, padding: u11, }), reserved520: [248]u8, - /// radio debug control register + /// radio debug control register RFDCR: mmio.Mmio(packed struct(u32) { - /// radio debug test bus selection + /// radio debug test bus selection RFTBSEL: u1, padding: u31, }), @@ -432485,84 +422159,84 @@ pub const types = struct { }; pub const syscfg_wle = struct { - /// System configuration controller + /// System configuration controller pub const SYSCFG = extern struct { - /// memory remap register + /// memory remap register MEMRMP: mmio.Mmio(packed struct(u32) { - /// Memory mapping selection + /// Memory mapping selection MEM_MODE: u3, padding: u29, }), - /// configuration register 1 + /// configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// I/O analog switch voltage booster enable + /// I/O analog switch voltage booster enable BOOSTEN: u1, reserved16: u7, - /// Fast-mode Plus (Fm+) driving capability activation on PB6 + /// Fast-mode Plus (Fm+) driving capability activation on PB6 I2C_PB6_FMP: u1, - /// Fast-mode Plus (Fm+) driving capability activation on PB7 + /// Fast-mode Plus (Fm+) driving capability activation on PB7 I2C_PB7_FMP: u1, - /// Fast-mode Plus (Fm+) driving capability activation on PB8 + /// Fast-mode Plus (Fm+) driving capability activation on PB8 I2C_PB8_FMP: u1, - /// Fast-mode Plus (Fm+) driving capability activation on PB9 + /// Fast-mode Plus (Fm+) driving capability activation on PB9 I2C_PB9_FMP: u1, - /// I2C1 Fast-mode Plus driving capability activation + /// I2C1 Fast-mode Plus driving capability activation I2C1_FMP: u1, - /// I2C2 Fast-mode Plus driving capability activation + /// I2C2 Fast-mode Plus driving capability activation I2C2_FMP: u1, - /// I2C3 Fast-mode Plus driving capability activation + /// I2C3 Fast-mode Plus driving capability activation I2C3_FMP: u1, padding: u9, }), - /// external interrupt configuration register 1 + /// external interrupt configuration register 1 EXTICR: [4]mmio.Mmio(packed struct(u32) { - /// EXTI12 configuration bits + /// EXTI12 configuration bits EXTI: u3, padding: u29, }), - /// SCSR + /// SCSR SCSR: mmio.Mmio(packed struct(u32) { - /// SRAM2 erase + /// SRAM2 erase SRAM2ER: u1, - /// SRAM1, SRAM2 and PKA SRAM busy by erase operation + /// SRAM1, SRAM2 and PKA SRAM busy by erase operation SRAMBSY: u1, reserved8: u6, - /// PKA SRAM busy by erase operation + /// PKA SRAM busy by erase operation PKASRAMBSY: u1, padding: u23, }), - /// CFGR2 + /// CFGR2 CFGR2: mmio.Mmio(packed struct(u32) { - /// CPU1 LOCKUP (Hardfault) output enable bit + /// CPU1 LOCKUP (Hardfault) output enable bit CLL: u1, - /// SRAM2 parity lock bit + /// SRAM2 parity lock bit SPL: u1, - /// PVD lock enable bit + /// PVD lock enable bit PVDL: u1, - /// ECC Lock + /// ECC Lock ECCL: u1, reserved8: u4, - /// SRAM2 parity error flag + /// SRAM2 parity error flag SPF: u1, padding: u23, }), - /// SWPR + /// SWPR SWPR: mmio.Mmio(packed struct(u32) { - /// SRAM2 1Kbyte page 0 write protection + /// SRAM2 1Kbyte page 0 write protection PWP: u1, padding: u31, }), - /// SKR + /// SKR SKR: mmio.Mmio(packed struct(u32) { - /// SRAM2 write protection key for software erase + /// SRAM2 write protection key for software erase KEY: u8, padding: u24, }), reserved520: [480]u8, - /// radio debug control register + /// radio debug control register RFDCR: mmio.Mmio(packed struct(u32) { - /// radio debug test bus selection + /// radio debug test bus selection RFTBSEL: u1, padding: u31, }), @@ -432570,757 +422244,757 @@ pub const types = struct { }; pub const tamp_g0 = struct { - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Tamper detection on IN X enable + /// Tamper detection on IN X enable TAMPE: u1, reserved16: u15, - /// Internal tamper X enable + /// Internal tamper X enable ITAMPE: u1, padding: u15, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Tamper X no erase + /// Tamper X no erase TAMPNOER: u1, reserved16: u15, - /// Tamper X mask + /// Tamper X mask TAMPMSK: u1, reserved24: u7, - /// Active level for tamper X input + /// Active level for tamper X input TAMPTRG: u1, padding: u7, }), reserved12: [4]u8, - /// TAMP filter control register + /// TAMP filter control register FLTCR: mmio.Mmio(packed struct(u32) { - /// Tamper sampling frequency. Determines the frequency at which each of the INx inputs are sampled. + /// Tamper sampling frequency. Determines the frequency at which each of the INx inputs are sampled. TAMPFREQ: u3, - /// INx filter count. These bits determines the number of consecutive samples at the specified level (TAMP*TRG) needed to activate a tamper event. TAMPFLT is valid for each of the INx inputs. + /// INx filter count. These bits determines the number of consecutive samples at the specified level (TAMP*TRG) needed to activate a tamper event. TAMPFLT is valid for each of the INx inputs. TAMPFLT: u2, - /// INx precharge duration. These bit determines the duration of time during which the pull-up/is activated before each sample. TAMPPRCH is valid for each of the INx inputs. + /// INx precharge duration. These bit determines the duration of time during which the pull-up/is activated before each sample. TAMPPRCH is valid for each of the INx inputs. TAMPPRCH: u2, - /// INx pull-up disable. This bit determines if each of the TAMPx pins are precharged before each sample. + /// INx pull-up disable. This bit determines if each of the TAMPx pins are precharged before each sample. TAMPPUDIS: u1, padding: u24, }), reserved44: [28]u8, - /// TAMP interrupt enable register + /// TAMP interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// Tamper X interrupt enable + /// Tamper X interrupt enable TAMPIE: u1, reserved16: u15, - /// Internal tamper X interrupt enable + /// Internal tamper X interrupt enable ITAMPIE: u1, padding: u15, }), - /// TAMP status register + /// TAMP status register SR: mmio.Mmio(packed struct(u32) { - /// Tamper X detection flag + /// Tamper X detection flag TAMPF: u1, reserved16: u15, - /// Internal tamper X detection flag + /// Internal tamper X detection flag ITAMPF: u1, padding: u15, }), - /// TAMP masked interrupt status register + /// TAMP masked interrupt status register MISR: mmio.Mmio(packed struct(u32) { - /// Tamper X interrupt masked flag + /// Tamper X interrupt masked flag TAMPMF: u1, reserved16: u15, - /// Internal tamper X interrupt masked flag + /// Internal tamper X interrupt masked flag ITAMPMF: u1, padding: u15, }), reserved60: [4]u8, - /// TAMP status clear register + /// TAMP status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear tamper X detection flag + /// Clear tamper X detection flag CTAMPF: u1, reserved16: u15, - /// Clear internal tamper X detection flag + /// Clear internal tamper X detection flag CITAMPF: u1, padding: u15, }), reserved256: [192]u8, - /// TAMP backup register + /// TAMP backup register BKPR: [5]mmio.Mmio(packed struct(u32) { - /// BKP + /// BKP BKP: u32, }), reserved1004: [728]u8, - /// TAMP hardware configuration register 2 + /// TAMP hardware configuration register 2 HWCFGR2: mmio.Mmio(packed struct(u32) { - /// PTIONREG_OUT + /// PTIONREG_OUT PTIONREG_OUT: u8, - /// TRUST_ZONE + /// TRUST_ZONE TRUST_ZONE: u4, padding: u20, }), - /// TAMP hardware configuration register 1 + /// TAMP hardware configuration register 1 HWCFGR1: mmio.Mmio(packed struct(u32) { - /// BACKUP_REGS + /// BACKUP_REGS BACKUP_REGS: u8, - /// TAMPER + /// TAMPER TAMPER: u4, - /// ACTIVE_TAMPER + /// ACTIVE_TAMPER ACTIVE_TAMPER: u4, - /// INT_TAMPER + /// INT_TAMPER INT_TAMPER: u16, }), - /// EXTI IP Version register + /// EXTI IP Version register VERR: mmio.Mmio(packed struct(u32) { - /// Minor Revision number + /// Minor Revision number MINREV: u4, - /// Major Revision number + /// Major Revision number MAJREV: u4, padding: u24, }), - /// EXTI Identification register + /// EXTI Identification register IPIDR: mmio.Mmio(packed struct(u32) { - /// IP Identification + /// IP Identification IPID: u32, }), - /// EXTI Size ID register + /// EXTI Size ID register SIDR: mmio.Mmio(packed struct(u32) { - /// Size Identification + /// Size Identification SID: u32, }), }; }; pub const tamp_g4 = struct { - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Tamper detection on IN X enable + /// Tamper detection on IN X enable TAMPE: u1, reserved16: u15, - /// Internal tamper X enable + /// Internal tamper X enable ITAMPE: u1, padding: u15, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Tamper X no erase + /// Tamper X no erase TAMPNOER: u1, reserved16: u15, - /// Tamper X mask. + /// Tamper X mask. TAMPMSK: u1, reserved24: u7, - /// Active level for tamper X input. + /// Active level for tamper X input. TAMPTRG: u1, padding: u7, }), reserved12: [4]u8, - /// TAMP filter control register + /// TAMP filter control register FLTCR: mmio.Mmio(packed struct(u32) { - /// Tamper sampling frequency. Determines the frequency at which each of the INx inputs are sampled. + /// Tamper sampling frequency. Determines the frequency at which each of the INx inputs are sampled. TAMPFREQ: u3, - /// INx filter count. These bits determines the number of consecutive samples at the specified level (TAMP*TRG) needed to activate a tamper event. TAMPFLT is valid for each of the INx inputs. + /// INx filter count. These bits determines the number of consecutive samples at the specified level (TAMP*TRG) needed to activate a tamper event. TAMPFLT is valid for each of the INx inputs. TAMPFLT: u2, - /// INx precharge duration. These bit determines the duration of time during which the pull-up/is activated before each sample. TAMPPRCH is valid for each of the INx inputs. + /// INx precharge duration. These bit determines the duration of time during which the pull-up/is activated before each sample. TAMPPRCH is valid for each of the INx inputs. TAMPPRCH: u2, - /// INx pull-up disable. This bit determines if each of the TAMPx pins are precharged before each sample. + /// INx pull-up disable. This bit determines if each of the TAMPx pins are precharged before each sample. TAMPPUDIS: u1, padding: u24, }), reserved44: [28]u8, - /// TAMP interrupt enable register + /// TAMP interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// Tamper X interrupt enable + /// Tamper X interrupt enable TAMPIE: u1, reserved16: u15, - /// Internal tamper X interrupt enable + /// Internal tamper X interrupt enable ITAMPIE: u1, padding: u15, }), - /// TAMP status register + /// TAMP status register SR: mmio.Mmio(packed struct(u32) { - /// Tamper X detection flag + /// Tamper X detection flag TAMPF: u1, reserved16: u15, - /// Internal tamper X detection flag + /// Internal tamper X detection flag ITAMPF: u1, padding: u15, }), - /// TAMP masked interrupt status register + /// TAMP masked interrupt status register MISR: mmio.Mmio(packed struct(u32) { - /// Tamper X interrupt masked flag + /// Tamper X interrupt masked flag TAMPMF: u1, reserved16: u15, - /// Internal tamper X interrupt masked flag + /// Internal tamper X interrupt masked flag ITAMPMF: u1, padding: u15, }), reserved60: [4]u8, - /// TAMP status clear register + /// TAMP status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear tamper X detection flag + /// Clear tamper X detection flag CTAMPF: u1, reserved16: u15, - /// Clear internal tamper X detection flag + /// Clear internal tamper X detection flag CITAMPF: u1, padding: u15, }), reserved256: [192]u8, - /// TAMP backup register + /// TAMP backup register BKPR: [32]mmio.Mmio(packed struct(u32) { - /// BKP + /// BKP BKP: u32, }), }; }; pub const tamp_h5 = struct { - /// Tamper and backup. + /// Tamper and backup. pub const TAMP = extern struct { - /// TAMP control register 1. + /// TAMP control register 1. CR1: mmio.Mmio(packed struct(u32) { - /// Tamper detection on TAMP_INx enable. (x=1-8) + /// Tamper detection on TAMP_INx enable. (x=1-8) TAMPE: u1, reserved16: u15, - /// Internal tamper 1 enable. + /// Internal tamper 1 enable. ITAMP1E: u1, - /// Internal tamper 2 enable. + /// Internal tamper 2 enable. ITAMP2E: u1, - /// Internal tamper 3 enable. + /// Internal tamper 3 enable. ITAMP3E: u1, - /// Internal tamper 4 enable. + /// Internal tamper 4 enable. ITAMP4E: u1, - /// Internal tamper 5 enable. + /// Internal tamper 5 enable. ITAMP5E: u1, - /// Internal tamper 6 enable. + /// Internal tamper 6 enable. ITAMP6E: u1, - /// Internal tamper 7 enable. + /// Internal tamper 7 enable. ITAMP7E: u1, - /// Internal tamper 8 enable. + /// Internal tamper 8 enable. ITAMP8E: u1, - /// Internal tamper 9 enable. + /// Internal tamper 9 enable. ITAMP9E: u1, reserved26: u1, - /// Internal tamper 11 enable. + /// Internal tamper 11 enable. ITAMP11E: u1, - /// Internal tamper 12 enable. + /// Internal tamper 12 enable. ITAMP12E: u1, - /// Internal tamper 13 enable. + /// Internal tamper 13 enable. ITAMP13E: u1, reserved30: u1, - /// Internal tamper 15 enable. + /// Internal tamper 15 enable. ITAMP15E: u1, padding: u1, }), - /// TAMP control register 2. + /// TAMP control register 2. CR2: mmio.Mmio(packed struct(u32) { - /// Tamper x potential mode. (x=1-8) + /// Tamper x potential mode. (x=1-8) TAMPPOM: u1, reserved16: u15, - /// Tamper x mask. The tamper x interrupt must not be enabled when TAMPxMSK is set. (x=1-3) + /// Tamper x mask. The tamper x interrupt must not be enabled when TAMPxMSK is set. (x=1-3) TAMPMSK: u1, reserved22: u5, - /// Backup registers and device secrets access blocked. + /// Backup registers and device secrets access blocked. BKBLOCK: u1, - /// Backup registers and device secrets erase Writing ‘1’ to this bit reset the backup registers and device secrets(1). Writing 0 has no effect. This bit is always read as 0. + /// Backup registers and device secrets erase Writing ‘1’ to this bit reset the backup registers and device secrets(1). Writing 0 has no effect. This bit is always read as 0. BKERASE: u1, - /// Active level for tamper x input If TAMPFLT = 00 Tamper x input rising edge triggers a tamper detection event. If TAMPFLT = 00 Tamper x input falling edge triggers a tamper detection event. (x=1-8) + /// Active level for tamper x input If TAMPFLT = 00 Tamper x input rising edge triggers a tamper detection event. If TAMPFLT = 00 Tamper x input falling edge triggers a tamper detection event. (x=1-8) TAMPTRG: u1, padding: u7, }), - /// TAMP control register 3. + /// TAMP control register 3. CR3: mmio.Mmio(packed struct(u32) { - /// Internal tamper 1 potential mode. + /// Internal tamper 1 potential mode. ITAMP1POM: u1, - /// Internal tamper 2 potential mode. + /// Internal tamper 2 potential mode. ITAMP2POM: u1, - /// Internal tamper 3 potential mode. + /// Internal tamper 3 potential mode. ITAMP3POM: u1, - /// Internal tamper 4 potential mode. + /// Internal tamper 4 potential mode. ITAMP4POM: u1, - /// Internal tamper 5 potential mode. + /// Internal tamper 5 potential mode. ITAMP5POM: u1, - /// Internal tamper 6 potential mode. + /// Internal tamper 6 potential mode. ITAMP6POM: u1, - /// Internal tamper 7 potential mode. + /// Internal tamper 7 potential mode. ITAMP7POM: u1, - /// Internal tamper 8 potential mode. + /// Internal tamper 8 potential mode. ITAMP8POM: u1, - /// Internal tamper 9 potential mode. + /// Internal tamper 9 potential mode. ITAMP9POM: u1, reserved10: u1, - /// Internal tamper 11 potential mode. + /// Internal tamper 11 potential mode. ITAMP11POM: u1, - /// Internal tamper 12 potential mode. + /// Internal tamper 12 potential mode. ITAMP12POM: u1, - /// Internal tamper 13 potential mode. + /// Internal tamper 13 potential mode. ITAMP13POM: u1, reserved14: u1, - /// Internal tamper 15 potential mode. + /// Internal tamper 15 potential mode. ITAMP15POM: u1, padding: u17, }), - /// TAMP filter control register. + /// TAMP filter control register. FLTCR: mmio.Mmio(packed struct(u32) { - /// Tamper sampling frequency Determines the frequency at which each of the TAMP_INx inputs are sampled. + /// Tamper sampling frequency Determines the frequency at which each of the TAMP_INx inputs are sampled. TAMPFREQ: u3, - /// TAMP_INx filter count These bits determines the number of consecutive samples at the specified level (TAMP*TRG) needed to activate a tamper event. TAMPFLT is valid for each of the TAMP_INx inputs. + /// TAMP_INx filter count These bits determines the number of consecutive samples at the specified level (TAMP*TRG) needed to activate a tamper event. TAMPFLT is valid for each of the TAMP_INx inputs. TAMPFLT: u2, - /// TAMP_INx precharge duration These bit determines the duration of time during which the pull-up/is activated before each sample. TAMPPRCH is valid for each of the TAMP_INx inputs. + /// TAMP_INx precharge duration These bit determines the duration of time during which the pull-up/is activated before each sample. TAMPPRCH is valid for each of the TAMP_INx inputs. TAMPPRCH: u2, - /// TAMP_INx pull-up disable This bit determines if each of the TAMPx pins are precharged before each sample. + /// TAMP_INx pull-up disable This bit determines if each of the TAMPx pins are precharged before each sample. TAMPPUDIS: u1, padding: u24, }), - /// TAMP active tamper control register 1. + /// TAMP active tamper control register 1. ATCR1: mmio.Mmio(packed struct(u32) { - /// Tamper x active mode. (x=1-8) + /// Tamper x active mode. (x=1-8) TAMPAM: u1, reserved8: u7, - /// Active tamper shared output x selection The selected output must be available in the package pinout. (x=1-4) + /// Active tamper shared output x selection The selected output must be available in the package pinout. (x=1-4) ATOSEL: u2, reserved16: u6, - /// Active tamper RTC asynchronous prescaler clock selection These bits selects the RTC asynchronous prescaler stage output.The selected clock is CK_ATPRE. fCK_ATPRE = fRTCCLK / 2ATCKSEL when (PREDIV_A+1) = 128. ... These bits can be written only when all active tampers are disabled. The write protection remains for up to 1.5 ck_atpre cycles after all the active tampers are disable. + /// Active tamper RTC asynchronous prescaler clock selection These bits selects the RTC asynchronous prescaler stage output.The selected clock is CK_ATPRE. fCK_ATPRE = fRTCCLK / 2ATCKSEL when (PREDIV_A+1) = 128. ... These bits can be written only when all active tampers are disabled. The write protection remains for up to 1.5 ck_atpre cycles after all the active tampers are disable. ATCKSEL: u3, reserved24: u5, - /// Active tamper output change period The tamper output is changed every CK_ATPER = (2ATPER x CK_ATPRE) cycles. Refer to. + /// Active tamper output change period The tamper output is changed every CK_ATPER = (2ATPER x CK_ATPRE) cycles. Refer to. ATPER: u3, reserved30: u3, - /// Active tamper output sharing TAMP_IN1 is compared with TAMPOUTSEL1 TAMP_IN2 is compared with TAMPOUTSEL2 TAMP_IN3 is compared with TAMPOUTSEL3 TAMP_IN4 is compared with TAMPOUTSEL4 TAMP_IN5 is compared with TAMPOUTSEL5 TAMP_IN6 is compared with TAMPOUTSEL6 TAMP_IN7 is compared with TAMPOUTSEL7 TAMP_IN8 is compared with TAMPOUTSEL8. + /// Active tamper output sharing TAMP_IN1 is compared with TAMPOUTSEL1 TAMP_IN2 is compared with TAMPOUTSEL2 TAMP_IN3 is compared with TAMPOUTSEL3 TAMP_IN4 is compared with TAMPOUTSEL4 TAMP_IN5 is compared with TAMPOUTSEL5 TAMP_IN6 is compared with TAMPOUTSEL6 TAMP_IN7 is compared with TAMPOUTSEL7 TAMP_IN8 is compared with TAMPOUTSEL8. ATOSHARE: u1, - /// Active tamper filter enable. + /// Active tamper filter enable. FLTEN: u1, }), - /// TAMP active tamper seed register. + /// TAMP active tamper seed register. ATSEEDR: u32, - /// TAMP active tamper output register. + /// TAMP active tamper output register. ATOR: mmio.Mmio(packed struct(u32) { - /// Pseudo-random generator value This field provides the values of the PRNG output. Because of potential inconsistencies due to synchronization delays, PRNG must be read at least twice. The read value is correct if it is equal to previous read value. This field can only be read when the APB is in secure mode. + /// Pseudo-random generator value This field provides the values of the PRNG output. Because of potential inconsistencies due to synchronization delays, PRNG must be read at least twice. The read value is correct if it is equal to previous read value. This field can only be read when the APB is in secure mode. PRNG: u8, reserved14: u6, - /// Seed running flag This flag is set by hardware when a new seed is written in the TAMP_ATSEEDR. It is cleared by hardware when the PRNG has absorbed this new seed, and by system reset. The TAMP APB cock must not be switched off as long as SEEDF is set. + /// Seed running flag This flag is set by hardware when a new seed is written in the TAMP_ATSEEDR. It is cleared by hardware when the PRNG has absorbed this new seed, and by system reset. The TAMP APB cock must not be switched off as long as SEEDF is set. SEEDF: u1, - /// Active tamper initialization status This flag is set by hardware when the PRNG has absorbed the first 128-bit seed, meaning that the enabled active tampers are functional. This flag is cleared when the active tampers are disabled. + /// Active tamper initialization status This flag is set by hardware when the PRNG has absorbed the first 128-bit seed, meaning that the enabled active tampers are functional. This flag is cleared when the active tampers are disabled. INITS: u1, padding: u16, }), - /// TAMP active tamper control register 2. + /// TAMP active tamper control register 2. ATCR2: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Active tamper shared output x selection The selected output must be available in the package pinout. Bits 9:8 are the mirror of ATOSELx[1:0] in the TAMP_ATCR1, and so can also be read or written through TAMP_ATCR1. (x=1-8) + /// Active tamper shared output x selection The selected output must be available in the package pinout. Bits 9:8 are the mirror of ATOSELx[1:0] in the TAMP_ATCR1, and so can also be read or written through TAMP_ATCR1. (x=1-8) ATOSEL: u3, padding: u21, }), - /// TAMP secure mode register. + /// TAMP secure mode register. SECCFGR: mmio.Mmio(packed struct(u32) { - /// Backup registers read/write protection offset Protection zone 1 is defined for backup registers from TAMP_BKP0R to TAMP_BKPxR (x = BKPRWSEC-1, from 0 to 128). if TZEN=1, these backup registers can be read and written only with secure access. If TZEN=0: the protection zone 1 can be read and written with non-secure access. If BKPRWSEC = 0: there is no protection zone 1. If BKPRWPRIV is set, BKPRWSEC[7:0] can be written only in privileged mode. + /// Backup registers read/write protection offset Protection zone 1 is defined for backup registers from TAMP_BKP0R to TAMP_BKPxR (x = BKPRWSEC-1, from 0 to 128). if TZEN=1, these backup registers can be read and written only with secure access. If TZEN=0: the protection zone 1 can be read and written with non-secure access. If BKPRWSEC = 0: there is no protection zone 1. If BKPRWPRIV is set, BKPRWSEC[7:0] can be written only in privileged mode. BKPRWSEC: u8, reserved15: u7, - /// Monotonic counter 1 secure protection. + /// Monotonic counter 1 secure protection. CNT1SEC: u1, - /// Backup registers write protection offset Protection zone 2 is defined for backup registers from TAMP_BKPyR (y = BKPRWSEC, from 0 to 128) to TAMP_BKPzR (z = BKPWSEC-1, from 0 to 128, BKPWSEC ≥ BKPRWSEC): if TZEN=1, these backup registers can be written only with secure access. They can be read with secure or non-secure access. Protection zone 3 defined for backup registers from TAMP_BKPtR (t = BKPWSEC, from 0 to 127). They can be read or written with secure or non-secure access. If TZEN=0: the protection zone 2 can be read and written with non-secure access. If BKPWSEC = 0 or if BKPWSEC ≤ BKPRWSEC: there is no protection zone 2. If BKPWPRIV is set, BKPRWSEC[7:0] can be written only in privileged mode. + /// Backup registers write protection offset Protection zone 2 is defined for backup registers from TAMP_BKPyR (y = BKPRWSEC, from 0 to 128) to TAMP_BKPzR (z = BKPWSEC-1, from 0 to 128, BKPWSEC ≥ BKPRWSEC): if TZEN=1, these backup registers can be written only with secure access. They can be read with secure or non-secure access. Protection zone 3 defined for backup registers from TAMP_BKPtR (t = BKPWSEC, from 0 to 127). They can be read or written with secure or non-secure access. If TZEN=0: the protection zone 2 can be read and written with non-secure access. If BKPWSEC = 0 or if BKPWSEC ≤ BKPRWSEC: there is no protection zone 2. If BKPWPRIV is set, BKPRWSEC[7:0] can be written only in privileged mode. BKPWSEC: u8, reserved30: u6, - /// Boot hardware key lock This bit can be read and can only be written to 1 by software. It is cleared by hardware together with the backup registers following a tamper detection event or when the readout protection (RDP) is disabled. + /// Boot hardware key lock This bit can be read and can only be written to 1 by software. It is cleared by hardware together with the backup registers following a tamper detection event or when the readout protection (RDP) is disabled. BHKLOCK: u1, - /// Tamper protection (excluding monotonic counters and backup registers) Note: Refer to for details on the read protection. + /// Tamper protection (excluding monotonic counters and backup registers) Note: Refer to for details on the read protection. TAMPSEC: u1, }), - /// TAMP privilege mode control register. + /// TAMP privilege mode control register. PRIVCFGR: mmio.Mmio(packed struct(u32) { reserved15: u15, - /// Monotonic counter 1 privilege protection. + /// Monotonic counter 1 privilege protection. CNT1PRIV: u1, reserved29: u13, - /// Backup registers zone 1 privilege protection. + /// Backup registers zone 1 privilege protection. BKPRWPRIV: u1, - /// Backup registers zone 2 privilege protection. + /// Backup registers zone 2 privilege protection. BKPWPRIV: u1, - /// Tamper privilege protection (excluding backup registers) Note: Refer to for details on the read protection. + /// Tamper privilege protection (excluding backup registers) Note: Refer to for details on the read protection. TAMPPRIV: u1, }), reserved44: [4]u8, - /// TAMP interrupt enable register. + /// TAMP interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// Tamper x interrupt enable. (x=1-8) + /// Tamper x interrupt enable. (x=1-8) TAMPIE: u1, reserved16: u15, - /// Internal tamper 1 interrupt enable. + /// Internal tamper 1 interrupt enable. ITAMP1IE: u1, - /// Internal tamper 2 interrupt enable. + /// Internal tamper 2 interrupt enable. ITAMP2IE: u1, - /// Internal tamper 3 interrupt enable. + /// Internal tamper 3 interrupt enable. ITAMP3IE: u1, - /// Internal tamper 4 interrupt enable. + /// Internal tamper 4 interrupt enable. ITAMP4IE: u1, - /// Internal tamper 5 interrupt enable. + /// Internal tamper 5 interrupt enable. ITAMP5IE: u1, - /// Internal tamper 6 interrupt enable. + /// Internal tamper 6 interrupt enable. ITAMP6IE: u1, - /// Internal tamper 7 interrupt enable. + /// Internal tamper 7 interrupt enable. ITAMP7IE: u1, - /// Internal tamper 8 interrupt enable. + /// Internal tamper 8 interrupt enable. ITAMP8IE: u1, - /// Internal tamper 9 interrupt enable. + /// Internal tamper 9 interrupt enable. ITAMP9IE: u1, reserved26: u1, - /// Internal tamper 11 interrupt enable. + /// Internal tamper 11 interrupt enable. ITAMP11IE: u1, - /// Internal tamper 12 interrupt enable. + /// Internal tamper 12 interrupt enable. ITAMP12IE: u1, - /// Internal tamper 13 interrupt enable. + /// Internal tamper 13 interrupt enable. ITAMP13IE: u1, reserved30: u1, - /// Internal tamper 15 interrupt enable. + /// Internal tamper 15 interrupt enable. ITAMP15IE: u1, padding: u1, }), - /// TAMP status register. + /// TAMP status register. SR: mmio.Mmio(packed struct(u32) { - /// TAMPx detection flag. This flag is set by hardware when a tamper detection event is detected on the TAMPx input. (x=1-8) + /// TAMPx detection flag. This flag is set by hardware when a tamper detection event is detected on the TAMPx input. (x=1-8) TAMPF: u1, reserved16: u15, - /// Internal tamper 1 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 1. + /// Internal tamper 1 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 1. ITAMP1F: u1, - /// Internal tamper 2 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 2. + /// Internal tamper 2 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 2. ITAMP2F: u1, - /// Internal tamper 3 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 3. + /// Internal tamper 3 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 3. ITAMP3F: u1, - /// Internal tamper 4 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 4. + /// Internal tamper 4 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 4. ITAMP4F: u1, - /// Internal tamper 5 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 5. + /// Internal tamper 5 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 5. ITAMP5F: u1, - /// Internal tamper 6 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 6. + /// Internal tamper 6 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 6. ITAMP6F: u1, - /// Internal tamper 7 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 7. + /// Internal tamper 7 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 7. ITAMP7F: u1, - /// Internal tamper 8 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 8. + /// Internal tamper 8 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 8. ITAMP8F: u1, - /// Internal tamper 9 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 9. + /// Internal tamper 9 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 9. ITAMP9F: u1, reserved26: u1, - /// Internal tamper 11 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 11. + /// Internal tamper 11 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 11. ITAMP11F: u1, - /// Internal tamper 12 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 12. + /// Internal tamper 12 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 12. ITAMP12F: u1, - /// Internal tamper 13 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 13. + /// Internal tamper 13 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 13. ITAMP13F: u1, reserved30: u1, - /// Internal tamper 15 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 15. + /// Internal tamper 15 flag This flag is set by hardware when a tamper detection event is detected on the internal tamper 15. ITAMP15F: u1, padding: u1, }), - /// TAMP non-secure masked interrupt status register. + /// TAMP non-secure masked interrupt status register. MISR: mmio.Mmio(packed struct(u32) { - /// TAMP1 non-secure interrupt masked flag This flag is set by hardware when the tamper 1 non-secure interrupt is raised. + /// TAMP1 non-secure interrupt masked flag This flag is set by hardware when the tamper 1 non-secure interrupt is raised. TAMPMF: u1, reserved16: u15, - /// Internal tamper 1 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 1 non-secure interrupt is raised. + /// Internal tamper 1 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 1 non-secure interrupt is raised. ITAMP1MF: u1, - /// Internal tamper 2 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 2 non-secure interrupt is raised. + /// Internal tamper 2 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 2 non-secure interrupt is raised. ITAMP2MF: u1, - /// Internal tamper 3 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 3 non-secure interrupt is raised. + /// Internal tamper 3 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 3 non-secure interrupt is raised. ITAMP3MF: u1, - /// Internal tamper 4 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 4 non-secure interrupt is raised. + /// Internal tamper 4 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 4 non-secure interrupt is raised. ITAMP4MF: u1, - /// Internal tamper 5 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 5 non-secure interrupt is raised. + /// Internal tamper 5 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 5 non-secure interrupt is raised. ITAMP5MF: u1, - /// Internal tamper 6 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 6 non-secure interrupt is raised. + /// Internal tamper 6 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 6 non-secure interrupt is raised. ITAMP6MF: u1, - /// Internal tamper 7 tamper non-secure interrupt masked flag This flag is set by hardware when the internal tamper 7 non-secure interrupt is raised. + /// Internal tamper 7 tamper non-secure interrupt masked flag This flag is set by hardware when the internal tamper 7 non-secure interrupt is raised. ITAMP7MF: u1, - /// Internal tamper 8 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 8 non-secure interrupt is raised. + /// Internal tamper 8 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 8 non-secure interrupt is raised. ITAMP8MF: u1, - /// internal tamper 9 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 9 non-secure interrupt is raised. + /// internal tamper 9 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 9 non-secure interrupt is raised. ITAMP9MF: u1, reserved26: u1, - /// internal tamper 11 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 11 non-secure interrupt is raised. + /// internal tamper 11 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 11 non-secure interrupt is raised. ITAMP11MF: u1, - /// internal tamper 12 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 12 non-secure interrupt is raised. + /// internal tamper 12 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 12 non-secure interrupt is raised. ITAMP12MF: u1, - /// internal tamper 13 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 13 non-secure interrupt is raised. + /// internal tamper 13 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 13 non-secure interrupt is raised. ITAMP13MF: u1, reserved30: u1, - /// internal tamper 15 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 15 non-secure interrupt is raised. + /// internal tamper 15 non-secure interrupt masked flag This flag is set by hardware when the internal tamper 15 non-secure interrupt is raised. ITAMP15MF: u1, padding: u1, }), - /// TAMP secure masked interrupt status register. + /// TAMP secure masked interrupt status register. SMISR: mmio.Mmio(packed struct(u32) { - /// TAMPx secure interrupt masked flag. This flag is set by hardware when the tamper x secure interrupt is raised. (x=1-8) + /// TAMPx secure interrupt masked flag. This flag is set by hardware when the tamper x secure interrupt is raised. (x=1-8) TAMPMF: u1, reserved16: u15, - /// Internal tamper 1 secure interrupt masked flag This flag is set by hardware when the internal tamper 1 secure interrupt is raised. + /// Internal tamper 1 secure interrupt masked flag This flag is set by hardware when the internal tamper 1 secure interrupt is raised. ITAMP1MF: u1, - /// Internal tamper 2 secure interrupt masked flag This flag is set by hardware when the internal tamper 2 secure interrupt is raised. + /// Internal tamper 2 secure interrupt masked flag This flag is set by hardware when the internal tamper 2 secure interrupt is raised. ITAMP2MF: u1, - /// Internal tamper 3 secure interrupt masked flag This flag is set by hardware when the internal tamper 3 secure interrupt is raised. + /// Internal tamper 3 secure interrupt masked flag This flag is set by hardware when the internal tamper 3 secure interrupt is raised. ITAMP3MF: u1, - /// Internal tamper 4 secure interrupt masked flag This flag is set by hardware when the internal tamper 4 secure interrupt is raised. + /// Internal tamper 4 secure interrupt masked flag This flag is set by hardware when the internal tamper 4 secure interrupt is raised. ITAMP4MF: u1, - /// Internal tamper 5 secure interrupt masked flag This flag is set by hardware when the internal tamper 5 secure interrupt is raised. + /// Internal tamper 5 secure interrupt masked flag This flag is set by hardware when the internal tamper 5 secure interrupt is raised. ITAMP5MF: u1, - /// Internal tamper 6 secure interrupt masked flag This flag is set by hardware when the internal tamper 6 secure interrupt is raised. + /// Internal tamper 6 secure interrupt masked flag This flag is set by hardware when the internal tamper 6 secure interrupt is raised. ITAMP6MF: u1, - /// Internal tamper 7 secure interrupt masked flag This flag is set by hardware when the internal tamper 7 secure interrupt is raised. + /// Internal tamper 7 secure interrupt masked flag This flag is set by hardware when the internal tamper 7 secure interrupt is raised. ITAMP7MF: u1, - /// Internal tamper 8 secure interrupt masked flag This flag is set by hardware when the internal tamper 8 secure interrupt is raised. + /// Internal tamper 8 secure interrupt masked flag This flag is set by hardware when the internal tamper 8 secure interrupt is raised. ITAMP8MF: u1, - /// internal tamper 9 secure interrupt masked flag This flag is set by hardware when the internal tamper 9 secure interrupt is raised. + /// internal tamper 9 secure interrupt masked flag This flag is set by hardware when the internal tamper 9 secure interrupt is raised. ITAMP9MF: u1, reserved26: u1, - /// internal tamper 11 secure interrupt masked flag This flag is set by hardware when the internal tamper 11 secure interrupt is raised. + /// internal tamper 11 secure interrupt masked flag This flag is set by hardware when the internal tamper 11 secure interrupt is raised. ITAMP11MF: u1, - /// internal tamper 12 secure interrupt masked flag This flag is set by hardware when the internal tamper 12 secure interrupt is raised. + /// internal tamper 12 secure interrupt masked flag This flag is set by hardware when the internal tamper 12 secure interrupt is raised. ITAMP12MF: u1, - /// internal tamper 13 secure interrupt masked flag This flag is set by hardware when the internal tamper 13 secure interrupt is raised. + /// internal tamper 13 secure interrupt masked flag This flag is set by hardware when the internal tamper 13 secure interrupt is raised. ITAMP13MF: u1, reserved30: u1, - /// internal tamper 15 secure interrupt masked flag This flag is set by hardware when the internal tamper 15 secure interrupt is raised. + /// internal tamper 15 secure interrupt masked flag This flag is set by hardware when the internal tamper 15 secure interrupt is raised. ITAMP15MF: u1, padding: u1, }), - /// TAMP status clear register. + /// TAMP status clear register. SCR: mmio.Mmio(packed struct(u32) { - /// Clear TAMPx detection flag. Writing 1 in this bit clears the TAMPxF bit in the TAMP_SR register. (x=1-8) + /// Clear TAMPx detection flag. Writing 1 in this bit clears the TAMPxF bit in the TAMP_SR register. (x=1-8) CTAMPF: u1, reserved16: u15, - /// Clear ITAMP1 detection flag Writing 1 in this bit clears the ITAMP1F bit in the TAMP_SR register. + /// Clear ITAMP1 detection flag Writing 1 in this bit clears the ITAMP1F bit in the TAMP_SR register. CITAMP1F: u1, - /// Clear ITAMP2 detection flag Writing 1 in this bit clears the ITAMP2F bit in the TAMP_SR register. + /// Clear ITAMP2 detection flag Writing 1 in this bit clears the ITAMP2F bit in the TAMP_SR register. CITAMP2F: u1, - /// Clear ITAMP3 detection flag Writing 1 in this bit clears the ITAMP3F bit in the TAMP_SR register. + /// Clear ITAMP3 detection flag Writing 1 in this bit clears the ITAMP3F bit in the TAMP_SR register. CITAMP3F: u1, - /// Clear ITAMP4 detection flag Writing 1 in this bit clears the ITAMP4F bit in the TAMP_SR register. + /// Clear ITAMP4 detection flag Writing 1 in this bit clears the ITAMP4F bit in the TAMP_SR register. CITAMP4F: u1, - /// Clear ITAMP5 detection flag Writing 1 in this bit clears the ITAMP5F bit in the TAMP_SR register. + /// Clear ITAMP5 detection flag Writing 1 in this bit clears the ITAMP5F bit in the TAMP_SR register. CITAMP5F: u1, - /// Clear ITAMP6 detection flag Writing 1 in this bit clears the ITAMP6F bit in the TAMP_SR register. + /// Clear ITAMP6 detection flag Writing 1 in this bit clears the ITAMP6F bit in the TAMP_SR register. CITAMP6F: u1, - /// Clear ITAMP7 detection flag Writing 1 in this bit clears the ITAMP7F bit in the TAMP_SR register. + /// Clear ITAMP7 detection flag Writing 1 in this bit clears the ITAMP7F bit in the TAMP_SR register. CITAMP7F: u1, - /// Clear ITAMP8 detection flag Writing 1 in this bit clears the ITAMP8F bit in the TAMP_SR register. + /// Clear ITAMP8 detection flag Writing 1 in this bit clears the ITAMP8F bit in the TAMP_SR register. CITAMP8F: u1, - /// Clear ITAMP9 detection flag Writing 1 in this bit clears the ITAMP9F bit in the TAMP_SR register. + /// Clear ITAMP9 detection flag Writing 1 in this bit clears the ITAMP9F bit in the TAMP_SR register. CITAMP9F: u1, reserved26: u1, - /// Clear ITAMP11 detection flag Writing 1 in this bit clears the ITAMP11F bit in the TAMP_SR register. + /// Clear ITAMP11 detection flag Writing 1 in this bit clears the ITAMP11F bit in the TAMP_SR register. CITAMP11F: u1, - /// Clear ITAMP12 detection flag Writing 1 in this bit clears the ITAMP12F bit in the TAMP_SR register. + /// Clear ITAMP12 detection flag Writing 1 in this bit clears the ITAMP12F bit in the TAMP_SR register. CITAMP12F: u1, - /// Clear ITAMP13 detection flag Writing 1 in this bit clears the ITAMP13F bit in the TAMP_SR register. + /// Clear ITAMP13 detection flag Writing 1 in this bit clears the ITAMP13F bit in the TAMP_SR register. CITAMP13F: u1, reserved30: u1, - /// Clear ITAMP15 detection flag Writing 1 in this bit clears the ITAMP15F bit in the TAMP_SR register. + /// Clear ITAMP15 detection flag Writing 1 in this bit clears the ITAMP15F bit in the TAMP_SR register. CITAMP15F: u1, padding: u1, }), - /// TAMP monotonic counter 1 register. + /// TAMP monotonic counter 1 register. COUNT1R: u32, reserved80: [12]u8, - /// TAMP option register. + /// TAMP option register. OR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// TAMP_OUT3 mapping. + /// TAMP_OUT3 mapping. OUT3_RMP: u2, - /// TAMP_OUT5 mapping. + /// TAMP_OUT5 mapping. OUT5_RMP: u1, reserved8: u4, - /// TAMP_IN2 mapping. + /// TAMP_IN2 mapping. IN2_RMP: u1, - /// TAMP_IN3 mapping. + /// TAMP_IN3 mapping. IN3_RMP: u1, - /// TAMP_IN4 mapping. + /// TAMP_IN4 mapping. IN4_RMP: u1, padding: u21, }), - /// TAMP resources protection configuration register. + /// TAMP resources protection configuration register. RPCFGR: mmio.Mmio(packed struct(u32) { - /// Configurable resource 0 protection. + /// Configurable resource 0 protection. RPCFG0: u1, padding: u31, }), reserved256: [168]u8, - /// TAMP backup x register. (x=0-31) + /// TAMP backup x register. (x=0-31) BKPR: [32]u32, }; }; pub const tamp_l5 = struct { - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// TAMPE + /// TAMPE TAMPE: u1, reserved16: u15, - /// ITAMPE + /// ITAMPE ITAMPE: u1, padding: u15, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Tamper X no erase + /// Tamper X no erase TAMPNOER: u1, reserved16: u15, - /// Tamper X mask + /// Tamper X mask TAMPMSK: u1, reserved23: u6, - /// BKERASE + /// BKERASE BKERASE: u1, - /// Active level for tamper X input + /// Active level for tamper X input TAMPTRG: u1, padding: u7, }), - /// control register 3 + /// control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Internal Tamper X no erase + /// Internal Tamper X no erase ITAMPNOER: u1, padding: u31, }), - /// TAMP filter control register + /// TAMP filter control register FLTCR: mmio.Mmio(packed struct(u32) { - /// TAMPFREQ + /// TAMPFREQ TAMPFREQ: u3, - /// TAMPFLT + /// TAMPFLT TAMPFLT: u2, - /// TAMPPRCH + /// TAMPPRCH TAMPPRCH: u2, - /// TAMPPUDIS + /// TAMPPUDIS TAMPPUDIS: u1, padding: u24, }), - /// TAMP active tamper control register 1 + /// TAMP active tamper control register 1 ATCR1: mmio.Mmio(packed struct(u32) { - /// TAMPAM + /// TAMPAM TAMPAM: u1, reserved8: u7, - /// ATOSEL + /// ATOSEL ATOSEL: u2, reserved16: u6, - /// ATCKSEL + /// ATCKSEL ATCKSEL: u2, reserved24: u6, - /// ATPER + /// ATPER ATPER: u2, reserved30: u4, - /// ATOSHARE + /// ATOSHARE ATOSHARE: u1, - /// FLTEN + /// FLTEN FLTEN: u1, }), - /// TAMP active tamper seed register + /// TAMP active tamper seed register ATSEEDR: mmio.Mmio(packed struct(u32) { - /// Pseudo-random generator seed value + /// Pseudo-random generator seed value SEED: u32, }), - /// TAMP active tamper output register + /// TAMP active tamper output register ATOR: mmio.Mmio(packed struct(u32) { - /// Pseudo-random generator value + /// Pseudo-random generator value PRNG: u8, reserved14: u6, - /// Seed running flag + /// Seed running flag SEEDF: u1, - /// Active tamper initialization status + /// Active tamper initialization status INITS: u1, padding: u16, }), - /// TAMP active tamper control register 2 + /// TAMP active tamper control register 2 ATCR2: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// ATOSEL + /// ATOSEL ATOSEL: u3, padding: u21, }), - /// TAMP secure mode register + /// TAMP secure mode register SMCR: mmio.Mmio(packed struct(u32) { - /// Backup registers read/write protection offset + /// Backup registers read/write protection offset BKPRWDPROT: u8, reserved16: u8, - /// Backup registers write protection offset + /// Backup registers write protection offset BKPWDPROT: u8, reserved31: u7, - /// Tamper protection + /// Tamper protection TAMPDPROT: u1, }), - /// TAMP privilege mode control register + /// TAMP privilege mode control register PRIVCR: mmio.Mmio(packed struct(u32) { reserved29: u29, - /// Backup registers zone 1 privilege protection + /// Backup registers zone 1 privilege protection BKPRWPRIV: u1, - /// Backup registers zone 2 privilege protection + /// Backup registers zone 2 privilege protection BKPWPRIV: u1, - /// Tamper privilege protection + /// Tamper privilege protection TAMPPRIV: u1, }), reserved44: [4]u8, - /// TAMP interrupt enable register + /// TAMP interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// Tamper X interrupt enable + /// Tamper X interrupt enable TAMPIE: u1, reserved16: u15, - /// Internal tamper X interrupt enable + /// Internal tamper X interrupt enable ITAMPIE: u1, padding: u15, }), - /// TAMP status register + /// TAMP status register SR: mmio.Mmio(packed struct(u32) { - /// Tamper X detection flag + /// Tamper X detection flag TAMPF: u1, reserved16: u15, - /// Internal tamper X detection flag + /// Internal tamper X detection flag ITAMPF: u1, padding: u15, }), - /// TAMP masked interrupt status register + /// TAMP masked interrupt status register MISR: mmio.Mmio(packed struct(u32) { - /// Tamper X interrupt masked flag + /// Tamper X interrupt masked flag TAMPMF: u1, reserved16: u15, - /// Internal tamper X interrupt masked flag + /// Internal tamper X interrupt masked flag ITAMPMF: u1, padding: u15, }), - /// TAMP secure masked interrupt status register + /// TAMP secure masked interrupt status register SMISR: mmio.Mmio(packed struct(u32) { - /// Tamper X interrupt masked flag + /// Tamper X interrupt masked flag TAMPMF: u1, reserved16: u15, - /// Internal tamper X interrupt masked flag + /// Internal tamper X interrupt masked flag ITAMPMF: u1, padding: u15, }), - /// TAMP status clear register + /// TAMP status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear tamper X detection flag + /// Clear tamper X detection flag CTAMPF: u1, reserved16: u15, - /// Clear internal tamper X detection flag + /// Clear internal tamper X detection flag CITAMPF: u1, padding: u15, }), - /// TAMP monotonic counter register + /// TAMP monotonic counter register COUNTR: mmio.Mmio(packed struct(u32) { - /// COUNT + /// COUNT COUNT: u32, }), reserved80: [12]u8, - /// TAMP configuration register + /// TAMP configuration register CFGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// TMONEN + /// TMONEN TMONEN: u1, - /// VMONEN + /// VMONEN VMONEN: u1, - /// WUTMONEN + /// WUTMONEN WUTMONEN: u1, padding: u28, }), reserved256: [172]u8, - /// TAMP backup register + /// TAMP backup register BKPR: [32]mmio.Mmio(packed struct(u32) { - /// BKP + /// BKP BKP: u32, }), }; @@ -433328,257 +423002,242 @@ pub const types = struct { pub const tamp_u5 = struct { pub const ATCKSEL = enum(u3) { - /// RTCCLK is selected + /// RTCCLK is selected Div1 = 0x0, - /// RTCCLK/2 is selected when (PREDIV_A+1) = 128 (actually selects 1st flip flop output) + /// RTCCLK/2 is selected when (PREDIV_A+1) = 128 (actually selects 1st flip flop output) Div2 = 0x1, - /// RTCCLK/4 is selected when (PREDIV_A+1) = 128 (actually selects 2nd flip flop output) + /// RTCCLK/4 is selected when (PREDIV_A+1) = 128 (actually selects 2nd flip flop output) Div4 = 0x2, - /// RTCCLK/128 is selected when (PREDIV_A+1) = 128 (actually selects 7th flip flop output) + /// RTCCLK/128 is selected when (PREDIV_A+1) = 128 (actually selects 7th flip flop output) Div128 = 0x7, _, }; pub const TAMPFLT = enum(u2) { - /// Tamper event is activated on edge of INx input transitions to the active level (no internal pull-up on INx input). + /// Tamper event is activated on edge of INx input transitions to the active level (no internal pull-up on INx input). NoFilter = 0x0, - /// Tamper event is activated after 2 consecutive samples at the active level. + /// Tamper event is activated after 2 consecutive samples at the active level. Filter2 = 0x1, - /// Tamper event is activated after 4 consecutive samples at the active level. + /// Tamper event is activated after 4 consecutive samples at the active level. Filter4 = 0x2, - /// Tamper event is activated after 8 consecutive samples at the active level. + /// Tamper event is activated after 8 consecutive samples at the active level. Filter8 = 0x3, }; pub const TAMPFREQ = enum(u3) { - /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) Hz_1 = 0x0, - /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) Hz_2 = 0x1, - /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) Hz_4 = 0x2, - /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) Hz_8 = 0x3, - /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) Hz_16 = 0x4, - /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) Hz_32 = 0x5, - /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) Hz_64 = 0x6, - /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) Hz_128 = 0x7, }; pub const TAMPPRCH = enum(u2) { - /// 1 RTCCLK cycle + /// 1 RTCCLK cycle Cycles1 = 0x0, - /// 2 RTCCLK cycles + /// 2 RTCCLK cycles Cycles2 = 0x1, - /// 4 RTCCLK cycles + /// 4 RTCCLK cycles Cycles4 = 0x2, - /// 8 RTCCLK cycles + /// 8 RTCCLK cycles Cycles8 = 0x3, }; pub const TAMPTRG = enum(u1) { - /// If TAMPFLT 00 Tamper 2 input staying low triggers a tamper detection event. + /// If TAMPFLT 00 Tamper 2 input staying low triggers a tamper detection event. FilteredLowOrUnfilteredHigh = 0x0, - /// If TAMPFLT 00 Tamper 2 input staying high triggers a tamper detection event. + /// If TAMPFLT 00 Tamper 2 input staying high triggers a tamper detection event. FilteredHighOrUnfilteredLow = 0x1, }; - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP = extern struct { - /// TAMP control register 1 + /// TAMP control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Tamper detection on INx enable + /// Tamper detection on INx enable TAMPE: u1, reserved16: u15, - /// Internal tamper X enable + /// Internal tamper X enable ITAMPE: u1, padding: u15, }), - /// TAMP control register 2 + /// TAMP control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Tamper X no erase + /// Tamper X no erase TAMPNOER: u1, reserved16: u15, - /// Tamper X mask. The tamper 1 interrupt must not be enabled when TAMP1MSK is set. + /// Tamper X mask. The tamper 1 interrupt must not be enabled when TAMP1MSK is set. TAMPMSK: u1, reserved22: u5, - /// Backup registers and device secrets access blocked + /// Backup registers and device secrets access blocked BKBLOCK: u1, - /// Backup registers and device secrets erase. Writing '1 to this bit reset the backup registers and device secrets(1). Writing 0 has no effect. This bit is always read as 0. + /// Backup registers and device secrets erase. Writing '1 to this bit reset the backup registers and device secrets(1). Writing 0 has no effect. This bit is always read as 0. BKERASE: u1, - /// Active level for tamper 1 input. - TAMPTRG: packed union { - raw: u1, - value: TAMPTRG, - }, + /// Active level for tamper 1 input. + TAMPTRG: TAMPTRG, padding: u7, }), - /// TAMP control register 3 + /// TAMP control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Internal Tamper X no erase + /// Internal Tamper X no erase ITAMPNOER: u1, padding: u31, }), - /// TAMP filter control register + /// TAMP filter control register FLTCR: mmio.Mmio(packed struct(u32) { - /// Tamper sampling frequency. Determines the frequency at which each of the INx inputs are sampled. - TAMPFREQ: packed union { - raw: u3, - value: TAMPFREQ, - }, - /// INx filter count. These bits determines the number of consecutive samples at the specified level (TAMP*TRG) needed to activate a tamper event. TAMPFLT is valid for each of the INx inputs. - TAMPFLT: packed union { - raw: u2, - value: TAMPFLT, - }, - /// INx precharge duration. These bit determines the duration of time during which the pull-up/is activated before each sample. TAMPPRCH is valid for each of the INx inputs. - TAMPPRCH: packed union { - raw: u2, - value: TAMPPRCH, - }, - /// INx pull-up disable. This bit determines if each of the TAMPx pins are precharged before each sample. + /// Tamper sampling frequency. Determines the frequency at which each of the INx inputs are sampled. + TAMPFREQ: TAMPFREQ, + /// INx filter count. These bits determines the number of consecutive samples at the specified level (TAMP*TRG) needed to activate a tamper event. TAMPFLT is valid for each of the INx inputs. + TAMPFLT: TAMPFLT, + /// INx precharge duration. These bit determines the duration of time during which the pull-up/is activated before each sample. TAMPPRCH is valid for each of the INx inputs. + TAMPPRCH: TAMPPRCH, + /// INx pull-up disable. This bit determines if each of the TAMPx pins are precharged before each sample. TAMPPUDIS: u1, padding: u24, }), - /// TAMP active tamper control register 1 + /// TAMP active tamper control register 1 ATCR1: mmio.Mmio(packed struct(u32) { - /// Tamper X active mode + /// Tamper X active mode TAMPAM: u1, reserved8: u7, - /// Active tamper shared output X selection. The selected output must be available in the package pinout + /// Active tamper shared output X selection. The selected output must be available in the package pinout ATOSEL: u2, reserved16: u6, - /// Active tamper RTC asynchronous prescaler clock selection. These bits selects the RTC asynchronous prescaler stage output.The selected clock is CK_ATPRE.. fCK_ATPRE = fRTCCLK / 2ATCKSEL when (PREDIV_A+1) = 128.. .... These bits can be written only when all active tampers are disabled. The write protection remains for up to 1.5 ck_atpre cycles after all the active tampers are disable. - ATCKSEL: packed union { - raw: u3, - value: ATCKSEL, - }, + /// Active tamper RTC asynchronous prescaler clock selection. These bits selects the RTC asynchronous prescaler stage output.The selected clock is CK_ATPRE.. fCK_ATPRE = fRTCCLK / 2ATCKSEL when (PREDIV_A+1) = 128.. .... These bits can be written only when all active tampers are disabled. The write protection remains for up to 1.5 ck_atpre cycles after all the active tampers are disable. + ATCKSEL: ATCKSEL, reserved24: u5, - /// Active tamper output change period. The tamper output is changed every CK_ATPER = (2ATPER x CK_ATPRE) cycles. Refer to . + /// Active tamper output change period. The tamper output is changed every CK_ATPER = (2ATPER x CK_ATPRE) cycles. Refer to . ATPER: u3, reserved30: u3, - /// Active tamper output sharing. IN1 is compared with TAMPOUTSEL1. IN2 is compared with TAMPOUTSEL2. IN3 is compared with TAMPOUTSEL3. IN4 is compared with TAMPOUTSEL4. IN5 is compared with TAMPOUTSEL5. IN6 is compared with TAMPOUTSEL6. IN7 is compared with TAMPOUTSEL7. IN8 is compared with TAMPOUTSEL8 + /// Active tamper output sharing. IN1 is compared with TAMPOUTSEL1. IN2 is compared with TAMPOUTSEL2. IN3 is compared with TAMPOUTSEL3. IN4 is compared with TAMPOUTSEL4. IN5 is compared with TAMPOUTSEL5. IN6 is compared with TAMPOUTSEL6. IN7 is compared with TAMPOUTSEL7. IN8 is compared with TAMPOUTSEL8 ATOSHARE: u1, - /// Active tamper filter enable + /// Active tamper filter enable FLTEN: u1, }), - /// TAMP active tamper seed register + /// TAMP active tamper seed register ATSEEDR: mmio.Mmio(packed struct(u32) { - /// Pseudo-random generator seed value. This register must be written four times with 32-bit values to provide the 128-bit seed to the PRNG. Writing to this register automatically sends the seed value to the PRNG. + /// Pseudo-random generator seed value. This register must be written four times with 32-bit values to provide the 128-bit seed to the PRNG. Writing to this register automatically sends the seed value to the PRNG. SEED: u32, }), - /// TAMP active tamper output register + /// TAMP active tamper output register ATOR: mmio.Mmio(packed struct(u32) { - /// Pseudo-random generator value. This field provides the values of the PRNG output. Because of potential inconsistencies due to synchronization delays, PRNG must be read at least twice. The read value is correct if it is equal to previous read value. This field can only be read when the APB is in secure mode. + /// Pseudo-random generator value. This field provides the values of the PRNG output. Because of potential inconsistencies due to synchronization delays, PRNG must be read at least twice. The read value is correct if it is equal to previous read value. This field can only be read when the APB is in secure mode. PRNG: u8, reserved14: u6, - /// Seed running flag. This flag is set by hardware when a new seed is written in the ATSEEDR. It is cleared by hardware when the PRNG has absorbed this new seed, and by system reset. The TAMP APB cock must not be switched off as long as SEEDF is set. + /// Seed running flag. This flag is set by hardware when a new seed is written in the ATSEEDR. It is cleared by hardware when the PRNG has absorbed this new seed, and by system reset. The TAMP APB cock must not be switched off as long as SEEDF is set. SEEDF: u1, - /// Active tamper initialization status. This flag is set by hardware when the PRNG has absorbed the first 128-bit seed, meaning that the enabled active tampers are functional. This flag is cleared when the active tampers are disabled. + /// Active tamper initialization status. This flag is set by hardware when the PRNG has absorbed the first 128-bit seed, meaning that the enabled active tampers are functional. This flag is cleared when the active tampers are disabled. INITS: u1, padding: u16, }), - /// TAMP active tamper control register 2 + /// TAMP active tamper control register 2 ATCR2: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Active tamper shared output X selection. The selected output must be available in the package pinout. Bits 9:8 are the mirror of ATOSEL1[1:0] in the ATCR1, and so can also be read or. written through ATCR1. + /// Active tamper shared output X selection. The selected output must be available in the package pinout. Bits 9:8 are the mirror of ATOSEL1[1:0] in the ATCR1, and so can also be read or. written through ATCR1. ATOSEL: u3, padding: u21, }), - /// TAMP secure mode register + /// TAMP secure mode register SECCFGR: mmio.Mmio(packed struct(u32) { - /// Backup registers read/write protection offset. Protection zone 1 is defined for backup registers from BKP0R to BKPxR (x = BKPRWSEC-1, from 0 to 128). if TZEN=1, these backup registers can be read and written only with secure access. If TZEN=0: the protection zone 1 can be read and written with non-secure access. If BKPRWSEC = 0: there is no protection zone 1. If BKPRWPRIV is set, BKPRWSEC[7:0] can be written only in privileged mode. + /// Backup registers read/write protection offset. Protection zone 1 is defined for backup registers from BKP0R to BKPxR (x = BKPRWSEC-1, from 0 to 128). if TZEN=1, these backup registers can be read and written only with secure access. If TZEN=0: the protection zone 1 can be read and written with non-secure access. If BKPRWSEC = 0: there is no protection zone 1. If BKPRWPRIV is set, BKPRWSEC[7:0] can be written only in privileged mode. BKPRWSEC: u8, reserved15: u7, - /// Monotonic counter 1 secure protection + /// Monotonic counter 1 secure protection CNT1SEC: u1, - /// Backup registers write protection offset. Protection zone 2 is defined for backup registers from BKPyR (y = BKPRWSEC, from 0 to 128) to BKPzR (z = BKPWSEC-1, from 0 to 128, BKPWSECBKPRWSEC): if TZEN=1, these backup registers can be written only with secure access. They can be read with secure or non-secure access. Protection zone 3 defined for backup registers from BKPtR (t = BKPWSEC, from 0 to 127). They can be read or written with secure or non-secure access. If TZEN=0: the protection zone 2 can be read and written with non-secure access. If BKPWSEC = 0 or if BKPWSEC BKPRWSEC: there is no protection zone 2. If BKPWPRIV is set, BKPRWSEC[7:0] can be written only in privileged mode. + /// Backup registers write protection offset. Protection zone 2 is defined for backup registers from BKPyR (y = BKPRWSEC, from 0 to 128) to BKPzR (z = BKPWSEC-1, from 0 to 128, BKPWSECBKPRWSEC): if TZEN=1, these backup registers can be written only with secure access. They can be read with secure or non-secure access. Protection zone 3 defined for backup registers from BKPtR (t = BKPWSEC, from 0 to 127). They can be read or written with secure or non-secure access. If TZEN=0: the protection zone 2 can be read and written with non-secure access. If BKPWSEC = 0 or if BKPWSEC BKPRWSEC: there is no protection zone 2. If BKPWPRIV is set, BKPRWSEC[7:0] can be written only in privileged mode. BKPWSEC: u8, reserved30: u6, - /// Boot hardware key lock. This bit can be read and can only be written to 1 by software. It is cleared by hardware together with the backup registers following a tamper detection event or when the readout protection (RDP) is disabled. + /// Boot hardware key lock. This bit can be read and can only be written to 1 by software. It is cleared by hardware together with the backup registers following a tamper detection event or when the readout protection (RDP) is disabled. BHKLOCK: u1, - /// Tamper protection (excluding monotonic counters and backup registers). Note: Refer to for details on the read protection. + /// Tamper protection (excluding monotonic counters and backup registers). Note: Refer to for details on the read protection. TAMPSEC: u1, }), - /// TAMP privilege mode control register + /// TAMP privilege mode control register PRIVCR: mmio.Mmio(packed struct(u32) { reserved15: u15, - /// Monotonic counter 1 privilege protection + /// Monotonic counter 1 privilege protection CNT1PRIV: u1, reserved29: u13, - /// Backup registers zone 1 privilege protection + /// Backup registers zone 1 privilege protection BKPRWPRIV: u1, - /// Backup registers zone 2 privilege protection + /// Backup registers zone 2 privilege protection BKPWPRIV: u1, - /// Tamper privilege protection (excluding backup registers). Note: Refer to for details on the read protection. + /// Tamper privilege protection (excluding backup registers). Note: Refer to for details on the read protection. TAMPPRIV: u1, }), reserved44: [4]u8, - /// TAMP interrupt enable register + /// TAMP interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// Tamper X interrupt enable + /// Tamper X interrupt enable TAMPIE: u1, reserved16: u15, - /// Internal tamper X interrupt enable + /// Internal tamper X interrupt enable ITAMPIE: u1, padding: u15, }), - /// TAMP status register + /// TAMP status register SR: mmio.Mmio(packed struct(u32) { - /// TAMPx detection flag. This flag is set by hardware when a tamper detection event is detected on the TAMPx input. + /// TAMPx detection flag. This flag is set by hardware when a tamper detection event is detected on the TAMPx input. TAMPF: u1, reserved16: u15, - /// Internal tamper X flag. This flag is set by hardware when a tamper detection event is detected on the internal tamper X. + /// Internal tamper X flag. This flag is set by hardware when a tamper detection event is detected on the internal tamper X. ITAMPF: u1, padding: u15, }), - /// TAMP non-secure masked interrupt status register + /// TAMP non-secure masked interrupt status register MISR: mmio.Mmio(packed struct(u32) { - /// TAMPx non-secure interrupt masked flag. This flag is set by hardware when the tamper X non-secure interrupt is raised. + /// TAMPx non-secure interrupt masked flag. This flag is set by hardware when the tamper X non-secure interrupt is raised. TAMPMF: u1, reserved16: u15, - /// Internal tamper X non-secure interrupt masked flag. This flag is set by hardware when the internal tamper X non-secure interrupt is raised. + /// Internal tamper X non-secure interrupt masked flag. This flag is set by hardware when the internal tamper X non-secure interrupt is raised. ITAMPMF: u1, padding: u15, }), - /// TAMP secure masked interrupt status register + /// TAMP secure masked interrupt status register SMISR: mmio.Mmio(packed struct(u32) { - /// TAMPx secure interrupt masked flag. This flag is set by hardware when the tamper X secure interrupt is raised. + /// TAMPx secure interrupt masked flag. This flag is set by hardware when the tamper X secure interrupt is raised. TAMPMF: u1, reserved16: u15, - /// Internal tamper X secure interrupt masked flag. This flag is set by hardware when the internal tamper X secure interrupt is raised. + /// Internal tamper X secure interrupt masked flag. This flag is set by hardware when the internal tamper X secure interrupt is raised. ITAMPMF: u1, padding: u15, }), - /// TAMP status clear register + /// TAMP status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear TAMPx detection flag. Writing 1 in this bit clears the TAMPxF bit in the SR register. + /// Clear TAMPx detection flag. Writing 1 in this bit clears the TAMPxF bit in the SR register. CTAMPF: u1, reserved16: u15, - /// Clear ITAMPx detection flag. Writing 1 in this bit clears the ITAMPxF bit in the SR register. + /// Clear ITAMPx detection flag. Writing 1 in this bit clears the ITAMPxF bit in the SR register. CITAMPF: u1, padding: u15, }), - /// TAMP monotonic counter 1 register + /// TAMP monotonic counter 1 register COUNTR: mmio.Mmio(packed struct(u32) { - /// This register is read-only only and is incremented by one when a write access is done to this register. This register cannot roll-over and is frozen when reaching the maximum value. + /// This register is read-only only and is incremented by one when a write access is done to this register. This register cannot roll-over and is frozen when reaching the maximum value. COUNT: u32, }), reserved84: [16]u8, - /// TAMP erase configuration register + /// TAMP erase configuration register ERCFGR: mmio.Mmio(packed struct(u32) { - /// Configurable device secrets configuration + /// Configurable device secrets configuration ERCFG0: u1, padding: u31, }), reserved256: [168]u8, - /// TAMP backup X register + /// TAMP backup X register BKPR: [32]mmio.Mmio(packed struct(u32) { - /// The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set. This register is also reset when the readout protection (RDP) is disabled. + /// The application can write or read data to and from these registers. In the default (ERASE) configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set. This register is also reset when the readout protection (RDP) is disabled. BKP: u32, }), }; @@ -433586,174 +423245,156 @@ pub const types = struct { pub const tamp_wl = struct { pub const BKERASE = enum(u1) { - /// Reset backup registers + /// Reset backup registers Reset = 0x1, _, }; pub const TAMPFLT = enum(u2) { - /// Tamper event is activated on edge of TAMP_INx input transitions to the active level (no internal pull-up on TAMP_INx input)" + /// Tamper event is activated on edge of TAMP_INx input transitions to the active level (no internal pull-up on TAMP_INx input)" NoFilter = 0x0, - /// Tamper event is activated after 2 consecutive samples at the active level" + /// Tamper event is activated after 2 consecutive samples at the active level" Filter2 = 0x1, - /// Tamper event is activated after 4 consecutive samples at the active level" + /// Tamper event is activated after 4 consecutive samples at the active level" Filter4 = 0x2, - /// Tamper event is activated after 8 consecutive samples at the active level" + /// Tamper event is activated after 8 consecutive samples at the active level" Filter8 = 0x3, }; pub const TAMPFREQ = enum(u3) { - /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz) Hz_1 = 0x0, - /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz) Hz_2 = 0x1, - /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz) Hz_4 = 0x2, - /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz) Hz_8 = 0x3, - /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz) Hz_16 = 0x4, - /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz) Hz_32 = 0x5, - /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz) Hz_64 = 0x6, - /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) + /// RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz) Hz_128 = 0x7, }; pub const TAMPMSK = enum(u1) { - /// Tamper x event generates a trigger event and TAMPxF must be cleared by software to allow next tamper event detection + /// Tamper x event generates a trigger event and TAMPxF must be cleared by software to allow next tamper event detection ResetBySoftware = 0x0, - /// Tamper x event generates a trigger event. TAMPxF is masked and internally cleared by hardware. The backup registers are not erased. The tamper x interrupt must not be enabled when TAMP3MSK is set + /// Tamper x event generates a trigger event. TAMPxF is masked and internally cleared by hardware. The backup registers are not erased. The tamper x interrupt must not be enabled when TAMP3MSK is set ResetByHardware = 0x1, }; pub const TAMPPRCH = enum(u2) { - /// 1 RTCCLK cycle + /// 1 RTCCLK cycle Cycles1 = 0x0, - /// 2 RTCCLK cycles + /// 2 RTCCLK cycles Cycles2 = 0x1, - /// 4 RTCCLK cycles + /// 4 RTCCLK cycles Cycles4 = 0x2, - /// 8 RTCCLK cycles + /// 8 RTCCLK cycles Cycles8 = 0x3, }; pub const TAMPTRG = enum(u1) { - /// If TAMPFLT != 00 Tamper x input staying low triggers a tamper detection event. If TAMPFLT = 00 Tamper x input rising edge and high level triggers a tamper detection event + /// If TAMPFLT != 00 Tamper x input staying low triggers a tamper detection event. If TAMPFLT = 00 Tamper x input rising edge and high level triggers a tamper detection event FilteredLowOrUnfilteredHigh = 0x0, - /// If TAMPFLT != 00 Tamper x input staying high triggers a tamper detection event. If TAMPFLT = 00 Tamper x input falling edge and low level triggers a tamper detection event + /// If TAMPFLT != 00 Tamper x input staying high triggers a tamper detection event. If TAMPFLT = 00 Tamper x input falling edge and low level triggers a tamper detection event FilteredHighOrUnfilteredLow = 0x1, }; - /// Tamper and backup registers + /// Tamper and backup registers pub const TAMP = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Tamper detection on IN X enable + /// Tamper detection on IN X enable TAMPE: u1, reserved16: u15, - /// Internal tamper X enable + /// Internal tamper X enable ITAMPE: u1, padding: u15, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Tamper X no erase + /// Tamper X no erase TAMPNOER: u1, reserved16: u15, - /// Tamper X mask. The tamper X interrupt must not be enabled when TAMPMSK is set. - TAMPMSK: packed union { - raw: u1, - value: TAMPMSK, - }, + /// Tamper X mask. The tamper X interrupt must not be enabled when TAMPMSK is set. + TAMPMSK: TAMPMSK, reserved23: u6, - /// Backup registers erase - BKERASE: packed union { - raw: u1, - value: BKERASE, - }, - /// Active level for tamper X input - TAMPTRG: packed union { - raw: u1, - value: TAMPTRG, - }, + /// Backup registers erase + BKERASE: BKERASE, + /// Active level for tamper X input + TAMPTRG: TAMPTRG, padding: u7, }), - /// TAMP control register 3 + /// TAMP control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Internal Tamper X no erase + /// Internal Tamper X no erase ITAMPNOER: u1, padding: u31, }), - /// TAMP filter control register + /// TAMP filter control register FLTCR: mmio.Mmio(packed struct(u32) { - /// Tamper sampling frequency. Determines the frequency at which each of the INx inputs are sampled. - TAMPFREQ: packed union { - raw: u3, - value: TAMPFREQ, - }, - /// INx filter count. These bits determines the number of consecutive samples at the specified level (TAMP*TRG) needed to activate a tamper event. TAMPFLT is valid for each of the INx inputs. - TAMPFLT: packed union { - raw: u2, - value: TAMPFLT, - }, - /// INx precharge duration. These bit determines the duration of time during which the pull-up/is activated before each sample. TAMPPRCH is valid for each of the INx inputs. - TAMPPRCH: packed union { - raw: u2, - value: TAMPPRCH, - }, - /// INx pull-up disable. This bit determines if each of the TAMPx pins are precharged before each sample. + /// Tamper sampling frequency. Determines the frequency at which each of the INx inputs are sampled. + TAMPFREQ: TAMPFREQ, + /// INx filter count. These bits determines the number of consecutive samples at the specified level (TAMP*TRG) needed to activate a tamper event. TAMPFLT is valid for each of the INx inputs. + TAMPFLT: TAMPFLT, + /// INx precharge duration. These bit determines the duration of time during which the pull-up/is activated before each sample. TAMPPRCH is valid for each of the INx inputs. + TAMPPRCH: TAMPPRCH, + /// INx pull-up disable. This bit determines if each of the TAMPx pins are precharged before each sample. TAMPPUDIS: u1, padding: u24, }), reserved44: [28]u8, - /// TAMP interrupt enable register + /// TAMP interrupt enable register IER: mmio.Mmio(packed struct(u32) { - /// Tamper X interrupt enable + /// Tamper X interrupt enable TAMPIE: u1, reserved16: u15, - /// Internal tamper X interrupt enable + /// Internal tamper X interrupt enable ITAMPIE: u1, padding: u15, }), - /// TAMP status register + /// TAMP status register SR: mmio.Mmio(packed struct(u32) { - /// Tamper X detection flag + /// Tamper X detection flag TAMPF: u1, reserved16: u15, - /// Internal tamper X detection flag + /// Internal tamper X detection flag ITAMPF: u1, padding: u15, }), - /// TAMP masked interrupt status register + /// TAMP masked interrupt status register MISR: mmio.Mmio(packed struct(u32) { - /// Tamper X interrupt masked flag + /// Tamper X interrupt masked flag TAMPMF: u1, reserved16: u15, - /// Internal tamper X interrupt masked flag + /// Internal tamper X interrupt masked flag ITAMPMF: u1, padding: u15, }), reserved60: [4]u8, - /// TAMP status clear register + /// TAMP status clear register SCR: mmio.Mmio(packed struct(u32) { - /// Clear tamper X detection flag + /// Clear tamper X detection flag CTAMPF: u1, reserved16: u15, - /// Clear internal tamper X detection flag + /// Clear internal tamper X detection flag CITAMPF: u1, padding: u15, }), - /// monotonic counter register + /// monotonic counter register COUNTR: mmio.Mmio(packed struct(u32) { - /// COUNT + /// COUNT COUNT: u32, }), reserved256: [188]u8, - /// TAMP backup register + /// TAMP backup register BKPR: [20]mmio.Mmio(packed struct(u32) { - /// BKP + /// BKP BKP: u32, }), }; @@ -433761,658 +423402,574 @@ pub const types = struct { pub const timer_l0 = struct { pub const CCDS = enum(u1) { - /// CCx DMA request sent when CCx event occurs + /// CCx DMA request sent when CCx event occurs OnCompare = 0x0, - /// CCx DMA request sent when update event occurs + /// CCx DMA request sent when update event occurs OnUpdate = 0x1, }; pub const CCMR_Input_CCS = enum(u2) { - /// CCx channel is configured as input, normal mapping: ICx mapped to TIx + /// CCx channel is configured as input, normal mapping: ICx mapped to TIx TI4 = 0x1, - /// CCx channel is configured as input, alternate mapping (switches 1 with 2, 3 with 4) + /// CCx channel is configured as input, alternate mapping (switches 1 with 2, 3 with 4) TI3 = 0x2, - /// CCx channel is configured as input, ICx is mapped on TRC + /// CCx channel is configured as input, ICx is mapped on TRC TRC = 0x3, _, }; pub const CCMR_Output_CCS = enum(u2) { - /// CCx channel is configured as output + /// CCx channel is configured as output Output = 0x0, _, }; pub const CKD = enum(u2) { - /// t_DTS = t_CK_INT + /// t_DTS = t_CK_INT Div1 = 0x0, - /// t_DTS = 2 × t_CK_INT + /// t_DTS = 2 × t_CK_INT Div2 = 0x1, - /// t_DTS = 4 × t_CK_INT + /// t_DTS = 4 × t_CK_INT Div4 = 0x2, _, }; pub const CMS = enum(u2) { - /// The counter counts up or down depending on the direction bit + /// The counter counts up or down depending on the direction bit EdgeAligned = 0x0, - /// The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down. + /// The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down. CenterAligned1 = 0x1, - /// The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up. + /// The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up. CenterAligned2 = 0x2, - /// The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down. + /// The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down. CenterAligned3 = 0x3, }; pub const DIR = enum(u1) { - /// Counter used as upcounter + /// Counter used as upcounter Up = 0x0, - /// Counter used as downcounter + /// Counter used as downcounter Down = 0x1, }; pub const ETP = enum(u1) { - /// ETR is noninverted, active at high level or rising edge + /// ETR is noninverted, active at high level or rising edge NotInverted = 0x0, - /// ETR is inverted, active at low level or falling edge + /// ETR is inverted, active at low level or falling edge Inverted = 0x1, }; pub const ETPS = enum(u2) { - /// Prescaler OFF + /// Prescaler OFF Div1 = 0x0, - /// ETRP frequency divided by 2 + /// ETRP frequency divided by 2 Div2 = 0x1, - /// ETRP frequency divided by 4 + /// ETRP frequency divided by 4 Div4 = 0x2, - /// ETRP frequency divided by 8 + /// ETRP frequency divided by 8 Div8 = 0x3, }; pub const FilterValue = enum(u4) { - /// No filter, sampling is done at fDTS + /// No filter, sampling is done at fDTS NoFilter = 0x0, - /// fSAMPLING=fCK_INT, N=2 + /// fSAMPLING=fCK_INT, N=2 FCK_INT_N2 = 0x1, - /// fSAMPLING=fCK_INT, N=4 + /// fSAMPLING=fCK_INT, N=4 FCK_INT_N4 = 0x2, - /// fSAMPLING=fCK_INT, N=8 + /// fSAMPLING=fCK_INT, N=8 FCK_INT_N8 = 0x3, - /// fSAMPLING=fDTS/2, N=6 + /// fSAMPLING=fDTS/2, N=6 FDTS_Div2_N6 = 0x4, - /// fSAMPLING=fDTS/2, N=8 + /// fSAMPLING=fDTS/2, N=8 FDTS_Div2_N8 = 0x5, - /// fSAMPLING=fDTS/4, N=6 + /// fSAMPLING=fDTS/4, N=6 FDTS_Div4_N6 = 0x6, - /// fSAMPLING=fDTS/4, N=8 + /// fSAMPLING=fDTS/4, N=8 FDTS_Div4_N8 = 0x7, - /// fSAMPLING=fDTS/8, N=6 + /// fSAMPLING=fDTS/8, N=6 FDTS_Div8_N6 = 0x8, - /// fSAMPLING=fDTS/8, N=8 + /// fSAMPLING=fDTS/8, N=8 FDTS_Div8_N8 = 0x9, - /// fSAMPLING=fDTS/16, N=5 + /// fSAMPLING=fDTS/16, N=5 FDTS_Div16_N5 = 0xa, - /// fSAMPLING=fDTS/16, N=6 + /// fSAMPLING=fDTS/16, N=6 FDTS_Div16_N6 = 0xb, - /// fSAMPLING=fDTS/16, N=8 + /// fSAMPLING=fDTS/16, N=8 FDTS_Div16_N8 = 0xc, - /// fSAMPLING=fDTS/32, N=5 + /// fSAMPLING=fDTS/32, N=5 FDTS_Div32_N5 = 0xd, - /// fSAMPLING=fDTS/32, N=6 + /// fSAMPLING=fDTS/32, N=6 FDTS_Div32_N6 = 0xe, - /// fSAMPLING=fDTS/32, N=8 + /// fSAMPLING=fDTS/32, N=8 FDTS_Div32_N8 = 0xf, }; pub const MMS = enum(u3) { - /// The UG bit from the TIMx_EGR register is used as trigger output + /// The UG bit from the TIMx_EGR register is used as trigger output Reset = 0x0, - /// The counter enable signal, CNT_EN, is used as trigger output + /// The counter enable signal, CNT_EN, is used as trigger output Enable = 0x1, - /// The update event is selected as trigger output + /// The update event is selected as trigger output Update = 0x2, - /// The trigger output send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred + /// The trigger output send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred ComparePulse = 0x3, - /// OC1REF signal is used as trigger output + /// OC1REF signal is used as trigger output CompareOC1 = 0x4, - /// OC2REF signal is used as trigger output + /// OC2REF signal is used as trigger output CompareOC2 = 0x5, - /// OC3REF signal is used as trigger output + /// OC3REF signal is used as trigger output CompareOC3 = 0x6, - /// OC4REF signal is used as trigger output + /// OC4REF signal is used as trigger output CompareOC4 = 0x7, }; pub const MSM = enum(u1) { - /// No action + /// No action NoSync = 0x0, - /// The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO). It is useful if we want to synchronize several timers on a single external event. + /// The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO). It is useful if we want to synchronize several timers on a single external event. Sync = 0x1, }; pub const OCM = enum(u3) { - /// The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs + /// The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs Frozen = 0x0, - /// Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register + /// Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register ActiveOnMatch = 0x1, - /// Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register + /// Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register InactiveOnMatch = 0x2, - /// OCyREF toggles when TIMx_CNT=TIMx_CCRy + /// OCyREF toggles when TIMx_CNT=TIMx_CCRy Toggle = 0x3, - /// OCyREF is forced low + /// OCyREF is forced low ForceInactive = 0x4, - /// OCyREF is forced high + /// OCyREF is forced high ForceActive = 0x5, - /// In upcounting, channel is active as long as TIMx_CNTTIMx_CCRy else active + /// In upcounting, channel is active as long as TIMx_CNTTIMx_CCRy else active PwmMode1 = 0x6, - /// Inversely to PwmMode1 + /// Inversely to PwmMode1 PwmMode2 = 0x7, }; pub const SMS = enum(u3) { - /// Slave mode disabled - if CEN = '1' then the prescaler is clocked directly by the internal clock. + /// Slave mode disabled - if CEN = '1' then the prescaler is clocked directly by the internal clock. Disabled = 0x0, - /// Encoder mode 1 - Counter counts up/down on TI2FP1 edge depending on TI1FP2 level. + /// Encoder mode 1 - Counter counts up/down on TI2FP1 edge depending on TI1FP2 level. Encoder_Mode_1 = 0x1, - /// Encoder mode 2 - Counter counts up/down on TI1FP2 edge depending on TI2FP1 level. + /// Encoder mode 2 - Counter counts up/down on TI1FP2 edge depending on TI2FP1 level. Encoder_Mode_2 = 0x2, - /// Encoder mode 3 - Counter counts up/down on both TI1FP1 and TI2FP2 edges depending on the level of the other input. + /// Encoder mode 3 - Counter counts up/down on both TI1FP1 and TI2FP2 edges depending on the level of the other input. Encoder_Mode_3 = 0x3, - /// Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers. + /// Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers. Reset_Mode = 0x4, - /// Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled. + /// Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled. Gated_Mode = 0x5, - /// Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset). Only the start of the counter is controlled. + /// Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset). Only the start of the counter is controlled. Trigger_Mode = 0x6, - /// External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter. + /// External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter. Ext_Clock_Mode = 0x7, }; pub const TI1S = enum(u1) { - /// The TIMx_CH1 pin is connected to TI1 input + /// The TIMx_CH1 pin is connected to TI1 input Normal = 0x0, - /// The TIMx_CH1, CH2, CH3 pins are connected to TI1 input + /// The TIMx_CH1, CH2, CH3 pins are connected to TI1 input XOR = 0x1, }; pub const TS = enum(u3) { - /// Internal Trigger 0 (ITR0) + /// Internal Trigger 0 (ITR0) ITR0 = 0x0, - /// Internal Trigger 1 (ITR1) + /// Internal Trigger 1 (ITR1) ITR1 = 0x1, - /// Internal Trigger 2 (ITR2) + /// Internal Trigger 2 (ITR2) ITR2 = 0x2, - /// Internal Trigger 3 (ITR3) + /// Internal Trigger 3 (ITR3) ITR3 = 0x3, - /// TI1 Edge Detector (TI1F_ED) + /// TI1 Edge Detector (TI1F_ED) TI1F_ED = 0x4, - /// Filtered Timer Input 1 (TI1FP1) + /// Filtered Timer Input 1 (TI1FP1) TI1FP1 = 0x5, - /// Filtered Timer Input 2 (TI2FP2) + /// Filtered Timer Input 2 (TI2FP2) TI2FP2 = 0x6, - /// External Trigger input (ETRF) + /// External Trigger input (ETRF) ETRF = 0x7, }; pub const URS = enum(u1) { - /// Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request + /// Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request AnyEvent = 0x0, - /// Only counter overflow/underflow generates an update interrupt or DMA request + /// Only counter overflow/underflow generates an update interrupt or DMA request CounterOnly = 0x1, }; - /// Virtual 1-channel timers + /// Virtual 1-channel timers pub const TIM_1CH = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Clock division - CKD: packed union { - raw: u2, - value: CKD, - }, + /// Clock division + CKD: CKD, padding: u22, }), reserved12: [8]u8, - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/Compare x (x=1) interrupt enable + /// Capture/Compare x (x=1) interrupt enable CCIE: u1, padding: u30, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1) interrupt flag + /// Capture/compare x (x=1) interrupt flag CCIF: u1, reserved9: u7, - /// Capture/Compare x (x=1) overcapture flag + /// Capture/Compare x (x=1) overcapture flag CCOF: u1, padding: u22, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1) generation + /// Capture/compare x (x=1) generation CCG: u1, padding: u30, }), - /// capture/compare mode register 1 (input mode) + /// capture/compare mode register 1 (input mode) CCMR_Input: [1]mmio.Mmio(packed struct(u32) { - /// Capture/Compare y selection - CCS: packed union { - raw: u2, - value: CCMR_Input_CCS, - }, - /// Input capture y prescaler + /// Capture/Compare y selection + CCS: CCMR_Input_CCS, + /// Input capture y prescaler ICPSC: u2, - /// Input capture y filter - ICF: packed union { - raw: u4, - value: FilterValue, - }, + /// Input capture y filter + ICF: FilterValue, padding: u24, }), reserved32: [4]u8, - /// capture/compare enable register + /// capture/compare enable register CCER: mmio.Mmio(packed struct(u32) { - /// Capture/Compare x (x=1) output enable + /// Capture/Compare x (x=1) output enable CCE: u1, - /// Capture/Compare x (x=1) output Polarity + /// Capture/Compare x (x=1) output Polarity CCP: u1, reserved3: u1, - /// Capture/Compare x (x=1) output Polarity + /// Capture/Compare x (x=1) output Polarity CCNP: u1, padding: u28, }), reserved52: [16]u8, - /// capture/compare register x (x=1) + /// capture/compare register x (x=1) CCR: [1]mmio.Mmio(packed struct(u32) { - /// capture/compare x (x=1-4,6) value + /// capture/compare x (x=1-4,6) value CCR: u16, padding: u16, }), reserved80: [24]u8, - /// Option register 1 Note: Check Reference Manual to parse this register content + /// Option register 1 Note: Check Reference Manual to parse this register content OR: u32, }; - /// 2-channel timers + /// 2-channel timers pub const TIM_2CH = extern struct { reserved4: [4]u8, - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Master mode selection - MMS: packed union { - raw: u3, - value: MMS, - }, - /// TI1 selection - TI1S: packed union { - raw: u1, - value: TI1S, - }, + /// Master mode selection + MMS: MMS, + /// TI1 selection + TI1S: TI1S, padding: u24, }), - /// slave mode control register + /// slave mode control register SMCR: mmio.Mmio(packed struct(u32) { - /// Slave mode selection - SMS: packed union { - raw: u3, - value: SMS, - }, + /// Slave mode selection + SMS: SMS, reserved4: u1, - /// Trigger selection - TS: packed union { - raw: u3, - value: TS, - }, - /// Master/Slave mode - MSM: packed union { - raw: u1, - value: MSM, - }, - /// External trigger filter - ETF: packed union { - raw: u4, - value: FilterValue, - }, - /// External trigger prescaler - ETPS: packed union { - raw: u2, - value: ETPS, - }, - /// External clock mode 2 enable + /// Trigger selection + TS: TS, + /// Master/Slave mode + MSM: MSM, + /// External trigger filter + ETF: FilterValue, + /// External trigger prescaler + ETPS: ETPS, + /// External clock mode 2 enable ECE: u1, - /// External trigger polarity - ETP: packed union { - raw: u1, - value: ETP, - }, + /// External trigger polarity + ETP: ETP, padding: u16, }), - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/Compare x (x=1-2) interrupt enable + /// Capture/Compare x (x=1-2) interrupt enable CCIE: u1, reserved6: u4, - /// Trigger interrupt enable + /// Trigger interrupt enable TIE: u1, padding: u25, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-2) interrupt flag + /// Capture/compare x (x=1-2) interrupt flag CCIF: u1, reserved6: u4, - /// Trigger interrupt flag + /// Trigger interrupt flag TIF: u1, reserved9: u2, - /// Capture/Compare x (x=1-2) overcapture flag + /// Capture/Compare x (x=1-2) overcapture flag CCOF: u1, padding: u22, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-2) generation + /// Capture/compare x (x=1-2) generation CCG: u1, reserved6: u4, - /// Trigger generation + /// Trigger generation TG: u1, padding: u25, }), - /// capture/compare mode register 1 (input mode) + /// capture/compare mode register 1 (input mode) CCMR_Input: [1]mmio.Mmio(packed struct(u32) { - /// Capture/Compare y selection - CCS: packed union { - raw: u2, - value: CCMR_Input_CCS, - }, - /// Input capture y prescaler + /// Capture/Compare y selection + CCS: CCMR_Input_CCS, + /// Input capture y prescaler ICPSC: u2, - /// Input capture y filter - ICF: packed union { - raw: u4, - value: FilterValue, - }, + /// Input capture y filter + ICF: FilterValue, padding: u24, }), reserved32: [4]u8, - /// capture/compare enable register + /// capture/compare enable register CCER: mmio.Mmio(packed struct(u32) { - /// Capture/Compare x (x=1-2) output enable + /// Capture/Compare x (x=1-2) output enable CCE: u1, - /// Capture/Compare x (x=1-2) output Polarity + /// Capture/Compare x (x=1-2) output Polarity CCP: u1, reserved3: u1, - /// Capture/Compare x (x=1-2) output Polarity + /// Capture/Compare x (x=1-2) output Polarity CCNP: u1, padding: u28, }), reserved52: [16]u8, - /// capture/compare register x (x=1-2) + /// capture/compare register x (x=1-2) CCR: [2]mmio.Mmio(packed struct(u32) { - /// capture/compare x (x=1-4,6) value + /// capture/compare x (x=1-4,6) value CCR: u16, padding: u16, }), }; - /// Basic timers + /// Basic timers pub const TIM_BASIC = extern struct { reserved4: [4]u8, - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Master mode selection - MMS: packed union { - raw: u3, - value: MMS, - }, + /// Master mode selection + MMS: MMS, padding: u25, }), }; - /// Virtual Basic timers without CR2 register for common part of TIM_BASIC and TIM_1CH_CMP + /// Virtual Basic timers without CR2 register for common part of TIM_BASIC and TIM_1CH_CMP pub const TIM_BASIC_NO_CR2 = extern struct { reserved12: [12]u8, - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Update DMA request enable + /// Update DMA request enable UDE: u1, padding: u23, }), }; - /// Virtual timer for common part of TIM_BASIC and TIM_1CH + /// Virtual timer for common part of TIM_BASIC and TIM_1CH pub const TIM_CORE = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Counter enable + /// Counter enable CEN: u1, - /// Update disable + /// Update disable UDIS: u1, - /// Update request source - URS: packed union { - raw: u1, - value: URS, - }, - /// One-pulse mode enbaled + /// Update request source + URS: URS, + /// One-pulse mode enbaled OPM: u1, reserved7: u3, - /// Auto-reload preload enable + /// Auto-reload preload enable ARPE: u1, reserved11: u3, - /// UIF status bit remapping enable + /// UIF status bit remapping enable UIFREMAP: u1, padding: u20, }), reserved12: [8]u8, - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { - /// Update interrupt enable + /// Update interrupt enable UIE: u1, padding: u31, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Update interrupt flag + /// Update interrupt flag UIF: u1, padding: u31, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { - /// Update generation + /// Update generation UG: u1, padding: u31, }), reserved36: [12]u8, - /// counter + /// counter CNT: mmio.Mmio(packed struct(u32) { - /// counter value + /// counter value CNT: u16, reserved31: u15, - /// UIF copy + /// UIF copy UIFCPY: u1, }), - /// prescaler + /// prescaler PSC: u32, - /// auto-reload register + /// auto-reload register ARR: mmio.Mmio(packed struct(u32) { - /// Auto-reload value + /// Auto-reload value ARR: u16, padding: u16, }), }; - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM_GP16 = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Direction - DIR: packed union { - raw: u1, - value: DIR, - }, - /// Center-aligned mode selection - CMS: packed union { - raw: u2, - value: CMS, - }, + /// Direction + DIR: DIR, + /// Center-aligned mode selection + CMS: CMS, reserved8: u1, - /// Clock division - CKD: packed union { - raw: u2, - value: CKD, - }, + /// Clock division + CKD: CKD, padding: u22, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Capture/compare DMA selection - CCDS: packed union { - raw: u1, - value: CCDS, - }, + /// Capture/compare DMA selection + CCDS: CCDS, reserved7: u3, - /// TI1 selection - TI1S: packed union { - raw: u1, - value: TI1S, - }, + /// TI1 selection + TI1S: TI1S, padding: u24, }), - /// slave mode control register + /// slave mode control register SMCR: mmio.Mmio(packed struct(u32) { - /// Slave mode selection - SMS: packed union { - raw: u3, - value: SMS, - }, + /// Slave mode selection + SMS: SMS, reserved4: u1, - /// Trigger selection - TS: packed union { - raw: u3, - value: TS, - }, - /// Master/Slave mode - MSM: packed union { - raw: u1, - value: MSM, - }, - /// External trigger filter - ETF: packed union { - raw: u4, - value: FilterValue, - }, - /// External trigger prescaler - ETPS: packed union { - raw: u2, - value: ETPS, - }, - /// External clock mode 2 enable + /// Trigger selection + TS: TS, + /// Master/Slave mode + MSM: MSM, + /// External trigger filter + ETF: FilterValue, + /// External trigger prescaler + ETPS: ETPS, + /// External clock mode 2 enable ECE: u1, - /// External trigger polarity - ETP: packed union { - raw: u1, - value: ETP, - }, + /// External trigger polarity + ETP: ETP, padding: u16, }), - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/Compare x (x=1-4) interrupt enable + /// Capture/Compare x (x=1-4) interrupt enable CCIE: u1, reserved6: u4, - /// Trigger interrupt enable + /// Trigger interrupt enable TIE: u1, reserved9: u2, - /// Capture/Compare x (x=1-4) DMA request enable + /// Capture/Compare x (x=1-4) DMA request enable CCDE: u1, reserved14: u4, - /// Trigger DMA request enable + /// Trigger DMA request enable TDE: u1, padding: u17, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-4) interrupt flag + /// Capture/compare x (x=1-4) interrupt flag CCIF: u1, reserved6: u4, - /// Trigger interrupt flag + /// Trigger interrupt flag TIF: u1, reserved9: u2, - /// Capture/Compare x (x=1-4) overcapture flag + /// Capture/Compare x (x=1-4) overcapture flag CCOF: u1, padding: u22, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-4) generation + /// Capture/compare x (x=1-4) generation CCG: u1, reserved6: u4, - /// Trigger generation + /// Trigger generation TG: u1, padding: u25, }), - /// capture/compare mode register 1-2 (input mode) + /// capture/compare mode register 1-2 (input mode) CCMR_Input: [2]mmio.Mmio(packed struct(u32) { - /// Capture/Compare y selection - CCS: packed union { - raw: u2, - value: CCMR_Input_CCS, - }, - /// Input capture y prescaler + /// Capture/Compare y selection + CCS: CCMR_Input_CCS, + /// Input capture y prescaler ICPSC: u2, - /// Input capture y filter - ICF: packed union { - raw: u4, - value: FilterValue, - }, + /// Input capture y filter + ICF: FilterValue, padding: u24, }), - /// capture/compare enable register + /// capture/compare enable register CCER: mmio.Mmio(packed struct(u32) { - /// Capture/Compare x (x=1-4) output enable + /// Capture/Compare x (x=1-4) output enable CCE: u1, - /// Capture/Compare x (x=1-4) output Polarity + /// Capture/Compare x (x=1-4) output Polarity CCP: u1, reserved3: u1, - /// Capture/Compare x (x=1-4) output Polarity + /// Capture/Compare x (x=1-4) output Polarity CCNP: u1, padding: u28, }), reserved52: [16]u8, - /// capture/compare register x (x=1-4) + /// capture/compare register x (x=1-4) CCR: [4]mmio.Mmio(packed struct(u32) { - /// capture/compare x (x=1-4,6) value + /// capture/compare x (x=1-4,6) value CCR: u16, padding: u16, }), reserved72: [4]u8, - /// DMA control register + /// DMA control register DCR: mmio.Mmio(packed struct(u32) { - /// DMA base address + /// DMA base address DBA: u5, reserved8: u3, - /// DMA burst length + /// DMA burst length DBL: u5, padding: u19, }), - /// DMA address for full transfer + /// DMA address for full transfer DMAR: mmio.Mmio(packed struct(u32) { - /// DMA register for burst accesses + /// DMA register for burst accesses DMAB: u16, padding: u16, }), @@ -434421,3092 +423978,2750 @@ pub const types = struct { pub const timer_v1 = struct { pub const BKINP = enum(u1) { - /// input polarity is not inverted (active low if BKxP = 0, active high if BKxP = 1) + /// input polarity is not inverted (active low if BKxP = 0, active high if BKxP = 1) NotInverted = 0x0, - /// input polarity is inverted (active high if BKxP = 0, active low if BKxP = 1) + /// input polarity is inverted (active high if BKxP = 0, active low if BKxP = 1) Inverted = 0x1, }; pub const BKP = enum(u1) { - /// Break input tim_brk is active low + /// Break input tim_brk is active low ActiveLow = 0x0, - /// Break input tim_brk is active high + /// Break input tim_brk is active high ActiveHigh = 0x1, }; pub const CCDS = enum(u1) { - /// CCx DMA request sent when CCx event occurs + /// CCx DMA request sent when CCx event occurs OnCompare = 0x0, - /// CCx DMA request sent when update event occurs + /// CCx DMA request sent when update event occurs OnUpdate = 0x1, }; pub const CCMR_Input_CCS = enum(u2) { - /// CCx channel is configured as input, normal mapping: ICx mapped to TIx + /// CCx channel is configured as input, normal mapping: ICx mapped to TIx TI4 = 0x1, - /// CCx channel is configured as input, alternate mapping (switches 1 with 2, 3 with 4) + /// CCx channel is configured as input, alternate mapping (switches 1 with 2, 3 with 4) TI3 = 0x2, - /// CCx channel is configured as input, ICx is mapped on TRC + /// CCx channel is configured as input, ICx is mapped on TRC TRC = 0x3, _, }; pub const CCMR_Output_CCS = enum(u2) { - /// CCx channel is configured as output + /// CCx channel is configured as output Output = 0x0, _, }; pub const CKD = enum(u2) { - /// t_DTS = t_CK_INT + /// t_DTS = t_CK_INT Div1 = 0x0, - /// t_DTS = 2 × t_CK_INT + /// t_DTS = 2 × t_CK_INT Div2 = 0x1, - /// t_DTS = 4 × t_CK_INT + /// t_DTS = 4 × t_CK_INT Div4 = 0x2, _, }; pub const CMS = enum(u2) { - /// The counter counts up or down depending on the direction bit + /// The counter counts up or down depending on the direction bit EdgeAligned = 0x0, - /// The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down. + /// The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down. CenterAligned1 = 0x1, - /// The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up. + /// The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up. CenterAligned2 = 0x2, - /// The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down. + /// The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down. CenterAligned3 = 0x3, }; pub const DIR = enum(u1) { - /// Counter used as upcounter + /// Counter used as upcounter Up = 0x0, - /// Counter used as downcounter + /// Counter used as downcounter Down = 0x1, }; pub const ETP = enum(u1) { - /// ETR is noninverted, active at high level or rising edge + /// ETR is noninverted, active at high level or rising edge NotInverted = 0x0, - /// ETR is inverted, active at low level or falling edge + /// ETR is inverted, active at low level or falling edge Inverted = 0x1, }; pub const ETPS = enum(u2) { - /// Prescaler OFF + /// Prescaler OFF Div1 = 0x0, - /// ETRP frequency divided by 2 + /// ETRP frequency divided by 2 Div2 = 0x1, - /// ETRP frequency divided by 4 + /// ETRP frequency divided by 4 Div4 = 0x2, - /// ETRP frequency divided by 8 + /// ETRP frequency divided by 8 Div8 = 0x3, }; pub const FilterValue = enum(u4) { - /// No filter, sampling is done at fDTS + /// No filter, sampling is done at fDTS NoFilter = 0x0, - /// fSAMPLING=fCK_INT, N=2 + /// fSAMPLING=fCK_INT, N=2 FCK_INT_N2 = 0x1, - /// fSAMPLING=fCK_INT, N=4 + /// fSAMPLING=fCK_INT, N=4 FCK_INT_N4 = 0x2, - /// fSAMPLING=fCK_INT, N=8 + /// fSAMPLING=fCK_INT, N=8 FCK_INT_N8 = 0x3, - /// fSAMPLING=fDTS/2, N=6 + /// fSAMPLING=fDTS/2, N=6 FDTS_Div2_N6 = 0x4, - /// fSAMPLING=fDTS/2, N=8 + /// fSAMPLING=fDTS/2, N=8 FDTS_Div2_N8 = 0x5, - /// fSAMPLING=fDTS/4, N=6 + /// fSAMPLING=fDTS/4, N=6 FDTS_Div4_N6 = 0x6, - /// fSAMPLING=fDTS/4, N=8 + /// fSAMPLING=fDTS/4, N=8 FDTS_Div4_N8 = 0x7, - /// fSAMPLING=fDTS/8, N=6 + /// fSAMPLING=fDTS/8, N=6 FDTS_Div8_N6 = 0x8, - /// fSAMPLING=fDTS/8, N=8 + /// fSAMPLING=fDTS/8, N=8 FDTS_Div8_N8 = 0x9, - /// fSAMPLING=fDTS/16, N=5 + /// fSAMPLING=fDTS/16, N=5 FDTS_Div16_N5 = 0xa, - /// fSAMPLING=fDTS/16, N=6 + /// fSAMPLING=fDTS/16, N=6 FDTS_Div16_N6 = 0xb, - /// fSAMPLING=fDTS/16, N=8 + /// fSAMPLING=fDTS/16, N=8 FDTS_Div16_N8 = 0xc, - /// fSAMPLING=fDTS/32, N=5 + /// fSAMPLING=fDTS/32, N=5 FDTS_Div32_N5 = 0xd, - /// fSAMPLING=fDTS/32, N=6 + /// fSAMPLING=fDTS/32, N=6 FDTS_Div32_N6 = 0xe, - /// fSAMPLING=fDTS/32, N=8 + /// fSAMPLING=fDTS/32, N=8 FDTS_Div32_N8 = 0xf, }; pub const GC5C = enum(u1) { - /// No effect of TIM_OC5REF on TIM_OCxREFC (x=1-3) + /// No effect of TIM_OC5REF on TIM_OCxREFC (x=1-3) NoEffect = 0x0, - /// TIM_OCxREFC is the logical AND of TIM_OCxREF and TIM_OC5REF + /// TIM_OCxREFC is the logical AND of TIM_OCxREF and TIM_OC5REF LogicalAND = 0x1, }; pub const LOCK = enum(u2) { - /// No bit is write protected + /// No bit is write protected Disabled = 0x0, - /// DTG bits in TIMx_BDTR register, OISx and OISxN bits in TIMx_CR2 register and BKBID/BKE/BKP/AOE bits in TIMx_BDTR register can no longer be written + /// DTG bits in TIMx_BDTR register, OISx and OISxN bits in TIMx_CR2 register and BKBID/BKE/BKP/AOE bits in TIMx_BDTR register can no longer be written Level1 = 0x1, - /// LOCK Level 1 + CC Polarity bits (CCxP/CCxNP bits in TIMx_CCER register, as long as the related channel is configured in output through the CCxS bits) as well as OSSR and OSSI bits can no longer be written. + /// LOCK Level 1 + CC Polarity bits (CCxP/CCxNP bits in TIMx_CCER register, as long as the related channel is configured in output through the CCxS bits) as well as OSSR and OSSI bits can no longer be written. Level2 = 0x2, - /// LOCK Level 2 + CC Control bits (OCxM and OCxPE bits in TIMx_CCMRx registers, as long as the related channel is configured in output through the CCxS bits) can no longer be written. + /// LOCK Level 2 + CC Control bits (OCxM and OCxPE bits in TIMx_CCMRx registers, as long as the related channel is configured in output through the CCxS bits) can no longer be written. Level3 = 0x3, }; pub const MMS = enum(u3) { - /// The UG bit from the TIMx_EGR register is used as trigger output + /// The UG bit from the TIMx_EGR register is used as trigger output Reset = 0x0, - /// The counter enable signal, CNT_EN, is used as trigger output + /// The counter enable signal, CNT_EN, is used as trigger output Enable = 0x1, - /// The update event is selected as trigger output + /// The update event is selected as trigger output Update = 0x2, - /// The trigger output send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred + /// The trigger output send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred ComparePulse = 0x3, - /// OC1REF signal is used as trigger output + /// OC1REF signal is used as trigger output CompareOC1 = 0x4, - /// OC2REF signal is used as trigger output + /// OC2REF signal is used as trigger output CompareOC2 = 0x5, - /// OC3REF signal is used as trigger output + /// OC3REF signal is used as trigger output CompareOC3 = 0x6, - /// OC4REF signal is used as trigger output + /// OC4REF signal is used as trigger output CompareOC4 = 0x7, }; pub const MMS2 = enum(u4) { - /// The UG bit from the TIMx_EGR register is used as TRGO2 + /// The UG bit from the TIMx_EGR register is used as TRGO2 Reset = 0x0, - /// The counter enable signal, CNT_EN, is used as TRGO2 + /// The counter enable signal, CNT_EN, is used as TRGO2 Enable = 0x1, - /// The update event is selected as TRGO2 + /// The update event is selected as TRGO2 Update = 0x2, - /// TRGO2 send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred + /// TRGO2 send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred ComparePulse = 0x3, - /// OC1REF signal is used as TRGO2 + /// OC1REF signal is used as TRGO2 CompareOC1 = 0x4, - /// OC2REF signal is used as TRGO2 + /// OC2REF signal is used as TRGO2 CompareOC2 = 0x5, - /// OC3REF signal is used as TRGO2 + /// OC3REF signal is used as TRGO2 CompareOC3 = 0x6, - /// OC4REF signal is used as TRGO2 + /// OC4REF signal is used as TRGO2 CompareOC4 = 0x7, - /// OC5REF signal is used as TRGO2 + /// OC5REF signal is used as TRGO2 CompareOC5 = 0x8, - /// OC6REF signal is used as TRGO2 + /// OC6REF signal is used as TRGO2 CompareOC6 = 0x9, - /// OC4REF rising or falling edges generate pulses on TRGO2 + /// OC4REF rising or falling edges generate pulses on TRGO2 ComparePulse_OC4 = 0xa, - /// OC6REF rising or falling edges generate pulses on TRGO2 + /// OC6REF rising or falling edges generate pulses on TRGO2 ComparePulse_OC6 = 0xb, - /// OC4REF or OC6REF rising edges generate pulses on TRGO2 + /// OC4REF or OC6REF rising edges generate pulses on TRGO2 ComparePulse_OC4_Or_OC6_Rising = 0xc, - /// OC4REF rising or OC6REF falling edges generate pulses on TRGO2 + /// OC4REF rising or OC6REF falling edges generate pulses on TRGO2 ComparePulse_OC4_Rising_Or_OC6_Falling = 0xd, - /// OC5REF or OC6REF rising edges generate pulses on TRGO2 + /// OC5REF or OC6REF rising edges generate pulses on TRGO2 ComparePulse_OC5_Or_OC6_Rising = 0xe, - /// OC5REF rising or OC6REF falling edges generate pulses on TRGO2 + /// OC5REF rising or OC6REF falling edges generate pulses on TRGO2 ComparePulse_OC5_Rising_Or_OC6_Falling = 0xf, }; pub const MSM = enum(u1) { - /// No action + /// No action NoSync = 0x0, - /// The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO). It is useful if we want to synchronize several timers on a single external event. + /// The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO). It is useful if we want to synchronize several timers on a single external event. Sync = 0x1, }; pub const OCM = enum(u3) { - /// The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs + /// The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs Frozen = 0x0, - /// Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register + /// Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register ActiveOnMatch = 0x1, - /// Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register + /// Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register InactiveOnMatch = 0x2, - /// OCyREF toggles when TIMx_CNT=TIMx_CCRy + /// OCyREF toggles when TIMx_CNT=TIMx_CCRy Toggle = 0x3, - /// OCyREF is forced low + /// OCyREF is forced low ForceInactive = 0x4, - /// OCyREF is forced high + /// OCyREF is forced high ForceActive = 0x5, - /// In upcounting, channel is active as long as TIMx_CNTTIMx_CCRy else active + /// In upcounting, channel is active as long as TIMx_CNTTIMx_CCRy else active PwmMode1 = 0x6, - /// Inversely to PwmMode1 + /// Inversely to PwmMode1 PwmMode2 = 0x7, }; pub const OSSI = enum(u1) { - /// When inactive, OC/OCN outputs are disabled + /// When inactive, OC/OCN outputs are disabled Disabled = 0x0, - /// When inactive, OC/OCN outputs are forced to idle level + /// When inactive, OC/OCN outputs are forced to idle level IdleLevel = 0x1, }; pub const OSSR = enum(u1) { - /// When inactive, OC/OCN outputs are disabled + /// When inactive, OC/OCN outputs are disabled Disabled = 0x0, - /// When inactive, OC/OCN outputs are enabled with their inactive level + /// When inactive, OC/OCN outputs are enabled with their inactive level IdleLevel = 0x1, }; pub const SMS = enum(u4) { - /// Slave mode disabled - if CEN = '1' then the prescaler is clocked directly by the internal clock. + /// Slave mode disabled - if CEN = '1' then the prescaler is clocked directly by the internal clock. Disabled = 0x0, - /// Encoder mode 1 - Counter counts up/down on TI2FP1 edge depending on TI1FP2 level. + /// Encoder mode 1 - Counter counts up/down on TI2FP1 edge depending on TI1FP2 level. Encoder_Mode_1 = 0x1, - /// Encoder mode 2 - Counter counts up/down on TI1FP2 edge depending on TI2FP1 level. + /// Encoder mode 2 - Counter counts up/down on TI1FP2 edge depending on TI2FP1 level. Encoder_Mode_2 = 0x2, - /// Encoder mode 3 - Counter counts up/down on both TI1FP1 and TI2FP2 edges depending on the level of the other input. + /// Encoder mode 3 - Counter counts up/down on both TI1FP1 and TI2FP2 edges depending on the level of the other input. Encoder_Mode_3 = 0x3, - /// Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers. + /// Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers. Reset_Mode = 0x4, - /// Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled. + /// Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled. Gated_Mode = 0x5, - /// Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset). Only the start of the counter is controlled. + /// Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset). Only the start of the counter is controlled. Trigger_Mode = 0x6, - /// External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter. + /// External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter. Ext_Clock_Mode = 0x7, - /// Rising edge of the selected trigger input (tim_trgi) reinitializes the counter, generates an update of the registers and starts the counter. + /// Rising edge of the selected trigger input (tim_trgi) reinitializes the counter, generates an update of the registers and starts the counter. Combined_Reset_Trigger = 0x8, _, }; pub const TI1S = enum(u1) { - /// The TIMx_CH1 pin is connected to TI1 input + /// The TIMx_CH1 pin is connected to TI1 input Normal = 0x0, - /// The TIMx_CH1, CH2, CH3 pins are connected to TI1 input + /// The TIMx_CH1, CH2, CH3 pins are connected to TI1 input XOR = 0x1, }; pub const TS = enum(u5) { - /// Internal Trigger 0 + /// Internal Trigger 0 ITR0 = 0x0, - /// Internal Trigger 1 + /// Internal Trigger 1 ITR1 = 0x1, - /// Internal Trigger 2 + /// Internal Trigger 2 ITR2 = 0x2, - /// Internal Trigger 3 + /// Internal Trigger 3 ITR3 = 0x3, - /// TI1 Edge Detector + /// TI1 Edge Detector TI1F_ED = 0x4, - /// Filtered Timer Input 1 + /// Filtered Timer Input 1 TI1FP1 = 0x5, - /// Filtered Timer Input 2 + /// Filtered Timer Input 2 TI2FP2 = 0x6, - /// External Trigger input + /// External Trigger input ETRF = 0x7, _, }; pub const URS = enum(u1) { - /// Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request + /// Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request AnyEvent = 0x0, - /// Only counter overflow/underflow generates an update interrupt or DMA request + /// Only counter overflow/underflow generates an update interrupt or DMA request CounterOnly = 0x1, }; - /// 1-channel timers + /// 1-channel timers pub const TIM_1CH = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Clock division - CKD: packed union { - raw: u2, - value: CKD, - }, + /// Clock division + CKD: CKD, padding: u22, }), reserved12: [8]u8, - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/Compare x (x=1) interrupt enable + /// Capture/Compare x (x=1) interrupt enable CCIE: u1, padding: u30, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1) interrupt flag + /// Capture/compare x (x=1) interrupt flag CCIF: u1, reserved9: u7, - /// Capture/Compare x (x=1) overcapture flag + /// Capture/Compare x (x=1) overcapture flag CCOF: u1, padding: u22, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1) generation + /// Capture/compare x (x=1) generation CCG: u1, padding: u30, }), - /// capture/compare mode register 1 (input mode) + /// capture/compare mode register 1 (input mode) CCMR_Input: [1]mmio.Mmio(packed struct(u32) { - /// Capture/Compare y selection - CCS: packed union { - raw: u2, - value: CCMR_Input_CCS, - }, - /// Input capture y prescaler + /// Capture/Compare y selection + CCS: CCMR_Input_CCS, + /// Input capture y prescaler ICPSC: u2, - /// Input capture y filter - ICF: packed union { - raw: u4, - value: FilterValue, - }, + /// Input capture y filter + ICF: FilterValue, padding: u24, }), reserved32: [4]u8, - /// capture/compare enable register + /// capture/compare enable register CCER: mmio.Mmio(packed struct(u32) { - /// Capture/Compare x (x=1) output enable + /// Capture/Compare x (x=1) output enable CCE: u1, - /// Capture/Compare x (x=1) output Polarity + /// Capture/Compare x (x=1) output Polarity CCP: u1, reserved3: u1, - /// Capture/Compare x (x=1) output Polarity + /// Capture/Compare x (x=1) output Polarity CCNP: u1, padding: u28, }), reserved52: [16]u8, - /// capture/compare register x (x=1) + /// capture/compare register x (x=1) CCR: [1]mmio.Mmio(packed struct(u32) { - /// capture/compare x (x=1-4,6) value + /// capture/compare x (x=1-4,6) value CCR: u16, padding: u16, }), reserved80: [24]u8, - /// Option register 1 Note: Check Reference Manual to parse this register content + /// Option register 1 Note: Check Reference Manual to parse this register content OR: u32, reserved104: [20]u8, - /// input selection register + /// input selection register TISEL: mmio.Mmio(packed struct(u32) { - /// Selects TIM_TIx (x=1) input + /// Selects TIM_TIx (x=1) input TISEL: u4, padding: u28, }), }; - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM_1CH_CMP = extern struct { reserved4: [4]u8, - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Capture/compare preloaded control + /// Capture/compare preloaded control CCPC: u1, reserved2: u1, - /// Capture/compare control update selection + /// Capture/compare control update selection CCUS: u1, - /// Capture/compare DMA selection - CCDS: packed union { - raw: u1, - value: CCDS, - }, + /// Capture/compare DMA selection + CCDS: CCDS, reserved8: u4, - /// Output Idle state x (x=1) + /// Output Idle state x (x=1) OIS: u1, - /// Output Idle state x (x=1) + /// Output Idle state x (x=1) OISN: u1, padding: u22, }), reserved12: [4]u8, - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// COM interrupt enable + /// COM interrupt enable COMIE: u1, reserved7: u1, - /// Break interrupt enable + /// Break interrupt enable BIE: u1, - /// Update DMA request enable + /// Update DMA request enable UDE: u1, - /// Capture/Compare x (x=1) DMA request enable + /// Capture/Compare x (x=1) DMA request enable CCDE: u1, padding: u22, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// COM interrupt flag + /// COM interrupt flag COMIF: u1, reserved7: u1, - /// Break x (x=1) interrupt flag + /// Break x (x=1) interrupt flag BIF: u1, padding: u24, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// Capture/Compare control update generation + /// Capture/Compare control update generation COMG: u1, reserved7: u1, - /// Break x (x=1) generation + /// Break x (x=1) generation BG: u1, padding: u24, }), reserved32: [8]u8, - /// capture/compare enable register + /// capture/compare enable register CCER: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Capture/Compare x (x=1) complementary output enable + /// Capture/Compare x (x=1) complementary output enable CCNE: u1, padding: u29, }), reserved48: [12]u8, - /// repetition counter register + /// repetition counter register RCR: mmio.Mmio(packed struct(u32) { - /// Repetition counter value + /// Repetition counter value REP: u8, padding: u24, }), reserved68: [16]u8, - /// break and dead-time register + /// break and dead-time register BDTR: mmio.Mmio(packed struct(u32) { - /// Dead-time generator setup + /// Dead-time generator setup DTG: u8, - /// Lock configuration - LOCK: packed union { - raw: u2, - value: LOCK, - }, - /// Off-state selection for Idle mode - OSSI: packed union { - raw: u1, - value: OSSI, - }, - /// Off-state selection for Run mode - OSSR: packed union { - raw: u1, - value: OSSR, - }, - /// Break x (x=1) enable + /// Lock configuration + LOCK: LOCK, + /// Off-state selection for Idle mode + OSSI: OSSI, + /// Off-state selection for Run mode + OSSR: OSSR, + /// Break x (x=1) enable BKE: u1, - /// Break x (x=1) polarity - BKP: packed union { - raw: u1, - value: BKP, - }, - /// Automatic output enable + /// Break x (x=1) polarity + BKP: BKP, + /// Automatic output enable AOE: u1, - /// Main output enable + /// Main output enable MOE: u1, - /// Break x (x=1) filter - BKF: packed union { - raw: u4, - value: FilterValue, - }, + /// Break x (x=1) filter + BKF: FilterValue, padding: u12, }), - /// DMA control register + /// DMA control register DCR: mmio.Mmio(packed struct(u32) { - /// DMA base address + /// DMA base address DBA: u5, reserved8: u3, - /// DMA burst length + /// DMA burst length DBL: u5, padding: u19, }), - /// DMA address for full transfer + /// DMA address for full transfer DMAR: mmio.Mmio(packed struct(u32) { - /// DMA register for burst accesses + /// DMA register for burst accesses DMAB: u16, padding: u16, }), reserved96: [16]u8, - /// alternate function register 1 + /// alternate function register 1 AF1: mmio.Mmio(packed struct(u32) { - /// TIMx_BKIN input enable + /// TIMx_BKIN input enable BKINE: u1, - /// TIM_BRK_CMPx (x=1-2) enable + /// TIM_BRK_CMPx (x=1-2) enable BKCMPE: u1, reserved8: u6, - /// BRK DFSDM1_BREAKx enable (x=0 if TIM15, x=1 if TIM16, x=2 if TIM17) + /// BRK DFSDM1_BREAKx enable (x=0 if TIM15, x=1 if TIM16, x=2 if TIM17) BKDF1BKE: u1, - /// TIMx_BKIN input polarity - BKINP: packed union { - raw: u1, - value: BKINP, - }, - /// TIM_BRK_CMPx (x=1-2) input polarity - BKCMPP: packed union { - raw: u1, - value: BKINP, - }, + /// TIMx_BKIN input polarity + BKINP: BKINP, + /// TIM_BRK_CMPx (x=1-2) input polarity + BKCMPP: BKINP, padding: u21, }), }; - /// 2-channel timers + /// 2-channel timers pub const TIM_2CH = extern struct { reserved4: [4]u8, - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Master mode selection - MMS: packed union { - raw: u3, - value: MMS, - }, - /// TI1 selection - TI1S: packed union { - raw: u1, - value: TI1S, - }, + /// Master mode selection + MMS: MMS, + /// TI1 selection + TI1S: TI1S, padding: u24, }), - /// slave mode control register + /// slave mode control register SMCR: u32, - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/Compare x (x=1-2) interrupt enable + /// Capture/Compare x (x=1-2) interrupt enable CCIE: u1, reserved6: u4, - /// Trigger interrupt enable + /// Trigger interrupt enable TIE: u1, padding: u25, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-2) interrupt flag + /// Capture/compare x (x=1-2) interrupt flag CCIF: u1, reserved6: u4, - /// Trigger interrupt flag + /// Trigger interrupt flag TIF: u1, reserved9: u2, - /// Capture/Compare x (x=1-2) overcapture flag + /// Capture/Compare x (x=1-2) overcapture flag CCOF: u1, padding: u22, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-2) generation + /// Capture/compare x (x=1-2) generation CCG: u1, reserved6: u4, - /// Trigger generation + /// Trigger generation TG: u1, padding: u25, }), - /// capture/compare mode register 1 (input mode) + /// capture/compare mode register 1 (input mode) CCMR_Input: [1]mmio.Mmio(packed struct(u32) { - /// Capture/Compare y selection - CCS: packed union { - raw: u2, - value: CCMR_Input_CCS, - }, - /// Input capture y prescaler + /// Capture/Compare y selection + CCS: CCMR_Input_CCS, + /// Input capture y prescaler ICPSC: u2, - /// Input capture y filter - ICF: packed union { - raw: u4, - value: FilterValue, - }, + /// Input capture y filter + ICF: FilterValue, padding: u24, }), reserved32: [4]u8, - /// capture/compare enable register + /// capture/compare enable register CCER: mmio.Mmio(packed struct(u32) { - /// Capture/Compare x (x=1-2) output enable + /// Capture/Compare x (x=1-2) output enable CCE: u1, - /// Capture/Compare x (x=1-2) output Polarity + /// Capture/Compare x (x=1-2) output Polarity CCP: u1, reserved3: u1, - /// Capture/Compare x (x=1-2) output Polarity + /// Capture/Compare x (x=1-2) output Polarity CCNP: u1, padding: u28, }), reserved52: [16]u8, - /// capture/compare register x (x=1-2) + /// capture/compare register x (x=1-2) CCR: [2]mmio.Mmio(packed struct(u32) { - /// capture/compare x (x=1-4,6) value + /// capture/compare x (x=1-4,6) value CCR: u16, padding: u16, }), reserved104: [44]u8, - /// input selection register + /// input selection register TISEL: mmio.Mmio(packed struct(u32) { - /// Selects TIM_TIx (x=1-2) input + /// Selects TIM_TIx (x=1-2) input TISEL: u4, padding: u28, }), }; - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM_2CH_CMP = extern struct { reserved4: [4]u8, - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Master mode selection - MMS: packed union { - raw: u3, - value: MMS, - }, - /// TI1 selection - TI1S: packed union { - raw: u1, - value: TI1S, - }, - /// Output Idle state x (x=1,2) + /// Master mode selection + MMS: MMS, + /// TI1 selection + TI1S: TI1S, + /// Output Idle state x (x=1,2) OIS: u1, padding: u23, }), - /// slave mode control register + /// slave mode control register SMCR: u32, - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved6: u6, - /// Trigger interrupt enable + /// Trigger interrupt enable TIE: u1, reserved13: u6, - /// COM DMA request enable + /// COM DMA request enable COMDE: u1, - /// Trigger DMA request enable + /// Trigger DMA request enable TDE: u1, padding: u17, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1,2) interrupt flag + /// Capture/compare x (x=1,2) interrupt flag CCIF: u1, reserved6: u4, - /// Trigger interrupt flag + /// Trigger interrupt flag TIF: u1, reserved9: u2, - /// Capture/Compare x (x=1,2) overcapture flag + /// Capture/Compare x (x=1,2) overcapture flag CCOF: u1, padding: u22, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1,2) generation + /// Capture/compare x (x=1,2) generation CCG: u1, reserved6: u4, - /// Trigger generation + /// Trigger generation TG: u1, padding: u25, }), - /// capture/compare mode register 1 (input mode) + /// capture/compare mode register 1 (input mode) CCMR_Input: [2]mmio.Mmio(packed struct(u32) { - /// Capture/Compare y selection - CCS: packed union { - raw: u2, - value: CCMR_Input_CCS, - }, - /// Input capture y prescaler + /// Capture/Compare y selection + CCS: CCMR_Input_CCS, + /// Input capture y prescaler ICPSC: u2, - /// Input capture y filter - ICF: packed union { - raw: u4, - value: FilterValue, - }, + /// Input capture y filter + ICF: FilterValue, padding: u24, }), - /// capture/compare enable register + /// capture/compare enable register CCER: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Capture/Compare x (x=1) complementary output enable + /// Capture/Compare x (x=1) complementary output enable CCNE: u1, padding: u29, }), reserved52: [16]u8, - /// capture/compare register x (x=1-2) + /// capture/compare register x (x=1-2) CCR: [2]mmio.Mmio(packed struct(u32) { - /// capture/compare x (x=1-4,6) value + /// capture/compare x (x=1-4,6) value CCR: u16, padding: u16, }), reserved68: [8]u8, - /// break and dead-time register + /// break and dead-time register BDTR: mmio.Mmio(packed struct(u32) { - /// Dead-time generator setup + /// Dead-time generator setup DTG: u8, - /// Lock configuration - LOCK: packed union { - raw: u2, - value: LOCK, - }, - /// Off-state selection for Idle mode - OSSI: packed union { - raw: u1, - value: OSSI, - }, - /// Off-state selection for Run mode - OSSR: packed union { - raw: u1, - value: OSSR, - }, - /// Break x (x=1) enable + /// Lock configuration + LOCK: LOCK, + /// Off-state selection for Idle mode + OSSI: OSSI, + /// Off-state selection for Run mode + OSSR: OSSR, + /// Break x (x=1) enable BKE: u1, - /// Break x (x=1) polarity - BKP: packed union { - raw: u1, - value: BKP, - }, - /// Automatic output enable + /// Break x (x=1) polarity + BKP: BKP, + /// Automatic output enable AOE: u1, - /// Main output enable + /// Main output enable MOE: u1, - /// Break x (x=1) filter - BKF: packed union { - raw: u4, - value: FilterValue, - }, + /// Break x (x=1) filter + BKF: FilterValue, padding: u12, }), reserved104: [32]u8, - /// input selection register + /// input selection register TISEL: mmio.Mmio(packed struct(u32) { - /// Selects TIM_TIx (x=1-2) input + /// Selects TIM_TIx (x=1-2) input TISEL: u4, padding: u28, }), }; - /// Advanced Control timers + /// Advanced Control timers pub const TIM_ADV = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Direction - DIR: packed union { - raw: u1, - value: DIR, - }, - /// Center-aligned mode selection - CMS: packed union { - raw: u2, - value: CMS, - }, + /// Direction + DIR: DIR, + /// Center-aligned mode selection + CMS: CMS, reserved8: u1, - /// Clock division - CKD: packed union { - raw: u2, - value: CKD, - }, + /// Clock division + CKD: CKD, padding: u22, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Output Idle state x (x=1-6) + /// Output Idle state x (x=1-6) OIS: u1, - /// Output Idle state x N x (x=1-4) + /// Output Idle state x N x (x=1-4) OISN: u1, reserved20: u10, - /// Master mode selection 2 - MMS2: packed union { - raw: u4, - value: MMS2, - }, + /// Master mode selection 2 + MMS2: MMS2, padding: u8, }), - /// slave mode control register + /// slave mode control register SMCR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// External trigger filter - ETF: packed union { - raw: u4, - value: FilterValue, - }, - /// External trigger prescaler - ETPS: packed union { - raw: u2, - value: ETPS, - }, - /// External clock mode 2 enable + /// External trigger filter + ETF: FilterValue, + /// External trigger prescaler + ETPS: ETPS, + /// External clock mode 2 enable ECE: u1, - /// External trigger polarity - ETP: packed union { - raw: u1, - value: ETP, - }, + /// External trigger polarity + ETP: ETP, padding: u16, }), - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/Compare x (x=1-4) interrupt enable + /// Capture/Compare x (x=1-4) interrupt enable CCIE: u1, reserved9: u7, - /// Capture/Compare x (x=1-4) DMA request enable + /// Capture/Compare x (x=1-4) DMA request enable CCDE: u1, padding: u22, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-4) interrupt flag + /// Capture/compare x (x=1-4) interrupt flag CCIF: u1, reserved7: u5, - /// Break x (x=1,2) interrupt flag + /// Break x (x=1,2) interrupt flag BIF: u1, reserved9: u1, - /// Capture/Compare x (x=1-4) overcapture flag + /// Capture/Compare x (x=1-4) overcapture flag CCOF: u1, reserved13: u3, - /// System break interrupt flag + /// System break interrupt flag SBIF: u1, reserved16: u2, - /// Capture/compare 5 interrupt flag + /// Capture/compare 5 interrupt flag CCIF5: u1, - /// Capture/compare 6 interrupt flag + /// Capture/compare 6 interrupt flag CCIF6: u1, padding: u14, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-4) generation + /// Capture/compare x (x=1-4) generation CCG: u1, reserved7: u5, - /// Break x (x=1-2) generation + /// Break x (x=1-2) generation BG: u1, padding: u24, }), - /// capture/compare mode register 1-2 (input mode) + /// capture/compare mode register 1-2 (input mode) CCMR_Input: [2]mmio.Mmio(packed struct(u32) { - /// Capture/Compare y selection - CCS: packed union { - raw: u2, - value: CCMR_Input_CCS, - }, - /// Input capture y prescaler + /// Capture/Compare y selection + CCS: CCMR_Input_CCS, + /// Input capture y prescaler ICPSC: u2, - /// Input capture y filter - ICF: packed union { - raw: u4, - value: FilterValue, - }, + /// Input capture y filter + ICF: FilterValue, padding: u24, }), - /// capture/compare enable register + /// capture/compare enable register CCER: mmio.Mmio(packed struct(u32) { - /// Capture/Compare x (x=1-6) output enable + /// Capture/Compare x (x=1-6) output enable CCE: u1, - /// Capture/Compare x (x=1-6) output Polarity + /// Capture/Compare x (x=1-6) output Polarity CCP: u1, - /// Capture/Compare x (x=1-3) complementary output enable + /// Capture/Compare x (x=1-3) complementary output enable CCNE: u1, - /// Capture/Compare x (x=1-4) output Polarity + /// Capture/Compare x (x=1-4) output Polarity CCNP: u1, padding: u28, }), reserved48: [12]u8, - /// repetition counter register + /// repetition counter register RCR: mmio.Mmio(packed struct(u32) { - /// Repetition counter value + /// Repetition counter value REP: u16, padding: u16, }), - /// capture/compare register x (x=1-4) + /// capture/compare register x (x=1-4) CCR: [4]mmio.Mmio(packed struct(u32) { - /// capture/compare x (x=1-4,6) value + /// capture/compare x (x=1-4,6) value CCR: u16, padding: u16, }), - /// break and dead-time register + /// break and dead-time register BDTR: mmio.Mmio(packed struct(u32) { reserved12: u12, - /// Break x (x=1,2) enable + /// Break x (x=1,2) enable BKE: u1, - /// Break x (x=1,2) polarity - BKP: packed union { - raw: u1, - value: BKP, - }, + /// Break x (x=1,2) polarity + BKP: BKP, reserved16: u2, - /// Break x (x=1,2) filter - BKF: packed union { - raw: u4, - value: FilterValue, - }, + /// Break x (x=1,2) filter + BKF: FilterValue, padding: u12, }), reserved76: [4]u8, - /// DMA address for full transfer + /// DMA address for full transfer DMAR: u32, reserved84: [4]u8, - /// capture/compare mode register 3 + /// capture/compare mode register 3 CCMR3: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Output compare x (x=5,6) fast enable + /// Output compare x (x=5,6) fast enable OCFE: u1, - /// Output compare x (x=5,6) preload enable + /// Output compare x (x=5,6) preload enable OCPE: u1, - /// Output compare x (x=5,6) mode - OCM: packed union { - raw: u3, - value: OCM, - }, - /// Output compare x (x=5,6) clear enable + /// Output compare x (x=5,6) mode + OCM: OCM, + /// Output compare x (x=5,6) clear enable OCCE: u1, padding: u24, }), - /// capture/compare register 5 + /// capture/compare register 5 CCR5: mmio.Mmio(packed struct(u32) { reserved29: u29, - /// Group channel 5 and channel x (x=1-3) - GC5C: packed union { - raw: u1, - value: GC5C, - }, + /// Group channel 5 and channel x (x=1-3) + GC5C: GC5C, padding: u2, }), - /// capture/compare register 6 + /// capture/compare register 6 CCR6: mmio.Mmio(packed struct(u32) { - /// capture/compare x (x=1-4,6) value + /// capture/compare x (x=1-4,6) value CCR: u16, padding: u16, }), - /// alternate function register 1 + /// alternate function register 1 AF1: mmio.Mmio(packed struct(u32) { reserved14: u14, - /// etr_in source selection + /// etr_in source selection ETRSEL: u4, padding: u14, }), - /// alternate function register 2 + /// alternate function register 2 AF2: mmio.Mmio(packed struct(u32) { - /// TIMx_BKIN2 input enable + /// TIMx_BKIN2 input enable BK2INE: u1, - /// TIM_BRK2_CMPx (x=1-8) enable + /// TIM_BRK2_CMPx (x=1-8) enable BK2CMPE: u1, reserved8: u6, - /// BRK2 DFSDM1_BREAK1 enable + /// BRK2 DFSDM1_BREAK1 enable BK2DF1BK1E: u1, - /// TIMx_BK2IN input polarity - BK2INP: packed union { - raw: u1, - value: BKINP, - }, - /// TIM_BRK2_CMPx (x=1-4) input polarity - BK2CMPP: packed union { - raw: u1, - value: BKINP, - }, + /// TIMx_BK2IN input polarity + BK2INP: BKINP, + /// TIM_BRK2_CMPx (x=1-4) input polarity + BK2CMPP: BKINP, padding: u21, }), - /// input selection register + /// input selection register TISEL: mmio.Mmio(packed struct(u32) { - /// Selects TIM_TIx (x=1-4) input + /// Selects TIM_TIx (x=1-4) input TISEL: u4, padding: u28, }), }; - /// Basic timers + /// Basic timers pub const TIM_BASIC = extern struct { reserved4: [4]u8, - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Master mode selection - MMS: packed union { - raw: u3, - value: MMS, - }, + /// Master mode selection + MMS: MMS, padding: u25, }), }; - /// Virtual Basic timers without CR2 register for common part of TIM_BASIC and TIM_1CH_CMP + /// Virtual Basic timers without CR2 register for common part of TIM_BASIC and TIM_1CH_CMP pub const TIM_BASIC_NO_CR2 = extern struct { reserved12: [12]u8, - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Update DMA request enable + /// Update DMA request enable UDE: u1, padding: u23, }), }; - /// Virtual timer for common part of TIM_BASIC and TIM_1CH + /// Virtual timer for common part of TIM_BASIC and TIM_1CH pub const TIM_CORE = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Counter enable + /// Counter enable CEN: u1, - /// Update disable + /// Update disable UDIS: u1, - /// Update request source - URS: packed union { - raw: u1, - value: URS, - }, - /// One-pulse mode enbaled + /// Update request source + URS: URS, + /// One-pulse mode enbaled OPM: u1, reserved7: u3, - /// Auto-reload preload enable + /// Auto-reload preload enable ARPE: u1, reserved11: u3, - /// UIF status bit remapping enable + /// UIF status bit remapping enable UIFREMAP: u1, padding: u20, }), reserved12: [8]u8, - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { - /// Update interrupt enable + /// Update interrupt enable UIE: u1, padding: u31, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Update interrupt flag + /// Update interrupt flag UIF: u1, padding: u31, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { - /// Update generation + /// Update generation UG: u1, padding: u31, }), reserved36: [12]u8, - /// counter + /// counter CNT: mmio.Mmio(packed struct(u32) { - /// counter value + /// counter value CNT: u16, reserved31: u15, - /// UIF copy + /// UIF copy UIFCPY: u1, }), - /// prescaler + /// prescaler PSC: u32, - /// auto-reload register + /// auto-reload register ARR: mmio.Mmio(packed struct(u32) { - /// Auto-reload value + /// Auto-reload value ARR: u16, padding: u16, }), }; - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM_GP16 = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Direction - DIR: packed union { - raw: u1, - value: DIR, - }, - /// Center-aligned mode selection - CMS: packed union { - raw: u2, - value: CMS, - }, + /// Direction + DIR: DIR, + /// Center-aligned mode selection + CMS: CMS, reserved8: u1, - /// Clock division - CKD: packed union { - raw: u2, - value: CKD, - }, + /// Clock division + CKD: CKD, padding: u22, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Capture/compare DMA selection - CCDS: packed union { - raw: u1, - value: CCDS, - }, + /// Capture/compare DMA selection + CCDS: CCDS, reserved7: u3, - /// TI1 selection - TI1S: packed union { - raw: u1, - value: TI1S, - }, + /// TI1 selection + TI1S: TI1S, padding: u24, }), - /// slave mode control register + /// slave mode control register SMCR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// External trigger filter - ETF: packed union { - raw: u4, - value: FilterValue, - }, - /// External trigger prescaler - ETPS: packed union { - raw: u2, - value: ETPS, - }, - /// External clock mode 2 enable + /// External trigger filter + ETF: FilterValue, + /// External trigger prescaler + ETPS: ETPS, + /// External clock mode 2 enable ECE: u1, - /// External trigger polarity - ETP: packed union { - raw: u1, - value: ETP, - }, + /// External trigger polarity + ETP: ETP, padding: u16, }), - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/Compare x (x=1-4) interrupt enable + /// Capture/Compare x (x=1-4) interrupt enable CCIE: u1, reserved6: u4, - /// Trigger interrupt enable + /// Trigger interrupt enable TIE: u1, reserved9: u2, - /// Capture/Compare x (x=1-4) DMA request enable + /// Capture/Compare x (x=1-4) DMA request enable CCDE: u1, reserved14: u4, - /// Trigger DMA request enable + /// Trigger DMA request enable TDE: u1, padding: u17, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-4) interrupt flag + /// Capture/compare x (x=1-4) interrupt flag CCIF: u1, reserved6: u4, - /// Trigger interrupt flag + /// Trigger interrupt flag TIF: u1, reserved9: u2, - /// Capture/Compare x (x=1-4) overcapture flag + /// Capture/Compare x (x=1-4) overcapture flag CCOF: u1, padding: u22, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-4) generation + /// Capture/compare x (x=1-4) generation CCG: u1, reserved6: u4, - /// Trigger generation + /// Trigger generation TG: u1, padding: u25, }), - /// capture/compare mode register 1-2 (input mode) + /// capture/compare mode register 1-2 (input mode) CCMR_Input: [2]mmio.Mmio(packed struct(u32) { - /// Capture/Compare y selection - CCS: packed union { - raw: u2, - value: CCMR_Input_CCS, - }, - /// Input capture y prescaler + /// Capture/Compare y selection + CCS: CCMR_Input_CCS, + /// Input capture y prescaler ICPSC: u2, - /// Input capture y filter - ICF: packed union { - raw: u4, - value: FilterValue, - }, + /// Input capture y filter + ICF: FilterValue, padding: u24, }), - /// capture/compare enable register + /// capture/compare enable register CCER: mmio.Mmio(packed struct(u32) { - /// Capture/Compare x (x=1-4) output enable + /// Capture/Compare x (x=1-4) output enable CCE: u1, - /// Capture/Compare x (x=1-4) output Polarity + /// Capture/Compare x (x=1-4) output Polarity CCP: u1, reserved3: u1, - /// Capture/Compare x (x=1-4) output Polarity + /// Capture/Compare x (x=1-4) output Polarity CCNP: u1, padding: u28, }), reserved52: [16]u8, - /// capture/compare register x (x=1-4) + /// capture/compare register x (x=1-4) CCR: [4]mmio.Mmio(packed struct(u32) { - /// capture/compare x (x=1-4,6) value + /// capture/compare x (x=1-4,6) value CCR: u16, padding: u16, }), reserved72: [4]u8, - /// DMA control register + /// DMA control register DCR: mmio.Mmio(packed struct(u32) { - /// DMA base address + /// DMA base address DBA: u5, reserved8: u3, - /// DMA burst length + /// DMA burst length DBL: u5, padding: u19, }), - /// DMA address for full transfer + /// DMA address for full transfer DMAR: mmio.Mmio(packed struct(u32) { - /// DMA register for burst accesses + /// DMA register for burst accesses DMAB: u16, padding: u16, }), reserved96: [16]u8, - /// alternate function register 1 + /// alternate function register 1 AF1: mmio.Mmio(packed struct(u32) { reserved14: u14, - /// etr_in source selection + /// etr_in source selection ETRSEL: u4, padding: u14, }), reserved104: [4]u8, - /// input selection register + /// input selection register TISEL: mmio.Mmio(packed struct(u32) { - /// Selects TIM_TIx (x=1-4) input + /// Selects TIM_TIx (x=1-4) input TISEL: u4, padding: u28, }), }; - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM_GP32 = extern struct { reserved36: [36]u8, - /// counter + /// counter CNT: u32, reserved44: [4]u8, - /// auto-reload register + /// auto-reload register ARR: u32, reserved52: [4]u8, - /// capture/compare register x (x=1-4) + /// capture/compare register x (x=1-4) CCR: [4]u32, }; }; pub const timer_v2 = struct { pub const BKBID = enum(u1) { - /// Break input tim_brk in input mode + /// Break input tim_brk in input mode Input = 0x0, - /// Break input tim_brk in bidirectional mode + /// Break input tim_brk in bidirectional mode Bidirectional = 0x1, }; pub const BKDSRM = enum(u1) { - /// Break input tim_brk is armed + /// Break input tim_brk is armed Armed = 0x0, - /// Break input tim_brk is disarmed + /// Break input tim_brk is disarmed Disarmed = 0x1, }; pub const BKINP = enum(u1) { - /// input polarity is not inverted (active low if BKxP = 0, active high if BKxP = 1) + /// input polarity is not inverted (active low if BKxP = 0, active high if BKxP = 1) NotInverted = 0x0, - /// input polarity is inverted (active high if BKxP = 0, active low if BKxP = 1) + /// input polarity is inverted (active high if BKxP = 0, active low if BKxP = 1) Inverted = 0x1, }; pub const BKP = enum(u1) { - /// Break input tim_brk is active low + /// Break input tim_brk is active low ActiveLow = 0x0, - /// Break input tim_brk is active high + /// Break input tim_brk is active high ActiveHigh = 0x1, }; pub const CCDS = enum(u1) { - /// CCx DMA request sent when CCx event occurs + /// CCx DMA request sent when CCx event occurs OnCompare = 0x0, - /// CCx DMA request sent when update event occurs + /// CCx DMA request sent when update event occurs OnUpdate = 0x1, }; pub const CCMR_Input_CCS = enum(u2) { - /// CCx channel is configured as input, normal mapping: ICx mapped to TIx + /// CCx channel is configured as input, normal mapping: ICx mapped to TIx TI4 = 0x1, - /// CCx channel is configured as input, alternate mapping (switches 1 with 2, 3 with 4) + /// CCx channel is configured as input, alternate mapping (switches 1 with 2, 3 with 4) TI3 = 0x2, - /// CCx channel is configured as input, ICx is mapped on TRC + /// CCx channel is configured as input, ICx is mapped on TRC TRC = 0x3, _, }; pub const CCMR_Output_CCS = enum(u2) { - /// CCx channel is configured as output + /// CCx channel is configured as output Output = 0x0, _, }; pub const CKD = enum(u2) { - /// t_DTS = t_CK_INT + /// t_DTS = t_CK_INT Div1 = 0x0, - /// t_DTS = 2 × t_CK_INT + /// t_DTS = 2 × t_CK_INT Div2 = 0x1, - /// t_DTS = 4 × t_CK_INT + /// t_DTS = 4 × t_CK_INT Div4 = 0x2, _, }; pub const CMS = enum(u2) { - /// The counter counts up or down depending on the direction bit + /// The counter counts up or down depending on the direction bit EdgeAligned = 0x0, - /// The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down. + /// The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down. CenterAligned1 = 0x1, - /// The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up. + /// The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up. CenterAligned2 = 0x2, - /// The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down. + /// The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down. CenterAligned3 = 0x3, }; pub const DBSS = enum(u4) { - /// Update + /// Update Update = 0x1, - /// CC1 + /// CC1 CC1 = 0x2, - /// CC2 + /// CC2 CC2 = 0x3, - /// CC3 + /// CC3 CC3 = 0x4, - /// CC4 + /// CC4 CC4 = 0x5, - /// COM + /// COM COM = 0x6, - /// Trigger + /// Trigger Trigger = 0x7, _, }; pub const DIR = enum(u1) { - /// Counter used as upcounter + /// Counter used as upcounter Up = 0x0, - /// Counter used as downcounter + /// Counter used as downcounter Down = 0x1, }; pub const DTAE = enum(u1) { - /// Deadtime on rising and falling edges are identical, and defined with DTG[7:0] register + /// Deadtime on rising and falling edges are identical, and defined with DTG[7:0] register Identical = 0x0, - /// Deadtime on rising edge is defined with DTG[7:0] register and deadtime on falling edge is defined with DTGF[7:0] bits. + /// Deadtime on rising edge is defined with DTG[7:0] register and deadtime on falling edge is defined with DTGF[7:0] bits. Distinct = 0x1, }; pub const ETP = enum(u1) { - /// ETR is noninverted, active at high level or rising edge + /// ETR is noninverted, active at high level or rising edge NotInverted = 0x0, - /// ETR is inverted, active at low level or falling edge + /// ETR is inverted, active at low level or falling edge Inverted = 0x1, }; pub const ETPS = enum(u2) { - /// Prescaler OFF + /// Prescaler OFF Div1 = 0x0, - /// ETRP frequency divided by 2 + /// ETRP frequency divided by 2 Div2 = 0x1, - /// ETRP frequency divided by 4 + /// ETRP frequency divided by 4 Div4 = 0x2, - /// ETRP frequency divided by 8 + /// ETRP frequency divided by 8 Div8 = 0x3, }; pub const FIDX = enum(u1) { - /// Index is always active + /// Index is always active AlwaysActive = 0x0, - /// the first Index only resets the counter + /// the first Index only resets the counter FirstOnly = 0x1, }; pub const FilterValue = enum(u4) { - /// No filter, sampling is done at fDTS + /// No filter, sampling is done at fDTS NoFilter = 0x0, - /// fSAMPLING=fCK_INT, N=2 + /// fSAMPLING=fCK_INT, N=2 FCK_INT_N2 = 0x1, - /// fSAMPLING=fCK_INT, N=4 + /// fSAMPLING=fCK_INT, N=4 FCK_INT_N4 = 0x2, - /// fSAMPLING=fCK_INT, N=8 + /// fSAMPLING=fCK_INT, N=8 FCK_INT_N8 = 0x3, - /// fSAMPLING=fDTS/2, N=6 + /// fSAMPLING=fDTS/2, N=6 FDTS_Div2_N6 = 0x4, - /// fSAMPLING=fDTS/2, N=8 + /// fSAMPLING=fDTS/2, N=8 FDTS_Div2_N8 = 0x5, - /// fSAMPLING=fDTS/4, N=6 + /// fSAMPLING=fDTS/4, N=6 FDTS_Div4_N6 = 0x6, - /// fSAMPLING=fDTS/4, N=8 + /// fSAMPLING=fDTS/4, N=8 FDTS_Div4_N8 = 0x7, - /// fSAMPLING=fDTS/8, N=6 + /// fSAMPLING=fDTS/8, N=6 FDTS_Div8_N6 = 0x8, - /// fSAMPLING=fDTS/8, N=8 + /// fSAMPLING=fDTS/8, N=8 FDTS_Div8_N8 = 0x9, - /// fSAMPLING=fDTS/16, N=5 + /// fSAMPLING=fDTS/16, N=5 FDTS_Div16_N5 = 0xa, - /// fSAMPLING=fDTS/16, N=6 + /// fSAMPLING=fDTS/16, N=6 FDTS_Div16_N6 = 0xb, - /// fSAMPLING=fDTS/16, N=8 + /// fSAMPLING=fDTS/16, N=8 FDTS_Div16_N8 = 0xc, - /// fSAMPLING=fDTS/32, N=5 + /// fSAMPLING=fDTS/32, N=5 FDTS_Div32_N5 = 0xd, - /// fSAMPLING=fDTS/32, N=6 + /// fSAMPLING=fDTS/32, N=6 FDTS_Div32_N6 = 0xe, - /// fSAMPLING=fDTS/32, N=8 + /// fSAMPLING=fDTS/32, N=8 FDTS_Div32_N8 = 0xf, }; pub const GC5C = enum(u1) { - /// No effect of TIM_OC5REF on TIM_OCxREFC (x=1-3) + /// No effect of TIM_OC5REF on TIM_OCxREFC (x=1-3) NoEffect = 0x0, - /// TIM_OCxREFC is the logical AND of TIM_OCxREF and TIM_OC5REF + /// TIM_OCxREFC is the logical AND of TIM_OCxREF and TIM_OC5REF LogicalAND = 0x1, }; pub const IBLK = enum(u2) { - /// Index always active + /// Index always active AlwaysActive = 0x0, - /// Index disabled when tim_ti3 input is active, as per CC3P bitfield + /// Index disabled when tim_ti3 input is active, as per CC3P bitfield CC3P = 0x1, - /// Index disabled when tim_ti4 input is active, as per CC4P bitfield + /// Index disabled when tim_ti4 input is active, as per CC4P bitfield CC4P = 0x2, _, }; pub const IDIR = enum(u2) { - /// Index resets the counter whatever the direction + /// Index resets the counter whatever the direction Both = 0x0, - /// Index resets the counter when up-counting only + /// Index resets the counter when up-counting only Up = 0x1, - /// Index resets the counter when down-counting only + /// Index resets the counter when down-counting only Down = 0x2, _, }; pub const LOCK = enum(u2) { - /// No bit is write protected + /// No bit is write protected Disabled = 0x0, - /// DTG bits in TIMx_BDTR register, OISx and OISxN bits in TIMx_CR2 register and BKBID/BKE/BKP/AOE bits in TIMx_BDTR register can no longer be written + /// DTG bits in TIMx_BDTR register, OISx and OISxN bits in TIMx_CR2 register and BKBID/BKE/BKP/AOE bits in TIMx_BDTR register can no longer be written Level1 = 0x1, - /// LOCK Level 1 + CC Polarity bits (CCxP/CCxNP bits in TIMx_CCER register, as long as the related channel is configured in output through the CCxS bits) as well as OSSR and OSSI bits can no longer be written. + /// LOCK Level 1 + CC Polarity bits (CCxP/CCxNP bits in TIMx_CCER register, as long as the related channel is configured in output through the CCxS bits) as well as OSSR and OSSI bits can no longer be written. Level2 = 0x2, - /// LOCK Level 2 + CC Control bits (OCxM and OCxPE bits in TIMx_CCMRx registers, as long as the related channel is configured in output through the CCxS bits) can no longer be written. + /// LOCK Level 2 + CC Control bits (OCxM and OCxPE bits in TIMx_CCMRx registers, as long as the related channel is configured in output through the CCxS bits) can no longer be written. Level3 = 0x3, }; pub const MMS = enum(u4) { - /// The UG bit from the TIMx_EGR register is used as trigger output + /// The UG bit from the TIMx_EGR register is used as trigger output Reset = 0x0, - /// The counter enable signal, CNT_EN, is used as trigger output + /// The counter enable signal, CNT_EN, is used as trigger output Enable = 0x1, - /// The update event is selected as trigger output + /// The update event is selected as trigger output Update = 0x2, - /// The trigger output send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred + /// The trigger output send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred ComparePulse = 0x3, - /// OC1REF signal is used as trigger output + /// OC1REF signal is used as trigger output CompareOC1 = 0x4, - /// OC2REF signal is used as trigger output + /// OC2REF signal is used as trigger output CompareOC2 = 0x5, - /// OC3REF signal is used as trigger output + /// OC3REF signal is used as trigger output CompareOC3 = 0x6, - /// OC4REF signal is used as trigger output + /// OC4REF signal is used as trigger output CompareOC4 = 0x7, - /// The encoder clock signal is used as trigger output + /// The encoder clock signal is used as trigger output EncoderClockOutput = 0x8, _, }; pub const MMS2 = enum(u4) { - /// The UG bit from the TIMx_EGR register is used as TRGO2 + /// The UG bit from the TIMx_EGR register is used as TRGO2 Reset = 0x0, - /// The counter enable signal, CNT_EN, is used as TRGO2 + /// The counter enable signal, CNT_EN, is used as TRGO2 Enable = 0x1, - /// The update event is selected as TRGO2 + /// The update event is selected as TRGO2 Update = 0x2, - /// TRGO2 send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred + /// TRGO2 send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred ComparePulse = 0x3, - /// OC1REF signal is used as TRGO2 + /// OC1REF signal is used as TRGO2 CompareOC1 = 0x4, - /// OC2REF signal is used as TRGO2 + /// OC2REF signal is used as TRGO2 CompareOC2 = 0x5, - /// OC3REF signal is used as TRGO2 + /// OC3REF signal is used as TRGO2 CompareOC3 = 0x6, - /// OC4REF signal is used as TRGO2 + /// OC4REF signal is used as TRGO2 CompareOC4 = 0x7, - /// OC5REF signal is used as TRGO2 + /// OC5REF signal is used as TRGO2 CompareOC5 = 0x8, - /// OC6REF signal is used as TRGO2 + /// OC6REF signal is used as TRGO2 CompareOC6 = 0x9, - /// OC4REF rising or falling edges generate pulses on TRGO2 + /// OC4REF rising or falling edges generate pulses on TRGO2 ComparePulse_OC4 = 0xa, - /// OC6REF rising or falling edges generate pulses on TRGO2 + /// OC6REF rising or falling edges generate pulses on TRGO2 ComparePulse_OC6 = 0xb, - /// OC4REF or OC6REF rising edges generate pulses on TRGO2 + /// OC4REF or OC6REF rising edges generate pulses on TRGO2 ComparePulse_OC4_Or_OC6_Rising = 0xc, - /// OC4REF rising or OC6REF falling edges generate pulses on TRGO2 + /// OC4REF rising or OC6REF falling edges generate pulses on TRGO2 ComparePulse_OC4_Rising_Or_OC6_Falling = 0xd, - /// OC5REF or OC6REF rising edges generate pulses on TRGO2 + /// OC5REF or OC6REF rising edges generate pulses on TRGO2 ComparePulse_OC5_Or_OC6_Rising = 0xe, - /// OC5REF rising or OC6REF falling edges generate pulses on TRGO2 + /// OC5REF rising or OC6REF falling edges generate pulses on TRGO2 ComparePulse_OC5_Rising_Or_OC6_Falling = 0xf, }; pub const MSM = enum(u1) { - /// No action + /// No action NoSync = 0x0, - /// The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO). It is useful if we want to synchronize several timers on a single external event. + /// The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO). It is useful if we want to synchronize several timers on a single external event. Sync = 0x1, }; pub const OCCS = enum(u1) { - /// tim_ocref_clr_int is connected to the tim_ocref_clr input + /// tim_ocref_clr_int is connected to the tim_ocref_clr input Input = 0x0, - /// tim_ocref_clr_int is connected to tim_etrf + /// tim_ocref_clr_int is connected to tim_etrf ETRF = 0x1, }; pub const OCM = enum(u4) { - /// The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs + /// The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs Frozen = 0x0, - /// Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register + /// Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register ActiveOnMatch = 0x1, - /// Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register + /// Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register InactiveOnMatch = 0x2, - /// OCyREF toggles when TIMx_CNT=TIMx_CCRy + /// OCyREF toggles when TIMx_CNT=TIMx_CCRy Toggle = 0x3, - /// OCyREF is forced low + /// OCyREF is forced low ForceInactive = 0x4, - /// OCyREF is forced high + /// OCyREF is forced high ForceActive = 0x5, - /// In upcounting, channel is active as long as TIMx_CNTTIMx_CCRy else active + /// In upcounting, channel is active as long as TIMx_CNTTIMx_CCRy else active PwmMode1 = 0x6, - /// Inversely to PwmMode1 + /// Inversely to PwmMode1 PwmMode2 = 0x7, - /// In up-counting mode, the channel is active until a trigger event is detected (on tim_trgi signal). Then, a comparison is performed as in PWM mode 1 and the channels becomes active again at the next update. In down-counting mode, the channel is inactive until a trigger event is detected (on tim_trgi signal). Then, a comparison is performed as in PWM mode 1 and the channels becomes inactive again at the next update. + /// In up-counting mode, the channel is active until a trigger event is detected (on tim_trgi signal). Then, a comparison is performed as in PWM mode 1 and the channels becomes active again at the next update. In down-counting mode, the channel is inactive until a trigger event is detected (on tim_trgi signal). Then, a comparison is performed as in PWM mode 1 and the channels becomes inactive again at the next update. Retrigerrable_OPM_Mode_1 = 0x8, - /// In up-counting mode, the channel is inactive until a trigger event is detected (on tim_trgi signal). Then, a comparison is performed as in PWM mode 2 and the channels becomes inactive again at the next update. In down- counting mode, the channel is active until a trigger event is detected (on tim_trgi signal). Then, a comparison is performed as in PWM mode 1 and the channels becomes active again at the next update. + /// In up-counting mode, the channel is inactive until a trigger event is detected (on tim_trgi signal). Then, a comparison is performed as in PWM mode 2 and the channels becomes inactive again at the next update. In down- counting mode, the channel is active until a trigger event is detected (on tim_trgi signal). Then, a comparison is performed as in PWM mode 1 and the channels becomes active again at the next update. Retrigerrable_OPM_Mode_2 = 0x9, - /// _reserved1 + /// _reserved1 _reserved1 = 0xa, - /// _reserved2 + /// _reserved2 _reserved2 = 0xb, - /// tim_oc1ref has the same behavior as in PWM mode 1. tim_oc1refc is the logical OR between tim_oc1ref and tim_oc2ref. + /// tim_oc1ref has the same behavior as in PWM mode 1. tim_oc1refc is the logical OR between tim_oc1ref and tim_oc2ref. Combined_PWM_Mode_1 = 0xc, - /// tim_oc1ref has the same behavior as in PWM mode 2. tim_oc1refc is the logical AND between tim_oc1ref and tim_oc2ref. + /// tim_oc1ref has the same behavior as in PWM mode 2. tim_oc1refc is the logical AND between tim_oc1ref and tim_oc2ref. Combined_PWM_Mode_2 = 0xd, - /// tim_oc1ref has the same behavior as in PWM mode 1. tim_oc1refc outputs tim_oc1ref when the counter is counting up, tim_oc2ref when it is counting down. + /// tim_oc1ref has the same behavior as in PWM mode 1. tim_oc1refc outputs tim_oc1ref when the counter is counting up, tim_oc2ref when it is counting down. Asymmetric_PWM_Mode_1 = 0xe, - /// tim_oc1ref has the same behavior as in PWM mode 2. tim_oc1refc outputs tim_oc1ref when the counter is counting up, tim_oc2ref when it is counting down. + /// tim_oc1ref has the same behavior as in PWM mode 2. tim_oc1refc outputs tim_oc1ref when the counter is counting up, tim_oc2ref when it is counting down. Asymmetric_PWM_Mode_2 = 0xf, }; pub const OSSI = enum(u1) { - /// When inactive, OC/OCN outputs are disabled + /// When inactive, OC/OCN outputs are disabled Disabled = 0x0, - /// When inactive, OC/OCN outputs are forced to idle level + /// When inactive, OC/OCN outputs are forced to idle level IdleLevel = 0x1, }; pub const OSSR = enum(u1) { - /// When inactive, OC/OCN outputs are disabled + /// When inactive, OC/OCN outputs are disabled Disabled = 0x0, - /// When inactive, OC/OCN outputs are enabled with their inactive level + /// When inactive, OC/OCN outputs are enabled with their inactive level IdleLevel = 0x1, }; pub const SMS = enum(u4) { - /// Slave mode disabled - if CEN = '1' then the prescaler is clocked directly by the internal clock. + /// Slave mode disabled - if CEN = '1' then the prescaler is clocked directly by the internal clock. Disabled = 0x0, - /// Encoder mode 1 - Counter counts up/down on TI2FP1 edge depending on TI1FP2 level. + /// Encoder mode 1 - Counter counts up/down on TI2FP1 edge depending on TI1FP2 level. Encoder_Mode_1 = 0x1, - /// Encoder mode 2 - Counter counts up/down on TI1FP2 edge depending on TI2FP1 level. + /// Encoder mode 2 - Counter counts up/down on TI1FP2 edge depending on TI2FP1 level. Encoder_Mode_2 = 0x2, - /// Encoder mode 3 - Counter counts up/down on both TI1FP1 and TI2FP2 edges depending on the level of the other input. + /// Encoder mode 3 - Counter counts up/down on both TI1FP1 and TI2FP2 edges depending on the level of the other input. Encoder_Mode_3 = 0x3, - /// Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers. + /// Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers. Reset_Mode = 0x4, - /// Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled. + /// Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled. Gated_Mode = 0x5, - /// Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset). Only the start of the counter is controlled. + /// Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset). Only the start of the counter is controlled. Trigger_Mode = 0x6, - /// External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter. + /// External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter. Ext_Clock_Mode = 0x7, - /// Rising edge of the selected trigger input (tim_trgi) reinitializes the counter, generates an update of the registers and starts the counter. + /// Rising edge of the selected trigger input (tim_trgi) reinitializes the counter, generates an update of the registers and starts the counter. Combined_Reset_Trigger = 0x8, - /// The counter clock is enabled when the trigger input (tim_trgi) is high. The counter stops and is reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled. + /// The counter clock is enabled when the trigger input (tim_trgi) is high. The counter stops and is reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled. Combined_Gated_Trigger = 0x9, - /// Encoder mode, Clock plus direction, x2 mode. + /// Encoder mode, Clock plus direction, x2 mode. Encoder_Up_X2 = 0xa, - /// Encoder mode, Clock plus direction, x1 mode, tim_ti2fp2 edge sensitivity is set by CC2P + /// Encoder mode, Clock plus direction, x1 mode, tim_ti2fp2 edge sensitivity is set by CC2P Encoder_Up_X1 = 0xb, - /// Encoder mode, Directional Clock, x2 mode. + /// Encoder mode, Directional Clock, x2 mode. Encoder_Dir_X2 = 0xc, - /// Encoder mode, Directional Clock, x1 mode, tim_ti1fp1 and tim_ti2fp2 edge sensitivity is set by CC1P and CC2P. + /// Encoder mode, Directional Clock, x1 mode, tim_ti1fp1 and tim_ti2fp2 edge sensitivity is set by CC1P and CC2P. Encoder_Dir_X1 = 0xd, - /// Quadrature encoder mode, x1 mode, counting on tim_ti1fp1 edges only, edge sensitivity is set by CC1P. + /// Quadrature encoder mode, x1 mode, counting on tim_ti1fp1 edges only, edge sensitivity is set by CC1P. Quadrature_Encoder_Mode_X1_TI1PF1 = 0xe, - /// Quadrature encoder mode, x1 mode, counting on tim_ti2fp2 edges only, edge sensitivity is set by CC2P. + /// Quadrature encoder mode, x1 mode, counting on tim_ti2fp2 edges only, edge sensitivity is set by CC2P. Quadrature_Encoder_Mode_X1_TI2PF2 = 0xf, }; pub const SMSPS = enum(u1) { - /// The transfer is triggered by the Timer’s Update event + /// The transfer is triggered by the Timer’s Update event Update = 0x0, - /// The transfer is triggered by the Index event + /// The transfer is triggered by the Index event Index = 0x1, }; pub const TI1S = enum(u1) { - /// The TIMx_CH1 pin is connected to TI1 input + /// The TIMx_CH1 pin is connected to TI1 input Normal = 0x0, - /// The TIMx_CH1, CH2, CH3 pins are connected to TI1 input + /// The TIMx_CH1, CH2, CH3 pins are connected to TI1 input XOR = 0x1, }; pub const TS = enum(u5) { - /// Internal Trigger 0 + /// Internal Trigger 0 ITR0 = 0x0, - /// Internal Trigger 1 + /// Internal Trigger 1 ITR1 = 0x1, - /// Internal Trigger 2 + /// Internal Trigger 2 ITR2 = 0x2, - /// Internal Trigger 3 + /// Internal Trigger 3 ITR3 = 0x3, - /// TI1 Edge Detector + /// TI1 Edge Detector TI1F_ED = 0x4, - /// Filtered Timer Input 1 + /// Filtered Timer Input 1 TI1FP1 = 0x5, - /// Filtered Timer Input 2 + /// Filtered Timer Input 2 TI2FP2 = 0x6, - /// External Trigger input + /// External Trigger input ETRF = 0x7, - /// Internal Trigger 4 + /// Internal Trigger 4 ITR4 = 0x8, - /// Internal Trigger 5 + /// Internal Trigger 5 ITR5 = 0x9, - /// Internal Trigger 6 + /// Internal Trigger 6 ITR6 = 0xa, - /// Internal Trigger 7 + /// Internal Trigger 7 ITR7 = 0xb, - /// Internal Trigger 8 + /// Internal Trigger 8 ITR8 = 0xc, - /// Internal Trigger 9 + /// Internal Trigger 9 ITR9 = 0xd, - /// Internal Trigger 10 + /// Internal Trigger 10 ITR10 = 0xe, - /// Internal Trigger 11 + /// Internal Trigger 11 ITR11 = 0xf, - /// Internal Trigger 12 + /// Internal Trigger 12 ITR12 = 0x10, - /// Internal Trigger 13 + /// Internal Trigger 13 ITR13 = 0x11, - /// Internal Trigger 14 + /// Internal Trigger 14 ITR14 = 0x12, - /// Internal Trigger 15 + /// Internal Trigger 15 ITR15 = 0x13, _, }; pub const URS = enum(u1) { - /// Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request + /// Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request AnyEvent = 0x0, - /// Only counter overflow/underflow generates an update interrupt or DMA request + /// Only counter overflow/underflow generates an update interrupt or DMA request CounterOnly = 0x1, }; - /// 1-channel timers + /// 1-channel timers pub const TIM_1CH = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Clock division - CKD: packed union { - raw: u2, - value: CKD, - }, + /// Clock division + CKD: CKD, padding: u22, }), reserved12: [8]u8, - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/Compare x (x=1) interrupt enable + /// Capture/Compare x (x=1) interrupt enable CCIE: u1, padding: u30, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1) interrupt flag + /// Capture/compare x (x=1) interrupt flag CCIF: u1, reserved9: u7, - /// Capture/Compare x (x=1) overcapture flag + /// Capture/Compare x (x=1) overcapture flag CCOF: u1, padding: u22, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1) generation + /// Capture/compare x (x=1) generation CCG: u1, padding: u30, }), - /// capture/compare mode register 1 (input mode) + /// capture/compare mode register 1 (input mode) CCMR_Input: [1]mmio.Mmio(packed struct(u32) { - /// Capture/Compare y selection - CCS: packed union { - raw: u2, - value: CCMR_Input_CCS, - }, - /// Input capture y prescaler + /// Capture/Compare y selection + CCS: CCMR_Input_CCS, + /// Input capture y prescaler ICPSC: u2, - /// Input capture y filter - ICF: packed union { - raw: u4, - value: FilterValue, - }, + /// Input capture y filter + ICF: FilterValue, padding: u24, }), reserved32: [4]u8, - /// capture/compare enable register + /// capture/compare enable register CCER: mmio.Mmio(packed struct(u32) { - /// Capture/Compare x (x=1) output enable + /// Capture/Compare x (x=1) output enable CCE: u1, - /// Capture/Compare x (x=1) output Polarity + /// Capture/Compare x (x=1) output Polarity CCP: u1, reserved3: u1, - /// Capture/Compare x (x=1) output Polarity + /// Capture/Compare x (x=1) output Polarity CCNP: u1, padding: u28, }), reserved52: [16]u8, - /// capture/compare register x (x=1) (Dither mode disabled) + /// capture/compare register x (x=1) (Dither mode disabled) CCR: [1]mmio.Mmio(packed struct(u32) { - /// capture/compare x (x=1-4,6) value + /// capture/compare x (x=1-4,6) value CCR: u16, padding: u16, }), reserved92: [36]u8, - /// input selection register + /// input selection register TISEL: mmio.Mmio(packed struct(u32) { - /// Selects TIM_TIx (x=1) input + /// Selects TIM_TIx (x=1) input TISEL: u4, padding: u28, }), reserved104: [8]u8, - /// Option register 1 Note: Check Reference Manual to parse this register content + /// Option register 1 Note: Check Reference Manual to parse this register content OR: u32, }; - /// 1-channel with one complementary output timers + /// 1-channel with one complementary output timers pub const TIM_1CH_CMP = extern struct { reserved4: [4]u8, - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Capture/compare preloaded control + /// Capture/compare preloaded control CCPC: u1, reserved2: u1, - /// Capture/compare control update selection + /// Capture/compare control update selection CCUS: u1, - /// Capture/compare DMA selection - CCDS: packed union { - raw: u1, - value: CCDS, - }, + /// Capture/compare DMA selection + CCDS: CCDS, reserved8: u4, - /// Output Idle state x (x=1) + /// Output Idle state x (x=1) OIS: u1, - /// Output Idle state x (x=1) + /// Output Idle state x (x=1) OISN: u1, padding: u22, }), reserved12: [4]u8, - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// COM interrupt enable + /// COM interrupt enable COMIE: u1, reserved7: u1, - /// Break interrupt enable + /// Break interrupt enable BIE: u1, - /// Update DMA request enable + /// Update DMA request enable UDE: u1, - /// Capture/Compare x (x=1) DMA request enable + /// Capture/Compare x (x=1) DMA request enable CCDE: u1, padding: u22, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// COM interrupt flag + /// COM interrupt flag COMIF: u1, reserved7: u1, - /// Break x (x=1) interrupt flag + /// Break x (x=1) interrupt flag BIF: u1, padding: u24, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { reserved5: u5, - /// Capture/Compare control update generation + /// Capture/Compare control update generation COMG: u1, reserved7: u1, - /// Break x (x=1) generation + /// Break x (x=1) generation BG: u1, padding: u24, }), reserved32: [8]u8, - /// capture/compare enable register + /// capture/compare enable register CCER: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Capture/Compare x (x=1) complementary output enable + /// Capture/Compare x (x=1) complementary output enable CCNE: u1, padding: u29, }), reserved48: [12]u8, - /// repetition counter register + /// repetition counter register RCR: mmio.Mmio(packed struct(u32) { - /// Repetition counter value + /// Repetition counter value REP: u8, padding: u24, }), reserved68: [16]u8, - /// break and dead-time register + /// break and dead-time register BDTR: mmio.Mmio(packed struct(u32) { - /// Dead-time generator setup + /// Dead-time generator setup DTG: u8, - /// Lock configuration - LOCK: packed union { - raw: u2, - value: LOCK, - }, - /// Off-state selection for Idle mode - OSSI: packed union { - raw: u1, - value: OSSI, - }, - /// Off-state selection for Run mode - OSSR: packed union { - raw: u1, - value: OSSR, - }, - /// Break x (x=1) enable + /// Lock configuration + LOCK: LOCK, + /// Off-state selection for Idle mode + OSSI: OSSI, + /// Off-state selection for Run mode + OSSR: OSSR, + /// Break x (x=1) enable BKE: u1, - /// Break x (x=1) polarity - BKP: packed union { - raw: u1, - value: BKP, - }, - /// Automatic output enable + /// Break x (x=1) polarity + BKP: BKP, + /// Automatic output enable AOE: u1, - /// Main output enable + /// Main output enable MOE: u1, - /// Break x (x=1) filter - BKF: packed union { - raw: u4, - value: FilterValue, - }, + /// Break x (x=1) filter + BKF: FilterValue, reserved26: u6, - /// Break x (x=1) Disarm - BKDSRM: packed union { - raw: u1, - value: BKDSRM, - }, + /// Break x (x=1) Disarm + BKDSRM: BKDSRM, reserved28: u1, - /// Break x (x=1) bidirectional - BKBID: packed union { - raw: u1, - value: BKBID, - }, + /// Break x (x=1) bidirectional + BKBID: BKBID, padding: u3, }), reserved84: [12]u8, - /// break and dead-time register + /// break and dead-time register DTR2: mmio.Mmio(packed struct(u32) { - /// Dead-time falling edge generator setup + /// Dead-time falling edge generator setup DTGF: u8, reserved16: u8, - /// Deadtime asymmetric enable - DTAE: packed union { - raw: u1, - value: DTAE, - }, - /// Deadtime preload enable + /// Deadtime asymmetric enable + DTAE: DTAE, + /// Deadtime preload enable DTPE: u1, padding: u14, }), reserved96: [8]u8, - /// alternate function register 1 + /// alternate function register 1 AF1: mmio.Mmio(packed struct(u32) { - /// TIMx_BKIN input enable + /// TIMx_BKIN input enable BKINE: u1, - /// TIM_BRK_CMPx (x=1-8) enable + /// TIM_BRK_CMPx (x=1-8) enable BKCMPE: u1, reserved9: u7, - /// TIMx_BKIN input polarity - BKINP: packed union { - raw: u1, - value: BKINP, - }, - /// TIM_BRK_CMPx (x=1-4) input polarity - BKCMPP: packed union { - raw: u1, - value: BKINP, - }, + /// TIMx_BKIN input polarity + BKINP: BKINP, + /// TIM_BRK_CMPx (x=1-4) input polarity + BKCMPP: BKINP, padding: u21, }), - /// alternate function register 2 + /// alternate function register 2 AF2: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// ocref_clr source selection + /// ocref_clr source selection OCRSEL: u3, padding: u13, }), reserved988: [884]u8, - /// DMA control register + /// DMA control register DCR: mmio.Mmio(packed struct(u32) { - /// DMA base address + /// DMA base address DBA: u5, reserved8: u3, - /// DMA burst length + /// DMA burst length DBL: u5, reserved16: u3, - /// DMA burst source selection - DBSS: packed union { - raw: u4, - value: DBSS, - }, + /// DMA burst source selection + DBSS: DBSS, padding: u12, }), - /// DMA address for full transfer + /// DMA address for full transfer DMAR: u32, }; - /// 2-channel timers + /// 2-channel timers pub const TIM_2CH = extern struct { reserved4: [4]u8, - /// control register 2 + /// control register 2 CR2: u32, - /// slave mode control register + /// slave mode control register SMCR: u32, - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/Compare x (x=1-2) interrupt enable + /// Capture/Compare x (x=1-2) interrupt enable CCIE: u1, reserved6: u4, - /// Trigger interrupt enable + /// Trigger interrupt enable TIE: u1, padding: u25, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-2) interrupt flag + /// Capture/compare x (x=1-2) interrupt flag CCIF: u1, reserved6: u4, - /// Trigger interrupt flag + /// Trigger interrupt flag TIF: u1, reserved9: u2, - /// Capture/Compare x (x=1-2) overcapture flag + /// Capture/Compare x (x=1-2) overcapture flag CCOF: u1, padding: u22, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-2) generation + /// Capture/compare x (x=1-2) generation CCG: u1, reserved6: u4, - /// Trigger generation + /// Trigger generation TG: u1, padding: u25, }), - /// capture/compare mode register 1 (input mode) + /// capture/compare mode register 1 (input mode) CCMR_Input: [1]mmio.Mmio(packed struct(u32) { - /// Capture/Compare y selection - CCS: packed union { - raw: u2, - value: CCMR_Input_CCS, - }, - /// Input capture y prescaler + /// Capture/Compare y selection + CCS: CCMR_Input_CCS, + /// Input capture y prescaler ICPSC: u2, - /// Input capture y filter - ICF: packed union { - raw: u4, - value: FilterValue, - }, + /// Input capture y filter + ICF: FilterValue, padding: u24, }), reserved32: [4]u8, - /// capture/compare enable register + /// capture/compare enable register CCER: mmio.Mmio(packed struct(u32) { - /// Capture/Compare x (x=1-2) output enable + /// Capture/Compare x (x=1-2) output enable CCE: u1, - /// Capture/Compare x (x=1-2) output Polarity + /// Capture/Compare x (x=1-2) output Polarity CCP: u1, reserved3: u1, - /// Capture/Compare x (x=1-2) output Polarity + /// Capture/Compare x (x=1-2) output Polarity CCNP: u1, padding: u28, }), reserved52: [16]u8, - /// capture/compare register x (x=1-2) (Dither mode disabled) + /// capture/compare register x (x=1-2) (Dither mode disabled) CCR: [2]mmio.Mmio(packed struct(u32) { - /// capture/compare x (x=1-4,6) value + /// capture/compare x (x=1-4,6) value CCR: u16, padding: u16, }), reserved92: [32]u8, - /// input selection register + /// input selection register TISEL: mmio.Mmio(packed struct(u32) { - /// Selects TIM_TIx (x=1-2) input + /// Selects TIM_TIx (x=1-2) input TISEL: u4, padding: u28, }), }; - /// 2-channel with one complementary output timers + /// 2-channel with one complementary output timers pub const TIM_2CH_CMP = extern struct { reserved4: [4]u8, - /// control register 2 + /// control register 2 CR2: u32, - /// slave mode control register + /// slave mode control register SMCR: mmio.Mmio(packed struct(u32) { reserved24: u24, - /// SMS preload enable + /// SMS preload enable SMSPE: u1, padding: u7, }), - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved6: u6, - /// Trigger interrupt enable + /// Trigger interrupt enable TIE: u1, reserved13: u6, - /// COM DMA request enable + /// COM DMA request enable COMDE: u1, - /// Trigger DMA request enable + /// Trigger DMA request enable TDE: u1, padding: u17, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1,2) interrupt flag + /// Capture/compare x (x=1,2) interrupt flag CCIF: u1, reserved6: u4, - /// Trigger interrupt flag + /// Trigger interrupt flag TIF: u1, reserved9: u2, - /// Capture/Compare x (x=1,2) overcapture flag + /// Capture/Compare x (x=1,2) overcapture flag CCOF: u1, padding: u22, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1,2) generation + /// Capture/compare x (x=1,2) generation CCG: u1, reserved6: u4, - /// Trigger generation + /// Trigger generation TG: u1, padding: u25, }), - /// capture/compare mode register 1 (input mode) + /// capture/compare mode register 1 (input mode) CCMR_Input: [2]mmio.Mmio(packed struct(u32) { - /// Capture/Compare y selection - CCS: packed union { - raw: u2, - value: CCMR_Input_CCS, - }, - /// Input capture y prescaler + /// Capture/Compare y selection + CCS: CCMR_Input_CCS, + /// Input capture y prescaler ICPSC: u2, - /// Input capture y filter - ICF: packed union { - raw: u4, - value: FilterValue, - }, + /// Input capture y filter + ICF: FilterValue, padding: u24, }), - /// capture/compare enable register + /// capture/compare enable register CCER: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Capture/Compare x (x=1) complementary output enable + /// Capture/Compare x (x=1) complementary output enable CCNE: u1, padding: u29, }), reserved52: [16]u8, - /// capture/compare register x (x=1-2) + /// capture/compare register x (x=1-2) CCR: [2]mmio.Mmio(packed struct(u32) { - /// capture/compare x (x=1-4,6) value + /// capture/compare x (x=1-4,6) value CCR: u16, padding: u16, }), reserved68: [8]u8, - /// break and dead-time register + /// break and dead-time register BDTR: mmio.Mmio(packed struct(u32) { - /// Dead-time generator setup + /// Dead-time generator setup DTG: u8, - /// Lock configuration - LOCK: packed union { - raw: u2, - value: LOCK, - }, - /// Off-state selection for Idle mode - OSSI: packed union { - raw: u1, - value: OSSI, - }, - /// Off-state selection for Run mode - OSSR: packed union { - raw: u1, - value: OSSR, - }, - /// Break x (x=1) enable + /// Lock configuration + LOCK: LOCK, + /// Off-state selection for Idle mode + OSSI: OSSI, + /// Off-state selection for Run mode + OSSR: OSSR, + /// Break x (x=1) enable BKE: u1, - /// Break x (x=1) polarity - BKP: packed union { - raw: u1, - value: BKP, - }, - /// Automatic output enable + /// Break x (x=1) polarity + BKP: BKP, + /// Automatic output enable AOE: u1, - /// Main output enable + /// Main output enable MOE: u1, - /// Break x (x=1) filter - BKF: packed union { - raw: u4, - value: FilterValue, - }, + /// Break x (x=1) filter + BKF: FilterValue, reserved26: u6, - /// Break x (x=1) Disarm - BKDSRM: packed union { - raw: u1, - value: BKDSRM, - }, + /// Break x (x=1) Disarm + BKDSRM: BKDSRM, reserved28: u1, - /// Break x (x=1) bidirectional - BKBID: packed union { - raw: u1, - value: BKBID, - }, + /// Break x (x=1) bidirectional + BKBID: BKBID, padding: u3, }), reserved92: [20]u8, - /// input selection register + /// input selection register TISEL: mmio.Mmio(packed struct(u32) { - /// Selects TIM_TIx (x=1-2) input + /// Selects TIM_TIx (x=1-2) input TISEL: u4, padding: u28, }), }; - /// Advanced Control timers + /// Advanced Control timers pub const TIM_ADV = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Direction - DIR: packed union { - raw: u1, - value: DIR, - }, - /// Center-aligned mode selection - CMS: packed union { - raw: u2, - value: CMS, - }, + /// Direction + DIR: DIR, + /// Center-aligned mode selection + CMS: CMS, reserved8: u1, - /// Clock division - CKD: packed union { - raw: u2, - value: CKD, - }, + /// Clock division + CKD: CKD, padding: u22, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Output Idle state x (x=1-6) + /// Output Idle state x (x=1-6) OIS: u1, - /// Output Idle state x N x (x=1-4) + /// Output Idle state x N x (x=1-4) OISN: u1, reserved20: u10, - /// Master mode selection 2 - MMS2: packed union { - raw: u4, - value: MMS2, - }, + /// Master mode selection 2 + MMS2: MMS2, padding: u8, }), - /// slave mode control register + /// slave mode control register SMCR: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// OCREF clear selection - OCCS: packed union { - raw: u1, - value: OCCS, - }, + /// OCREF clear selection + OCCS: OCCS, reserved8: u4, - /// External trigger filter - ETF: packed union { - raw: u4, - value: FilterValue, - }, - /// External trigger prescaler - ETPS: packed union { - raw: u2, - value: ETPS, - }, - /// External clock mode 2 enable + /// External trigger filter + ETF: FilterValue, + /// External trigger prescaler + ETPS: ETPS, + /// External clock mode 2 enable ECE: u1, - /// External trigger polarity - ETP: packed union { - raw: u1, - value: ETP, - }, + /// External trigger polarity + ETP: ETP, reserved25: u9, - /// SMS preload source - SMSPS: packed union { - raw: u1, - value: SMSPS, - }, + /// SMS preload source + SMSPS: SMSPS, padding: u6, }), - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/Compare x (x=1-4) interrupt enable + /// Capture/Compare x (x=1-4) interrupt enable CCIE: u1, reserved7: u5, - /// Break interrupt enable + /// Break interrupt enable BIE: u1, reserved9: u1, - /// Capture/Compare x (x=1) DMA request enable + /// Capture/Compare x (x=1) DMA request enable CCDE: u1, reserved20: u10, - /// Index interrupt enable + /// Index interrupt enable IDXIE: u1, - /// Direction change interrupt enable + /// Direction change interrupt enable DIRIE: u1, - /// Index error interrupt enable + /// Index error interrupt enable IERRIE: u1, - /// Transition error interrupt enable + /// Transition error interrupt enable TERRIE: u1, padding: u8, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-4) interrupt flag + /// Capture/compare x (x=1-4) interrupt flag CCIF: u1, reserved7: u5, - /// Break x (x=1,2) interrupt flag + /// Break x (x=1,2) interrupt flag BIF: u1, reserved9: u1, - /// Capture/Compare x (x=1-4) overcapture flag + /// Capture/Compare x (x=1-4) overcapture flag CCOF: u1, reserved13: u3, - /// System break interrupt flag + /// System break interrupt flag SBIF: u1, reserved16: u2, - /// Capture/compare 5 interrupt flag + /// Capture/compare 5 interrupt flag CCIF5: u1, - /// Capture/compare 6 interrupt flag + /// Capture/compare 6 interrupt flag CCIF6: u1, reserved20: u2, - /// Index interrupt flag + /// Index interrupt flag IDXIF: u1, - /// Direction change interrupt flag + /// Direction change interrupt flag DIRIF: u1, - /// Index error interrupt flag + /// Index error interrupt flag IERRIF: u1, - /// Transition error interrupt flag + /// Transition error interrupt flag TERRIF: u1, padding: u8, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-4) generation + /// Capture/compare x (x=1-4) generation CCG: u1, reserved7: u5, - /// Break x (x=1-2) generation + /// Break x (x=1-2) generation BG: u1, padding: u24, }), - /// capture/compare mode register 1-2 (input mode) + /// capture/compare mode register 1-2 (input mode) CCMR_Input: [2]mmio.Mmio(packed struct(u32) { - /// Capture/Compare y selection - CCS: packed union { - raw: u2, - value: CCMR_Input_CCS, - }, - /// Input capture y prescaler + /// Capture/Compare y selection + CCS: CCMR_Input_CCS, + /// Input capture y prescaler ICPSC: u2, - /// Input capture y filter - ICF: packed union { - raw: u4, - value: FilterValue, - }, + /// Input capture y filter + ICF: FilterValue, padding: u24, }), - /// capture/compare enable register + /// capture/compare enable register CCER: mmio.Mmio(packed struct(u32) { - /// Capture/Compare x (x=1-6) output enable + /// Capture/Compare x (x=1-6) output enable CCE: u1, - /// Capture/Compare x (x=1-6) output Polarity + /// Capture/Compare x (x=1-6) output Polarity CCP: u1, - /// Capture/Compare x (x=1-4) complementary output enable + /// Capture/Compare x (x=1-4) complementary output enable CCNE: u1, - /// Capture/Compare x (x=1-4) output Polarity + /// Capture/Compare x (x=1-4) output Polarity CCNP: u1, padding: u28, }), reserved48: [12]u8, - /// repetition counter register + /// repetition counter register RCR: mmio.Mmio(packed struct(u32) { - /// Repetition counter value + /// Repetition counter value REP: u16, padding: u16, }), - /// capture/compare register x (x=1-4) + /// capture/compare register x (x=1-4) CCR: [4]mmio.Mmio(packed struct(u32) { - /// capture/compare x (x=1-4,6) value + /// capture/compare x (x=1-4,6) value CCR: u16, padding: u16, }), - /// break and dead-time register + /// break and dead-time register BDTR: mmio.Mmio(packed struct(u32) { reserved12: u12, - /// Break x (x=1,2) enable + /// Break x (x=1,2) enable BKE: u1, - /// Break x (x=1,2) polarity - BKP: packed union { - raw: u1, - value: BKP, - }, + /// Break x (x=1,2) polarity + BKP: BKP, reserved16: u2, - /// Break x (x=1,2) filter - BKF: packed union { - raw: u4, - value: FilterValue, - }, + /// Break x (x=1,2) filter + BKF: FilterValue, reserved26: u6, - /// Break x (x=1,2) Disarm - BKDSRM: packed union { - raw: u1, - value: BKDSRM, - }, + /// Break x (x=1,2) Disarm + BKDSRM: BKDSRM, reserved28: u1, - /// Break x (x=1,2) bidirectional - BKBID: packed union { - raw: u1, - value: BKBID, - }, + /// Break x (x=1,2) bidirectional + BKBID: BKBID, padding: u3, }), - /// capture/compare register 5 (Dither mode disabled) + /// capture/compare register 5 (Dither mode disabled) CCR5: mmio.Mmio(packed struct(u32) { reserved29: u29, - /// Group channel 5 and channel x (x=1-3) - GC5C: packed union { - raw: u1, - value: GC5C, - }, + /// Group channel 5 and channel x (x=1-3) + GC5C: GC5C, padding: u2, }), - /// capture/compare register 6 (Dither mode disabled) + /// capture/compare register 6 (Dither mode disabled) CCR6: mmio.Mmio(packed struct(u32) { - /// capture/compare x (x=1-4,6) value + /// capture/compare x (x=1-4,6) value CCR: u16, padding: u16, }), - /// capture/compare mode register 3 + /// capture/compare mode register 3 CCMR3: mmio.Mmio(packed struct(u32) { reserved2: u2, - /// Output compare x (x=5,6) fast enable + /// Output compare x (x=5,6) fast enable OCFE: u1, - /// Output compare x (x=5,6) preload enable + /// Output compare x (x=5,6) preload enable OCPE: u1, padding: u28, }), reserved88: [4]u8, - /// encoder control register + /// encoder control register ECR: mmio.Mmio(packed struct(u32) { - /// Index enable + /// Index enable IE: u1, - /// Index direction - IDIR: packed union { - raw: u2, - value: IDIR, - }, - /// Index blanking - IBLK: packed union { - raw: u2, - value: IBLK, - }, - /// First index - FIDX: packed union { - raw: u1, - value: FIDX, - }, - /// Index positioning + /// Index direction + IDIR: IDIR, + /// Index blanking + IBLK: IBLK, + /// First index + FIDX: FIDX, + /// Index positioning IPOS: u2, reserved16: u8, - /// Pulse width + /// Pulse width PW: u8, - /// Pulse width prescaler + /// Pulse width prescaler PWPRSC: u2, padding: u6, }), - /// input selection register + /// input selection register TISEL: mmio.Mmio(packed struct(u32) { - /// Selects TIM_TIx (x=1-4) input + /// Selects TIM_TIx (x=1-4) input TISEL: u4, padding: u28, }), - /// alternate function register 1 + /// alternate function register 1 AF1: mmio.Mmio(packed struct(u32) { reserved14: u14, - /// etr_in source selection + /// etr_in source selection ETRSEL: u4, padding: u14, }), - /// alternate function register 2 + /// alternate function register 2 AF2: mmio.Mmio(packed struct(u32) { - /// TIMx_BKIN2 input enable + /// TIMx_BKIN2 input enable BK2INE: u1, - /// TIM_BRK2_CMPx (x=1-8) enable + /// TIM_BRK2_CMPx (x=1-8) enable BK2CMPE: u1, reserved9: u7, - /// TIMx_BK2IN input polarity - BK2INP: packed union { - raw: u1, - value: BKINP, - }, - /// TIM_BRK2_CMPx (x=1-4) input polarity - BK2CMPP: packed union { - raw: u1, - value: BKINP, - }, + /// TIMx_BK2IN input polarity + BK2INP: BKINP, + /// TIM_BRK2_CMPx (x=1-4) input polarity + BK2CMPP: BKINP, padding: u21, }), }; - /// Basic timers + /// Basic timers pub const TIM_BASIC = extern struct { reserved4: [4]u8, - /// control register 2 + /// control register 2 CR2: u32, }; - /// Virtual Basic timers without CR2 register for common part of TIM_BASIC and TIM_1CH_CMP + /// Virtual Basic timers without CR2 register for common part of TIM_BASIC and TIM_1CH_CMP pub const TIM_BASIC_NO_CR2 = extern struct { reserved12: [12]u8, - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Update DMA request enable + /// Update DMA request enable UDE: u1, padding: u23, }), }; - /// Virtual timer for common part of TIM_BASIC and TIM_1CH + /// Virtual timer for common part of TIM_BASIC and TIM_1CH pub const TIM_CORE = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Counter enable + /// Counter enable CEN: u1, - /// Update disable + /// Update disable UDIS: u1, - /// Update request source - URS: packed union { - raw: u1, - value: URS, - }, - /// One-pulse mode enbaled + /// Update request source + URS: URS, + /// One-pulse mode enbaled OPM: u1, reserved7: u3, - /// Auto-reload preload enable + /// Auto-reload preload enable ARPE: u1, reserved11: u3, - /// UIF status bit remapping enable + /// UIF status bit remapping enable UIFREMAP: u1, - /// Dithering enable + /// Dithering enable DITHEN: u1, padding: u19, }), reserved12: [8]u8, - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { - /// Update interrupt enable + /// Update interrupt enable UIE: u1, padding: u31, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Update interrupt flag + /// Update interrupt flag UIF: u1, padding: u31, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { - /// Update generation + /// Update generation UG: u1, padding: u31, }), reserved36: [12]u8, - /// counter + /// counter CNT: mmio.Mmio(packed struct(u32) { - /// counter value + /// counter value CNT: u16, reserved31: u15, - /// UIF copy + /// UIF copy UIFCPY: u1, }), - /// prescaler + /// prescaler PSC: u32, - /// auto-reload register (Dither mode disabled) + /// auto-reload register (Dither mode disabled) ARR: mmio.Mmio(packed struct(u32) { - /// Auto-reload value + /// Auto-reload value ARR: u16, padding: u16, }), }; - /// General purpose 16-bit timers + /// General purpose 16-bit timers pub const TIM_GP16 = extern struct { - /// control register 1 + /// control register 1 CR1: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Direction - DIR: packed union { - raw: u1, - value: DIR, - }, - /// Center-aligned mode selection - CMS: packed union { - raw: u2, - value: CMS, - }, + /// Direction + DIR: DIR, + /// Center-aligned mode selection + CMS: CMS, reserved8: u1, - /// Clock division - CKD: packed union { - raw: u2, - value: CKD, - }, + /// Clock division + CKD: CKD, padding: u22, }), - /// control register 2 + /// control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// Capture/compare DMA selection - CCDS: packed union { - raw: u1, - value: CCDS, - }, + /// Capture/compare DMA selection + CCDS: CCDS, reserved7: u3, - /// TI1 selection - TI1S: packed union { - raw: u1, - value: TI1S, - }, + /// TI1 selection + TI1S: TI1S, padding: u24, }), - /// slave mode control register + /// slave mode control register SMCR: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// External trigger filter - ETF: packed union { - raw: u4, - value: FilterValue, - }, - /// External trigger prescaler - ETPS: packed union { - raw: u2, - value: ETPS, - }, - /// External clock mode 2 enable + /// External trigger filter + ETF: FilterValue, + /// External trigger prescaler + ETPS: ETPS, + /// External clock mode 2 enable ECE: u1, - /// External trigger polarity - ETP: packed union { - raw: u1, - value: ETP, - }, + /// External trigger polarity + ETP: ETP, reserved24: u8, - /// SMS preload enable + /// SMS preload enable SMSPE: u1, - /// SMS preload source - SMSPS: packed union { - raw: u1, - value: SMSPS, - }, + /// SMS preload source + SMSPS: SMSPS, padding: u6, }), - /// DMA/Interrupt enable register + /// DMA/Interrupt enable register DIER: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/Compare x (x=1-4) interrupt enable + /// Capture/Compare x (x=1-4) interrupt enable CCIE: u1, reserved6: u4, - /// Trigger interrupt enable + /// Trigger interrupt enable TIE: u1, reserved9: u2, - /// Capture/Compare x (x=1-4) DMA request enable + /// Capture/Compare x (x=1-4) DMA request enable CCDE: u1, reserved14: u4, - /// Trigger DMA request enable + /// Trigger DMA request enable TDE: u1, reserved20: u5, - /// Index interrupt enable + /// Index interrupt enable IDXIE: u1, - /// Direction change interrupt enable + /// Direction change interrupt enable DIRIE: u1, - /// Index error interrupt enable + /// Index error interrupt enable IERRIE: u1, - /// Transition error interrupt enable + /// Transition error interrupt enable TERRIE: u1, padding: u8, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-4) interrupt flag + /// Capture/compare x (x=1-4) interrupt flag CCIF: u1, reserved6: u4, - /// Trigger interrupt flag + /// Trigger interrupt flag TIF: u1, reserved9: u2, - /// Capture/Compare x (x=1-4) overcapture flag + /// Capture/Compare x (x=1-4) overcapture flag CCOF: u1, reserved20: u10, - /// Index interrupt flag + /// Index interrupt flag IDXIF: u1, - /// Direction change interrupt flag + /// Direction change interrupt flag DIRIF: u1, - /// Index error interrupt flag + /// Index error interrupt flag IERRIF: u1, - /// Transition error interrupt flag + /// Transition error interrupt flag TERRIF: u1, padding: u8, }), - /// event generation register + /// event generation register EGR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Capture/compare x (x=1-4) generation + /// Capture/compare x (x=1-4) generation CCG: u1, reserved6: u4, - /// Trigger generation + /// Trigger generation TG: u1, padding: u25, }), - /// capture/compare mode register 1-2 (input mode) + /// capture/compare mode register 1-2 (input mode) CCMR_Input: [2]mmio.Mmio(packed struct(u32) { - /// Capture/Compare y selection - CCS: packed union { - raw: u2, - value: CCMR_Input_CCS, - }, - /// Input capture y prescaler + /// Capture/Compare y selection + CCS: CCMR_Input_CCS, + /// Input capture y prescaler ICPSC: u2, - /// Input capture y filter - ICF: packed union { - raw: u4, - value: FilterValue, - }, + /// Input capture y filter + ICF: FilterValue, padding: u24, }), - /// capture/compare enable register + /// capture/compare enable register CCER: mmio.Mmio(packed struct(u32) { - /// Capture/Compare x (x=1-4) output enable + /// Capture/Compare x (x=1-4) output enable CCE: u1, - /// Capture/Compare x (x=1-4) output Polarity + /// Capture/Compare x (x=1-4) output Polarity CCP: u1, reserved3: u1, - /// Capture/Compare x (x=1-4) output Polarity + /// Capture/Compare x (x=1-4) output Polarity CCNP: u1, padding: u28, }), reserved52: [16]u8, - /// capture/compare register x (x=1-4) (Dither mode disabled) + /// capture/compare register x (x=1-4) (Dither mode disabled) CCR: [4]mmio.Mmio(packed struct(u32) { - /// capture/compare x (x=1-4,6) value + /// capture/compare x (x=1-4,6) value CCR: u16, padding: u16, }), reserved88: [20]u8, - /// encoder control register + /// encoder control register ECR: mmio.Mmio(packed struct(u32) { - /// Index enable + /// Index enable IE: u1, - /// Index direction - IDIR: packed union { - raw: u2, - value: IDIR, - }, - /// Index blanking - IBLK: packed union { - raw: u2, - value: IBLK, - }, - /// First index - FIDX: packed union { - raw: u1, - value: FIDX, - }, - /// Index positioning + /// Index direction + IDIR: IDIR, + /// Index blanking + IBLK: IBLK, + /// First index + FIDX: FIDX, + /// Index positioning IPOS: u2, reserved16: u8, - /// Pulse width + /// Pulse width PW: u8, - /// Pulse width prescaler + /// Pulse width prescaler PWPRSC: u2, padding: u6, }), - /// input selection register + /// input selection register TISEL: mmio.Mmio(packed struct(u32) { - /// Selects TIM_TIx (x=1-4) input + /// Selects TIM_TIx (x=1-4) input TISEL: u4, padding: u28, }), - /// alternate function register 1 + /// alternate function register 1 AF1: mmio.Mmio(packed struct(u32) { reserved14: u14, - /// etr_in source selection + /// etr_in source selection ETRSEL: u4, padding: u14, }), - /// alternate function register 2 + /// alternate function register 2 AF2: mmio.Mmio(packed struct(u32) { reserved16: u16, - /// ocref_clr source selection + /// ocref_clr source selection OCRSEL: u3, padding: u13, }), reserved988: [884]u8, - /// DMA control register + /// DMA control register DCR: mmio.Mmio(packed struct(u32) { - /// DMA base address + /// DMA base address DBA: u5, reserved8: u3, - /// DMA burst length + /// DMA burst length DBL: u5, reserved16: u3, - /// DMA burst source selection - DBSS: packed union { - raw: u4, - value: DBSS, - }, + /// DMA burst source selection + DBSS: DBSS, padding: u12, }), - /// DMA address for full transfer + /// DMA address for full transfer DMAR: u32, }; - /// General purpose 32-bit timers + /// General purpose 32-bit timers pub const TIM_GP32 = extern struct { reserved36: [36]u8, - /// counter (Dither mode disabled) + /// counter (Dither mode disabled) CNT: u32, reserved44: [4]u8, - /// auto-reload register (Dither mode disabled) + /// auto-reload register (Dither mode disabled) ARR: u32, reserved52: [4]u8, - /// capture/compare register x (x=1-4) (Dither mode disabled) + /// capture/compare register x (x=1-4) (Dither mode disabled) CCR: [4]u32, }; }; pub const tsc_v1 = struct { - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC = extern struct { - /// control register. + /// control register. CR: mmio.Mmio(packed struct(u32) { - /// Touch sensing controller enable. + /// Touch sensing controller enable. TSCE: u1, - /// Start a new acquisition. + /// Start a new acquisition. START: u1, - /// Acquisition mode. + /// Acquisition mode. AM: u1, - /// Synchronization pin polarity. + /// Synchronization pin polarity. SYNCPOL: u1, - /// I/O Default mode. + /// I/O Default mode. IODEF: u1, - /// Max count value. + /// Max count value. MCV: u3, reserved12: u4, - /// pulse generator prescaler. + /// pulse generator prescaler. PGPSC: u3, - /// Spread spectrum prescaler. + /// Spread spectrum prescaler. SSPSC: u1, - /// Spread spectrum enable. + /// Spread spectrum enable. SSE: u1, - /// Spread spectrum deviation. + /// Spread spectrum deviation. SSD: u7, - /// Charge transfer pulse low. + /// Charge transfer pulse low. CTPL: u4, - /// Charge transfer pulse high. + /// Charge transfer pulse high. CTPH: u4, }), - /// interrupt enable register. + /// interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// End of acquisition interrupt enable. + /// End of acquisition interrupt enable. EOAIE: u1, - /// Max count error interrupt enable. + /// Max count error interrupt enable. MCEIE: u1, padding: u30, }), - /// interrupt clear register. + /// interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// End of acquisition interrupt clear. + /// End of acquisition interrupt clear. EOAIC: u1, - /// Max count error interrupt clear. + /// Max count error interrupt clear. MCEIC: u1, padding: u30, }), - /// interrupt status register. + /// interrupt status register. ISR: mmio.Mmio(packed struct(u32) { - /// End of acquisition flag. + /// End of acquisition flag. EOAF: u1, - /// Max count error flag. + /// Max count error flag. MCEF: u1, padding: u30, }), - /// I/O hysteresis control register. + /// I/O hysteresis control register. IOHCR: mmio.Mmio(packed struct(u32) { - /// G1_IO1 Schmitt trigger hysteresis mode. + /// G1_IO1 Schmitt trigger hysteresis mode. G1_IO1: u1, - /// G1_IO2 Schmitt trigger hysteresis mode. + /// G1_IO2 Schmitt trigger hysteresis mode. G1_IO2: u1, - /// G1_IO3 Schmitt trigger hysteresis mode. + /// G1_IO3 Schmitt trigger hysteresis mode. G1_IO3: u1, - /// G1_IO4 Schmitt trigger hysteresis mode. + /// G1_IO4 Schmitt trigger hysteresis mode. G1_IO4: u1, - /// G2_IO1 Schmitt trigger hysteresis mode. + /// G2_IO1 Schmitt trigger hysteresis mode. G2_IO1: u1, - /// G2_IO2 Schmitt trigger hysteresis mode. + /// G2_IO2 Schmitt trigger hysteresis mode. G2_IO2: u1, - /// G2_IO3 Schmitt trigger hysteresis mode. + /// G2_IO3 Schmitt trigger hysteresis mode. G2_IO3: u1, - /// G2_IO4 Schmitt trigger hysteresis mode. + /// G2_IO4 Schmitt trigger hysteresis mode. G2_IO4: u1, - /// G3_IO1 Schmitt trigger hysteresis mode. + /// G3_IO1 Schmitt trigger hysteresis mode. G3_IO1: u1, - /// G3_IO2 Schmitt trigger hysteresis mode. + /// G3_IO2 Schmitt trigger hysteresis mode. G3_IO2: u1, - /// G3_IO3 Schmitt trigger hysteresis mode. + /// G3_IO3 Schmitt trigger hysteresis mode. G3_IO3: u1, - /// G3_IO4 Schmitt trigger hysteresis mode. + /// G3_IO4 Schmitt trigger hysteresis mode. G3_IO4: u1, - /// G4_IO1 Schmitt trigger hysteresis mode. + /// G4_IO1 Schmitt trigger hysteresis mode. G4_IO1: u1, - /// G4_IO2 Schmitt trigger hysteresis mode. + /// G4_IO2 Schmitt trigger hysteresis mode. G4_IO2: u1, - /// G4_IO3 Schmitt trigger hysteresis mode. + /// G4_IO3 Schmitt trigger hysteresis mode. G4_IO3: u1, - /// G4_IO4 Schmitt trigger hysteresis mode. + /// G4_IO4 Schmitt trigger hysteresis mode. G4_IO4: u1, - /// G5_IO1 Schmitt trigger hysteresis mode. + /// G5_IO1 Schmitt trigger hysteresis mode. G5_IO1: u1, - /// G5_IO2 Schmitt trigger hysteresis mode. + /// G5_IO2 Schmitt trigger hysteresis mode. G5_IO2: u1, - /// G5_IO3 Schmitt trigger hysteresis mode. + /// G5_IO3 Schmitt trigger hysteresis mode. G5_IO3: u1, - /// G5_IO4 Schmitt trigger hysteresis mode. + /// G5_IO4 Schmitt trigger hysteresis mode. G5_IO4: u1, - /// G6_IO1 Schmitt trigger hysteresis mode. + /// G6_IO1 Schmitt trigger hysteresis mode. G6_IO1: u1, - /// G6_IO2 Schmitt trigger hysteresis mode. + /// G6_IO2 Schmitt trigger hysteresis mode. G6_IO2: u1, - /// G6_IO3 Schmitt trigger hysteresis mode. + /// G6_IO3 Schmitt trigger hysteresis mode. G6_IO3: u1, - /// G6_IO4 Schmitt trigger hysteresis mode. + /// G6_IO4 Schmitt trigger hysteresis mode. G6_IO4: u1, padding: u8, }), reserved24: [4]u8, - /// I/O analog switch control register. + /// I/O analog switch control register. IOASCR: mmio.Mmio(packed struct(u32) { - /// G1_IO1 analog switch enable. + /// G1_IO1 analog switch enable. G1_IO1: u1, - /// G1_IO2 analog switch enable. + /// G1_IO2 analog switch enable. G1_IO2: u1, - /// G1_IO3 analog switch enable. + /// G1_IO3 analog switch enable. G1_IO3: u1, - /// G1_IO4 analog switch enable. + /// G1_IO4 analog switch enable. G1_IO4: u1, - /// G2_IO1 analog switch enable. + /// G2_IO1 analog switch enable. G2_IO1: u1, - /// G2_IO2 analog switch enable. + /// G2_IO2 analog switch enable. G2_IO2: u1, - /// G2_IO3 analog switch enable. + /// G2_IO3 analog switch enable. G2_IO3: u1, - /// G2_IO4 analog switch enable. + /// G2_IO4 analog switch enable. G2_IO4: u1, - /// G3_IO1 analog switch enable. + /// G3_IO1 analog switch enable. G3_IO1: u1, - /// G3_IO2 analog switch enable. + /// G3_IO2 analog switch enable. G3_IO2: u1, - /// G3_IO3 analog switch enable. + /// G3_IO3 analog switch enable. G3_IO3: u1, - /// G3_IO4 analog switch enable. + /// G3_IO4 analog switch enable. G3_IO4: u1, - /// G4_IO1 analog switch enable. + /// G4_IO1 analog switch enable. G4_IO1: u1, - /// G4_IO2 analog switch enable. + /// G4_IO2 analog switch enable. G4_IO2: u1, - /// G4_IO3 analog switch enable. + /// G4_IO3 analog switch enable. G4_IO3: u1, - /// G4_IO4 analog switch enable. + /// G4_IO4 analog switch enable. G4_IO4: u1, - /// G5_IO1 analog switch enable. + /// G5_IO1 analog switch enable. G5_IO1: u1, - /// G5_IO2 analog switch enable. + /// G5_IO2 analog switch enable. G5_IO2: u1, - /// G5_IO3 analog switch enable. + /// G5_IO3 analog switch enable. G5_IO3: u1, - /// G5_IO4 analog switch enable. + /// G5_IO4 analog switch enable. G5_IO4: u1, - /// G6_IO1 analog switch enable. + /// G6_IO1 analog switch enable. G6_IO1: u1, - /// G6_IO2 analog switch enable. + /// G6_IO2 analog switch enable. G6_IO2: u1, - /// G6_IO3 analog switch enable. + /// G6_IO3 analog switch enable. G6_IO3: u1, - /// G6_IO4 analog switch enable. + /// G6_IO4 analog switch enable. G6_IO4: u1, padding: u8, }), reserved32: [4]u8, - /// I/O sampling control register. + /// I/O sampling control register. IOSCR: mmio.Mmio(packed struct(u32) { - /// G1_IO1 sampling mode. + /// G1_IO1 sampling mode. G1_IO1: u1, - /// G1_IO2 sampling mode. + /// G1_IO2 sampling mode. G1_IO2: u1, - /// G1_IO3 sampling mode. + /// G1_IO3 sampling mode. G1_IO3: u1, - /// G1_IO4 sampling mode. + /// G1_IO4 sampling mode. G1_IO4: u1, - /// G2_IO1 sampling mode. + /// G2_IO1 sampling mode. G2_IO1: u1, - /// G2_IO2 sampling mode. + /// G2_IO2 sampling mode. G2_IO2: u1, - /// G2_IO3 sampling mode. + /// G2_IO3 sampling mode. G2_IO3: u1, - /// G2_IO4 sampling mode. + /// G2_IO4 sampling mode. G2_IO4: u1, - /// G3_IO1 sampling mode. + /// G3_IO1 sampling mode. G3_IO1: u1, - /// G3_IO2 sampling mode. + /// G3_IO2 sampling mode. G3_IO2: u1, - /// G3_IO3 sampling mode. + /// G3_IO3 sampling mode. G3_IO3: u1, - /// G3_IO4 sampling mode. + /// G3_IO4 sampling mode. G3_IO4: u1, - /// G4_IO1 sampling mode. + /// G4_IO1 sampling mode. G4_IO1: u1, - /// G4_IO2 sampling mode. + /// G4_IO2 sampling mode. G4_IO2: u1, - /// G4_IO3 sampling mode. + /// G4_IO3 sampling mode. G4_IO3: u1, - /// G4_IO4 sampling mode. + /// G4_IO4 sampling mode. G4_IO4: u1, - /// G5_IO1 sampling mode. + /// G5_IO1 sampling mode. G5_IO1: u1, - /// G5_IO2 sampling mode. + /// G5_IO2 sampling mode. G5_IO2: u1, - /// G5_IO3 sampling mode. + /// G5_IO3 sampling mode. G5_IO3: u1, - /// G5_IO4 sampling mode. + /// G5_IO4 sampling mode. G5_IO4: u1, - /// G6_IO1 sampling mode. + /// G6_IO1 sampling mode. G6_IO1: u1, - /// G6_IO2 sampling mode. + /// G6_IO2 sampling mode. G6_IO2: u1, - /// G6_IO3 sampling mode. + /// G6_IO3 sampling mode. G6_IO3: u1, - /// G6_IO4 sampling mode. + /// G6_IO4 sampling mode. G6_IO4: u1, padding: u8, }), reserved40: [4]u8, - /// I/O channel control register. + /// I/O channel control register. IOCCR: mmio.Mmio(packed struct(u32) { - /// G1_IO1 channel mode. + /// G1_IO1 channel mode. G1_IO1: u1, - /// G1_IO2 channel mode. + /// G1_IO2 channel mode. G1_IO2: u1, - /// G1_IO3 channel mode. + /// G1_IO3 channel mode. G1_IO3: u1, - /// G1_IO4 channel mode. + /// G1_IO4 channel mode. G1_IO4: u1, - /// G2_IO1 channel mode. + /// G2_IO1 channel mode. G2_IO1: u1, - /// G2_IO2 channel mode. + /// G2_IO2 channel mode. G2_IO2: u1, - /// G2_IO3 channel mode. + /// G2_IO3 channel mode. G2_IO3: u1, - /// G2_IO4 channel mode. + /// G2_IO4 channel mode. G2_IO4: u1, - /// G3_IO1 channel mode. + /// G3_IO1 channel mode. G3_IO1: u1, - /// G3_IO2 channel mode. + /// G3_IO2 channel mode. G3_IO2: u1, - /// G3_IO3 channel mode. + /// G3_IO3 channel mode. G3_IO3: u1, - /// G3_IO4 channel mode. + /// G3_IO4 channel mode. G3_IO4: u1, - /// G4_IO1 channel mode. + /// G4_IO1 channel mode. G4_IO1: u1, - /// G4_IO2 channel mode. + /// G4_IO2 channel mode. G4_IO2: u1, - /// G4_IO3 channel mode. + /// G4_IO3 channel mode. G4_IO3: u1, - /// G4_IO4 channel mode. + /// G4_IO4 channel mode. G4_IO4: u1, - /// G5_IO1 channel mode. + /// G5_IO1 channel mode. G5_IO1: u1, - /// G5_IO2 channel mode. + /// G5_IO2 channel mode. G5_IO2: u1, - /// G5_IO3 channel mode. + /// G5_IO3 channel mode. G5_IO3: u1, - /// G5_IO4 channel mode. + /// G5_IO4 channel mode. G5_IO4: u1, - /// G6_IO1 channel mode. + /// G6_IO1 channel mode. G6_IO1: u1, - /// G6_IO2 channel mode. + /// G6_IO2 channel mode. G6_IO2: u1, - /// G6_IO3 channel mode. + /// G6_IO3 channel mode. G6_IO3: u1, - /// G6_IO4 channel mode. + /// G6_IO4 channel mode. G6_IO4: u1, padding: u8, }), reserved48: [4]u8, - /// I/O group control status register. + /// I/O group control status register. IOGCSR: mmio.Mmio(packed struct(u32) { - /// Analog I/O group x enable. + /// Analog I/O group x enable. G1E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G2E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G3E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G4E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G5E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G6E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G7E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G8E: u1, reserved16: u8, - /// Analog I/O group x status. + /// Analog I/O group x status. G1S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G2S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G3S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G4S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G5S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G6S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G7S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G8S: u1, padding: u8, }), - /// I/O group x counter register. + /// I/O group x counter register. IOGCR: [6]mmio.Mmio(packed struct(u32) { - /// Counter value. + /// Counter value. CNT: u14, padding: u18, }), @@ -437514,340 +426729,340 @@ pub const types = struct { }; pub const tsc_v2 = struct { - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC = extern struct { - /// control register. + /// control register. CR: mmio.Mmio(packed struct(u32) { - /// Touch sensing controller enable. + /// Touch sensing controller enable. TSCE: u1, - /// Start a new acquisition. + /// Start a new acquisition. START: u1, - /// Acquisition mode. + /// Acquisition mode. AM: u1, - /// Synchronization pin polarity. + /// Synchronization pin polarity. SYNCPOL: u1, - /// I/O Default mode. + /// I/O Default mode. IODEF: u1, - /// Max count value. + /// Max count value. MCV: u3, reserved12: u4, - /// pulse generator prescaler. + /// pulse generator prescaler. PGPSC: u3, - /// Spread spectrum prescaler. + /// Spread spectrum prescaler. SSPSC: u1, - /// Spread spectrum enable. + /// Spread spectrum enable. SSE: u1, - /// Spread spectrum deviation. + /// Spread spectrum deviation. SSD: u7, - /// Charge transfer pulse low. + /// Charge transfer pulse low. CTPL: u4, - /// Charge transfer pulse high. + /// Charge transfer pulse high. CTPH: u4, }), - /// interrupt enable register. + /// interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// End of acquisition interrupt enable. + /// End of acquisition interrupt enable. EOAIE: u1, - /// Max count error interrupt enable. + /// Max count error interrupt enable. MCEIE: u1, padding: u30, }), - /// interrupt clear register. + /// interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// End of acquisition interrupt clear. + /// End of acquisition interrupt clear. EOAIC: u1, - /// Max count error interrupt clear. + /// Max count error interrupt clear. MCEIC: u1, padding: u30, }), - /// interrupt status register. + /// interrupt status register. ISR: mmio.Mmio(packed struct(u32) { - /// End of acquisition flag. + /// End of acquisition flag. EOAF: u1, - /// Max count error flag. + /// Max count error flag. MCEF: u1, padding: u30, }), - /// I/O hysteresis control register. + /// I/O hysteresis control register. IOHCR: mmio.Mmio(packed struct(u32) { - /// G1_IO1 Schmitt trigger hysteresis mode. + /// G1_IO1 Schmitt trigger hysteresis mode. G1_IO1: u1, - /// G1_IO2 Schmitt trigger hysteresis mode. + /// G1_IO2 Schmitt trigger hysteresis mode. G1_IO2: u1, - /// G1_IO3 Schmitt trigger hysteresis mode. + /// G1_IO3 Schmitt trigger hysteresis mode. G1_IO3: u1, - /// G1_IO4 Schmitt trigger hysteresis mode. + /// G1_IO4 Schmitt trigger hysteresis mode. G1_IO4: u1, - /// G2_IO1 Schmitt trigger hysteresis mode. + /// G2_IO1 Schmitt trigger hysteresis mode. G2_IO1: u1, - /// G2_IO2 Schmitt trigger hysteresis mode. + /// G2_IO2 Schmitt trigger hysteresis mode. G2_IO2: u1, - /// G2_IO3 Schmitt trigger hysteresis mode. + /// G2_IO3 Schmitt trigger hysteresis mode. G2_IO3: u1, - /// G2_IO4 Schmitt trigger hysteresis mode. + /// G2_IO4 Schmitt trigger hysteresis mode. G2_IO4: u1, - /// G3_IO1 Schmitt trigger hysteresis mode. + /// G3_IO1 Schmitt trigger hysteresis mode. G3_IO1: u1, - /// G3_IO2 Schmitt trigger hysteresis mode. + /// G3_IO2 Schmitt trigger hysteresis mode. G3_IO2: u1, - /// G3_IO3 Schmitt trigger hysteresis mode. + /// G3_IO3 Schmitt trigger hysteresis mode. G3_IO3: u1, - /// G3_IO4 Schmitt trigger hysteresis mode. + /// G3_IO4 Schmitt trigger hysteresis mode. G3_IO4: u1, - /// G4_IO1 Schmitt trigger hysteresis mode. + /// G4_IO1 Schmitt trigger hysteresis mode. G4_IO1: u1, - /// G4_IO2 Schmitt trigger hysteresis mode. + /// G4_IO2 Schmitt trigger hysteresis mode. G4_IO2: u1, - /// G4_IO3 Schmitt trigger hysteresis mode. + /// G4_IO3 Schmitt trigger hysteresis mode. G4_IO3: u1, - /// G4_IO4 Schmitt trigger hysteresis mode. + /// G4_IO4 Schmitt trigger hysteresis mode. G4_IO4: u1, - /// G5_IO1 Schmitt trigger hysteresis mode. + /// G5_IO1 Schmitt trigger hysteresis mode. G5_IO1: u1, - /// G5_IO2 Schmitt trigger hysteresis mode. + /// G5_IO2 Schmitt trigger hysteresis mode. G5_IO2: u1, - /// G5_IO3 Schmitt trigger hysteresis mode. + /// G5_IO3 Schmitt trigger hysteresis mode. G5_IO3: u1, - /// G5_IO4 Schmitt trigger hysteresis mode. + /// G5_IO4 Schmitt trigger hysteresis mode. G5_IO4: u1, - /// G6_IO1 Schmitt trigger hysteresis mode. + /// G6_IO1 Schmitt trigger hysteresis mode. G6_IO1: u1, - /// G6_IO2 Schmitt trigger hysteresis mode. + /// G6_IO2 Schmitt trigger hysteresis mode. G6_IO2: u1, - /// G6_IO3 Schmitt trigger hysteresis mode. + /// G6_IO3 Schmitt trigger hysteresis mode. G6_IO3: u1, - /// G6_IO4 Schmitt trigger hysteresis mode. + /// G6_IO4 Schmitt trigger hysteresis mode. G6_IO4: u1, - /// G7_IO1 Schmitt trigger hysteresis mode. + /// G7_IO1 Schmitt trigger hysteresis mode. G7_IO1: u1, - /// G7_IO2 Schmitt trigger hysteresis mode. + /// G7_IO2 Schmitt trigger hysteresis mode. G7_IO2: u1, - /// G7_IO3 Schmitt trigger hysteresis mode. + /// G7_IO3 Schmitt trigger hysteresis mode. G7_IO3: u1, - /// G7_IO4 Schmitt trigger hysteresis mode. + /// G7_IO4 Schmitt trigger hysteresis mode. G7_IO4: u1, padding: u4, }), reserved24: [4]u8, - /// I/O analog switch control register. + /// I/O analog switch control register. IOASCR: mmio.Mmio(packed struct(u32) { - /// G1_IO1 analog switch enable. + /// G1_IO1 analog switch enable. G1_IO1: u1, - /// G1_IO2 analog switch enable. + /// G1_IO2 analog switch enable. G1_IO2: u1, - /// G1_IO3 analog switch enable. + /// G1_IO3 analog switch enable. G1_IO3: u1, - /// G1_IO4 analog switch enable. + /// G1_IO4 analog switch enable. G1_IO4: u1, - /// G2_IO1 analog switch enable. + /// G2_IO1 analog switch enable. G2_IO1: u1, - /// G2_IO2 analog switch enable. + /// G2_IO2 analog switch enable. G2_IO2: u1, - /// G2_IO3 analog switch enable. + /// G2_IO3 analog switch enable. G2_IO3: u1, - /// G2_IO4 analog switch enable. + /// G2_IO4 analog switch enable. G2_IO4: u1, - /// G3_IO1 analog switch enable. + /// G3_IO1 analog switch enable. G3_IO1: u1, - /// G3_IO2 analog switch enable. + /// G3_IO2 analog switch enable. G3_IO2: u1, - /// G3_IO3 analog switch enable. + /// G3_IO3 analog switch enable. G3_IO3: u1, - /// G3_IO4 analog switch enable. + /// G3_IO4 analog switch enable. G3_IO4: u1, - /// G4_IO1 analog switch enable. + /// G4_IO1 analog switch enable. G4_IO1: u1, - /// G4_IO2 analog switch enable. + /// G4_IO2 analog switch enable. G4_IO2: u1, - /// G4_IO3 analog switch enable. + /// G4_IO3 analog switch enable. G4_IO3: u1, - /// G4_IO4 analog switch enable. + /// G4_IO4 analog switch enable. G4_IO4: u1, - /// G5_IO1 analog switch enable. + /// G5_IO1 analog switch enable. G5_IO1: u1, - /// G5_IO2 analog switch enable. + /// G5_IO2 analog switch enable. G5_IO2: u1, - /// G5_IO3 analog switch enable. + /// G5_IO3 analog switch enable. G5_IO3: u1, - /// G5_IO4 analog switch enable. + /// G5_IO4 analog switch enable. G5_IO4: u1, - /// G6_IO1 analog switch enable. + /// G6_IO1 analog switch enable. G6_IO1: u1, - /// G6_IO2 analog switch enable. + /// G6_IO2 analog switch enable. G6_IO2: u1, - /// G6_IO3 analog switch enable. + /// G6_IO3 analog switch enable. G6_IO3: u1, - /// G6_IO4 analog switch enable. + /// G6_IO4 analog switch enable. G6_IO4: u1, - /// G7_IO1 analog switch enable. + /// G7_IO1 analog switch enable. G7_IO1: u1, - /// G7_IO2 analog switch enable. + /// G7_IO2 analog switch enable. G7_IO2: u1, - /// G7_IO3 analog switch enable. + /// G7_IO3 analog switch enable. G7_IO3: u1, - /// G7_IO4 analog switch enable. + /// G7_IO4 analog switch enable. G7_IO4: u1, padding: u4, }), reserved32: [4]u8, - /// I/O sampling control register. + /// I/O sampling control register. IOSCR: mmio.Mmio(packed struct(u32) { - /// G1_IO1 sampling mode. + /// G1_IO1 sampling mode. G1_IO1: u1, - /// G1_IO2 sampling mode. + /// G1_IO2 sampling mode. G1_IO2: u1, - /// G1_IO3 sampling mode. + /// G1_IO3 sampling mode. G1_IO3: u1, - /// G1_IO4 sampling mode. + /// G1_IO4 sampling mode. G1_IO4: u1, - /// G2_IO1 sampling mode. + /// G2_IO1 sampling mode. G2_IO1: u1, - /// G2_IO2 sampling mode. + /// G2_IO2 sampling mode. G2_IO2: u1, - /// G2_IO3 sampling mode. + /// G2_IO3 sampling mode. G2_IO3: u1, - /// G2_IO4 sampling mode. + /// G2_IO4 sampling mode. G2_IO4: u1, - /// G3_IO1 sampling mode. + /// G3_IO1 sampling mode. G3_IO1: u1, - /// G3_IO2 sampling mode. + /// G3_IO2 sampling mode. G3_IO2: u1, - /// G3_IO3 sampling mode. + /// G3_IO3 sampling mode. G3_IO3: u1, - /// G3_IO4 sampling mode. + /// G3_IO4 sampling mode. G3_IO4: u1, - /// G4_IO1 sampling mode. + /// G4_IO1 sampling mode. G4_IO1: u1, - /// G4_IO2 sampling mode. + /// G4_IO2 sampling mode. G4_IO2: u1, - /// G4_IO3 sampling mode. + /// G4_IO3 sampling mode. G4_IO3: u1, - /// G4_IO4 sampling mode. + /// G4_IO4 sampling mode. G4_IO4: u1, - /// G5_IO1 sampling mode. + /// G5_IO1 sampling mode. G5_IO1: u1, - /// G5_IO2 sampling mode. + /// G5_IO2 sampling mode. G5_IO2: u1, - /// G5_IO3 sampling mode. + /// G5_IO3 sampling mode. G5_IO3: u1, - /// G5_IO4 sampling mode. + /// G5_IO4 sampling mode. G5_IO4: u1, - /// G6_IO1 sampling mode. + /// G6_IO1 sampling mode. G6_IO1: u1, - /// G6_IO2 sampling mode. + /// G6_IO2 sampling mode. G6_IO2: u1, - /// G6_IO3 sampling mode. + /// G6_IO3 sampling mode. G6_IO3: u1, - /// G6_IO4 sampling mode. + /// G6_IO4 sampling mode. G6_IO4: u1, - /// G7_IO1 sampling mode. + /// G7_IO1 sampling mode. G7_IO1: u1, - /// G7_IO2 sampling mode. + /// G7_IO2 sampling mode. G7_IO2: u1, - /// G7_IO3 sampling mode. + /// G7_IO3 sampling mode. G7_IO3: u1, - /// G7_IO4 sampling mode. + /// G7_IO4 sampling mode. G7_IO4: u1, padding: u4, }), reserved40: [4]u8, - /// I/O channel control register. + /// I/O channel control register. IOCCR: mmio.Mmio(packed struct(u32) { - /// G1_IO1 channel mode. + /// G1_IO1 channel mode. G1_IO1: u1, - /// G1_IO2 channel mode. + /// G1_IO2 channel mode. G1_IO2: u1, - /// G1_IO3 channel mode. + /// G1_IO3 channel mode. G1_IO3: u1, - /// G1_IO4 channel mode. + /// G1_IO4 channel mode. G1_IO4: u1, - /// G2_IO1 channel mode. + /// G2_IO1 channel mode. G2_IO1: u1, - /// G2_IO2 channel mode. + /// G2_IO2 channel mode. G2_IO2: u1, - /// G2_IO3 channel mode. + /// G2_IO3 channel mode. G2_IO3: u1, - /// G2_IO4 channel mode. + /// G2_IO4 channel mode. G2_IO4: u1, - /// G3_IO1 channel mode. + /// G3_IO1 channel mode. G3_IO1: u1, - /// G3_IO2 channel mode. + /// G3_IO2 channel mode. G3_IO2: u1, - /// G3_IO3 channel mode. + /// G3_IO3 channel mode. G3_IO3: u1, - /// G3_IO4 channel mode. + /// G3_IO4 channel mode. G3_IO4: u1, - /// G4_IO1 channel mode. + /// G4_IO1 channel mode. G4_IO1: u1, - /// G4_IO2 channel mode. + /// G4_IO2 channel mode. G4_IO2: u1, - /// G4_IO3 channel mode. + /// G4_IO3 channel mode. G4_IO3: u1, - /// G4_IO4 channel mode. + /// G4_IO4 channel mode. G4_IO4: u1, - /// G5_IO1 channel mode. + /// G5_IO1 channel mode. G5_IO1: u1, - /// G5_IO2 channel mode. + /// G5_IO2 channel mode. G5_IO2: u1, - /// G5_IO3 channel mode. + /// G5_IO3 channel mode. G5_IO3: u1, - /// G5_IO4 channel mode. + /// G5_IO4 channel mode. G5_IO4: u1, - /// G6_IO1 channel mode. + /// G6_IO1 channel mode. G6_IO1: u1, - /// G6_IO2 channel mode. + /// G6_IO2 channel mode. G6_IO2: u1, - /// G6_IO3 channel mode. + /// G6_IO3 channel mode. G6_IO3: u1, - /// G6_IO4 channel mode. + /// G6_IO4 channel mode. G6_IO4: u1, - /// G7_IO1 channel mode. + /// G7_IO1 channel mode. G7_IO1: u1, - /// G7_IO2 channel mode. + /// G7_IO2 channel mode. G7_IO2: u1, - /// G7_IO3 channel mode. + /// G7_IO3 channel mode. G7_IO3: u1, - /// G7_IO4 channel mode. + /// G7_IO4 channel mode. G7_IO4: u1, padding: u4, }), reserved48: [4]u8, - /// I/O group control status register. + /// I/O group control status register. IOGCSR: mmio.Mmio(packed struct(u32) { - /// Analog I/O group x enable. + /// Analog I/O group x enable. G1E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G2E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G3E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G4E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G5E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G6E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G7E: u1, reserved16: u9, - /// Analog I/O group x status. + /// Analog I/O group x status. G1S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G2S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G3S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G4S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G5S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G6S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G7S: u1, padding: u9, }), - /// I/O group x counter register. + /// I/O group x counter register. IOGCR: [7]mmio.Mmio(packed struct(u32) { - /// Counter value. + /// Counter value. CNT: u14, padding: u18, }), @@ -437855,372 +427070,372 @@ pub const types = struct { }; pub const tsc_v3 = struct { - /// Touch sensing controller. + /// Touch sensing controller. pub const TSC = extern struct { - /// control register. + /// control register. CR: mmio.Mmio(packed struct(u32) { - /// Touch sensing controller enable. + /// Touch sensing controller enable. TSCE: u1, - /// Start a new acquisition. + /// Start a new acquisition. START: u1, - /// Acquisition mode. + /// Acquisition mode. AM: u1, - /// Synchronization pin polarity. + /// Synchronization pin polarity. SYNCPOL: u1, - /// I/O Default mode. + /// I/O Default mode. IODEF: u1, - /// Max count value. + /// Max count value. MCV: u3, reserved12: u4, - /// pulse generator prescaler. + /// pulse generator prescaler. PGPSC: u3, - /// Spread spectrum prescaler. + /// Spread spectrum prescaler. SSPSC: u1, - /// Spread spectrum enable. + /// Spread spectrum enable. SSE: u1, - /// Spread spectrum deviation. + /// Spread spectrum deviation. SSD: u7, - /// Charge transfer pulse low. + /// Charge transfer pulse low. CTPL: u4, - /// Charge transfer pulse high. + /// Charge transfer pulse high. CTPH: u4, }), - /// interrupt enable register. + /// interrupt enable register. IER: mmio.Mmio(packed struct(u32) { - /// End of acquisition interrupt enable. + /// End of acquisition interrupt enable. EOAIE: u1, - /// Max count error interrupt enable. + /// Max count error interrupt enable. MCEIE: u1, padding: u30, }), - /// interrupt clear register. + /// interrupt clear register. ICR: mmio.Mmio(packed struct(u32) { - /// End of acquisition interrupt clear. + /// End of acquisition interrupt clear. EOAIC: u1, - /// Max count error interrupt clear. + /// Max count error interrupt clear. MCEIC: u1, padding: u30, }), - /// interrupt status register. + /// interrupt status register. ISR: mmio.Mmio(packed struct(u32) { - /// End of acquisition flag. + /// End of acquisition flag. EOAF: u1, - /// Max count error flag. + /// Max count error flag. MCEF: u1, padding: u30, }), - /// I/O hysteresis control register. + /// I/O hysteresis control register. IOHCR: mmio.Mmio(packed struct(u32) { - /// G1_IO1 Schmitt trigger hysteresis mode. + /// G1_IO1 Schmitt trigger hysteresis mode. G1_IO1: u1, - /// G1_IO2 Schmitt trigger hysteresis mode. + /// G1_IO2 Schmitt trigger hysteresis mode. G1_IO2: u1, - /// G1_IO3 Schmitt trigger hysteresis mode. + /// G1_IO3 Schmitt trigger hysteresis mode. G1_IO3: u1, - /// G1_IO4 Schmitt trigger hysteresis mode. + /// G1_IO4 Schmitt trigger hysteresis mode. G1_IO4: u1, - /// G2_IO1 Schmitt trigger hysteresis mode. + /// G2_IO1 Schmitt trigger hysteresis mode. G2_IO1: u1, - /// G2_IO2 Schmitt trigger hysteresis mode. + /// G2_IO2 Schmitt trigger hysteresis mode. G2_IO2: u1, - /// G2_IO3 Schmitt trigger hysteresis mode. + /// G2_IO3 Schmitt trigger hysteresis mode. G2_IO3: u1, - /// G2_IO4 Schmitt trigger hysteresis mode. + /// G2_IO4 Schmitt trigger hysteresis mode. G2_IO4: u1, - /// G3_IO1 Schmitt trigger hysteresis mode. + /// G3_IO1 Schmitt trigger hysteresis mode. G3_IO1: u1, - /// G3_IO2 Schmitt trigger hysteresis mode. + /// G3_IO2 Schmitt trigger hysteresis mode. G3_IO2: u1, - /// G3_IO3 Schmitt trigger hysteresis mode. + /// G3_IO3 Schmitt trigger hysteresis mode. G3_IO3: u1, - /// G3_IO4 Schmitt trigger hysteresis mode. + /// G3_IO4 Schmitt trigger hysteresis mode. G3_IO4: u1, - /// G4_IO1 Schmitt trigger hysteresis mode. + /// G4_IO1 Schmitt trigger hysteresis mode. G4_IO1: u1, - /// G4_IO2 Schmitt trigger hysteresis mode. + /// G4_IO2 Schmitt trigger hysteresis mode. G4_IO2: u1, - /// G4_IO3 Schmitt trigger hysteresis mode. + /// G4_IO3 Schmitt trigger hysteresis mode. G4_IO3: u1, - /// G4_IO4 Schmitt trigger hysteresis mode. + /// G4_IO4 Schmitt trigger hysteresis mode. G4_IO4: u1, - /// G5_IO1 Schmitt trigger hysteresis mode. + /// G5_IO1 Schmitt trigger hysteresis mode. G5_IO1: u1, - /// G5_IO2 Schmitt trigger hysteresis mode. + /// G5_IO2 Schmitt trigger hysteresis mode. G5_IO2: u1, - /// G5_IO3 Schmitt trigger hysteresis mode. + /// G5_IO3 Schmitt trigger hysteresis mode. G5_IO3: u1, - /// G5_IO4 Schmitt trigger hysteresis mode. + /// G5_IO4 Schmitt trigger hysteresis mode. G5_IO4: u1, - /// G6_IO1 Schmitt trigger hysteresis mode. + /// G6_IO1 Schmitt trigger hysteresis mode. G6_IO1: u1, - /// G6_IO2 Schmitt trigger hysteresis mode. + /// G6_IO2 Schmitt trigger hysteresis mode. G6_IO2: u1, - /// G6_IO3 Schmitt trigger hysteresis mode. + /// G6_IO3 Schmitt trigger hysteresis mode. G6_IO3: u1, - /// G6_IO4 Schmitt trigger hysteresis mode. + /// G6_IO4 Schmitt trigger hysteresis mode. G6_IO4: u1, - /// G7_IO1 Schmitt trigger hysteresis mode. + /// G7_IO1 Schmitt trigger hysteresis mode. G7_IO1: u1, - /// G7_IO2 Schmitt trigger hysteresis mode. + /// G7_IO2 Schmitt trigger hysteresis mode. G7_IO2: u1, - /// G7_IO3 Schmitt trigger hysteresis mode. + /// G7_IO3 Schmitt trigger hysteresis mode. G7_IO3: u1, - /// G7_IO4 Schmitt trigger hysteresis mode. + /// G7_IO4 Schmitt trigger hysteresis mode. G7_IO4: u1, - /// G8_IO1 Schmitt trigger hysteresis mode. + /// G8_IO1 Schmitt trigger hysteresis mode. G8_IO1: u1, - /// G8_IO2 Schmitt trigger hysteresis mode. + /// G8_IO2 Schmitt trigger hysteresis mode. G8_IO2: u1, - /// G8_IO3 Schmitt trigger hysteresis mode. + /// G8_IO3 Schmitt trigger hysteresis mode. G8_IO3: u1, - /// G8_IO4 Schmitt trigger hysteresis mode. + /// G8_IO4 Schmitt trigger hysteresis mode. G8_IO4: u1, }), reserved24: [4]u8, - /// I/O analog switch control register. + /// I/O analog switch control register. IOASCR: mmio.Mmio(packed struct(u32) { - /// G1_IO1 analog switch enable. + /// G1_IO1 analog switch enable. G1_IO1: u1, - /// G1_IO2 analog switch enable. + /// G1_IO2 analog switch enable. G1_IO2: u1, - /// G1_IO3 analog switch enable. + /// G1_IO3 analog switch enable. G1_IO3: u1, - /// G1_IO4 analog switch enable. + /// G1_IO4 analog switch enable. G1_IO4: u1, - /// G2_IO1 analog switch enable. + /// G2_IO1 analog switch enable. G2_IO1: u1, - /// G2_IO2 analog switch enable. + /// G2_IO2 analog switch enable. G2_IO2: u1, - /// G2_IO3 analog switch enable. + /// G2_IO3 analog switch enable. G2_IO3: u1, - /// G2_IO4 analog switch enable. + /// G2_IO4 analog switch enable. G2_IO4: u1, - /// G3_IO1 analog switch enable. + /// G3_IO1 analog switch enable. G3_IO1: u1, - /// G3_IO2 analog switch enable. + /// G3_IO2 analog switch enable. G3_IO2: u1, - /// G3_IO3 analog switch enable. + /// G3_IO3 analog switch enable. G3_IO3: u1, - /// G3_IO4 analog switch enable. + /// G3_IO4 analog switch enable. G3_IO4: u1, - /// G4_IO1 analog switch enable. + /// G4_IO1 analog switch enable. G4_IO1: u1, - /// G4_IO2 analog switch enable. + /// G4_IO2 analog switch enable. G4_IO2: u1, - /// G4_IO3 analog switch enable. + /// G4_IO3 analog switch enable. G4_IO3: u1, - /// G4_IO4 analog switch enable. + /// G4_IO4 analog switch enable. G4_IO4: u1, - /// G5_IO1 analog switch enable. + /// G5_IO1 analog switch enable. G5_IO1: u1, - /// G5_IO2 analog switch enable. + /// G5_IO2 analog switch enable. G5_IO2: u1, - /// G5_IO3 analog switch enable. + /// G5_IO3 analog switch enable. G5_IO3: u1, - /// G5_IO4 analog switch enable. + /// G5_IO4 analog switch enable. G5_IO4: u1, - /// G6_IO1 analog switch enable. + /// G6_IO1 analog switch enable. G6_IO1: u1, - /// G6_IO2 analog switch enable. + /// G6_IO2 analog switch enable. G6_IO2: u1, - /// G6_IO3 analog switch enable. + /// G6_IO3 analog switch enable. G6_IO3: u1, - /// G6_IO4 analog switch enable. + /// G6_IO4 analog switch enable. G6_IO4: u1, - /// G7_IO1 analog switch enable. + /// G7_IO1 analog switch enable. G7_IO1: u1, - /// G7_IO2 analog switch enable. + /// G7_IO2 analog switch enable. G7_IO2: u1, - /// G7_IO3 analog switch enable. + /// G7_IO3 analog switch enable. G7_IO3: u1, - /// G7_IO4 analog switch enable. + /// G7_IO4 analog switch enable. G7_IO4: u1, - /// G8_IO1 analog switch enable. + /// G8_IO1 analog switch enable. G8_IO1: u1, - /// G8_IO2 analog switch enable. + /// G8_IO2 analog switch enable. G8_IO2: u1, - /// G8_IO3 analog switch enable. + /// G8_IO3 analog switch enable. G8_IO3: u1, - /// G8_IO4 analog switch enable. + /// G8_IO4 analog switch enable. G8_IO4: u1, }), reserved32: [4]u8, - /// I/O sampling control register. + /// I/O sampling control register. IOSCR: mmio.Mmio(packed struct(u32) { - /// G1_IO1 sampling mode. + /// G1_IO1 sampling mode. G1_IO1: u1, - /// G1_IO2 sampling mode. + /// G1_IO2 sampling mode. G1_IO2: u1, - /// G1_IO3 sampling mode. + /// G1_IO3 sampling mode. G1_IO3: u1, - /// G1_IO4 sampling mode. + /// G1_IO4 sampling mode. G1_IO4: u1, - /// G2_IO1 sampling mode. + /// G2_IO1 sampling mode. G2_IO1: u1, - /// G2_IO2 sampling mode. + /// G2_IO2 sampling mode. G2_IO2: u1, - /// G2_IO3 sampling mode. + /// G2_IO3 sampling mode. G2_IO3: u1, - /// G2_IO4 sampling mode. + /// G2_IO4 sampling mode. G2_IO4: u1, - /// G3_IO1 sampling mode. + /// G3_IO1 sampling mode. G3_IO1: u1, - /// G3_IO2 sampling mode. + /// G3_IO2 sampling mode. G3_IO2: u1, - /// G3_IO3 sampling mode. + /// G3_IO3 sampling mode. G3_IO3: u1, - /// G3_IO4 sampling mode. + /// G3_IO4 sampling mode. G3_IO4: u1, - /// G4_IO1 sampling mode. + /// G4_IO1 sampling mode. G4_IO1: u1, - /// G4_IO2 sampling mode. + /// G4_IO2 sampling mode. G4_IO2: u1, - /// G4_IO3 sampling mode. + /// G4_IO3 sampling mode. G4_IO3: u1, - /// G4_IO4 sampling mode. + /// G4_IO4 sampling mode. G4_IO4: u1, - /// G5_IO1 sampling mode. + /// G5_IO1 sampling mode. G5_IO1: u1, - /// G5_IO2 sampling mode. + /// G5_IO2 sampling mode. G5_IO2: u1, - /// G5_IO3 sampling mode. + /// G5_IO3 sampling mode. G5_IO3: u1, - /// G5_IO4 sampling mode. + /// G5_IO4 sampling mode. G5_IO4: u1, - /// G6_IO1 sampling mode. + /// G6_IO1 sampling mode. G6_IO1: u1, - /// G6_IO2 sampling mode. + /// G6_IO2 sampling mode. G6_IO2: u1, - /// G6_IO3 sampling mode. + /// G6_IO3 sampling mode. G6_IO3: u1, - /// G6_IO4 sampling mode. + /// G6_IO4 sampling mode. G6_IO4: u1, - /// G7_IO1 sampling mode. + /// G7_IO1 sampling mode. G7_IO1: u1, - /// G7_IO2 sampling mode. + /// G7_IO2 sampling mode. G7_IO2: u1, - /// G7_IO3 sampling mode. + /// G7_IO3 sampling mode. G7_IO3: u1, - /// G7_IO4 sampling mode. + /// G7_IO4 sampling mode. G7_IO4: u1, - /// G8_IO1 sampling mode. + /// G8_IO1 sampling mode. G8_IO1: u1, - /// G8_IO2 sampling mode. + /// G8_IO2 sampling mode. G8_IO2: u1, - /// G8_IO3 sampling mode. + /// G8_IO3 sampling mode. G8_IO3: u1, - /// G8_IO4 sampling mode. + /// G8_IO4 sampling mode. G8_IO4: u1, }), reserved40: [4]u8, - /// I/O channel control register. + /// I/O channel control register. IOCCR: mmio.Mmio(packed struct(u32) { - /// G1_IO1 channel mode. + /// G1_IO1 channel mode. G1_IO1: u1, - /// G1_IO2 channel mode. + /// G1_IO2 channel mode. G1_IO2: u1, - /// G1_IO3 channel mode. + /// G1_IO3 channel mode. G1_IO3: u1, - /// G1_IO4 channel mode. + /// G1_IO4 channel mode. G1_IO4: u1, - /// G2_IO1 channel mode. + /// G2_IO1 channel mode. G2_IO1: u1, - /// G2_IO2 channel mode. + /// G2_IO2 channel mode. G2_IO2: u1, - /// G2_IO3 channel mode. + /// G2_IO3 channel mode. G2_IO3: u1, - /// G2_IO4 channel mode. + /// G2_IO4 channel mode. G2_IO4: u1, - /// G3_IO1 channel mode. + /// G3_IO1 channel mode. G3_IO1: u1, - /// G3_IO2 channel mode. + /// G3_IO2 channel mode. G3_IO2: u1, - /// G3_IO3 channel mode. + /// G3_IO3 channel mode. G3_IO3: u1, - /// G3_IO4 channel mode. + /// G3_IO4 channel mode. G3_IO4: u1, - /// G4_IO1 channel mode. + /// G4_IO1 channel mode. G4_IO1: u1, - /// G4_IO2 channel mode. + /// G4_IO2 channel mode. G4_IO2: u1, - /// G4_IO3 channel mode. + /// G4_IO3 channel mode. G4_IO3: u1, - /// G4_IO4 channel mode. + /// G4_IO4 channel mode. G4_IO4: u1, - /// G5_IO1 channel mode. + /// G5_IO1 channel mode. G5_IO1: u1, - /// G5_IO2 channel mode. + /// G5_IO2 channel mode. G5_IO2: u1, - /// G5_IO3 channel mode. + /// G5_IO3 channel mode. G5_IO3: u1, - /// G5_IO4 channel mode. + /// G5_IO4 channel mode. G5_IO4: u1, - /// G6_IO1 channel mode. + /// G6_IO1 channel mode. G6_IO1: u1, - /// G6_IO2 channel mode. + /// G6_IO2 channel mode. G6_IO2: u1, - /// G6_IO3 channel mode. + /// G6_IO3 channel mode. G6_IO3: u1, - /// G6_IO4 channel mode. + /// G6_IO4 channel mode. G6_IO4: u1, - /// G7_IO1 channel mode. + /// G7_IO1 channel mode. G7_IO1: u1, - /// G7_IO2 channel mode. + /// G7_IO2 channel mode. G7_IO2: u1, - /// G7_IO3 channel mode. + /// G7_IO3 channel mode. G7_IO3: u1, - /// G7_IO4 channel mode. + /// G7_IO4 channel mode. G7_IO4: u1, - /// G8_IO1 channel mode. + /// G8_IO1 channel mode. G8_IO1: u1, - /// G8_IO2 channel mode. + /// G8_IO2 channel mode. G8_IO2: u1, - /// G8_IO3 channel mode. + /// G8_IO3 channel mode. G8_IO3: u1, - /// G8_IO4 channel mode. + /// G8_IO4 channel mode. G8_IO4: u1, }), reserved48: [4]u8, - /// I/O group control status register. + /// I/O group control status register. IOGCSR: mmio.Mmio(packed struct(u32) { - /// Analog I/O group x enable. + /// Analog I/O group x enable. G1E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G2E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G3E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G4E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G5E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G6E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G7E: u1, - /// Analog I/O group x enable. + /// Analog I/O group x enable. G8E: u1, reserved16: u8, - /// Analog I/O group x status. + /// Analog I/O group x status. G1S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G2S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G3S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G4S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G5S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G6S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G7S: u1, - /// Analog I/O group x status. + /// Analog I/O group x status. G8S: u1, padding: u8, }), - /// I/O group x counter register. + /// I/O group x counter register. IOGCR: [8]mmio.Mmio(packed struct(u32) { - /// Counter value. + /// Counter value. CNT: u14, padding: u18, }), @@ -438229,639 +427444,585 @@ pub const types = struct { pub const ucpd_v1 = struct { pub const ANAMODE = enum(u1) { - /// Source + /// Source Source = 0x0, - /// Sink + /// Sink Sink = 0x1, }; pub const CCENABLE = enum(u2) { - /// Disable both PHYs + /// Disable both PHYs Disabled = 0x0, - /// Enable CC1 PHY + /// Enable CC1 PHY Cc1 = 0x1, - /// Enable CC2 PHY + /// Enable CC2 PHY Cc2 = 0x2, - /// Enable CC1 and CC2 PHY + /// Enable CC1 and CC2 PHY Both = 0x3, }; pub const PHYCCSEL = enum(u1) { - /// Use CC1 IO for Power Delivery communication + /// Use CC1 IO for Power Delivery communication Cc1 = 0x0, - /// Use CC2 IO for Power Delivery communication + /// Use CC2 IO for Power Delivery communication Cc2 = 0x1, }; pub const PSC_USBPDCLK = enum(u3) { - /// 1 (bypass) + /// 1 (bypass) Div1 = 0x0, - /// 2 + /// 2 Div2 = 0x1, - /// 4 + /// 4 Div4 = 0x2, - /// 8 + /// 8 Div8 = 0x3, - /// 16 + /// 16 Div16 = 0x4, _, }; pub const RXORDSET = enum(u3) { - /// SOP code detected in receiver + /// SOP code detected in receiver Sop = 0x0, - /// SOP' code detected in receiver + /// SOP' code detected in receiver SopPrime = 0x1, - /// SOP'' code detected in receiver + /// SOP'' code detected in receiver SopDoublePrime = 0x2, - /// SOP'_Debug detected in receiver + /// SOP'_Debug detected in receiver SopPrimeDebug = 0x3, - /// SOP''_Debug detected in receiver + /// SOP''_Debug detected in receiver SopDoublePrimeDebug = 0x4, - /// Cable Reset detected in receiver + /// Cable Reset detected in receiver CableReset = 0x5, - /// SOP extension#1 detected in receiver + /// SOP extension#1 detected in receiver Ext1 = 0x6, - /// SOP extension#2 detected in receiver + /// SOP extension#2 detected in receiver Ext2 = 0x7, }; pub const RXSOPKINVALID = enum(u3) { - /// No K‑code corrupted + /// No K‑code corrupted None = 0x0, - /// First K‑code corrupted + /// First K‑code corrupted First = 0x1, - /// Second K‑code corrupted + /// Second K‑code corrupted Second = 0x2, - /// Third K‑code corrupted + /// Third K‑code corrupted Third = 0x3, - /// Fourth K‑code corrupted + /// Fourth K‑code corrupted Fourth = 0x4, _, }; pub const TXMODE = enum(u2) { - /// Transmission of Tx packet previously defined in other registers + /// Transmission of Tx packet previously defined in other registers Packet = 0x0, - /// Cable Reset sequence + /// Cable Reset sequence CableReset = 0x1, - /// BIST test sequence (BIST Carrier Mode 2) + /// BIST test sequence (BIST Carrier Mode 2) Bist = 0x2, _, }; pub const TYPEC_VSTATE_CC = enum(u2) { - /// Lowest + /// Lowest Lowest = 0x0, - /// Low + /// Low Low = 0x1, - /// High + /// High High = 0x2, - /// Highest + /// Highest Highest = 0x3, }; - /// USB Power Delivery interface + /// USB Power Delivery interface pub const UCPD = extern struct { - /// configuration register 1 + /// configuration register 1 CFGR1: mmio.Mmio(packed struct(u32) { - /// Division ratio for producing half-bit clock The bitfield determines the division ratio (the bitfield value plus one) of a clk divider producing half-bit clock (hbit_clk). + /// Division ratio for producing half-bit clock The bitfield determines the division ratio (the bitfield value plus one) of a clk divider producing half-bit clock (hbit_clk). HBITCLKDIV: u6, - /// Division ratio for producing inter-frame gap timer clock The bitfield determines the division ratio (the bitfield value minus one) of a clk divider producing inter-frame gap timer clock (tInterFrameGap). The division ratio 15 is to apply for Tx clock at the USB PD 2.0 specification nominal value. The division ratios below 15 are to apply for Tx clock below nominal, and the division ratios above 15 for Tx clock above nominal. + /// Division ratio for producing inter-frame gap timer clock The bitfield determines the division ratio (the bitfield value minus one) of a clk divider producing inter-frame gap timer clock (tInterFrameGap). The division ratio 15 is to apply for Tx clock at the USB PD 2.0 specification nominal value. The division ratios below 15 are to apply for Tx clock below nominal, and the division ratios above 15 for Tx clock above nominal. IFRGAP: u5, - /// Transition window duration The bitfield determines the division ratio (the bitfield value minus one) of a hbit_clk divider producing tTransitionWindow interval. Set a value that produces an interval of 12 to 20 us, taking into account the clk frequency and the HBITCLKDIV[5:0] bitfield setting. + /// Transition window duration The bitfield determines the division ratio (the bitfield value minus one) of a hbit_clk divider producing tTransitionWindow interval. Set a value that produces an interval of 12 to 20 us, taking into account the clk frequency and the HBITCLKDIV[5:0] bitfield setting. TRANSWIN: u5, reserved17: u1, - /// Pre-scaler division ratio for generating clk The bitfield determines the division ratio of a kernel clock pre-scaler producing peripheral clock (clk). It is recommended to use the pre-scaler so as to set the clk frequency in the range from 6 to 9 MHz. - PSC_USBPDCLK: packed union { - raw: u3, - value: PSC_USBPDCLK, - }, - /// Receiver ordered set enable The bitfield determines the types of ordered sets that the receiver must detect. When set/cleared, each bit enables/disables a specific function: 0bxxxxxxxx1: SOP detect enabled 0bxxxxxxx1x: SOP' detect enabled 0bxxxxxx1xx: SOP'' detect enabled 0bxxxxx1xxx: Hard Reset detect enabled 0bxxxx1xxxx: Cable Detect reset enabled 0bxxx1xxxxx: SOP'_Debug enabled 0bxx1xxxxxx: SOP''_Debug enabled 0bx1xxxxxxx: SOP extension#1 enabled 0b1xxxxxxxx: SOP extension#2 enabled + /// Pre-scaler division ratio for generating clk The bitfield determines the division ratio of a kernel clock pre-scaler producing peripheral clock (clk). It is recommended to use the pre-scaler so as to set the clk frequency in the range from 6 to 9 MHz. + PSC_USBPDCLK: PSC_USBPDCLK, + /// Receiver ordered set enable The bitfield determines the types of ordered sets that the receiver must detect. When set/cleared, each bit enables/disables a specific function: 0bxxxxxxxx1: SOP detect enabled 0bxxxxxxx1x: SOP' detect enabled 0bxxxxxx1xx: SOP'' detect enabled 0bxxxxx1xxx: Hard Reset detect enabled 0bxxxx1xxxx: Cable Detect reset enabled 0bxxx1xxxxx: SOP'_Debug enabled 0bxx1xxxxxx: SOP''_Debug enabled 0bx1xxxxxxx: SOP extension#1 enabled 0b1xxxxxxxx: SOP extension#2 enabled RXORDSETEN: u9, - /// Transmission DMA mode enable When set, the bit enables DMA mode for transmission. + /// Transmission DMA mode enable When set, the bit enables DMA mode for transmission. TXDMAEN: u1, - /// Reception DMA mode enable When set, the bit enables DMA mode for reception. + /// Reception DMA mode enable When set, the bit enables DMA mode for reception. RXDMAEN: u1, - /// peripheral enable General enable of the peripheral. Upon disabling, the peripheral instantly quits any ongoing activity and all control bits and bitfields default to their reset values. They must be set to their desired values each time the peripheral transits from disabled to enabled state. + /// peripheral enable General enable of the peripheral. Upon disabling, the peripheral instantly quits any ongoing activity and all control bits and bitfields default to their reset values. They must be set to their desired values each time the peripheral transits from disabled to enabled state. UCPDEN: u1, }), - /// configuration register 2 + /// configuration register 2 CFGR2: mmio.Mmio(packed struct(u32) { - /// BMC decoder Rx pre-filter enable The sampling clock is that of the receiver (that is, after pre-scaler). + /// BMC decoder Rx pre-filter enable The sampling clock is that of the receiver (that is, after pre-scaler). RXFILTDIS: u1, - /// BMC decoder Rx pre-filter sampling method Number of consistent consecutive samples before confirming a new value. + /// BMC decoder Rx pre-filter sampling method Number of consistent consecutive samples before confirming a new value. RXFILT2N3: u1, - /// Force ClkReq clock request + /// Force ClkReq clock request FORCECLK: u1, - /// Wakeup from Stop mode enable Setting the bit enables the ASYNC_INT signal. + /// Wakeup from Stop mode enable Setting the bit enables the ASYNC_INT signal. WUPEN: u1, padding: u28, }), - /// configuration register 3 + /// configuration register 3 CFGR3: mmio.Mmio(packed struct(u32) { - /// SW trim value for Rd resistor on the CC1 line + /// SW trim value for Rd resistor on the CC1 line TRIM_CC1_RD: u4, reserved9: u5, - /// SW trim value for Rp current sources on the CC1 line + /// SW trim value for Rp current sources on the CC1 line TRIM_CC1_RP: u4, reserved16: u3, - /// SW trim value for Rd resistor on the CC2 line + /// SW trim value for Rd resistor on the CC2 line TRIM_CC2_RD: u4, reserved25: u5, - /// SW trim value for Rp current sources on the CC2 line + /// SW trim value for Rp current sources on the CC2 line TRIM_CC2_RP: u4, padding: u3, }), - /// control register + /// control register CR: mmio.Mmio(packed struct(u32) { - /// Type of Tx packet Writing the bitfield triggers the action as follows, depending on the value: Others: invalid From V1.1 of the USB PD specification, there is a counter defined for the duration of the BIST Carrier Mode 2. To quit this mode correctly (after the "tBISTContMode" delay), disable the peripheral (UCPDEN = 0). - TXMODE: packed union { - raw: u2, - value: TXMODE, - }, - /// Command to send a Tx packet The bit is cleared by hardware as soon as the packet transmission begins or is discarded. + /// Type of Tx packet Writing the bitfield triggers the action as follows, depending on the value: Others: invalid From V1.1 of the USB PD specification, there is a counter defined for the duration of the BIST Carrier Mode 2. To quit this mode correctly (after the "tBISTContMode" delay), disable the peripheral (UCPDEN = 0). + TXMODE: TXMODE, + /// Command to send a Tx packet The bit is cleared by hardware as soon as the packet transmission begins or is discarded. TXSEND: u1, - /// Command to send a Tx Hard Reset The bit is cleared by hardware as soon as the message transmission begins or is discarded. + /// Command to send a Tx Hard Reset The bit is cleared by hardware as soon as the message transmission begins or is discarded. TXHRST: u1, - /// Receiver mode Determines the mode of the receiver. When the bit is set, RXORDSET behaves normally, RXDR no longer receives bytes yet the CRC checking still proceeds as for a normal message. + /// Receiver mode Determines the mode of the receiver. When the bit is set, RXORDSET behaves normally, RXDR no longer receives bytes yet the CRC checking still proceeds as for a normal message. RXMODE: u1, - /// USB Power Delivery receiver enable Both CC1 and CC2 receivers are disabled when the bit is cleared. Only the CC receiver selected via the PHYCCSEL bit is enabled when the bit is set. + /// USB Power Delivery receiver enable Both CC1 and CC2 receivers are disabled when the bit is cleared. Only the CC receiver selected via the PHYCCSEL bit is enabled when the bit is set. PHYRXEN: u1, - /// CC1/CC2 line selector for USB Power Delivery signaling The selection depends on the cable orientation as discovered at attach. - PHYCCSEL: packed union { - raw: u1, - value: PHYCCSEL, - }, - /// Analog PHY sub-mode Refer to TYPEC_VSTATE_CCx for the effect of this bitfield. + /// CC1/CC2 line selector for USB Power Delivery signaling The selection depends on the cable orientation as discovered at attach. + PHYCCSEL: PHYCCSEL, + /// Analog PHY sub-mode Refer to TYPEC_VSTATE_CCx for the effect of this bitfield. ANASUBMODE: u2, - /// Analog PHY operating mode The use of CC1 and CC2 depends on CCENABLE. Refer to ANAMODE, ANASUBMODE and link with TYPEC_VSTATE_CCx for the effect of this bitfield in conjunction with ANASUBMODE[1:0]. - ANAMODE: packed union { - raw: u1, - value: ANAMODE, - }, - /// CC line enable This bitfield enables CC1 and CC2 line analog PHYs (pull-ups and pull-downs) according to ANAMODE and ANASUBMODE[1:0] setting. A single line PHY can be enabled when, for example, the other line is driven by VCONN via an external VCONN switch. Enabling both PHYs is the normal usage for sink/source. - CCENABLE: packed union { - raw: u2, - value: CCENABLE, - }, + /// Analog PHY operating mode The use of CC1 and CC2 depends on CCENABLE. Refer to ANAMODE, ANASUBMODE and link with TYPEC_VSTATE_CCx for the effect of this bitfield in conjunction with ANASUBMODE[1:0]. + ANAMODE: ANAMODE, + /// CC line enable This bitfield enables CC1 and CC2 line analog PHYs (pull-ups and pull-downs) according to ANAMODE and ANASUBMODE[1:0] setting. A single line PHY can be enabled when, for example, the other line is driven by VCONN via an external VCONN switch. Enabling both PHYs is the normal usage for sink/source. + CCENABLE: CCENABLE, reserved13: u1, - /// VCONN switch enable for CC1 + /// VCONN switch enable for CC1 CC1VCONNEN: u1, - /// VCONN switch enable for CC2 + /// VCONN switch enable for CC2 CC2VCONNEN: u1, - /// Dead battery function enable The bit takes effect upon setting the USBPDstrobe bit of the SYS_CONFIG register. Dead battery function only operates if the external circuit is appropriately configured. + /// Dead battery function enable The bit takes effect upon setting the USBPDstrobe bit of the SYS_CONFIG register. Dead battery function only operates if the external circuit is appropriately configured. DBATTEN: u1, - /// FRS event detection enable Setting the bit enables FRS Rx event (FRSEVT) detection on the CC line selected through the PHYCCSEL bit. 0: Disable Clear the bit when the device is attached to an FRS-incapable source/sink. + /// FRS event detection enable Setting the bit enables FRS Rx event (FRSEVT) detection on the CC line selected through the PHYCCSEL bit. 0: Disable Clear the bit when the device is attached to an FRS-incapable source/sink. FRSRXEN: u1, - /// FRS Tx signaling enable. Setting the bit enables FRS Tx signaling. The bit is cleared by hardware after a delay respecting the USB Power Delivery specification Revision 3.0. + /// FRS Tx signaling enable. Setting the bit enables FRS Tx signaling. The bit is cleared by hardware after a delay respecting the USB Power Delivery specification Revision 3.0. FRSTX: u1, - /// Rdch condition drive The bit drives Rdch condition on the CC line selected through the PHYCCSEL bit (thus associated with VCONN), by remaining set during the source-only UnattachedWait.SRC state, to respect the Type-C state. Refer to "USB Type-C ECN for Source VCONN Discharge". The CCENABLE[1:0] bitfield must be set accordingly, too. + /// Rdch condition drive The bit drives Rdch condition on the CC line selected through the PHYCCSEL bit (thus associated with VCONN), by remaining set during the source-only UnattachedWait.SRC state, to respect the Type-C state. Refer to "USB Type-C ECN for Source VCONN Discharge". The CCENABLE[1:0] bitfield must be set accordingly, too. RDCH: u1, reserved20: u1, - /// CC1 Type-C detector disable The bit disables the Type-C detector on the CC1 line. When enabled, the Type-C detector for CC1 is configured through ANAMODE and ANASUBMODE[1:0]. + /// CC1 Type-C detector disable The bit disables the Type-C detector on the CC1 line. When enabled, the Type-C detector for CC1 is configured through ANAMODE and ANASUBMODE[1:0]. CC1TCDIS: u1, - /// CC2 Type-C detector disable The bit disables the Type-C detector on the CC2 line. When enabled, the Type-C detector for CC2 is configured through ANAMODE and ANASUBMODE[1:0]. + /// CC2 Type-C detector disable The bit disables the Type-C detector on the CC2 line. When enabled, the Type-C detector for CC2 is configured through ANAMODE and ANASUBMODE[1:0]. CC2TCDIS: u1, padding: u10, }), - /// interrupt mask register + /// interrupt mask register IMR: mmio.Mmio(packed struct(u32) { - /// TXIS interrupt enable + /// TXIS interrupt enable TXISIE: u1, - /// TXMSGDISC interrupt enable + /// TXMSGDISC interrupt enable TXMSGDISCIE: u1, - /// TXMSGSENT interrupt enable + /// TXMSGSENT interrupt enable TXMSGSENTIE: u1, - /// TXMSGABT interrupt enable + /// TXMSGABT interrupt enable TXMSGABTIE: u1, - /// HRSTDISC interrupt enable + /// HRSTDISC interrupt enable HRSTDISCIE: u1, - /// HRSTSENT interrupt enable + /// HRSTSENT interrupt enable HRSTSENTIE: u1, - /// TXUND interrupt enable + /// TXUND interrupt enable TXUNDIE: u1, reserved8: u1, - /// RXNE interrupt enable + /// RXNE interrupt enable RXNEIE: u1, - /// RXORDDET interrupt enable + /// RXORDDET interrupt enable RXORDDETIE: u1, - /// RXHRSTDET interrupt enable + /// RXHRSTDET interrupt enable RXHRSTDETIE: u1, - /// RXOVR interrupt enable + /// RXOVR interrupt enable RXOVRIE: u1, - /// RXMSGEND interrupt enable + /// RXMSGEND interrupt enable RXMSGENDIE: u1, reserved14: u1, - /// TYPECEVT1 interrupt enable + /// TYPECEVT1 interrupt enable TYPECEVT1IE: u1, - /// TYPECEVT2 interrupt enable + /// TYPECEVT2 interrupt enable TYPECEVT2IE: u1, reserved20: u4, - /// FRSEVT interrupt enable + /// FRSEVT interrupt enable FRSEVTIE: u1, padding: u11, }), - /// status register + /// status register SR: mmio.Mmio(packed struct(u32) { - /// Transmit interrupt status The flag indicates that the TXDR register is empty and new data write is required (as the amount of data sent has not reached the payload size defined in the TXPAYSZ bitfield). The flag is cleared with the data write into the TXDR register. + /// Transmit interrupt status The flag indicates that the TXDR register is empty and new data write is required (as the amount of data sent has not reached the payload size defined in the TXPAYSZ bitfield). The flag is cleared with the data write into the TXDR register. TXIS: u1, - /// Message transmission discarded The flag indicates that a message transmission was dropped. The flag is cleared by setting the TXMSGDISCCF bit. Transmission of a message can be dropped if there is a concurrent receive in progress or at excessive noise on the line. After a Tx message is discarded, the flag is only raised when the CC line becomes idle. + /// Message transmission discarded The flag indicates that a message transmission was dropped. The flag is cleared by setting the TXMSGDISCCF bit. Transmission of a message can be dropped if there is a concurrent receive in progress or at excessive noise on the line. After a Tx message is discarded, the flag is only raised when the CC line becomes idle. TXMSGDISC: u1, - /// Message transmission completed The flag indicates the completion of packet transmission. It is cleared by setting the TXMSGSENTCF bit. In the event of a message transmission interrupted by a Hard Reset, the flag is not raised. + /// Message transmission completed The flag indicates the completion of packet transmission. It is cleared by setting the TXMSGSENTCF bit. In the event of a message transmission interrupted by a Hard Reset, the flag is not raised. TXMSGSENT: u1, - /// Transmit message abort The flag indicates that a Tx message is aborted due to a subsequent Hard Reset message send request taking priority during transmit. It is cleared by setting the TXMSGABTCF bit. + /// Transmit message abort The flag indicates that a Tx message is aborted due to a subsequent Hard Reset message send request taking priority during transmit. It is cleared by setting the TXMSGABTCF bit. TXMSGABT: u1, - /// Hard Reset discarded The flag indicates that the Hard Reset message is discarded. The flag is cleared by setting the HRSTDISCCF bit. + /// Hard Reset discarded The flag indicates that the Hard Reset message is discarded. The flag is cleared by setting the HRSTDISCCF bit. HRSTDISC: u1, - /// Hard Reset message sent The flag indicates that the Hard Reset message is sent. The flag is cleared by setting the HRSTSENTCF bit. + /// Hard Reset message sent The flag indicates that the Hard Reset message is sent. The flag is cleared by setting the HRSTSENTCF bit. HRSTSENT: u1, - /// Tx data underrun detection The flag indicates that the Tx data register (TXDR) was not written in time for a transmit message to execute normally. It is cleared by setting the TXUNDCF bit. + /// Tx data underrun detection The flag indicates that the Tx data register (TXDR) was not written in time for a transmit message to execute normally. It is cleared by setting the TXUNDCF bit. TXUND: u1, reserved8: u1, - /// Receive data register not empty detection The flag indicates that the RXDR register is not empty. It is automatically cleared upon reading RXDR. + /// Receive data register not empty detection The flag indicates that the RXDR register is not empty. It is automatically cleared upon reading RXDR. RXNE: u1, - /// Rx ordered set (4 K-codes) detection The flag indicates the detection of an ordered set. The relevant information is stored in the RXORDSET[2:0] bitfield of the RX_ORDSET register. It is cleared by setting the RXORDDETCF bit. + /// Rx ordered set (4 K-codes) detection The flag indicates the detection of an ordered set. The relevant information is stored in the RXORDSET[2:0] bitfield of the RX_ORDSET register. It is cleared by setting the RXORDDETCF bit. RXORDDET: u1, - /// Rx Hard Reset receipt detection The flag indicates the receipt of valid Hard Reset message. It is cleared by setting the RXHRSTDETCF bit. + /// Rx Hard Reset receipt detection The flag indicates the receipt of valid Hard Reset message. It is cleared by setting the RXHRSTDETCF bit. RXHRSTDET: u1, - /// Rx data overflow detection The flag indicates Rx data buffer overflow. It is cleared by setting the RXOVRCF bit. The buffer overflow can occur if the received data are not read fast enough. + /// Rx data overflow detection The flag indicates Rx data buffer overflow. It is cleared by setting the RXOVRCF bit. The buffer overflow can occur if the received data are not read fast enough. RXOVR: u1, - /// Rx message received The flag indicates whether a message (except Hard Reset message) has been received, regardless the CRC value. The flag is cleared by setting the RXMSGENDCF bit. The RXERR flag set when the RXMSGEND flag goes high indicates errors in the last-received message. + /// Rx message received The flag indicates whether a message (except Hard Reset message) has been received, regardless the CRC value. The flag is cleared by setting the RXMSGENDCF bit. The RXERR flag set when the RXMSGEND flag goes high indicates errors in the last-received message. RXMSGEND: u1, - /// Receive message error The flag indicates errors of the last Rx message declared (via RXMSGEND), such as incorrect CRC or truncated message (a line becoming static before EOP is met). It is asserted whenever the RXMSGEND flag is set. + /// Receive message error The flag indicates errors of the last Rx message declared (via RXMSGEND), such as incorrect CRC or truncated message (a line becoming static before EOP is met). It is asserted whenever the RXMSGEND flag is set. RXERR: u1, - /// Type-C voltage level event on CC1 line The flag indicates a change of the TYPEC_VSTATE_CC1[1:0] bitfield value, which corresponds to a new Type-C event. It is cleared by setting the TYPECEVT2CF bit. + /// Type-C voltage level event on CC1 line The flag indicates a change of the TYPEC_VSTATE_CC1[1:0] bitfield value, which corresponds to a new Type-C event. It is cleared by setting the TYPECEVT2CF bit. TYPECEVT1: u1, - /// Type-C voltage level event on CC2 line The flag indicates a change of the TYPEC_VSTATE_CC2[1:0] bitfield value, which corresponds to a new Type-C event. It is cleared by setting the TYPECEVT2CF bit. + /// Type-C voltage level event on CC2 line The flag indicates a change of the TYPEC_VSTATE_CC2[1:0] bitfield value, which corresponds to a new Type-C event. It is cleared by setting the TYPECEVT2CF bit. TYPECEVT2: u1, - /// The status bitfield indicates the voltage level on the CC1 line in its steady state. The voltage variation on the CC1 line during USB PD messages due to the BMC PHY modulation does not impact the bitfield value. - TYPEC_VSTATE_CC1: packed union { - raw: u2, - value: TYPEC_VSTATE_CC, - }, - /// CC2 line voltage level The status bitfield indicates the voltage level on the CC2 line in its steady state. The voltage variation on the CC2 line during USB PD messages due to the BMC PHY modulation does not impact the bitfield value. - TYPEC_VSTATE_CC2: packed union { - raw: u2, - value: TYPEC_VSTATE_CC, - }, - /// FRS detection event The flag is cleared by setting the FRSEVTCF bit. + /// The status bitfield indicates the voltage level on the CC1 line in its steady state. The voltage variation on the CC1 line during USB PD messages due to the BMC PHY modulation does not impact the bitfield value. + TYPEC_VSTATE_CC1: TYPEC_VSTATE_CC, + /// CC2 line voltage level The status bitfield indicates the voltage level on the CC2 line in its steady state. The voltage variation on the CC2 line during USB PD messages due to the BMC PHY modulation does not impact the bitfield value. + TYPEC_VSTATE_CC2: TYPEC_VSTATE_CC, + /// FRS detection event The flag is cleared by setting the FRSEVTCF bit. FRSEVT: u1, padding: u11, }), - /// interrupt clear register + /// interrupt clear register ICR: mmio.Mmio(packed struct(u32) { reserved1: u1, - /// Tx message discard flag (TXMSGDISC) clear Setting the bit clears the TXMSGDISC flag in the SR register. + /// Tx message discard flag (TXMSGDISC) clear Setting the bit clears the TXMSGDISC flag in the SR register. TXMSGDISCCF: u1, - /// Tx message send flag (TXMSGSENT) clear Setting the bit clears the TXMSGSENT flag in the SR register. + /// Tx message send flag (TXMSGSENT) clear Setting the bit clears the TXMSGSENT flag in the SR register. TXMSGSENTCF: u1, - /// Tx message abort flag (TXMSGABT) clear Setting the bit clears the TXMSGABT flag in the SR register. + /// Tx message abort flag (TXMSGABT) clear Setting the bit clears the TXMSGABT flag in the SR register. TXMSGABTCF: u1, - /// Hard reset discard flag (HRSTDISC) clear Setting the bit clears the HRSTDISC flag in the SR register. + /// Hard reset discard flag (HRSTDISC) clear Setting the bit clears the HRSTDISC flag in the SR register. HRSTDISCCF: u1, - /// Hard reset send flag (HRSTSENT) clear Setting the bit clears the HRSTSENT flag in the SR register. + /// Hard reset send flag (HRSTSENT) clear Setting the bit clears the HRSTSENT flag in the SR register. HRSTSENTCF: u1, - /// Tx underflow flag (TXUND) clear Setting the bit clears the TXUND flag in the SR register. + /// Tx underflow flag (TXUND) clear Setting the bit clears the TXUND flag in the SR register. TXUNDCF: u1, reserved9: u2, - /// Rx ordered set detect flag (RXORDDET) clear Setting the bit clears the RXORDDET flag in the SR register. + /// Rx ordered set detect flag (RXORDDET) clear Setting the bit clears the RXORDDET flag in the SR register. RXORDDETCF: u1, - /// Rx Hard Reset detect flag (RXHRSTDET) clear Setting the bit clears the RXHRSTDET flag in the SR register. + /// Rx Hard Reset detect flag (RXHRSTDET) clear Setting the bit clears the RXHRSTDET flag in the SR register. RXHRSTDETCF: u1, - /// Rx overflow flag (RXOVR) clear Setting the bit clears the RXOVR flag in the SR register. + /// Rx overflow flag (RXOVR) clear Setting the bit clears the RXOVR flag in the SR register. RXOVRCF: u1, - /// Rx message received flag (RXMSGEND) clear Setting the bit clears the RXMSGEND flag in the SR register. + /// Rx message received flag (RXMSGEND) clear Setting the bit clears the RXMSGEND flag in the SR register. RXMSGENDCF: u1, reserved14: u1, - /// Type-C CC1 event flag (TYPECEVT1) clear Setting the bit clears the TYPECEVT1 flag in the SR register + /// Type-C CC1 event flag (TYPECEVT1) clear Setting the bit clears the TYPECEVT1 flag in the SR register TYPECEVT1CF: u1, - /// Type-C CC2 line event flag (TYPECEVT2) clear Setting the bit clears the TYPECEVT2 flag in the SR register + /// Type-C CC2 line event flag (TYPECEVT2) clear Setting the bit clears the TYPECEVT2 flag in the SR register TYPECEVT2CF: u1, reserved20: u4, - /// FRS event flag (FRSEVT) clear Setting the bit clears the FRSEVT flag in the SR register. + /// FRS event flag (FRSEVT) clear Setting the bit clears the FRSEVT flag in the SR register. FRSEVTCF: u1, padding: u11, }), - /// Tx ordered set type register + /// Tx ordered set type register TX_ORDSETR: mmio.Mmio(packed struct(u32) { - /// Ordered set to transmit The bitfield determines a full 20-bit sequence to transmit, consisting of four K-codes, each of five bits, defining the packet to transmit. The bit 0 (bit 0 of K-code1) is the first, the bit 19 (bit 4 of K‑code4) the last. + /// Ordered set to transmit The bitfield determines a full 20-bit sequence to transmit, consisting of four K-codes, each of five bits, defining the packet to transmit. The bit 0 (bit 0 of K-code1) is the first, the bit 19 (bit 4 of K‑code4) the last. TXORDSET: u20, padding: u12, }), - /// Tx payload size register + /// Tx payload size register TX_PAYSZR: mmio.Mmio(packed struct(u32) { - /// Payload size yet to transmit The bitfield is modified by software and by hardware. It contains the number of bytes of a payload (including header but excluding CRC) yet to transmit: each time a data byte is written into the TXDR register, the bitfield value decrements and the TXIS bit is set, except when the bitfield value reaches zero. The enumerated values are standard payload sizes before the start of transmission. + /// Payload size yet to transmit The bitfield is modified by software and by hardware. It contains the number of bytes of a payload (including header but excluding CRC) yet to transmit: each time a data byte is written into the TXDR register, the bitfield value decrements and the TXIS bit is set, except when the bitfield value reaches zero. The enumerated values are standard payload sizes before the start of transmission. TXPAYSZ: u10, padding: u22, }), - /// Tx data register + /// Tx data register TXDR: mmio.Mmio(packed struct(u32) { - /// Data byte to transmit + /// Data byte to transmit TXDATA: u8, padding: u24, }), RX_ORDSETR: mmio.Mmio(packed struct(u32) { - /// Rx ordered set code detected - RXORDSET: packed union { - raw: u3, - value: RXORDSET, - }, - /// The bit indicates the number of correct K‑codes. For debug purposes only. + /// Rx ordered set code detected + RXORDSET: RXORDSET, + /// The bit indicates the number of correct K‑codes. For debug purposes only. RXSOP3OF4: u1, - /// The bitfield is for debug purposes only. Others: Invalid - RXSOPKINVALID: packed union { - raw: u3, - value: RXSOPKINVALID, - }, + /// The bitfield is for debug purposes only. Others: Invalid + RXSOPKINVALID: RXSOPKINVALID, padding: u25, }), RX_PAYSZR: mmio.Mmio(packed struct(u32) { - /// Rx payload size received This bitfield contains the number of bytes of a payload (including header but excluding CRC) received: each time a new data byte is received in the RXDR register, the bitfield value increments and the RXMSGEND flag is set (and an interrupt generated if enabled). The bitfield may return a spurious value when a byte reception is ongoing (the RXMSGEND flag is low). + /// Rx payload size received This bitfield contains the number of bytes of a payload (including header but excluding CRC) received: each time a new data byte is received in the RXDR register, the bitfield value increments and the RXMSGEND flag is set (and an interrupt generated if enabled). The bitfield may return a spurious value when a byte reception is ongoing (the RXMSGEND flag is low). RXPAYSZ: u10, padding: u22, }), RXDR: mmio.Mmio(packed struct(u32) { - /// Data byte received + /// Data byte received RXDATA: u8, padding: u24, }), - /// Rx ordered set extension register 1 + /// Rx ordered set extension register 1 RX_ORDEXTR1: mmio.Mmio(packed struct(u32) { - /// Ordered set 1 received The bitfield contains a full 20-bit sequence received, consisting of four K‑codes, each of five bits. The bit 0 (bit 0 of K‑code1) is receive first, the bit 19 (bit 4 of K‑code4) last. + /// Ordered set 1 received The bitfield contains a full 20-bit sequence received, consisting of four K‑codes, each of five bits. The bit 0 (bit 0 of K‑code1) is receive first, the bit 19 (bit 4 of K‑code4) last. RXSOPX1: u20, padding: u12, }), - /// Rx ordered set extension register 2 + /// Rx ordered set extension register 2 RX_ORDEXTR2: mmio.Mmio(packed struct(u32) { - /// Ordered set 2 received The bitfield contains a full 20-bit sequence received, consisting of four K‑codes, each of five bits. The bit 0 (bit 0 of K‑code1) is receive first, the bit 19 (bit 4 of K‑code4) last. + /// Ordered set 2 received The bitfield contains a full 20-bit sequence received, consisting of four K‑codes, each of five bits. The bit 0 (bit 0 of K‑code1) is receive first, the bit 19 (bit 4 of K‑code4) last. RXSOPX2: u20, padding: u12, }), reserved1012: [952]u8, - /// UCPD IP ID register + /// UCPD IP ID register IPVER: mmio.Mmio(packed struct(u32) { - /// IPVER + /// IPVER IPVER: u32, }), - /// UCPD IP ID register + /// UCPD IP ID register IPID: mmio.Mmio(packed struct(u32) { - /// IPID + /// IPID IPID: u32, }), - /// UCPD IP ID register + /// UCPD IP ID register MID: mmio.Mmio(packed struct(u32) { - /// IPID + /// IPID IPID: u32, }), }; }; pub const uid_v1 = struct { - /// Device Factory programmed 96-bit unique device identifier + /// Device Factory programmed 96-bit unique device identifier pub const UID = extern struct { - /// Factory programmed 96-bit unique device identifier word 0 + /// Factory programmed 96-bit unique device identifier word 0 UID: [3]u32, }; }; pub const usart_v1 = struct { pub const CPHA = enum(u1) { - /// The first clock transition is the first data capture edge + /// The first clock transition is the first data capture edge First = 0x0, - /// The second clock transition is the first data capture edge + /// The second clock transition is the first data capture edge Second = 0x1, }; pub const CPOL = enum(u1) { - /// Steady low value on CK pin outside transmission window + /// Steady low value on CK pin outside transmission window Low = 0x0, - /// Steady high value on CK pin outside transmission window + /// Steady high value on CK pin outside transmission window High = 0x1, }; pub const IRLP = enum(u1) { - /// Normal mode + /// Normal mode Normal = 0x0, - /// Low-power mode + /// Low-power mode LowPower = 0x1, }; pub const LBDL = enum(u1) { - /// 10-bit break detection + /// 10-bit break detection Bit10 = 0x0, - /// 11-bit break detection + /// 11-bit break detection Bit11 = 0x1, }; pub const M0 = enum(u1) { - /// 1 start bit, 8 data bits, n stop bits + /// 1 start bit, 8 data bits, n stop bits Bit8 = 0x0, - /// 1 start bit, 9 data bits, n stop bits + /// 1 start bit, 9 data bits, n stop bits Bit9 = 0x1, }; pub const PS = enum(u1) { - /// Even parity + /// Even parity Even = 0x0, - /// Odd parity + /// Odd parity Odd = 0x1, }; pub const RWU = enum(u1) { - /// Receiver in active mode + /// Receiver in active mode Active = 0x0, - /// Receiver in mute mode + /// Receiver in mute mode Mute = 0x1, }; pub const STOP = enum(u2) { - /// 1 stop bit + /// 1 stop bit Stop1 = 0x0, - /// 0.5 stop bits + /// 0.5 stop bits Stop0p5 = 0x1, - /// 2 stop bits + /// 2 stop bits Stop2 = 0x2, - /// 1.5 stop bits + /// 1.5 stop bits Stop1p5 = 0x3, }; pub const WAKE = enum(u1) { - /// USART wakeup on idle line + /// USART wakeup on idle line IdleLine = 0x0, - /// USART wakeup on address mark + /// USART wakeup on address mark AddressMark = 0x1, }; - /// Universal asynchronous receiver transmitter + /// Universal asynchronous receiver transmitter pub const UART = extern struct { - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Parity error + /// Parity error PE: u1, - /// Framing error + /// Framing error FE: u1, - /// Noise error flag + /// Noise error flag NE: u1, - /// Overrun error + /// Overrun error ORE: u1, - /// Idle line detected + /// Idle line detected IDLE: u1, - /// Read data register not empty + /// Read data register not empty RXNE: u1, - /// Transmission complete + /// Transmission complete TC: u1, - /// Transmit data register empty + /// Transmit data register empty TXE: u1, - /// LIN break detection flag + /// LIN break detection flag LBD: u1, - /// CTS flag + /// CTS flag CTS: u1, padding: u22, }), - /// Data register + /// Data register DR: mmio.Mmio(packed struct(u32) { - /// Data value + /// Data value DR: u9, padding: u23, }), - /// Baud rate register + /// Baud rate register BRR: mmio.Mmio(packed struct(u32) { - /// USARTDIV + /// USARTDIV BRR: u16, padding: u16, }), - /// Control register 1 + /// Control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Send break + /// Send break SBK: u1, - /// Receiver wakeup - RWU: packed union { - raw: u1, - value: RWU, - }, - /// Receiver enable + /// Receiver wakeup + RWU: RWU, + /// Receiver enable RE: u1, - /// Transmitter enable + /// Transmitter enable TE: u1, - /// IDLE interrupt enable + /// IDLE interrupt enable IDLEIE: u1, - /// RXNE interrupt enable + /// RXNE interrupt enable RXNEIE: u1, - /// Transmission complete interrupt enable + /// Transmission complete interrupt enable TCIE: u1, - /// TXE interrupt enable + /// TXE interrupt enable TXEIE: u1, - /// PE interrupt enable + /// PE interrupt enable PEIE: u1, - /// Parity selection - PS: packed union { - raw: u1, - value: PS, - }, - /// Parity control enable + /// Parity selection + PS: PS, + /// Parity control enable PCE: u1, - /// Receiver wakeup method - WAKE: packed union { - raw: u1, - value: WAKE, - }, - /// Word length - M0: packed union { - raw: u1, - value: M0, - }, - /// USART enable + /// Receiver wakeup method + WAKE: WAKE, + /// Word length + M0: M0, + /// USART enable UE: u1, padding: u18, }), - /// Control register 2 + /// Control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Address of the USART node + /// Address of the USART node ADD: u4, reserved5: u1, - /// Line break detection length - LBDL: packed union { - raw: u1, - value: LBDL, - }, - /// LIN break detection interrupt enable + /// Line break detection length + LBDL: LBDL, + /// LIN break detection interrupt enable LBDIE: u1, reserved12: u5, - /// STOP bits - STOP: packed union { - raw: u2, - value: STOP, - }, - /// LIN mode enable + /// STOP bits + STOP: STOP, + /// LIN mode enable LINEN: u1, padding: u17, }), - /// Control register 3 + /// Control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Error interrupt enable + /// Error interrupt enable EIE: u1, - /// IrDA mode enable + /// IrDA mode enable IREN: u1, - /// IrDA low-power - IRLP: packed union { - raw: u1, - value: IRLP, - }, - /// Half-duplex selection + /// IrDA low-power + IRLP: IRLP, + /// Half-duplex selection HDSEL: u1, reserved6: u2, - /// DMA enable receiver + /// DMA enable receiver DMAR: u1, - /// DMA enable transmitter + /// DMA enable transmitter DMAT: u1, padding: u24, }), }; - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART = extern struct { reserved16: [16]u8, - /// Control register 2 + /// Control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Last bit clock pulse + /// Last bit clock pulse LBCL: u1, - /// Clock phase - CPHA: packed union { - raw: u1, - value: CPHA, - }, - /// Clock polarity - CPOL: packed union { - raw: u1, - value: CPOL, - }, - /// Clock enable + /// Clock phase + CPHA: CPHA, + /// Clock polarity + CPOL: CPOL, + /// Clock enable CLKEN: u1, padding: u20, }), - /// Control register 3 + /// Control register 3 CR3: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Smartcard NACK enable + /// Smartcard NACK enable NACK: u1, - /// Smartcard mode enable + /// Smartcard mode enable SCEN: u1, reserved8: u2, - /// RTS enable + /// RTS enable RTSE: u1, - /// CTS enable + /// CTS enable CTSE: u1, - /// CTS interrupt enable + /// CTS interrupt enable CTSIE: u1, padding: u21, }), - /// Guard time and prescaler register + /// Guard time and prescaler register GTPR: mmio.Mmio(packed struct(u32) { - /// Prescaler value + /// Prescaler value PSC: u8, - /// Guard time value + /// Guard time value GT: u8, padding: u16, }), @@ -438870,256 +428031,226 @@ pub const types = struct { pub const usart_v2 = struct { pub const CPHA = enum(u1) { - /// The first clock transition is the first data capture edge + /// The first clock transition is the first data capture edge First = 0x0, - /// The second clock transition is the first data capture edge + /// The second clock transition is the first data capture edge Second = 0x1, }; pub const CPOL = enum(u1) { - /// Steady low value on CK pin outside transmission window + /// Steady low value on CK pin outside transmission window Low = 0x0, - /// Steady high value on CK pin outside transmission window + /// Steady high value on CK pin outside transmission window High = 0x1, }; pub const IRLP = enum(u1) { - /// Normal mode + /// Normal mode Normal = 0x0, - /// Low-power mode + /// Low-power mode LowPower = 0x1, }; pub const LBDL = enum(u1) { - /// 10-bit break detection + /// 10-bit break detection Bit10 = 0x0, - /// 11-bit break detection + /// 11-bit break detection Bit11 = 0x1, }; pub const M0 = enum(u1) { - /// 1 start bit, 8 data bits, n stop bits + /// 1 start bit, 8 data bits, n stop bits Bit8 = 0x0, - /// 1 start bit, 9 data bits, n stop bits + /// 1 start bit, 9 data bits, n stop bits Bit9 = 0x1, }; pub const OVER8 = enum(u1) { - /// Oversampling by 16 + /// Oversampling by 16 Oversampling16 = 0x0, - /// Oversampling by 8 + /// Oversampling by 8 Oversampling8 = 0x1, }; pub const PS = enum(u1) { - /// Even parity + /// Even parity Even = 0x0, - /// Odd parity + /// Odd parity Odd = 0x1, }; pub const RWU = enum(u1) { - /// Receiver in active mode + /// Receiver in active mode Active = 0x0, - /// Receiver in mute mode + /// Receiver in mute mode Mute = 0x1, }; pub const STOP = enum(u2) { - /// 1 stop bit + /// 1 stop bit Stop1 = 0x0, - /// 0.5 stop bits + /// 0.5 stop bits Stop0p5 = 0x1, - /// 2 stop bits + /// 2 stop bits Stop2 = 0x2, - /// 1.5 stop bits + /// 1.5 stop bits Stop1p5 = 0x3, }; pub const WAKE = enum(u1) { - /// USART wakeup on idle line + /// USART wakeup on idle line IdleLine = 0x0, - /// USART wakeup on address mark + /// USART wakeup on address mark AddressMark = 0x1, }; - /// Universal asynchronous receiver transmitter + /// Universal asynchronous receiver transmitter pub const UART = extern struct { - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Parity error + /// Parity error PE: u1, - /// Framing error + /// Framing error FE: u1, - /// Noise error flag + /// Noise error flag NE: u1, - /// Overrun error + /// Overrun error ORE: u1, - /// Idle line detected + /// Idle line detected IDLE: u1, - /// Read data register not empty + /// Read data register not empty RXNE: u1, - /// Transmission complete + /// Transmission complete TC: u1, - /// Transmit data register empty + /// Transmit data register empty TXE: u1, - /// LIN break detection flag + /// LIN break detection flag LBD: u1, - /// CTS flag + /// CTS flag CTS: u1, padding: u22, }), - /// Data register + /// Data register DR: mmio.Mmio(packed struct(u32) { - /// Data value + /// Data value DR: u9, padding: u23, }), - /// Baud rate register + /// Baud rate register BRR: mmio.Mmio(packed struct(u32) { - /// USARTDIV + /// USARTDIV BRR: u16, padding: u16, }), - /// Control register 1 + /// Control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// Send break + /// Send break SBK: u1, - /// Receiver wakeup - RWU: packed union { - raw: u1, - value: RWU, - }, - /// Receiver enable + /// Receiver wakeup + RWU: RWU, + /// Receiver enable RE: u1, - /// Transmitter enable + /// Transmitter enable TE: u1, - /// IDLE interrupt enable + /// IDLE interrupt enable IDLEIE: u1, - /// RXNE interrupt enable + /// RXNE interrupt enable RXNEIE: u1, - /// Transmission complete interrupt enable + /// Transmission complete interrupt enable TCIE: u1, - /// TXE interrupt enable + /// TXE interrupt enable TXEIE: u1, - /// PE interrupt enable + /// PE interrupt enable PEIE: u1, - /// Parity selection - PS: packed union { - raw: u1, - value: PS, - }, - /// Parity control enable + /// Parity selection + PS: PS, + /// Parity control enable PCE: u1, - /// Receiver wakeup method - WAKE: packed union { - raw: u1, - value: WAKE, - }, - /// Word length - M0: packed union { - raw: u1, - value: M0, - }, - /// USART enable + /// Receiver wakeup method + WAKE: WAKE, + /// Word length + M0: M0, + /// USART enable UE: u1, reserved15: u1, - /// Oversampling mode - OVER8: packed union { - raw: u1, - value: OVER8, - }, + /// Oversampling mode + OVER8: OVER8, padding: u16, }), - /// Control register 2 + /// Control register 2 CR2: mmio.Mmio(packed struct(u32) { - /// Address of the USART node + /// Address of the USART node ADD: u4, reserved5: u1, - /// Line break detection length - LBDL: packed union { - raw: u1, - value: LBDL, - }, - /// LIN break detection interrupt enable + /// Line break detection length + LBDL: LBDL, + /// LIN break detection interrupt enable LBDIE: u1, reserved12: u5, - /// STOP bits - STOP: packed union { - raw: u2, - value: STOP, - }, - /// LIN mode enable + /// STOP bits + STOP: STOP, + /// LIN mode enable LINEN: u1, padding: u17, }), - /// Control register 3 + /// Control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Error interrupt enable + /// Error interrupt enable EIE: u1, - /// IrDA mode enable + /// IrDA mode enable IREN: u1, - /// IrDA low-power - IRLP: packed union { - raw: u1, - value: IRLP, - }, - /// Half-duplex selection + /// IrDA low-power + IRLP: IRLP, + /// Half-duplex selection HDSEL: u1, reserved6: u2, - /// DMA enable receiver + /// DMA enable receiver DMAR: u1, - /// DMA enable transmitter + /// DMA enable transmitter DMAT: u1, padding: u24, }), }; - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART = extern struct { reserved16: [16]u8, - /// Control register 2 + /// Control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved8: u8, - /// Last bit clock pulse + /// Last bit clock pulse LBCL: u1, - /// Clock phase - CPHA: packed union { - raw: u1, - value: CPHA, - }, - /// Clock polarity - CPOL: packed union { - raw: u1, - value: CPOL, - }, - /// Clock enable + /// Clock phase + CPHA: CPHA, + /// Clock polarity + CPOL: CPOL, + /// Clock enable CLKEN: u1, padding: u20, }), - /// Control register 3 + /// Control register 3 CR3: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// Smartcard NACK enable + /// Smartcard NACK enable NACK: u1, - /// Smartcard mode enable + /// Smartcard mode enable SCEN: u1, reserved8: u2, - /// RTS enable + /// RTS enable RTSE: u1, - /// CTS enable + /// CTS enable CTSE: u1, - /// CTS interrupt enable + /// CTS interrupt enable CTSIE: u1, - /// One sample bit method enable + /// One sample bit method enable ONEBIT: u1, padding: u20, }), - /// Guard time and prescaler register + /// Guard time and prescaler register GTPR: mmio.Mmio(packed struct(u32) { - /// Prescaler value + /// Prescaler value PSC: u8, - /// Guard time value + /// Guard time value GT: u8, padding: u16, }), @@ -439128,731 +428259,635 @@ pub const types = struct { pub const usart_v3 = struct { pub const ABRMOD = enum(u2) { - /// Measurement of the start bit is used to detect the baud rate + /// Measurement of the start bit is used to detect the baud rate Start = 0x0, - /// Falling edge to falling edge measurement + /// Falling edge to falling edge measurement Edge = 0x1, - /// 0x7F frame detection + /// 0x7F frame detection Frame7F = 0x2, - /// 0x55 frame detection + /// 0x55 frame detection Frame55 = 0x3, }; pub const ADDM = enum(u1) { - /// 4-bit address detection + /// 4-bit address detection Bit4 = 0x0, - /// 7-bit address detection + /// 7-bit address detection Bit7 = 0x1, }; pub const CPHA = enum(u1) { - /// The first clock transition is the first data capture edge + /// The first clock transition is the first data capture edge First = 0x0, - /// The second clock transition is the first data capture edge + /// The second clock transition is the first data capture edge Second = 0x1, }; pub const CPOL = enum(u1) { - /// Steady low value on CK pin outside transmission window + /// Steady low value on CK pin outside transmission window Low = 0x0, - /// Steady high value on CK pin outside transmission window + /// Steady high value on CK pin outside transmission window High = 0x1, }; pub const DEP = enum(u1) { - /// DE signal is active high + /// DE signal is active high High = 0x0, - /// DE signal is active low + /// DE signal is active low Low = 0x1, }; pub const IRLP = enum(u1) { - /// Normal mode + /// Normal mode Normal = 0x0, - /// Low-power mode + /// Low-power mode LowPower = 0x1, }; pub const LBDL = enum(u1) { - /// 10-bit break detection + /// 10-bit break detection Bit10 = 0x0, - /// 11-bit break detection + /// 11-bit break detection Bit11 = 0x1, }; pub const M0 = enum(u1) { - /// 1 start bit, 8 data bits, n stop bits + /// 1 start bit, 8 data bits, n stop bits Bit8 = 0x0, - /// 1 start bit, 9 data bits, n stop bits + /// 1 start bit, 9 data bits, n stop bits Bit9 = 0x1, }; pub const M1 = enum(u1) { - /// Use M0 to set the data bits + /// Use M0 to set the data bits M0 = 0x0, - /// 1 start bit, 7 data bits, n stop bits + /// 1 start bit, 7 data bits, n stop bits Bit7 = 0x1, }; pub const MSBFIRST = enum(u1) { - /// data is transmitted/received with data bit 0 first, following the start bit + /// data is transmitted/received with data bit 0 first, following the start bit LSB = 0x0, - /// data is transmitted/received with MSB (bit 7/8/9) first, following the start bit + /// data is transmitted/received with MSB (bit 7/8/9) first, following the start bit MSB = 0x1, }; pub const OVER8 = enum(u1) { - /// Oversampling by 16 + /// Oversampling by 16 Oversampling16 = 0x0, - /// Oversampling by 8 + /// Oversampling by 8 Oversampling8 = 0x1, }; pub const PS = enum(u1) { - /// Even parity + /// Even parity Even = 0x0, - /// Odd parity + /// Odd parity Odd = 0x1, }; pub const RWU = enum(u1) { - /// Receiver in active mode + /// Receiver in active mode Active = 0x0, - /// Receiver in mute mode + /// Receiver in mute mode Mute = 0x1, }; pub const STOP = enum(u2) { - /// 1 stop bit + /// 1 stop bit Stop1 = 0x0, - /// 0.5 stop bits + /// 0.5 stop bits Stop0p5 = 0x1, - /// 2 stop bits + /// 2 stop bits Stop2 = 0x2, - /// 1.5 stop bits + /// 1.5 stop bits Stop1p5 = 0x3, }; pub const WAKE = enum(u1) { - /// USART wakeup on idle line + /// USART wakeup on idle line IdleLine = 0x0, - /// USART wakeup on address mark + /// USART wakeup on address mark AddressMark = 0x1, }; pub const WUS = enum(u2) { - /// WUF active on address match + /// WUF active on address match Address = 0x0, - /// WuF active on Start bit detection + /// WuF active on Start bit detection Start = 0x2, - /// WUF active on RXNE + /// WUF active on RXNE RXNE = 0x3, _, }; - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART = extern struct { - /// Control register 1 + /// Control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// USART enable + /// USART enable UE: u1, - /// USART enable in Stop mode + /// USART enable in Stop mode UESM: u1, - /// Receiver enable + /// Receiver enable RE: u1, - /// Transmitter enable + /// Transmitter enable TE: u1, - /// IDLE interrupt enable + /// IDLE interrupt enable IDLEIE: u1, - /// RXNE interrupt enable + /// RXNE interrupt enable RXNEIE: u1, - /// Transmission complete interrupt enable + /// Transmission complete interrupt enable TCIE: u1, - /// TXE interrupt enable + /// TXE interrupt enable TXEIE: u1, - /// PE interrupt enable + /// PE interrupt enable PEIE: u1, - /// Parity selection - PS: packed union { - raw: u1, - value: PS, - }, - /// Parity control enable + /// Parity selection + PS: PS, + /// Parity control enable PCE: u1, - /// Receiver wakeup method - WAKE: packed union { - raw: u1, - value: WAKE, - }, - /// Word length - M0: packed union { - raw: u1, - value: M0, - }, - /// Mute mode enable + /// Receiver wakeup method + WAKE: WAKE, + /// Word length + M0: M0, + /// Mute mode enable MME: u1, - /// Character match interrupt enable + /// Character match interrupt enable CMIE: u1, - /// Oversampling mode - OVER8: packed union { - raw: u1, - value: OVER8, - }, - /// Driver Enable deassertion time + /// Oversampling mode + OVER8: OVER8, + /// Driver Enable deassertion time DEDT: u5, - /// Driver Enable assertion time + /// Driver Enable assertion time DEAT: u5, - /// Receiver timeout interrupt enable + /// Receiver timeout interrupt enable RTOIE: u1, - /// End of Block interrupt enable + /// End of Block interrupt enable EOBIE: u1, - /// Word length - M1: packed union { - raw: u1, - value: M1, - }, + /// Word length + M1: M1, padding: u3, }), - /// Control register 2 + /// Control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// 7-bit Address Detection/4-bit Address Detection - ADDM: packed union { - raw: u1, - value: ADDM, - }, - /// Line break detection length - LBDL: packed union { - raw: u1, - value: LBDL, - }, - /// LIN break detection interrupt enable + /// 7-bit Address Detection/4-bit Address Detection + ADDM: ADDM, + /// Line break detection length + LBDL: LBDL, + /// LIN break detection interrupt enable LBDIE: u1, reserved8: u1, - /// Last bit clock pulse + /// Last bit clock pulse LBCL: u1, - /// Clock phase - CPHA: packed union { - raw: u1, - value: CPHA, - }, - /// Clock polarity - CPOL: packed union { - raw: u1, - value: CPOL, - }, - /// Clock enable + /// Clock phase + CPHA: CPHA, + /// Clock polarity + CPOL: CPOL, + /// Clock enable CLKEN: u1, - /// STOP bits - STOP: packed union { - raw: u2, - value: STOP, - }, - /// LIN mode enable + /// STOP bits + STOP: STOP, + /// LIN mode enable LINEN: u1, - /// Swap TX/RX pins + /// Swap TX/RX pins SWAP: u1, - /// RX pin active level inversion + /// RX pin active level inversion RXINV: u1, - /// TX pin active level inversion + /// TX pin active level inversion TXINV: u1, - /// Binary data inversion + /// Binary data inversion DATAINV: u1, - /// Most significant bit first - MSBFIRST: packed union { - raw: u1, - value: MSBFIRST, - }, - /// Auto baud rate enable + /// Most significant bit first + MSBFIRST: MSBFIRST, + /// Auto baud rate enable ABREN: u1, - /// Auto baud rate mode - ABRMOD: packed union { - raw: u2, - value: ABRMOD, - }, - /// Receiver timeout enable + /// Auto baud rate mode + ABRMOD: ABRMOD, + /// Receiver timeout enable RTOEN: u1, - /// Address of the USART node + /// Address of the USART node ADD: u8, }), - /// Control register 3 + /// Control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Error interrupt enable + /// Error interrupt enable EIE: u1, - /// IrDA mode enable + /// IrDA mode enable IREN: u1, - /// IrDA low-power - IRLP: packed union { - raw: u1, - value: IRLP, - }, - /// Half-duplex selection + /// IrDA low-power + IRLP: IRLP, + /// Half-duplex selection HDSEL: u1, - /// Smartcard NACK enable + /// Smartcard NACK enable NACK: u1, - /// Smartcard mode enable + /// Smartcard mode enable SCEN: u1, - /// DMA enable receiver + /// DMA enable receiver DMAR: u1, - /// DMA enable transmitter + /// DMA enable transmitter DMAT: u1, - /// RTS enable + /// RTS enable RTSE: u1, - /// CTS enable + /// CTS enable CTSE: u1, - /// CTS interrupt enable + /// CTS interrupt enable CTSIE: u1, - /// One sample bit method enable + /// One sample bit method enable ONEBIT: u1, - /// Overrun Disable + /// Overrun Disable OVRDIS: u1, - /// DMA Disable on Reception Error + /// DMA Disable on Reception Error DDRE: u1, - /// Driver enable mode + /// Driver enable mode DEM: u1, - /// Driver enable polarity selection - DEP: packed union { - raw: u1, - value: DEP, - }, + /// Driver enable polarity selection + DEP: DEP, reserved17: u1, - /// Smartcard auto-retry count + /// Smartcard auto-retry count SCARCNT: u3, - /// Wakeup from Stop mode interrupt flag selection - WUS: packed union { - raw: u2, - value: WUS, - }, - /// Wakeup from Stop mode interrupt enable + /// Wakeup from Stop mode interrupt flag selection + WUS: WUS, + /// Wakeup from Stop mode interrupt enable WUFIE: u1, padding: u9, }), - /// Baud rate register + /// Baud rate register BRR: mmio.Mmio(packed struct(u32) { - /// USARTDIV + /// USARTDIV BRR: u16, padding: u16, }), reserved24: [8]u8, - /// Request register + /// Request register RQR: mmio.Mmio(packed struct(u32) { - /// Auto baud rate request. Resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame. + /// Auto baud rate request. Resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame. ABRRQ: u1, - /// Send break request. Sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available + /// Send break request. Sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available SBKRQ: u1, - /// Mute mode request. Puts the USART in mute mode and sets the RWU flag. + /// Mute mode request. Puts the USART in mute mode and sets the RWU flag. MMRQ: u1, - /// Receive data flush request. Clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition + /// Receive data flush request. Clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition RXFRQ: u1, - /// Transmit data flush request. Sets the TXE flags. This allows to discard the transmit data. + /// Transmit data flush request. Sets the TXE flags. This allows to discard the transmit data. TXFRQ: u1, padding: u27, }), - /// Interrupt & status register + /// Interrupt & status register ISR: mmio.Mmio(packed struct(u32) { - /// Parity error + /// Parity error PE: u1, - /// Framing error + /// Framing error FE: u1, - /// Noise error flag + /// Noise error flag NE: u1, - /// Overrun error + /// Overrun error ORE: u1, - /// Idle line detected + /// Idle line detected IDLE: u1, - /// Read data register not empty + /// Read data register not empty RXNE: u1, - /// Transmission complete + /// Transmission complete TC: u1, - /// Transmit data register empty + /// Transmit data register empty TXE: u1, - /// LIN break detection flag + /// LIN break detection flag LBD: u1, - /// CTS interrupt flag + /// CTS interrupt flag CTSIF: u1, - /// CTS flag + /// CTS flag CTS: u1, - /// Receiver timeout + /// Receiver timeout RTOF: u1, - /// End of block flag + /// End of block flag EOBF: u1, reserved14: u1, - /// Auto baud rate error + /// Auto baud rate error ABRE: u1, - /// Auto baud rate flag + /// Auto baud rate flag ABRF: u1, - /// Busy flag + /// Busy flag BUSY: u1, - /// character match flag + /// character match flag CMF: u1, - /// Send break flag + /// Send break flag SBKF: u1, - /// Receiver wakeup from Mute mode - RWU: packed union { - raw: u1, - value: RWU, - }, - /// Wakeup from Stop mode flag + /// Receiver wakeup from Mute mode + RWU: RWU, + /// Wakeup from Stop mode flag WUF: u1, - /// Transmit enable acknowledge flag + /// Transmit enable acknowledge flag TEACK: u1, - /// Receive enable acknowledge flag + /// Receive enable acknowledge flag REACK: u1, padding: u9, }), - /// Interrupt flag clear register + /// Interrupt flag clear register ICR: mmio.Mmio(packed struct(u32) { - /// Parity error clear flag + /// Parity error clear flag PE: u1, - /// Framing error clear flag + /// Framing error clear flag FE: u1, - /// Noise error clear flag + /// Noise error clear flag NE: u1, - /// Overrun error clear flag + /// Overrun error clear flag ORE: u1, - /// Idle line detected clear flag + /// Idle line detected clear flag IDLE: u1, reserved6: u1, - /// Transmission complete clear flag + /// Transmission complete clear flag TC: u1, reserved8: u1, - /// LIN break detection clear flag + /// LIN break detection clear flag LBD: u1, - /// CTS clear flag + /// CTS clear flag CTS: u1, reserved11: u1, - /// Receiver timeout clear flag + /// Receiver timeout clear flag RTOF: u1, - /// End of block clear flag + /// End of block clear flag EOBF: u1, reserved17: u4, - /// Character match clear flag + /// Character match clear flag CMF: u1, reserved20: u2, - /// Wakeup from Stop mode clear flag + /// Wakeup from Stop mode clear flag WUF: u1, padding: u11, }), - /// Receive data register + /// Receive data register RDR: mmio.Mmio(packed struct(u32) { - /// Data value + /// Data value DR: u9, padding: u23, }), - /// Transmit data register + /// Transmit data register TDR: mmio.Mmio(packed struct(u32) { - /// Data value + /// Data value DR: u9, padding: u23, }), }; - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART = extern struct { - /// Control register 1 + /// Control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// USART enable + /// USART enable UE: u1, - /// USART enable in Stop mode + /// USART enable in Stop mode UESM: u1, - /// Receiver enable + /// Receiver enable RE: u1, - /// Transmitter enable + /// Transmitter enable TE: u1, - /// IDLE interrupt enable + /// IDLE interrupt enable IDLEIE: u1, - /// RXNE interrupt enable + /// RXNE interrupt enable RXNEIE: u1, - /// Transmission complete interrupt enable + /// Transmission complete interrupt enable TCIE: u1, - /// TXE interrupt enable + /// TXE interrupt enable TXEIE: u1, - /// PE interrupt enable + /// PE interrupt enable PEIE: u1, - /// Parity selection - PS: packed union { - raw: u1, - value: PS, - }, - /// Parity control enable + /// Parity selection + PS: PS, + /// Parity control enable PCE: u1, - /// Receiver wakeup method - WAKE: packed union { - raw: u1, - value: WAKE, - }, - /// Word length - M0: packed union { - raw: u1, - value: M0, - }, - /// Mute mode enable + /// Receiver wakeup method + WAKE: WAKE, + /// Word length + M0: M0, + /// Mute mode enable MME: u1, - /// Character match interrupt enable + /// Character match interrupt enable CMIE: u1, - /// Oversampling mode - OVER8: packed union { - raw: u1, - value: OVER8, - }, - /// Driver Enable deassertion time + /// Oversampling mode + OVER8: OVER8, + /// Driver Enable deassertion time DEDT: u5, - /// Driver Enable assertion time + /// Driver Enable assertion time DEAT: u5, - /// Receiver timeout interrupt enable + /// Receiver timeout interrupt enable RTOIE: u1, - /// End of Block interrupt enable + /// End of Block interrupt enable EOBIE: u1, - /// Word length - M1: packed union { - raw: u1, - value: M1, - }, + /// Word length + M1: M1, padding: u3, }), - /// Control register 2 + /// Control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// 7-bit Address Detection/4-bit Address Detection - ADDM: packed union { - raw: u1, - value: ADDM, - }, - /// Line break detection length - LBDL: packed union { - raw: u1, - value: LBDL, - }, - /// LIN break detection interrupt enable + /// 7-bit Address Detection/4-bit Address Detection + ADDM: ADDM, + /// Line break detection length + LBDL: LBDL, + /// LIN break detection interrupt enable LBDIE: u1, reserved8: u1, - /// Last bit clock pulse + /// Last bit clock pulse LBCL: u1, - /// Clock phase - CPHA: packed union { - raw: u1, - value: CPHA, - }, - /// Clock polarity - CPOL: packed union { - raw: u1, - value: CPOL, - }, - /// Clock enable + /// Clock phase + CPHA: CPHA, + /// Clock polarity + CPOL: CPOL, + /// Clock enable CLKEN: u1, - /// STOP bits - STOP: packed union { - raw: u2, - value: STOP, - }, - /// LIN mode enable + /// STOP bits + STOP: STOP, + /// LIN mode enable LINEN: u1, - /// Swap TX/RX pins + /// Swap TX/RX pins SWAP: u1, - /// RX pin active level inversion + /// RX pin active level inversion RXINV: u1, - /// TX pin active level inversion + /// TX pin active level inversion TXINV: u1, - /// Binary data inversion + /// Binary data inversion DATAINV: u1, - /// Most significant bit first - MSBFIRST: packed union { - raw: u1, - value: MSBFIRST, - }, - /// Auto baud rate enable + /// Most significant bit first + MSBFIRST: MSBFIRST, + /// Auto baud rate enable ABREN: u1, - /// Auto baud rate mode - ABRMOD: packed union { - raw: u2, - value: ABRMOD, - }, - /// Receiver timeout enable + /// Auto baud rate mode + ABRMOD: ABRMOD, + /// Receiver timeout enable RTOEN: u1, - /// Address of the USART node + /// Address of the USART node ADD: u8, }), - /// Control register 3 + /// Control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Error interrupt enable + /// Error interrupt enable EIE: u1, - /// IrDA mode enable + /// IrDA mode enable IREN: u1, - /// IrDA low-power - IRLP: packed union { - raw: u1, - value: IRLP, - }, - /// Half-duplex selection + /// IrDA low-power + IRLP: IRLP, + /// Half-duplex selection HDSEL: u1, - /// Smartcard NACK enable + /// Smartcard NACK enable NACK: u1, - /// Smartcard mode enable + /// Smartcard mode enable SCEN: u1, - /// DMA enable receiver + /// DMA enable receiver DMAR: u1, - /// DMA enable transmitter + /// DMA enable transmitter DMAT: u1, - /// RTS enable + /// RTS enable RTSE: u1, - /// CTS enable + /// CTS enable CTSE: u1, - /// CTS interrupt enable + /// CTS interrupt enable CTSIE: u1, - /// One sample bit method enable + /// One sample bit method enable ONEBIT: u1, - /// Overrun Disable + /// Overrun Disable OVRDIS: u1, - /// DMA Disable on Reception Error + /// DMA Disable on Reception Error DDRE: u1, - /// Driver enable mode + /// Driver enable mode DEM: u1, - /// Driver enable polarity selection - DEP: packed union { - raw: u1, - value: DEP, - }, + /// Driver enable polarity selection + DEP: DEP, reserved17: u1, - /// Smartcard auto-retry count + /// Smartcard auto-retry count SCARCNT: u3, - /// Wakeup from Stop mode interrupt flag selection - WUS: packed union { - raw: u2, - value: WUS, - }, - /// Wakeup from Stop mode interrupt enable + /// Wakeup from Stop mode interrupt flag selection + WUS: WUS, + /// Wakeup from Stop mode interrupt enable WUFIE: u1, padding: u9, }), - /// Baud rate register + /// Baud rate register BRR: mmio.Mmio(packed struct(u32) { - /// USARTDIV + /// USARTDIV BRR: u16, padding: u16, }), - /// Guard time and prescaler register + /// Guard time and prescaler register GTPR: mmio.Mmio(packed struct(u32) { - /// Prescaler value + /// Prescaler value PSC: u8, - /// Guard time value + /// Guard time value GT: u8, padding: u16, }), - /// Receiver timeout register + /// Receiver timeout register RTOR: mmio.Mmio(packed struct(u32) { - /// Receiver timeout value + /// Receiver timeout value RTO: u24, - /// Block Length + /// Block Length BLEN: u8, }), - /// Request register + /// Request register RQR: mmio.Mmio(packed struct(u32) { - /// Auto baud rate request. Resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame. + /// Auto baud rate request. Resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame. ABRRQ: u1, - /// Send break request. Sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available + /// Send break request. Sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available SBKRQ: u1, - /// Mute mode request. Puts the USART in mute mode and sets the RWU flag. + /// Mute mode request. Puts the USART in mute mode and sets the RWU flag. MMRQ: u1, - /// Receive data flush request. Clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition + /// Receive data flush request. Clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition RXFRQ: u1, - /// Transmit data flush request. Sets the TXE flags. This allows to discard the transmit data. + /// Transmit data flush request. Sets the TXE flags. This allows to discard the transmit data. TXFRQ: u1, padding: u27, }), - /// Interrupt & status register + /// Interrupt & status register ISR: mmio.Mmio(packed struct(u32) { - /// Parity error + /// Parity error PE: u1, - /// Framing error + /// Framing error FE: u1, - /// Noise error flag + /// Noise error flag NE: u1, - /// Overrun error + /// Overrun error ORE: u1, - /// Idle line detected + /// Idle line detected IDLE: u1, - /// Read data register not empty + /// Read data register not empty RXNE: u1, - /// Transmission complete + /// Transmission complete TC: u1, - /// Transmit data register empty + /// Transmit data register empty TXE: u1, - /// LIN break detection flag + /// LIN break detection flag LBD: u1, - /// CTS interrupt flag + /// CTS interrupt flag CTSIF: u1, - /// CTS flag + /// CTS flag CTS: u1, - /// Receiver timeout + /// Receiver timeout RTOF: u1, - /// End of block flag + /// End of block flag EOBF: u1, reserved14: u1, - /// Auto baud rate error + /// Auto baud rate error ABRE: u1, - /// Auto baud rate flag + /// Auto baud rate flag ABRF: u1, - /// Busy flag + /// Busy flag BUSY: u1, - /// character match flag + /// character match flag CMF: u1, - /// Send break flag + /// Send break flag SBKF: u1, - /// Receiver wakeup from Mute mode - RWU: packed union { - raw: u1, - value: RWU, - }, - /// Wakeup from Stop mode flag + /// Receiver wakeup from Mute mode + RWU: RWU, + /// Wakeup from Stop mode flag WUF: u1, - /// Transmit enable acknowledge flag + /// Transmit enable acknowledge flag TEACK: u1, - /// Receive enable acknowledge flag + /// Receive enable acknowledge flag REACK: u1, padding: u9, }), - /// Interrupt flag clear register + /// Interrupt flag clear register ICR: mmio.Mmio(packed struct(u32) { - /// Parity error clear flag + /// Parity error clear flag PE: u1, - /// Framing error clear flag + /// Framing error clear flag FE: u1, - /// Noise error clear flag + /// Noise error clear flag NE: u1, - /// Overrun error clear flag + /// Overrun error clear flag ORE: u1, - /// Idle line detected clear flag + /// Idle line detected clear flag IDLE: u1, reserved6: u1, - /// Transmission complete clear flag + /// Transmission complete clear flag TC: u1, reserved8: u1, - /// LIN break detection clear flag + /// LIN break detection clear flag LBD: u1, - /// CTS clear flag + /// CTS clear flag CTS: u1, reserved11: u1, - /// Receiver timeout clear flag + /// Receiver timeout clear flag RTOF: u1, - /// End of block clear flag + /// End of block clear flag EOBF: u1, reserved17: u4, - /// Character match clear flag + /// Character match clear flag CMF: u1, reserved20: u2, - /// Wakeup from Stop mode clear flag + /// Wakeup from Stop mode clear flag WUF: u1, padding: u11, }), - /// Receive data register + /// Receive data register RDR: mmio.Mmio(packed struct(u32) { - /// Data value + /// Data value DR: u9, padding: u23, }), - /// Transmit data register + /// Transmit data register TDR: mmio.Mmio(packed struct(u32) { - /// Data value + /// Data value DR: u9, padding: u23, }), @@ -439861,822 +428896,720 @@ pub const types = struct { pub const usart_v4 = struct { pub const ABRMOD = enum(u2) { - /// Measurement of the start bit is used to detect the baud rate + /// Measurement of the start bit is used to detect the baud rate Start = 0x0, - /// Falling edge to falling edge measurement + /// Falling edge to falling edge measurement Edge = 0x1, - /// 0x7F frame detection + /// 0x7F frame detection Frame7F = 0x2, - /// 0x55 frame detection + /// 0x55 frame detection Frame55 = 0x3, }; pub const ADDM = enum(u1) { - /// 4-bit address detection + /// 4-bit address detection Bit4 = 0x0, - /// 7-bit address detection + /// 7-bit address detection Bit7 = 0x1, }; pub const CPHA = enum(u1) { - /// The first clock transition is the first data capture edge + /// The first clock transition is the first data capture edge First = 0x0, - /// The second clock transition is the first data capture edge + /// The second clock transition is the first data capture edge Second = 0x1, }; pub const CPOL = enum(u1) { - /// Steady low value on CK pin outside transmission window + /// Steady low value on CK pin outside transmission window Low = 0x0, - /// Steady high value on CK pin outside transmission window + /// Steady high value on CK pin outside transmission window High = 0x1, }; pub const DEP = enum(u1) { - /// DE signal is active high + /// DE signal is active high High = 0x0, - /// DE signal is active low + /// DE signal is active low Low = 0x1, }; pub const IRLP = enum(u1) { - /// Normal mode + /// Normal mode Normal = 0x0, - /// Low-power mode + /// Low-power mode LowPower = 0x1, }; pub const LBDL = enum(u1) { - /// 10-bit break detection + /// 10-bit break detection Bit10 = 0x0, - /// 11-bit break detection + /// 11-bit break detection Bit11 = 0x1, }; pub const M0 = enum(u1) { - /// 1 start bit, 8 data bits, n stop bits + /// 1 start bit, 8 data bits, n stop bits Bit8 = 0x0, - /// 1 start bit, 9 data bits, n stop bits + /// 1 start bit, 9 data bits, n stop bits Bit9 = 0x1, }; pub const M1 = enum(u1) { - /// Use M0 to set the data bits + /// Use M0 to set the data bits M0 = 0x0, - /// 1 start bit, 7 data bits, n stop bits + /// 1 start bit, 7 data bits, n stop bits Bit7 = 0x1, }; pub const MSBFIRST = enum(u1) { - /// data is transmitted/received with data bit 0 first, following the start bit + /// data is transmitted/received with data bit 0 first, following the start bit LSB = 0x0, - /// data is transmitted/received with MSB (bit 7/8/9) first, following the start bit + /// data is transmitted/received with MSB (bit 7/8/9) first, following the start bit MSB = 0x1, }; pub const OVER8 = enum(u1) { - /// Oversampling by 16 + /// Oversampling by 16 Oversampling16 = 0x0, - /// Oversampling by 8 + /// Oversampling by 8 Oversampling8 = 0x1, }; pub const PRESC = enum(u4) { - /// input clock not divided + /// input clock not divided Div1 = 0x0, - /// input clock divided by 2 + /// input clock divided by 2 Div2 = 0x1, - /// input clock divided by 4 + /// input clock divided by 4 Div4 = 0x2, - /// input clock divided by 6 + /// input clock divided by 6 Div6 = 0x3, - /// input clock divided by 8 + /// input clock divided by 8 Div8 = 0x4, - /// input clock divided by 10 + /// input clock divided by 10 Div10 = 0x5, - /// input clock divided by 12 + /// input clock divided by 12 Div12 = 0x6, - /// input clock divided by 16 + /// input clock divided by 16 Div16 = 0x7, - /// input clock divided by 32 + /// input clock divided by 32 Div32 = 0x8, - /// input clock divided by 64 + /// input clock divided by 64 Div64 = 0x9, - /// input clock divided by 128 + /// input clock divided by 128 Div128 = 0xa, - /// input clock divided by 256 + /// input clock divided by 256 Div256 = 0xb, _, }; pub const PS = enum(u1) { - /// Even parity + /// Even parity Even = 0x0, - /// Odd parity + /// Odd parity Odd = 0x1, }; pub const RWU = enum(u1) { - /// Receiver in active mode + /// Receiver in active mode Active = 0x0, - /// Receiver in mute mode + /// Receiver in mute mode Mute = 0x1, }; pub const STOP = enum(u2) { - /// 1 stop bit + /// 1 stop bit Stop1 = 0x0, - /// 0.5 stop bits + /// 0.5 stop bits Stop0p5 = 0x1, - /// 2 stop bits + /// 2 stop bits Stop2 = 0x2, - /// 1.5 stop bits + /// 1.5 stop bits Stop1p5 = 0x3, }; pub const WAKE = enum(u1) { - /// USART wakeup on idle line + /// USART wakeup on idle line IdleLine = 0x0, - /// USART wakeup on address mark + /// USART wakeup on address mark AddressMark = 0x1, }; pub const WUS = enum(u2) { - /// WUF active on address match + /// WUF active on address match Address = 0x0, - /// WuF active on Start bit detection + /// WuF active on Start bit detection Start = 0x2, - /// WUF active on RXNE + /// WUF active on RXNE RXNE = 0x3, _, }; - /// Low-power Universal synchronous asynchronous receiver transmitter + /// Low-power Universal synchronous asynchronous receiver transmitter pub const LPUART = extern struct { - /// Control register 1 + /// Control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// USART enable + /// USART enable UE: u1, - /// USART enable in Stop mode + /// USART enable in Stop mode UESM: u1, - /// Receiver enable + /// Receiver enable RE: u1, - /// Transmitter enable + /// Transmitter enable TE: u1, - /// IDLE interrupt enable + /// IDLE interrupt enable IDLEIE: u1, - /// RXNE interrupt enable + /// RXNE interrupt enable RXNEIE: u1, - /// Transmission complete interrupt enable + /// Transmission complete interrupt enable TCIE: u1, - /// TXE interrupt enable + /// TXE interrupt enable TXEIE: u1, - /// PE interrupt enable + /// PE interrupt enable PEIE: u1, - /// Parity selection - PS: packed union { - raw: u1, - value: PS, - }, - /// Parity control enable + /// Parity selection + PS: PS, + /// Parity control enable PCE: u1, - /// Receiver wakeup method - WAKE: packed union { - raw: u1, - value: WAKE, - }, - /// Word length - M0: packed union { - raw: u1, - value: M0, - }, - /// Mute mode enable + /// Receiver wakeup method + WAKE: WAKE, + /// Word length + M0: M0, + /// Mute mode enable MME: u1, - /// Character match interrupt enable + /// Character match interrupt enable CMIE: u1, - /// Oversampling mode - OVER8: packed union { - raw: u1, - value: OVER8, - }, - /// Driver Enable deassertion time + /// Oversampling mode + OVER8: OVER8, + /// Driver Enable deassertion time DEDT: u5, - /// Driver Enable assertion time + /// Driver Enable assertion time DEAT: u5, - /// Receiver timeout interrupt enable + /// Receiver timeout interrupt enable RTOIE: u1, - /// End of Block interrupt enable + /// End of Block interrupt enable EOBIE: u1, - /// Word length - M1: packed union { - raw: u1, - value: M1, - }, - /// FIFO mode enable + /// Word length + M1: M1, + /// FIFO mode enable FIFOEN: u1, - /// TXFIFO empty interrupt enable + /// TXFIFO empty interrupt enable TXFEIE: u1, - /// RXFIFO Full interrupt enable + /// RXFIFO Full interrupt enable RXFFIE: u1, }), - /// Control register 2 + /// Control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// 7-bit Address Detection/4-bit Address Detection - ADDM: packed union { - raw: u1, - value: ADDM, - }, - /// Line break detection length - LBDL: packed union { - raw: u1, - value: LBDL, - }, - /// LIN break detection interrupt enable + /// 7-bit Address Detection/4-bit Address Detection + ADDM: ADDM, + /// Line break detection length + LBDL: LBDL, + /// LIN break detection interrupt enable LBDIE: u1, reserved8: u1, - /// Last bit clock pulse + /// Last bit clock pulse LBCL: u1, - /// Clock phase - CPHA: packed union { - raw: u1, - value: CPHA, - }, - /// Clock polarity - CPOL: packed union { - raw: u1, - value: CPOL, - }, - /// Clock enable + /// Clock phase + CPHA: CPHA, + /// Clock polarity + CPOL: CPOL, + /// Clock enable CLKEN: u1, - /// STOP bits - STOP: packed union { - raw: u2, - value: STOP, - }, - /// LIN mode enable + /// STOP bits + STOP: STOP, + /// LIN mode enable LINEN: u1, - /// Swap TX/RX pins + /// Swap TX/RX pins SWAP: u1, - /// RX pin active level inversion + /// RX pin active level inversion RXINV: u1, - /// TX pin active level inversion + /// TX pin active level inversion TXINV: u1, - /// Binary data inversion + /// Binary data inversion DATAINV: u1, - /// Most significant bit first - MSBFIRST: packed union { - raw: u1, - value: MSBFIRST, - }, - /// Auto baud rate enable + /// Most significant bit first + MSBFIRST: MSBFIRST, + /// Auto baud rate enable ABREN: u1, - /// Auto baud rate mode - ABRMOD: packed union { - raw: u2, - value: ABRMOD, - }, - /// Receiver timeout enable + /// Auto baud rate mode + ABRMOD: ABRMOD, + /// Receiver timeout enable RTOEN: u1, - /// Address of the USART node + /// Address of the USART node ADD: u8, }), - /// Control register 3 + /// Control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Error interrupt enable + /// Error interrupt enable EIE: u1, - /// IrDA mode enable + /// IrDA mode enable IREN: u1, - /// IrDA low-power - IRLP: packed union { - raw: u1, - value: IRLP, - }, - /// Half-duplex selection + /// IrDA low-power + IRLP: IRLP, + /// Half-duplex selection HDSEL: u1, - /// Smartcard NACK enable + /// Smartcard NACK enable NACK: u1, - /// Smartcard mode enable + /// Smartcard mode enable SCEN: u1, - /// DMA enable receiver + /// DMA enable receiver DMAR: u1, - /// DMA enable transmitter + /// DMA enable transmitter DMAT: u1, - /// RTS enable + /// RTS enable RTSE: u1, - /// CTS enable + /// CTS enable CTSE: u1, - /// CTS interrupt enable + /// CTS interrupt enable CTSIE: u1, - /// One sample bit method enable + /// One sample bit method enable ONEBIT: u1, - /// Overrun Disable + /// Overrun Disable OVRDIS: u1, - /// DMA Disable on Reception Error + /// DMA Disable on Reception Error DDRE: u1, - /// Driver enable mode + /// Driver enable mode DEM: u1, - /// Driver enable polarity selection - DEP: packed union { - raw: u1, - value: DEP, - }, + /// Driver enable polarity selection + DEP: DEP, reserved17: u1, - /// Smartcard auto-retry count + /// Smartcard auto-retry count SCARCNT: u3, - /// Wakeup from Stop mode interrupt flag selection - WUS: packed union { - raw: u2, - value: WUS, - }, - /// Wakeup from Stop mode interrupt enable + /// Wakeup from Stop mode interrupt flag selection + WUS: WUS, + /// Wakeup from Stop mode interrupt enable WUFIE: u1, - /// TXFIFO threshold interrupt enable + /// TXFIFO threshold interrupt enable TXFTIE: u1, reserved25: u1, - /// Receive FIFO threshold configuration + /// Receive FIFO threshold configuration RXFTCFG: u3, - /// RXFIFO threshold interrupt enable + /// RXFIFO threshold interrupt enable RXFTIE: u1, - /// TXFIFO threshold configuration + /// TXFIFO threshold configuration TXFTCFG: u3, }), - /// Baud rate register + /// Baud rate register BRR: mmio.Mmio(packed struct(u32) { - /// USARTDIV + /// USARTDIV BRR: u16, padding: u16, }), reserved24: [8]u8, - /// Request register + /// Request register RQR: mmio.Mmio(packed struct(u32) { - /// Auto baud rate request. Resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame. + /// Auto baud rate request. Resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame. ABRRQ: u1, - /// Send break request. Sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available + /// Send break request. Sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available SBKRQ: u1, - /// Mute mode request. Puts the USART in mute mode and sets the RWU flag. + /// Mute mode request. Puts the USART in mute mode and sets the RWU flag. MMRQ: u1, - /// Receive data flush request. Clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition + /// Receive data flush request. Clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition RXFRQ: u1, - /// Transmit data flush request. Sets the TXE flags. This allows to discard the transmit data. + /// Transmit data flush request. Sets the TXE flags. This allows to discard the transmit data. TXFRQ: u1, padding: u27, }), - /// Interrupt & status register + /// Interrupt & status register ISR: mmio.Mmio(packed struct(u32) { - /// Parity error + /// Parity error PE: u1, - /// Framing error + /// Framing error FE: u1, - /// Noise error flag + /// Noise error flag NE: u1, - /// Overrun error + /// Overrun error ORE: u1, - /// Idle line detected + /// Idle line detected IDLE: u1, - /// Read data register not empty + /// Read data register not empty RXNE: u1, - /// Transmission complete + /// Transmission complete TC: u1, - /// Transmit data register empty + /// Transmit data register empty TXE: u1, - /// LIN break detection flag + /// LIN break detection flag LBD: u1, - /// CTS interrupt flag + /// CTS interrupt flag CTSIF: u1, - /// CTS flag + /// CTS flag CTS: u1, - /// Receiver timeout + /// Receiver timeout RTOF: u1, - /// End of block flag + /// End of block flag EOBF: u1, reserved14: u1, - /// Auto baud rate error + /// Auto baud rate error ABRE: u1, - /// Auto baud rate flag + /// Auto baud rate flag ABRF: u1, - /// Busy flag + /// Busy flag BUSY: u1, - /// character match flag + /// character match flag CMF: u1, - /// Send break flag + /// Send break flag SBKF: u1, - /// Receiver wakeup from Mute mode - RWU: packed union { - raw: u1, - value: RWU, - }, - /// Wakeup from Stop mode flag + /// Receiver wakeup from Mute mode + RWU: RWU, + /// Wakeup from Stop mode flag WUF: u1, - /// Transmit enable acknowledge flag + /// Transmit enable acknowledge flag TEACK: u1, - /// Receive enable acknowledge flag + /// Receive enable acknowledge flag REACK: u1, - /// TXFIFO Empty + /// TXFIFO Empty TXFE: u1, - /// RXFIFO Full + /// RXFIFO Full RXFF: u1, reserved26: u1, - /// RXFIFO threshold flag + /// RXFIFO threshold flag RXFT: u1, - /// TXFIFO threshold flag + /// TXFIFO threshold flag TXFT: u1, padding: u4, }), - /// Interrupt flag clear register + /// Interrupt flag clear register ICR: mmio.Mmio(packed struct(u32) { - /// Parity error clear flag + /// Parity error clear flag PE: u1, - /// Framing error clear flag + /// Framing error clear flag FE: u1, - /// Noise error clear flag + /// Noise error clear flag NE: u1, - /// Overrun error clear flag + /// Overrun error clear flag ORE: u1, - /// Idle line detected clear flag + /// Idle line detected clear flag IDLE: u1, reserved6: u1, - /// Transmission complete clear flag + /// Transmission complete clear flag TC: u1, reserved8: u1, - /// LIN break detection clear flag + /// LIN break detection clear flag LBD: u1, - /// CTS clear flag + /// CTS clear flag CTS: u1, reserved11: u1, - /// Receiver timeout clear flag + /// Receiver timeout clear flag RTOF: u1, - /// End of block clear flag + /// End of block clear flag EOBF: u1, reserved17: u4, - /// Character match clear flag + /// Character match clear flag CMF: u1, reserved20: u2, - /// Wakeup from Stop mode clear flag + /// Wakeup from Stop mode clear flag WUF: u1, padding: u11, }), - /// Receive data register + /// Receive data register RDR: mmio.Mmio(packed struct(u32) { - /// Data value + /// Data value DR: u9, padding: u23, }), - /// Transmit data register + /// Transmit data register TDR: mmio.Mmio(packed struct(u32) { - /// Data value + /// Data value DR: u9, padding: u23, }), - /// Prescaler register + /// Prescaler register PRESC: mmio.Mmio(packed struct(u32) { - /// Clock prescaler - PRESCALER: packed union { - raw: u4, - value: PRESC, - }, + /// Clock prescaler + PRESCALER: PRESC, padding: u28, }), }; - /// Universal synchronous asynchronous receiver transmitter + /// Universal synchronous asynchronous receiver transmitter pub const USART = extern struct { - /// Control register 1 + /// Control register 1 CR1: mmio.Mmio(packed struct(u32) { - /// USART enable + /// USART enable UE: u1, - /// USART enable in Stop mode + /// USART enable in Stop mode UESM: u1, - /// Receiver enable + /// Receiver enable RE: u1, - /// Transmitter enable + /// Transmitter enable TE: u1, - /// IDLE interrupt enable + /// IDLE interrupt enable IDLEIE: u1, - /// RXNE interrupt enable + /// RXNE interrupt enable RXNEIE: u1, - /// Transmission complete interrupt enable + /// Transmission complete interrupt enable TCIE: u1, - /// TXE interrupt enable + /// TXE interrupt enable TXEIE: u1, - /// PE interrupt enable + /// PE interrupt enable PEIE: u1, - /// Parity selection - PS: packed union { - raw: u1, - value: PS, - }, - /// Parity control enable + /// Parity selection + PS: PS, + /// Parity control enable PCE: u1, - /// Receiver wakeup method - WAKE: packed union { - raw: u1, - value: WAKE, - }, - /// Word length - M0: packed union { - raw: u1, - value: M0, - }, - /// Mute mode enable + /// Receiver wakeup method + WAKE: WAKE, + /// Word length + M0: M0, + /// Mute mode enable MME: u1, - /// Character match interrupt enable + /// Character match interrupt enable CMIE: u1, - /// Oversampling mode - OVER8: packed union { - raw: u1, - value: OVER8, - }, - /// Driver Enable deassertion time + /// Oversampling mode + OVER8: OVER8, + /// Driver Enable deassertion time DEDT: u5, - /// Driver Enable assertion time + /// Driver Enable assertion time DEAT: u5, - /// Receiver timeout interrupt enable + /// Receiver timeout interrupt enable RTOIE: u1, - /// End of Block interrupt enable + /// End of Block interrupt enable EOBIE: u1, - /// Word length - M1: packed union { - raw: u1, - value: M1, - }, - /// FIFO mode enable + /// Word length + M1: M1, + /// FIFO mode enable FIFOEN: u1, - /// TXFIFO empty interrupt enable + /// TXFIFO empty interrupt enable TXFEIE: u1, - /// RXFIFO Full interrupt enable + /// RXFIFO Full interrupt enable RXFFIE: u1, }), - /// Control register 2 + /// Control register 2 CR2: mmio.Mmio(packed struct(u32) { reserved4: u4, - /// 7-bit Address Detection/4-bit Address Detection - ADDM: packed union { - raw: u1, - value: ADDM, - }, - /// Line break detection length - LBDL: packed union { - raw: u1, - value: LBDL, - }, - /// LIN break detection interrupt enable + /// 7-bit Address Detection/4-bit Address Detection + ADDM: ADDM, + /// Line break detection length + LBDL: LBDL, + /// LIN break detection interrupt enable LBDIE: u1, reserved8: u1, - /// Last bit clock pulse + /// Last bit clock pulse LBCL: u1, - /// Clock phase - CPHA: packed union { - raw: u1, - value: CPHA, - }, - /// Clock polarity - CPOL: packed union { - raw: u1, - value: CPOL, - }, - /// Clock enable + /// Clock phase + CPHA: CPHA, + /// Clock polarity + CPOL: CPOL, + /// Clock enable CLKEN: u1, - /// STOP bits - STOP: packed union { - raw: u2, - value: STOP, - }, - /// LIN mode enable + /// STOP bits + STOP: STOP, + /// LIN mode enable LINEN: u1, - /// Swap TX/RX pins + /// Swap TX/RX pins SWAP: u1, - /// RX pin active level inversion + /// RX pin active level inversion RXINV: u1, - /// TX pin active level inversion + /// TX pin active level inversion TXINV: u1, - /// Binary data inversion + /// Binary data inversion DATAINV: u1, - /// Most significant bit first - MSBFIRST: packed union { - raw: u1, - value: MSBFIRST, - }, - /// Auto baud rate enable + /// Most significant bit first + MSBFIRST: MSBFIRST, + /// Auto baud rate enable ABREN: u1, - /// Auto baud rate mode - ABRMOD: packed union { - raw: u2, - value: ABRMOD, - }, - /// Receiver timeout enable + /// Auto baud rate mode + ABRMOD: ABRMOD, + /// Receiver timeout enable RTOEN: u1, - /// Address of the USART node + /// Address of the USART node ADD: u8, }), - /// Control register 3 + /// Control register 3 CR3: mmio.Mmio(packed struct(u32) { - /// Error interrupt enable + /// Error interrupt enable EIE: u1, - /// IrDA mode enable + /// IrDA mode enable IREN: u1, - /// IrDA low-power - IRLP: packed union { - raw: u1, - value: IRLP, - }, - /// Half-duplex selection + /// IrDA low-power + IRLP: IRLP, + /// Half-duplex selection HDSEL: u1, - /// Smartcard NACK enable + /// Smartcard NACK enable NACK: u1, - /// Smartcard mode enable + /// Smartcard mode enable SCEN: u1, - /// DMA enable receiver + /// DMA enable receiver DMAR: u1, - /// DMA enable transmitter + /// DMA enable transmitter DMAT: u1, - /// RTS enable + /// RTS enable RTSE: u1, - /// CTS enable + /// CTS enable CTSE: u1, - /// CTS interrupt enable + /// CTS interrupt enable CTSIE: u1, - /// One sample bit method enable + /// One sample bit method enable ONEBIT: u1, - /// Overrun Disable + /// Overrun Disable OVRDIS: u1, - /// DMA Disable on Reception Error + /// DMA Disable on Reception Error DDRE: u1, - /// Driver enable mode + /// Driver enable mode DEM: u1, - /// Driver enable polarity selection - DEP: packed union { - raw: u1, - value: DEP, - }, + /// Driver enable polarity selection + DEP: DEP, reserved17: u1, - /// Smartcard auto-retry count + /// Smartcard auto-retry count SCARCNT: u3, - /// Wakeup from Stop mode interrupt flag selection - WUS: packed union { - raw: u2, - value: WUS, - }, - /// Wakeup from Stop mode interrupt enable + /// Wakeup from Stop mode interrupt flag selection + WUS: WUS, + /// Wakeup from Stop mode interrupt enable WUFIE: u1, - /// TXFIFO threshold interrupt enable + /// TXFIFO threshold interrupt enable TXFTIE: u1, reserved25: u1, - /// Receive FIFO threshold configuration + /// Receive FIFO threshold configuration RXFTCFG: u3, - /// RXFIFO threshold interrupt enable + /// RXFIFO threshold interrupt enable RXFTIE: u1, - /// TXFIFO threshold configuration + /// TXFIFO threshold configuration TXFTCFG: u3, }), - /// Baud rate register + /// Baud rate register BRR: mmio.Mmio(packed struct(u32) { - /// USARTDIV + /// USARTDIV BRR: u16, padding: u16, }), - /// Guard time and prescaler register + /// Guard time and prescaler register GTPR: mmio.Mmio(packed struct(u32) { - /// Prescaler value + /// Prescaler value PSC: u8, - /// Guard time value + /// Guard time value GT: u8, padding: u16, }), - /// Receiver timeout register + /// Receiver timeout register RTOR: mmio.Mmio(packed struct(u32) { - /// Receiver timeout value + /// Receiver timeout value RTO: u24, - /// Block Length + /// Block Length BLEN: u8, }), - /// Request register + /// Request register RQR: mmio.Mmio(packed struct(u32) { - /// Auto baud rate request. Resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame. + /// Auto baud rate request. Resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame. ABRRQ: u1, - /// Send break request. Sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available + /// Send break request. Sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available SBKRQ: u1, - /// Mute mode request. Puts the USART in mute mode and sets the RWU flag. + /// Mute mode request. Puts the USART in mute mode and sets the RWU flag. MMRQ: u1, - /// Receive data flush request. Clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition + /// Receive data flush request. Clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition RXFRQ: u1, - /// Transmit data flush request. Sets the TXE flags. This allows to discard the transmit data. + /// Transmit data flush request. Sets the TXE flags. This allows to discard the transmit data. TXFRQ: u1, padding: u27, }), - /// Interrupt & status register + /// Interrupt & status register ISR: mmio.Mmio(packed struct(u32) { - /// Parity error + /// Parity error PE: u1, - /// Framing error + /// Framing error FE: u1, - /// Noise error flag + /// Noise error flag NE: u1, - /// Overrun error + /// Overrun error ORE: u1, - /// Idle line detected + /// Idle line detected IDLE: u1, - /// Read data register not empty + /// Read data register not empty RXNE: u1, - /// Transmission complete + /// Transmission complete TC: u1, - /// Transmit data register empty + /// Transmit data register empty TXE: u1, - /// LIN break detection flag + /// LIN break detection flag LBD: u1, - /// CTS interrupt flag + /// CTS interrupt flag CTSIF: u1, - /// CTS flag + /// CTS flag CTS: u1, - /// Receiver timeout + /// Receiver timeout RTOF: u1, - /// End of block flag + /// End of block flag EOBF: u1, reserved14: u1, - /// Auto baud rate error + /// Auto baud rate error ABRE: u1, - /// Auto baud rate flag + /// Auto baud rate flag ABRF: u1, - /// Busy flag + /// Busy flag BUSY: u1, - /// character match flag + /// character match flag CMF: u1, - /// Send break flag + /// Send break flag SBKF: u1, - /// Receiver wakeup from Mute mode - RWU: packed union { - raw: u1, - value: RWU, - }, - /// Wakeup from Stop mode flag + /// Receiver wakeup from Mute mode + RWU: RWU, + /// Wakeup from Stop mode flag WUF: u1, - /// Transmit enable acknowledge flag + /// Transmit enable acknowledge flag TEACK: u1, - /// Receive enable acknowledge flag + /// Receive enable acknowledge flag REACK: u1, - /// TXFIFO Empty + /// TXFIFO Empty TXFE: u1, - /// RXFIFO Full + /// RXFIFO Full RXFF: u1, reserved26: u1, - /// RXFIFO threshold flag + /// RXFIFO threshold flag RXFT: u1, - /// TXFIFO threshold flag + /// TXFIFO threshold flag TXFT: u1, padding: u4, }), - /// Interrupt flag clear register + /// Interrupt flag clear register ICR: mmio.Mmio(packed struct(u32) { - /// Parity error clear flag + /// Parity error clear flag PE: u1, - /// Framing error clear flag + /// Framing error clear flag FE: u1, - /// Noise error clear flag + /// Noise error clear flag NE: u1, - /// Overrun error clear flag + /// Overrun error clear flag ORE: u1, - /// Idle line detected clear flag + /// Idle line detected clear flag IDLE: u1, reserved6: u1, - /// Transmission complete clear flag + /// Transmission complete clear flag TC: u1, reserved8: u1, - /// LIN break detection clear flag + /// LIN break detection clear flag LBD: u1, - /// CTS clear flag + /// CTS clear flag CTS: u1, reserved11: u1, - /// Receiver timeout clear flag + /// Receiver timeout clear flag RTOF: u1, - /// End of block clear flag + /// End of block clear flag EOBF: u1, reserved17: u4, - /// Character match clear flag + /// Character match clear flag CMF: u1, reserved20: u2, - /// Wakeup from Stop mode clear flag + /// Wakeup from Stop mode clear flag WUF: u1, padding: u11, }), - /// Receive data register + /// Receive data register RDR: mmio.Mmio(packed struct(u32) { - /// Data value + /// Data value DR: u9, padding: u23, }), - /// Transmit data register + /// Transmit data register TDR: mmio.Mmio(packed struct(u32) { - /// Data value + /// Data value DR: u9, padding: u23, }), - /// Prescaler register + /// Prescaler register PRESC: mmio.Mmio(packed struct(u32) { - /// Clock prescaler - PRESCALER: packed union { - raw: u4, - value: PRESC, - }, + /// Clock prescaler + PRESCALER: PRESC, padding: u28, }), }; @@ -440684,155 +429617,143 @@ pub const types = struct { pub const usb_v1 = struct { pub const DIR = enum(u1) { - /// data transmitted by the USB peripheral to the host PC + /// data transmitted by the USB peripheral to the host PC To = 0x0, - /// data received by the USB peripheral from the host PC + /// data received by the USB peripheral from the host PC From = 0x1, }; pub const EP_TYPE = enum(u2) { - /// Bulk endpoint + /// Bulk endpoint Bulk = 0x0, - /// Control endpoint + /// Control endpoint Control = 0x1, - /// Iso endpoint + /// Iso endpoint Iso = 0x2, - /// Interrupt endpoint + /// Interrupt endpoint Interrupt = 0x3, }; pub const STAT = enum(u2) { - /// all requests addressed to this endpoint are ignored + /// all requests addressed to this endpoint are ignored Disabled = 0x0, - /// the endpoint is stalled and all requests result in a STALL handshake + /// the endpoint is stalled and all requests result in a STALL handshake Stall = 0x1, - /// the endpoint is naked and all requests result in a NAK handshake + /// the endpoint is naked and all requests result in a NAK handshake Nak = 0x2, - /// this endpoint is enabled, requests are ACKed + /// this endpoint is enabled, requests are ACKed Valid = 0x3, }; - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB = extern struct { - /// endpoint register + /// endpoint register EPR: [8]mmio.Mmio(packed struct(u32) { - /// EA + /// EA EA: u4, - /// STAT_TX - STAT_TX: packed union { - raw: u2, - value: STAT, - }, - /// DTOG_TX + /// STAT_TX + STAT_TX: STAT, + /// DTOG_TX DTOG_TX: u1, - /// CTR_TX + /// CTR_TX CTR_TX: u1, - /// EP_KIND + /// EP_KIND EP_KIND: u1, - /// EPTYPE - EP_TYPE: packed union { - raw: u2, - value: EP_TYPE, - }, - /// SETUP + /// EPTYPE + EP_TYPE: EP_TYPE, + /// SETUP SETUP: u1, - /// STAT_RX - STAT_RX: packed union { - raw: u2, - value: STAT, - }, - /// DTOG_RX + /// STAT_RX + STAT_RX: STAT, + /// DTOG_RX DTOG_RX: u1, - /// CTR_RX + /// CTR_RX CTR_RX: u1, padding: u16, }), reserved64: [32]u8, - /// control register + /// control register CNTR: mmio.Mmio(packed struct(u32) { - /// Force a reset of the USB peripheral, exactly like a RESET signaling on the USB + /// Force a reset of the USB peripheral, exactly like a RESET signaling on the USB FRES: u1, - /// Enter power down mode + /// Enter power down mode PDWN: u1, - /// Enter low-power mode + /// Enter low-power mode LPMODE: u1, - /// Enter suspend mode. Clocks and static power dissipation in the analog transceiver are left unaffected + /// Enter suspend mode. Clocks and static power dissipation in the analog transceiver are left unaffected FSUSP: u1, - /// Resume request + /// Resume request RESUME: u1, reserved8: u3, - /// ESOF Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// ESOF Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set ESOFM: u1, - /// SOF Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// SOF Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set SOFM: u1, - /// RESET Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// RESET Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set RESETM: u1, - /// SUSP Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// SUSP Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set SUSPM: u1, - /// WKUP Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// WKUP Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set WKUPM: u1, - /// ERR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// ERR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set ERRM: u1, - /// PMAOVR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// PMAOVR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set PMAOVRM: u1, - /// CTR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// CTR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set CTRM: u1, padding: u16, }), - /// interrupt status register + /// interrupt status register ISTR: mmio.Mmio(packed struct(u32) { - /// EP_ID + /// EP_ID EP_ID: u4, - /// DIR - DIR: packed union { - raw: u1, - value: DIR, - }, + /// DIR + DIR: DIR, reserved8: u3, - /// an SOF packet is expected but not received + /// an SOF packet is expected but not received ESOF: u1, - /// beginning of a new USB frame and it is set when a SOF packet arrives through the USB bus + /// beginning of a new USB frame and it is set when a SOF packet arrives through the USB bus SOF: u1, - /// peripheral detects an active USB RESET signal at its inputs + /// peripheral detects an active USB RESET signal at its inputs RESET: u1, - /// no traffic has been received for 3 ms, indicating a suspend mode request from the USB bus + /// no traffic has been received for 3 ms, indicating a suspend mode request from the USB bus SUSP: u1, - /// activity is detected that wakes up the USB peripheral + /// activity is detected that wakes up the USB peripheral WKUP: u1, - /// One of No ANSwer, Cyclic Redundancy Check, Bit Stuffing or Framing format Violation error occurred + /// One of No ANSwer, Cyclic Redundancy Check, Bit Stuffing or Framing format Violation error occurred ERR: u1, - /// microcontroller has not been able to respond in time to an USB memory request + /// microcontroller has not been able to respond in time to an USB memory request PMAOVR: u1, - /// endpoint has successfully completed a transaction + /// endpoint has successfully completed a transaction CTR: u1, padding: u16, }), - /// frame number register + /// frame number register FNR: mmio.Mmio(packed struct(u32) { - /// FN + /// FN FN: u11, - /// LSOF + /// LSOF LSOF: u2, - /// the frame timer remains in this state until an USB reset or USB suspend event occurs + /// the frame timer remains in this state until an USB reset or USB suspend event occurs LCK: u1, - /// received data minus upstream port data line + /// received data minus upstream port data line RXDM: u1, - /// received data plus upstream port data line + /// received data plus upstream port data line RXDP: u1, padding: u16, }), - /// device address + /// device address DADDR: mmio.Mmio(packed struct(u32) { - /// device address + /// device address ADD: u7, - /// USB device enabled + /// USB device enabled EF: u1, padding: u24, }), - /// Buffer table address + /// Buffer table address BTABLE: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// BTABLE + /// BTABLE BTABLE: u13, padding: u16, }), @@ -440841,184 +429762,169 @@ pub const types = struct { pub const usb_v2 = struct { pub const DIR = enum(u1) { - /// data transmitted by the USB peripheral to the host PC + /// data transmitted by the USB peripheral to the host PC To = 0x0, - /// data received by the USB peripheral from the host PC + /// data received by the USB peripheral from the host PC From = 0x1, }; pub const EP_TYPE = enum(u2) { - /// Bulk endpoint + /// Bulk endpoint Bulk = 0x0, - /// Control endpoint + /// Control endpoint Control = 0x1, - /// Iso endpoint + /// Iso endpoint Iso = 0x2, - /// Interrupt endpoint + /// Interrupt endpoint Interrupt = 0x3, }; pub const LPMACK = enum(u1) { - /// the valid LPM Token will be NYET + /// the valid LPM Token will be NYET Nyet = 0x0, - /// the valid LPM Token will be ACK + /// the valid LPM Token will be ACK Ack = 0x1, }; pub const STAT = enum(u2) { - /// all requests addressed to this endpoint are ignored + /// all requests addressed to this endpoint are ignored Disabled = 0x0, - /// the endpoint is stalled and all requests result in a STALL handshake + /// the endpoint is stalled and all requests result in a STALL handshake Stall = 0x1, - /// the endpoint is naked and all requests result in a NAK handshake + /// the endpoint is naked and all requests result in a NAK handshake Nak = 0x2, - /// this endpoint is enabled, requests are ACKed + /// this endpoint is enabled, requests are ACKed Valid = 0x3, }; - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB = extern struct { - /// endpoint register + /// endpoint register EPR: [8]mmio.Mmio(packed struct(u32) { - /// EA + /// EA EA: u4, - /// STAT_TX - STAT_TX: packed union { - raw: u2, - value: STAT, - }, - /// DTOG_TX + /// STAT_TX + STAT_TX: STAT, + /// DTOG_TX DTOG_TX: u1, - /// CTR_TX + /// CTR_TX CTR_TX: u1, - /// EP_KIND + /// EP_KIND EP_KIND: u1, - /// EPTYPE - EP_TYPE: packed union { - raw: u2, - value: EP_TYPE, - }, - /// SETUP + /// EPTYPE + EP_TYPE: EP_TYPE, + /// SETUP SETUP: u1, - /// STAT_RX - STAT_RX: packed union { - raw: u2, - value: STAT, - }, - /// DTOG_RX + /// STAT_RX + STAT_RX: STAT, + /// DTOG_RX DTOG_RX: u1, - /// CTR_RX + /// CTR_RX CTR_RX: u1, padding: u16, }), reserved64: [32]u8, - /// control register + /// control register CNTR: mmio.Mmio(packed struct(u32) { - /// Force a reset of the USB peripheral, exactly like a RESET signaling on the USB + /// Force a reset of the USB peripheral, exactly like a RESET signaling on the USB FRES: u1, - /// Enter power down mode + /// Enter power down mode PDWN: u1, - /// Enter low-power mode + /// Enter low-power mode LPMODE: u1, - /// Enter suspend mode. Clocks and static power dissipation in the analog transceiver are left unaffected + /// Enter suspend mode. Clocks and static power dissipation in the analog transceiver are left unaffected FSUSP: u1, - /// Resume request + /// Resume request RESUME: u1, - /// LPM L1 request request + /// LPM L1 request request L1RESUME: u1, reserved7: u1, - /// L1REQ Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// L1REQ Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set L1REQM: u1, - /// ESOF Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// ESOF Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set ESOFM: u1, - /// SOF Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// SOF Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set SOFM: u1, - /// RESET Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// RESET Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set RESETM: u1, - /// SUSP Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// SUSP Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set SUSPM: u1, - /// WKUP Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// WKUP Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set WKUPM: u1, - /// ERR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// ERR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set ERRM: u1, - /// PMAOVR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// PMAOVR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set PMAOVRM: u1, - /// CTR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// CTR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set CTRM: u1, padding: u16, }), - /// interrupt status register + /// interrupt status register ISTR: mmio.Mmio(packed struct(u32) { - /// EP_ID + /// EP_ID EP_ID: u4, - /// DIR - DIR: packed union { - raw: u1, - value: DIR, - }, + /// DIR + DIR: DIR, reserved7: u2, - /// LPM command to enter the L1 state is successfully received and acknowledged + /// LPM command to enter the L1 state is successfully received and acknowledged L1REQ: u1, - /// an SOF packet is expected but not received + /// an SOF packet is expected but not received ESOF: u1, - /// beginning of a new USB frame and it is set when a SOF packet arrives through the USB bus + /// beginning of a new USB frame and it is set when a SOF packet arrives through the USB bus SOF: u1, - /// peripheral detects an active USB RESET signal at its inputs + /// peripheral detects an active USB RESET signal at its inputs RESET: u1, - /// no traffic has been received for 3 ms, indicating a suspend mode request from the USB bus + /// no traffic has been received for 3 ms, indicating a suspend mode request from the USB bus SUSP: u1, - /// activity is detected that wakes up the USB peripheral + /// activity is detected that wakes up the USB peripheral WKUP: u1, - /// One of No ANSwer, Cyclic Redundancy Check, Bit Stuffing or Framing format Violation error occurred + /// One of No ANSwer, Cyclic Redundancy Check, Bit Stuffing or Framing format Violation error occurred ERR: u1, - /// microcontroller has not been able to respond in time to an USB memory request + /// microcontroller has not been able to respond in time to an USB memory request PMAOVR: u1, - /// endpoint has successfully completed a transaction + /// endpoint has successfully completed a transaction CTR: u1, padding: u16, }), - /// frame number register + /// frame number register FNR: mmio.Mmio(packed struct(u32) { - /// FN + /// FN FN: u11, - /// LSOF + /// LSOF LSOF: u2, - /// the frame timer remains in this state until an USB reset or USB suspend event occurs + /// the frame timer remains in this state until an USB reset or USB suspend event occurs LCK: u1, - /// received data minus upstream port data line + /// received data minus upstream port data line RXDM: u1, - /// received data plus upstream port data line + /// received data plus upstream port data line RXDP: u1, padding: u16, }), - /// device address + /// device address DADDR: mmio.Mmio(packed struct(u32) { - /// device address + /// device address ADD: u7, - /// USB device enabled + /// USB device enabled EF: u1, padding: u24, }), - /// Buffer table address + /// Buffer table address BTABLE: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// BTABLE + /// BTABLE BTABLE: u13, padding: u16, }), - /// LPM control and status register + /// LPM control and status register LPMCSR: mmio.Mmio(packed struct(u32) { - /// enable the LPM support within the USB device + /// enable the LPM support within the USB device LPMEN: u1, - /// LPMACK - LPMACK: packed union { - raw: u1, - value: LPMACK, - }, + /// LPMACK + LPMACK: LPMACK, reserved3: u1, - /// REMWAKE + /// REMWAKE REMWAKE: u1, - /// BESL + /// BESL BESL: u4, padding: u24, }), @@ -441027,217 +429933,199 @@ pub const types = struct { pub const usb_v3 = struct { pub const DIR = enum(u1) { - /// data transmitted by the USB peripheral to the host PC + /// data transmitted by the USB peripheral to the host PC To = 0x0, - /// data received by the USB peripheral from the host PC + /// data received by the USB peripheral from the host PC From = 0x1, }; pub const EP_TYPE = enum(u2) { - /// Bulk endpoint + /// Bulk endpoint Bulk = 0x0, - /// Control endpoint + /// Control endpoint Control = 0x1, - /// Iso endpoint + /// Iso endpoint Iso = 0x2, - /// Interrupt endpoint + /// Interrupt endpoint Interrupt = 0x3, }; pub const LPMACK = enum(u1) { - /// the valid LPM Token will be NYET + /// the valid LPM Token will be NYET Nyet = 0x0, - /// the valid LPM Token will be ACK + /// the valid LPM Token will be ACK Ack = 0x1, }; pub const SDET = enum(u1) { - /// CDP detected + /// CDP detected CDP = 0x0, - /// DCP detected + /// DCP detected DCP = 0x1, }; pub const STAT = enum(u2) { - /// all requests addressed to this endpoint are ignored + /// all requests addressed to this endpoint are ignored Disabled = 0x0, - /// the endpoint is stalled and all requests result in a STALL handshake + /// the endpoint is stalled and all requests result in a STALL handshake Stall = 0x1, - /// the endpoint is naked and all requests result in a NAK handshake + /// the endpoint is naked and all requests result in a NAK handshake Nak = 0x2, - /// this endpoint is enabled, requests are ACKed + /// this endpoint is enabled, requests are ACKed Valid = 0x3, }; - /// Universal serial bus full-speed device interface + /// Universal serial bus full-speed device interface pub const USB = extern struct { - /// endpoint register + /// endpoint register EPR: [8]mmio.Mmio(packed struct(u32) { - /// EA + /// EA EA: u4, - /// STAT_TX - STAT_TX: packed union { - raw: u2, - value: STAT, - }, - /// DTOG_TX + /// STAT_TX + STAT_TX: STAT, + /// DTOG_TX DTOG_TX: u1, - /// CTR_TX + /// CTR_TX CTR_TX: u1, - /// EP_KIND + /// EP_KIND EP_KIND: u1, - /// EPTYPE - EP_TYPE: packed union { - raw: u2, - value: EP_TYPE, - }, - /// SETUP + /// EPTYPE + EP_TYPE: EP_TYPE, + /// SETUP SETUP: u1, - /// STAT_RX - STAT_RX: packed union { - raw: u2, - value: STAT, - }, - /// DTOG_RX + /// STAT_RX + STAT_RX: STAT, + /// DTOG_RX DTOG_RX: u1, - /// CTR_RX + /// CTR_RX CTR_RX: u1, padding: u16, }), reserved64: [32]u8, - /// control register + /// control register CNTR: mmio.Mmio(packed struct(u32) { - /// Force a reset of the USB peripheral, exactly like a RESET signaling on the USB + /// Force a reset of the USB peripheral, exactly like a RESET signaling on the USB FRES: u1, - /// Enter power down mode + /// Enter power down mode PDWN: u1, - /// Enter low-power mode + /// Enter low-power mode LPMODE: u1, - /// Enter suspend mode. Clocks and static power dissipation in the analog transceiver are left unaffected + /// Enter suspend mode. Clocks and static power dissipation in the analog transceiver are left unaffected FSUSP: u1, - /// Resume request + /// Resume request RESUME: u1, - /// LPM L1 request request + /// LPM L1 request request L1RESUME: u1, reserved7: u1, - /// L1REQ Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// L1REQ Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set L1REQM: u1, - /// ESOF Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// ESOF Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set ESOFM: u1, - /// SOF Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// SOF Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set SOFM: u1, - /// RESET Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// RESET Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set RESETM: u1, - /// SUSP Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// SUSP Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set SUSPM: u1, - /// WKUP Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// WKUP Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set WKUPM: u1, - /// ERR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// ERR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set ERRM: u1, - /// PMAOVR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// PMAOVR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set PMAOVRM: u1, - /// CTR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// CTR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set CTRM: u1, padding: u16, }), - /// interrupt status register + /// interrupt status register ISTR: mmio.Mmio(packed struct(u32) { - /// EP_ID + /// EP_ID EP_ID: u4, - /// DIR - DIR: packed union { - raw: u1, - value: DIR, - }, + /// DIR + DIR: DIR, reserved7: u2, - /// LPM command to enter the L1 state is successfully received and acknowledged + /// LPM command to enter the L1 state is successfully received and acknowledged L1REQ: u1, - /// an SOF packet is expected but not received + /// an SOF packet is expected but not received ESOF: u1, - /// beginning of a new USB frame and it is set when a SOF packet arrives through the USB bus + /// beginning of a new USB frame and it is set when a SOF packet arrives through the USB bus SOF: u1, - /// peripheral detects an active USB RESET signal at its inputs + /// peripheral detects an active USB RESET signal at its inputs RESET: u1, - /// no traffic has been received for 3 ms, indicating a suspend mode request from the USB bus + /// no traffic has been received for 3 ms, indicating a suspend mode request from the USB bus SUSP: u1, - /// activity is detected that wakes up the USB peripheral + /// activity is detected that wakes up the USB peripheral WKUP: u1, - /// One of No ANSwer, Cyclic Redundancy Check, Bit Stuffing or Framing format Violation error occurred + /// One of No ANSwer, Cyclic Redundancy Check, Bit Stuffing or Framing format Violation error occurred ERR: u1, - /// microcontroller has not been able to respond in time to an USB memory request + /// microcontroller has not been able to respond in time to an USB memory request PMAOVR: u1, - /// endpoint has successfully completed a transaction + /// endpoint has successfully completed a transaction CTR: u1, padding: u16, }), - /// frame number register + /// frame number register FNR: mmio.Mmio(packed struct(u32) { - /// FN + /// FN FN: u11, - /// LSOF + /// LSOF LSOF: u2, - /// the frame timer remains in this state until an USB reset or USB suspend event occurs + /// the frame timer remains in this state until an USB reset or USB suspend event occurs LCK: u1, - /// received data minus upstream port data line + /// received data minus upstream port data line RXDM: u1, - /// received data plus upstream port data line + /// received data plus upstream port data line RXDP: u1, padding: u16, }), - /// device address + /// device address DADDR: mmio.Mmio(packed struct(u32) { - /// device address + /// device address ADD: u7, - /// USB device enabled + /// USB device enabled EF: u1, padding: u24, }), - /// Buffer table address + /// Buffer table address BTABLE: mmio.Mmio(packed struct(u32) { reserved3: u3, - /// BTABLE + /// BTABLE BTABLE: u13, padding: u16, }), - /// LPM control and status register + /// LPM control and status register LPMCSR: mmio.Mmio(packed struct(u32) { - /// enable the LPM support within the USB device + /// enable the LPM support within the USB device LPMEN: u1, - /// LPMACK - LPMACK: packed union { - raw: u1, - value: LPMACK, - }, + /// LPMACK + LPMACK: LPMACK, reserved3: u1, - /// REMWAKE + /// REMWAKE REMWAKE: u1, - /// BESL + /// BESL BESL: u4, padding: u24, }), - /// Battery Charging Detector + /// Battery Charging Detector BCDR: mmio.Mmio(packed struct(u32) { - /// Battery charging detector mode enable + /// Battery charging detector mode enable BCDEN: u1, - /// Data contact detection mode enable + /// Data contact detection mode enable DCDEN: u1, - /// Primary detection mode enable + /// Primary detection mode enable PDEN: u1, - /// Secondary detection mode enable + /// Secondary detection mode enable SDEN: u1, - /// Data contact detection status + /// Data contact detection status DCDET: u1, - /// Primary detection status + /// Primary detection status PDET: u1, - /// Secondary detection status - SDET: packed union { - raw: u1, - value: SDET, - }, - /// DM pull-up detection status + /// Secondary detection status + SDET: SDET, + /// DM pull-up detection status PS2DET: u1, reserved15: u7, - /// DP pull-up control + /// DP pull-up control DPPU: u1, padding: u16, }), @@ -441246,232 +430134,214 @@ pub const types = struct { pub const usb_v4 = struct { pub const DIR = enum(u1) { - /// data transmitted by the USB peripheral to the host PC + /// data transmitted by the USB peripheral to the host PC To = 0x0, - /// data received by the USB peripheral from the host PC + /// data received by the USB peripheral from the host PC From = 0x1, }; pub const EP_TYPE = enum(u2) { - /// Bulk endpoint + /// Bulk endpoint Bulk = 0x0, - /// Control endpoint + /// Control endpoint Control = 0x1, - /// Iso endpoint + /// Iso endpoint Iso = 0x2, - /// Interrupt endpoint + /// Interrupt endpoint Interrupt = 0x3, }; pub const LPMACK = enum(u1) { - /// The valid LPM Token will be NYET / NYET answer + /// The valid LPM Token will be NYET / NYET answer Nyet = 0x0, - /// The valid LPM Token will be ACK / ACK answer + /// The valid LPM Token will be ACK / ACK answer Ack = 0x1, }; pub const SDET = enum(u1) { - /// CDP detected + /// CDP detected CDP = 0x0, - /// DCP detected + /// DCP detected DCP = 0x1, }; pub const STAT = enum(u2) { - /// all requests addressed to this endpoint are ignored + /// all requests addressed to this endpoint are ignored Disabled = 0x0, - /// the endpoint is stalled and all requests result in a STALL handshake + /// the endpoint is stalled and all requests result in a STALL handshake Stall = 0x1, - /// the endpoint is naked and all requests result in a NAK handshake + /// the endpoint is naked and all requests result in a NAK handshake Nak = 0x2, - /// this endpoint is enabled, requests are ACKed + /// this endpoint is enabled, requests are ACKed Valid = 0x3, }; - /// Universal serial bus full-speed host/device interface + /// Universal serial bus full-speed host/device interface pub const USB = extern struct { - /// endpoint/channel + /// endpoint/channel EPR: [8]mmio.Mmio(packed struct(u32) { - /// endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction. + /// endpoint/channel address Device mode Software must write in this field the 4-bit address used to identify the transactions directed to this endpoint. A value must be written before enabling the corresponding endpoint. Host mode Software must write in this field the 4-bit address used to identify the channel addressed by the host transaction. EA: u4, - /// Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes '0, the value remains unchanged, while writing '1 makes the bit value toggle. Hardware sets the STTX bits to NAK, when a correct transfer has occurred (VTTX=1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints). If the endpoint is defined as Isochronous, its status can only be VALID or DISABLED. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STTX bits to STALL or NAK for an Isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing '1. Host mode Same as STRX behaviour but for IN transactions (TBC) - STAT_TX: packed union { - raw: u2, - value: STAT, - }, - /// Data Toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to ) If the endpoint/channel is Isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (Refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for Isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes '0, the value of DTOGTX remains unchanged, while writing '1 makes the bit value toggle. This bit is read/write but it can only be toggled by writing 1. + /// Status bits, for transmission transfers Device mode These bits contain the information about the endpoint status, listed in . These bits can be toggled by the software to initialize their value. When the application software writes '0, the value remains unchanged, while writing '1 makes the bit value toggle. Hardware sets the STTX bits to NAK, when a correct transfer has occurred (VTTX=1) corresponding to a IN or SETUP (control only) transaction addressed to this channel/endpoint. It then waits for the software to prepare the next set of data to be transmitted. Double-buffered bulk endpoints implement a special transaction flow control, which controls the status based on buffer availability condition (Refer to endpoints). If the endpoint is defined as Isochronous, its status can only be VALID or DISABLED. Therefore, the hardware cannot change the status of the channel/endpoint/channel after a successful transaction. If the software sets the STTX bits to STALL or NAK for an Isochronous channel/endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing '1. Host mode Same as STRX behaviour but for IN transactions (TBC) + STAT_TX: STAT, + /// Data Toggle, for transmission transfers If the endpoint/channel is non-isochronous, this bit contains the required value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be transmitted. Hardware toggles this bit when the ACK handshake is received from the USB host, following a data packet transmission. If the endpoint/channel is defined as a control one, hardware sets this bit to 1 at the reception of a SETUP PID addressed to this endpoint. If the endpoint/channel is using the double buffer feature, this bit is used to support packet buffer swapping too (Refer to ) If the endpoint/channel is Isochronous, this bit is used to support packet buffer swapping since no data toggling is used for this sort of endpoints and only DATA0 packet are transmitted (Refer to ). Hardware toggles this bit just after the end of data packet transmission, since no handshake is used for Isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint/channel is not a control one) or to force a specific data toggle/packet buffer usage. When the application software writes '0, the value of DTOGTX remains unchanged, while writing '1 makes the bit value toggle. This bit is read/write but it can only be toggled by writing 1. DTOG_TX: u1, - /// Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only '0 can be written. Host mode Same of VTRX behaviour but for USB OUT and SETUP transactions. + /// Valid USB transaction transmitted Device mode This bit is set by the hardware when an IN transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in the USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only '0 can be written. Host mode Same of VTRX behaviour but for USB OUT and SETUP transactions. CTR_TX: u1, - /// endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the EP_TYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered STALL instead of ACK. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required. + /// endpoint/channel kind The meaning of this bit depends on the endpoint/channel type configured by the EP_TYPE bits. summarizes the different meanings. DBL_BUF: This bit is set by the software to enable the double-buffering feature for this bulk endpoint. The usage of double-buffered bulk endpoints is explained in Double-buffered endpoints. STATUS_OUT: This bit is set by the software to indicate that a status out transaction is expected: in this case all OUT transactions containing more than zero data bytes are answered STALL instead of ACK. This bit may be used to improve the robustness of the application to protocol errors during control transfers and its usage is intended for control endpoints only. When STATUS_OUT is reset, OUT transactions can have any number of bytes, as required. EP_KIND: u1, - /// USB type of transaction These bits configure the behavior of this endpoint/channel as described in endpoint/channel type encoding on page 2001. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral will not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet will be accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of Isochronous channels/endpoints is explained in transfers - EP_TYPE: packed union { - raw: u2, - value: EP_TYPE, - }, - /// Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated. + /// USB type of transaction These bits configure the behavior of this endpoint/channel as described in endpoint/channel type encoding on page 2001. Channel0/Endpoint0 must always be a control endpoint/channel and each USB function must have at least one control endpoint/channel which has address 0, but there may be other control channels/endpoints if required. Only control channels/endpoints handle SETUP transactions, which are ignored by endpoints of other kinds. SETUP transactions cannot be answered with NAK or STALL. If a control endpoint/channel is defined as NAK, the USB peripheral will not answer, simulating a receive error, in the receive direction when a SETUP transaction is received. If the control endpoint/channel is defined as STALL in the receive direction, then the SETUP packet will be accepted anyway, transferring data and issuing the CTR interrupt. The reception of OUT transactions is handled in the normal way, even if the endpoint/channel is a control one. Bulk and interrupt endpoints have very similar behavior and they differ only in the special feature available using the EPKIND configuration bit. The usage of Isochronous channels/endpoints is explained in transfers + EP_TYPE: EP_TYPE, + /// Setup transaction completed Device mode This bit is read-only and it is set by the hardware when the last completed transaction is a SETUP. This bit changes its value only for control endpoints. It must be examined, in the case of a successful receive transaction (VTRX event), to determine the type of transaction occurred. To protect the interrupt service routine from the changes in SETUP bits due to next incoming tokens, this bit is kept frozen while VTRX bit is at 1; its state changes when VTRX is at 0. This bit is read-only. Host mode This bit is set by the software to send a SETUP transaction on a control endpoint. This bit changes its value only for control endpoints. It is cleared by hardware when the SETUP transaction is acknowledged and VTTX interrupt generated. SETUP: u1, - /// Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page 2000.These bits can be toggled by software to initialize their value. When the application software writes '0, the value remains unchanged, while writing '1 makes the bit value toggle. Hardware sets the STRX bits to NAK when a correct transfer has occurred (VTRX=1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledge a new transaction Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints). If the endpoint is defined as Isochronous, its status can be only VALID or DISABLED, so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STRX bits to 'STALL or 'NAK for an Isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing '1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the Host execution list. If the aborted transaction was already under execution it will be regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID An Host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the Host Frame Schedure to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel will be re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate. - STAT_RX: packed union { - raw: u2, - value: STAT, - }, - /// Data Toggle, for reception transfers If the endpoint/channel is not Isochronous, this bit contains the expected value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to ). If the endpoint/channel is Isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes '0, the value of DTOGRX remains unchanged, while writing '1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1. + /// Status bits, for reception transfers Device mode These bits contain information about the endpoint status, which are listed in Reception status encoding on page 2000.These bits can be toggled by software to initialize their value. When the application software writes '0, the value remains unchanged, while writing '1 makes the bit value toggle. Hardware sets the STRX bits to NAK when a correct transfer has occurred (VTRX=1) corresponding to a OUT or SETUP (control only) transaction addressed to this endpoint, so the software has the time to elaborate the received data before it acknowledge a new transaction Double-buffered bulk endpoints implement a special transaction flow control, which control the status based upon buffer availability condition (Refer to endpoints). If the endpoint is defined as Isochronous, its status can be only VALID or DISABLED, so that the hardware cannot change the status of the endpoint after a successful transaction. If the software sets the STRX bits to 'STALL or 'NAK for an Isochronous endpoint, the USB peripheral behavior is not defined. These bits are read/write but they can be only toggled by writing '1. Host mode These bits are the host application controls to start, retry, or abort host transactions driven by the channel. These bits also contain information about the device answer to the last IN channel transaction and report the current status of the channel according to the following STRX table of states: - DISABLE DISABLE value is reported in case of ACK acknowledge is received on a single-buffer channel. When in DISABLE state the channel is unused or not active waiting for application to restart it by writing VALID. Application can reset a VALID channel to DISABLE to abort a transaction. In this case the transaction is immediately removed from the Host execution list. If the aborted transaction was already under execution it will be regularly terminated on the USB but the relative VTRX interrupt is not generated. - VALID An Host channel is actively trying to submit USB transaction to device only when in VALID state.VALID state can be set by software or automatically by hardware on a NAKED channel at the start of a new frame. When set to VALID, an host channel enters the host execution queue and waits permission from the Host Frame Schedure to submit its configured transaction. VALID value is also reported in case of ACK acknowledge is received on a double-buffered channel. In this case the channel remains active on the alternate buffer while application needs to read the current buffer and toggle DTOGTX. In case software is late in reading and the alternate buffer is not ready, the host channel is automatically suspended transparently to the application. The suspended double buffered channel will be re-activated as soon as delay is recovered and DTOGTX is toggled. - NAK NAK value is reported in case of NAK acknowledge received. When in NAK state the channel is suspended and does not try to transmit. NAK state is moved to VALID by hardware at the start of the next frame, or software can change it to immediately retry transmission by writing it to VALID, or can disable it and abort the transaction by writing DISABLE - STALL STALL value is reported in case of STALL acknowledge received. When in STALL state the channel behaves as disabled. Application should not retry transmission but reset the USB and re-enumerate. + STAT_RX: STAT, + /// Data Toggle, for reception transfers If the endpoint/channel is not Isochronous, this bit contains the expected value of the data toggle bit (0=DATA0, 1=DATA1) for the next data packet to be received. Hardware toggles this bit, when the ACK handshake is sent following a data packet reception having a matching data PID value; if the endpoint is defined as a control one, hardware clears this bit at the reception of a SETUP PID received from host (in device) or acknowledged by device (in host). If the endpoint/channel is using the double-buffering feature this bit is used to support packet buffer swapping too (Refer to ). If the endpoint/channel is Isochronous, this bit is used only to support packet buffer swapping for data transmission since no data toggling is used for this kind of channels/endpoints and only DATA0 packet are transmitted (Refer to Isochronous transfers). Hardware toggles this bit just after the end of data packet reception, since no handshake is used for isochronous transfers. This bit can also be toggled by the software to initialize its value (mandatory when the endpoint is not a control one) or to force specific data toggle/packet buffer usage. When the application software writes '0, the value of DTOGRX remains unchanged, while writing '1 makes the bit value toggle. This bit is read/write but it can be only toggled by writing 1. DTOG_RX: u1, - /// USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only '0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the VTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STRX field of this register. One naked transaction keeps pending and is automatically retried by the Host at the next frame, or the Host can immediately retry by resetting STRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. This bit is read/write but only '0 can be written, writing 1 has no effect. + /// USB valid transaction received Device mode This bit is set by the hardware when an OUT/SETUP transaction is successfully completed on this endpoint; the software can only clear this bit. If the CTRM bit in USB_CNTR register is set accordingly, a generic interrupt condition is generated together with the endpoint related interrupt condition, which is always activated. The type of occurred transaction, OUT or SETUP, can be determined from the SETUP bit described below. A transaction ended with a NAK or STALL handshake does not set this bit, since no data is actually transferred, as in the case of protocol errors or data toggle mismatches. This bit is read/write but only '0 can be written, writing 1 has no effect. Host mode This bit is set by the hardware when an IN transaction is successfully completed on this channel. The software can only clear this bit. If the VTRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. - A transaction ended with a NAK sets this bit and NAK answer is reported to application reading the NAK state from the STRX field of this register. One naked transaction keeps pending and is automatically retried by the Host at the next frame, or the Host can immediately retry by resetting STRX state to VALID. - A transaction ended by STALL handshake sets this bit and the STALL answer is reported to application reading the STALL state from the STRX field of this register. Host application should consequently disable the channel and re-enumerate. - A transaction ended with ACK handshake sets this bit If double buffering is disabled, ACK answer is reported by application reading the DISABLE state from the STRX field of this register. Host application should read received data from USBRAM and re-arm the channel by writing VALID to the STRX field of this register. If double buffering is enabled, ACK answer is reported by application reading VALID state from the STRX field of this register. Host application should read received data from USBRAM and toggle the DTOGTX bit of this register. This bit is read/write but only '0 can be written, writing 1 has no effect. CTR_RX: u1, - /// Host mode Device address assigned to the endpoint during the enumeration process. + /// Host mode Device address assigned to the endpoint during the enumeration process. DEVADDR: u7, - /// Host mode This bit is set by the hardware when a device responds with a NAK. Software can be use this bit to monitoring the number of NAKs received from a device. + /// Host mode This bit is set by the hardware when a device responds with a NAK. Software can be use this bit to monitoring the number of NAKs received from a device. NAK: u1, - /// Low speed endpoint Host with HUB only Host mode This bit is set by the software to send an LS transaction to the corresponding endpoint. + /// Low speed endpoint Host with HUB only Host mode This bit is set by the software to send an LS transaction to the corresponding endpoint. LS_EP: u1, - /// Transmit error Host mode This bit is set by the hardware when an error (e.g. no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. + /// Transmit error Host mode This bit is set by the hardware when an error (e.g. no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an OUT or SETUP transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. ERR_TX: u1, - /// Receive error Host mode This bit is set by the hardware when an error (e.g. no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. + /// Receive error Host mode This bit is set by the hardware when an error (e.g. no answer by the device, CRC error, bit stuffing error, framing format violation, etc.) has occurred during an IN transaction on this channel. The software can only clear this bit. If the ERRM bit in USB_CNTR register is set a generic interrupt condition is generated together with the channel related flag, which is always activated. ERR_RX: u1, padding: u5, }), reserved64: [32]u8, - /// control register + /// control register CNTR: mmio.Mmio(packed struct(u32) { - /// Force a reset of the USB peripheral, exactly like a RESET signaling on the USB + /// Force a reset of the USB peripheral, exactly like a RESET signaling on the USB FRES: u1, - /// Power down This bit is used to completely switch off all USB-related analog parts if it is required to completely disable the USB peripheral for any reason. When this bit is set, the USB peripheral is disconnected from the transceivers and it cannot be used. + /// Power down This bit is used to completely switch off all USB-related analog parts if it is required to completely disable the USB peripheral for any reason. When this bit is set, the USB peripheral is disconnected from the transceivers and it cannot be used. PDWN: u1, - /// Suspend state effective This bit is set by hardware as soon as the suspend state entered through the SUSPEN control gets internally effective. In this state USB activity is suspended, USB clock is gated, transceiver is set in low power mode by disabling the differential receiver. Only asynchronous wakeup logic and single ended receiver is kept alive to detect remote wakeup or resume events. Software must poll this bit to confirm it to be set before any STOP mode entry. This bit is cleared by hardware simultaneously to the WAKEUP flag being set. + /// Suspend state effective This bit is set by hardware as soon as the suspend state entered through the SUSPEN control gets internally effective. In this state USB activity is suspended, USB clock is gated, transceiver is set in low power mode by disabling the differential receiver. Only asynchronous wakeup logic and single ended receiver is kept alive to detect remote wakeup or resume events. Software must poll this bit to confirm it to be set before any STOP mode entry. This bit is cleared by hardware simultaneously to the WAKEUP flag being set. LPMODE: u1, - /// Suspend state enable Device mode Software can set this bit when the SUSP interrupt is received, which is issued when no traffic is received by the USB peripheral for 3 ms. Software can also set this bit when the L1REQ interrupt is received with positive acknowledge sent. As soon as the suspend state is propagated internally all device activity is stopped, USB clock is gated, USB transceiver is set into low power mode and the SUSPRDY bit is set by hardware. In the case that device application wants to purse more aggressive power saving by stopping the USB clock source and by moving the microcontroller to stop mode, as in the case of bus powered device application, it must first wait few cycles to see the SUSPRDY=1 acknowledge the suspend request. This bit is cleared by hardware simultaneous with the WAKEUP flag set. Host mode Software can set this bit when Host application has nothing scheduled for the next frames and wants to enter long term power saving. When set, it stops immediately SOF generation and any other host activity, gates the USB clock and sets the transceiver in low power mode. If any USB transaction is on-going at the time SUSPEN is set, suspend is entered at the end of the current transaction. As soon as suspend state is propagated internally and gets effective the SUSPRDY bit is set. In the case that host application wants to purse more aggressive power saving by stopping the USB clock source and by moving the micro-controller to STOP mode, it must first wait few cycles to see SUSPRDY=1 acknowledge to the suspend request. This bit is cleared by hardware simultaneous with the WAKEUP flag set. + /// Suspend state enable Device mode Software can set this bit when the SUSP interrupt is received, which is issued when no traffic is received by the USB peripheral for 3 ms. Software can also set this bit when the L1REQ interrupt is received with positive acknowledge sent. As soon as the suspend state is propagated internally all device activity is stopped, USB clock is gated, USB transceiver is set into low power mode and the SUSPRDY bit is set by hardware. In the case that device application wants to purse more aggressive power saving by stopping the USB clock source and by moving the microcontroller to stop mode, as in the case of bus powered device application, it must first wait few cycles to see the SUSPRDY=1 acknowledge the suspend request. This bit is cleared by hardware simultaneous with the WAKEUP flag set. Host mode Software can set this bit when Host application has nothing scheduled for the next frames and wants to enter long term power saving. When set, it stops immediately SOF generation and any other host activity, gates the USB clock and sets the transceiver in low power mode. If any USB transaction is on-going at the time SUSPEN is set, suspend is entered at the end of the current transaction. As soon as suspend state is propagated internally and gets effective the SUSPRDY bit is set. In the case that host application wants to purse more aggressive power saving by stopping the USB clock source and by moving the micro-controller to STOP mode, it must first wait few cycles to see SUSPRDY=1 acknowledge to the suspend request. This bit is cleared by hardware simultaneous with the WAKEUP flag set. FSUSP: u1, - /// L2 Remote Wakeup / Resume driver Device mode The microcontroller can set this bit to send remote wake-up signaling to the Host. It must be activated, according to USB specifications, for no less than 1ms and no more than 15ms after which the Host PC is ready to drive the resume sequence up to its end. Host mode Software sets this bit to send resume signaling to the device. Software clears this bit to send end of resume to device and restart SOF generation. In the context of remote wake up, this bit is to be set following the WAKEUP interrupt. + /// L2 Remote Wakeup / Resume driver Device mode The microcontroller can set this bit to send remote wake-up signaling to the Host. It must be activated, according to USB specifications, for no less than 1ms and no more than 15ms after which the Host PC is ready to drive the resume sequence up to its end. Host mode Software sets this bit to send resume signaling to the device. Software clears this bit to send end of resume to device and restart SOF generation. In the context of remote wake up, this bit is to be set following the WAKEUP interrupt. RESUME: u1, - /// L1 Remote Wakeup / Resume driver Device mode Software sets this bit to send a LPM L1 50us remote wakeup signaling to the host. After the signaling ends, this bit is cleared by hardware. Host mode Software sets this bit to send L1 resume signaling to device. Resume duration and next SOF generation is automatically driven to set the restart of USB activity timely aligned with the programmed BESL value. In the context of remote wake up, this bit is to be set following the WAKEUP interrupt. This bit is cleared by hardware at the end of resume. + /// L1 Remote Wakeup / Resume driver Device mode Software sets this bit to send a LPM L1 50us remote wakeup signaling to the host. After the signaling ends, this bit is cleared by hardware. Host mode Software sets this bit to send L1 resume signaling to device. Resume duration and next SOF generation is automatically driven to set the restart of USB activity timely aligned with the programmed BESL value. In the context of remote wake up, this bit is to be set following the WAKEUP interrupt. This bit is cleared by hardware at the end of resume. L1RESUME: u1, reserved7: u1, - /// LPM L1 state request interrupt mask + /// LPM L1 state request interrupt mask L1REQM: u1, - /// Expected start of frame interrupt mask + /// Expected start of frame interrupt mask ESOFM: u1, - /// Start of frame interrupt mask + /// Start of frame interrupt mask SOFM: u1, - /// reset interrupt mask + /// reset interrupt mask RESETM: u1, - /// Suspend mode interrupt mask + /// Suspend mode interrupt mask SUSPM: u1, - /// Wakeup interrupt mask + /// Wakeup interrupt mask WKUPM: u1, - /// Error interrupt mask + /// Error interrupt mask ERRM: u1, - /// Packet memory area over / underrun interrupt mask + /// Packet memory area over / underrun interrupt mask PMAOVRM: u1, - /// CTR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set + /// CTR Interrupt enabled, an interrupt request is generated when the corresponding bit in the USB_ISTR register is set CTRM: u1, - /// 512 byte threshold interrupt mask + /// 512 byte threshold interrupt mask THR512M: u1, reserved31: u14, - /// HOST mode HOST bit selects betweens Host or Device USB mode of operation. It must be set before enabling the USB peripheral by the function enable bit. + /// HOST mode HOST bit selects betweens Host or Device USB mode of operation. It must be set before enabling the USB peripheral by the function enable bit. HOST: u1, }), - /// interrupt status register + /// interrupt status register ISTR: mmio.Mmio(packed struct(u32) { - /// Device Endpoint / Host channel identification number These bits are written by the hardware according to the host channel or device endpoint number, which generated the interrupt request. If several endpoint/channel transactions are pending, the hardware writes the identification number related to the endpoint/channel having the highest priority defined in the following way: Two levels are defined, in order of priority: Isochronous and double-buffered bulk channels/endpoints are considered first and then the others are examined. If more than one endpoint/channel from the same set is requesting an interrupt, the IDN bits in USB_ISTR register are assigned according to the lowest requesting register, CHEP0R having the highest priority followed by CHEP1R and so on. The application software can assign a register to each endpoint/channel according to this priority scheme, so as to order the concurring endpoint/channel requests in a suitable way. These bits are read only. + /// Device Endpoint / Host channel identification number These bits are written by the hardware according to the host channel or device endpoint number, which generated the interrupt request. If several endpoint/channel transactions are pending, the hardware writes the identification number related to the endpoint/channel having the highest priority defined in the following way: Two levels are defined, in order of priority: Isochronous and double-buffered bulk channels/endpoints are considered first and then the others are examined. If more than one endpoint/channel from the same set is requesting an interrupt, the IDN bits in USB_ISTR register are assigned according to the lowest requesting register, CHEP0R having the highest priority followed by CHEP1R and so on. The application software can assign a register to each endpoint/channel according to this priority scheme, so as to order the concurring endpoint/channel requests in a suitable way. These bits are read only. EP_ID: u4, - /// Direction of transaction This bit is written by the hardware according to the direction of the successful transaction, which generated the interrupt request. If DIR bit=0, VTTX bit is set in the USB_EPnR register related to the interrupting endpoint. The interrupting transaction is of IN type (data transmitted by the USB peripheral to the host PC). If DIR bit=1, VTRX bit or both VTTX/VTRX are set in the USB_EPnR register related to the interrupting endpoint. The interrupting transaction is of OUT type (data received by the USB peripheral from the host PC) or two pending transactions are waiting to be processed. This information can be used by the application software to access the USB_EPnR bits related to the triggering transaction since it represents the direction having the interrupt pending. This bit is read-only. - DIR: packed union { - raw: u1, - value: DIR, - }, + /// Direction of transaction This bit is written by the hardware according to the direction of the successful transaction, which generated the interrupt request. If DIR bit=0, VTTX bit is set in the USB_EPnR register related to the interrupting endpoint. The interrupting transaction is of IN type (data transmitted by the USB peripheral to the host PC). If DIR bit=1, VTRX bit or both VTTX/VTRX are set in the USB_EPnR register related to the interrupting endpoint. The interrupting transaction is of OUT type (data received by the USB peripheral from the host PC) or two pending transactions are waiting to be processed. This information can be used by the application software to access the USB_EPnR bits related to the triggering transaction since it represents the direction having the interrupt pending. This bit is read-only. + DIR: DIR, reserved7: u2, - /// LPM L1 state request This bit is set by the hardware when LPM command to enter the L1 state is successfully received and acknowledged. This bit is read/write but only '0 can be written and writing '1 has no effect. + /// LPM L1 state request This bit is set by the hardware when LPM command to enter the L1 state is successfully received and acknowledged. This bit is read/write but only '0 can be written and writing '1 has no effect. L1REQ: u1, - /// Expected start of frame This bit is set by the hardware when an SOF packet is expected but not received. The host sends an SOF packet each 1 ms, but if the device does not receive it properly, the Suspend Timer issues this interrupt. If three consecutive ESOF interrupts are generated (i.e. three SOF packets are lost) without any traffic occurring in between, a SUSP interrupt is generated. This bit is set even when the missing SOF packets occur while the Suspend Timer is not yet locked. This bit is read/write but only '0 can be written and writing '1 has no effect. + /// Expected start of frame This bit is set by the hardware when an SOF packet is expected but not received. The host sends an SOF packet each 1 ms, but if the device does not receive it properly, the Suspend Timer issues this interrupt. If three consecutive ESOF interrupts are generated (i.e. three SOF packets are lost) without any traffic occurring in between, a SUSP interrupt is generated. This bit is set even when the missing SOF packets occur while the Suspend Timer is not yet locked. This bit is read/write but only '0 can be written and writing '1 has no effect. ESOF: u1, - /// Start of frame This bit signals the beginning of a new USB frame and it is set when a SOF packet arrives through the USB bus. The interrupt service routine may monitor the SOF events to have a 1 ms synchronization event to the USB host and to safely read the USB_FNR register which is updated at the SOF packet reception (this could be useful for isochronous applications). This bit is read/write but only '0 can be written and writing '1 has no effect. + /// Start of frame This bit signals the beginning of a new USB frame and it is set when a SOF packet arrives through the USB bus. The interrupt service routine may monitor the SOF events to have a 1 ms synchronization event to the USB host and to safely read the USB_FNR register which is updated at the SOF packet reception (this could be useful for isochronous applications). This bit is read/write but only '0 can be written and writing '1 has no effect. SOF: u1, - /// reset request Device mode This bit is set by hardware when an USB reset is released by the host and the bus returns to idle. USB reset state is internally detected after the sampling of 60 consecutive SE0 cycles. Host mode This bit is set by hardware when device connection or device disconnection is detected. Device connection is signaled after J state is sampled for 22cycles consecutively from unconnected state. Device disconnection is signaled after SE0 state is sampled for 22cycles consecutively from connected state. + /// reset request Device mode This bit is set by hardware when an USB reset is released by the host and the bus returns to idle. USB reset state is internally detected after the sampling of 60 consecutive SE0 cycles. Host mode This bit is set by hardware when device connection or device disconnection is detected. Device connection is signaled after J state is sampled for 22cycles consecutively from unconnected state. Device disconnection is signaled after SE0 state is sampled for 22cycles consecutively from connected state. RESET: u1, - /// Suspend mode request This bit is set by the hardware when no traffic has been received for 3 ms, indicating a suspend mode request from the USB bus. The suspend condition check is enabled immediately after any USB reset and it is disabled by the hardware when the suspend mode is active (SUSPEN=1) until the end of resume sequence. This bit is read/write but only '0 can be written and writing '1 has no effect. + /// Suspend mode request This bit is set by the hardware when no traffic has been received for 3 ms, indicating a suspend mode request from the USB bus. The suspend condition check is enabled immediately after any USB reset and it is disabled by the hardware when the suspend mode is active (SUSPEN=1) until the end of resume sequence. This bit is read/write but only '0 can be written and writing '1 has no effect. SUSP: u1, - /// Wakeup This bit is set to 1 by the hardware when, during suspend mode, activity is detected that wakes up the USB peripheral. This event asynchronously clears the LP_MODE bit in the CTLR register and activates the USB_WAKEUP line, which can be used to notify the rest of the device (e.g. wakeup unit) about the start of the resume process. This bit is read/write but only '0 can be written and writing '1 has no effect. + /// Wakeup This bit is set to 1 by the hardware when, during suspend mode, activity is detected that wakes up the USB peripheral. This event asynchronously clears the LP_MODE bit in the CTLR register and activates the USB_WAKEUP line, which can be used to notify the rest of the device (e.g. wakeup unit) about the start of the resume process. This bit is read/write but only '0 can be written and writing '1 has no effect. WKUP: u1, - /// Error This flag is set whenever one of the errors listed below has occurred: NANS: No ANSwer. The timeout for a host response has expired. CRC: Cyclic Redundancy Check error. One of the received CRCs, either in the token or in the data, was wrong. BST: Bit Stuffing error. A bit stuffing error was detected anywhere in the PID, data, and/or CRC. FVIO: Framing format Violation. A non-standard frame was received (EOP not in the right place, wrong token sequence, etc.). The USB software can usually ignore errors, since the USB peripheral and the PC host manage retransmission in case of errors in a fully transparent way. This interrupt can be useful during the software development phase, or to monitor the quality of transmission over the USB bus, to flag possible problems to the user (e.g. loose connector, too noisy environment, broken conductor in the USB cable and so on). This bit is read/write but only '0 can be written and writing '1 has no effect. + /// Error This flag is set whenever one of the errors listed below has occurred: NANS: No ANSwer. The timeout for a host response has expired. CRC: Cyclic Redundancy Check error. One of the received CRCs, either in the token or in the data, was wrong. BST: Bit Stuffing error. A bit stuffing error was detected anywhere in the PID, data, and/or CRC. FVIO: Framing format Violation. A non-standard frame was received (EOP not in the right place, wrong token sequence, etc.). The USB software can usually ignore errors, since the USB peripheral and the PC host manage retransmission in case of errors in a fully transparent way. This interrupt can be useful during the software development phase, or to monitor the quality of transmission over the USB bus, to flag possible problems to the user (e.g. loose connector, too noisy environment, broken conductor in the USB cable and so on). This bit is read/write but only '0 can be written and writing '1 has no effect. ERR: u1, - /// Packet memory area over / underrun This bit is set if the microcontroller has not been able to respond in time to an USB memory request. The USB peripheral handles this event in the following way: During reception an ACK handshake packet is not sent, during transmission a bit-stuff error is forced on the transmitted stream; in both cases the host will retry the transaction. The PMAOVR interrupt should never occur during normal operations. Since the failed transaction is retried by the host, the application software has the chance to speed-up device operations during this interrupt handling, to be ready for the next transaction retry; however this does not happen during Isochronous transfers (no isochronous transaction is anyway retried) leading to a loss of data in this case. This bit is read/write but only '0 can be written and writing '1 has no effect. + /// Packet memory area over / underrun This bit is set if the microcontroller has not been able to respond in time to an USB memory request. The USB peripheral handles this event in the following way: During reception an ACK handshake packet is not sent, during transmission a bit-stuff error is forced on the transmitted stream; in both cases the host will retry the transaction. The PMAOVR interrupt should never occur during normal operations. Since the failed transaction is retried by the host, the application software has the chance to speed-up device operations during this interrupt handling, to be ready for the next transaction retry; however this does not happen during Isochronous transfers (no isochronous transaction is anyway retried) leading to a loss of data in this case. This bit is read/write but only '0 can be written and writing '1 has no effect. PMAOVR: u1, - /// Correct transfer This bit is set by the hardware to indicate that an endpoint/channel has successfully completed a transaction; using DIR and EP_ID bits software can determine which endpoint/channel requested the interrupt. This bit is read-only. + /// Correct transfer This bit is set by the hardware to indicate that an endpoint/channel has successfully completed a transaction; using DIR and EP_ID bits software can determine which endpoint/channel requested the interrupt. This bit is read-only. CTR: u1, - /// 512 byte threshold interrupt This bit is set to 1 by the hardware when 512 bytes have been transmitted or received during isochronous transfers. This bit is read/write but only 0 can be written and writing 1 has no effect. Note that no information is available to indicate the associated channel/endpoint, however in practice only one ISO endpoint/channel with such large packets can be supported, so that channel. + /// 512 byte threshold interrupt This bit is set to 1 by the hardware when 512 bytes have been transmitted or received during isochronous transfers. This bit is read/write but only 0 can be written and writing 1 has no effect. Note that no information is available to indicate the associated channel/endpoint, however in practice only one ISO endpoint/channel with such large packets can be supported, so that channel. THR512: u1, reserved29: u12, - /// Device connection status Host mode: This bit contains information about device connection status. It is set by hardware when a LS/FS device is attached to the host while it is reset when the device is disconnected. + /// Device connection status Host mode: This bit contains information about device connection status. It is set by hardware when a LS/FS device is attached to the host while it is reset when the device is disconnected. DCON_STAT: u1, - /// Low Speed device connected Host mode: This bit is set by hardware when an LS device connection is detected. Device connection is signaled after LS J-state is sampled for 22 consecutive cycles of the USB clock (48 MHz) from the unconnected state. + /// Low Speed device connected Host mode: This bit is set by hardware when an LS device connection is detected. Device connection is signaled after LS J-state is sampled for 22 consecutive cycles of the USB clock (48 MHz) from the unconnected state. LS_DCON: u1, padding: u1, }), - /// frame number register + /// frame number register FNR: mmio.Mmio(packed struct(u32) { - /// Frame number This bit field contains the 11-bits frame number contained in the last received SOF packet. The frame number is incremented for every frame sent by the host and it is useful for Isochronous transfers. This bit field is updated on the generation of an SOF interrupt. + /// Frame number This bit field contains the 11-bits frame number contained in the last received SOF packet. The frame number is incremented for every frame sent by the host and it is useful for Isochronous transfers. This bit field is updated on the generation of an SOF interrupt. FN: u11, - /// Lost SOF Device mode These bits are written by the hardware when an ESOF interrupt is generated, counting the number of consecutive SOF packets lost. At the reception of an SOF packet, these bits are cleared. + /// Lost SOF Device mode These bits are written by the hardware when an ESOF interrupt is generated, counting the number of consecutive SOF packets lost. At the reception of an SOF packet, these bits are cleared. LSOF: u2, - /// Locked Device mode This bit is set by the hardware when at least two consecutive SOF packets have been received after the end of an USB reset condition or after the end of an USB resume sequence. Once locked, the frame timer remains in this state until an USB reset or USB suspend event occurs. + /// Locked Device mode This bit is set by the hardware when at least two consecutive SOF packets have been received after the end of an USB reset condition or after the end of an USB resume sequence. Once locked, the frame timer remains in this state until an USB reset or USB suspend event occurs. LCK: u1, - /// Receive data - line status This bit can be used to observe the status of received data minus upstream port data line. It can be used during end-of-suspend routines to help determining the wakeup event. + /// Receive data - line status This bit can be used to observe the status of received data minus upstream port data line. It can be used during end-of-suspend routines to help determining the wakeup event. RXDM: u1, - /// Receive data + line status This bit can be used to observe the status of received data plus upstream port data line. It can be used during end-of-suspend routines to help determining the wakeup event. + /// Receive data + line status This bit can be used to observe the status of received data plus upstream port data line. It can be used during end-of-suspend routines to help determining the wakeup event. RXDP: u1, padding: u16, }), - /// device address + /// device address DADDR: mmio.Mmio(packed struct(u32) { - /// Device address Device mode These bits contain the USB function address assigned by the host PC during the enumeration process. Both this field and the endpoint/channel Address (EA) field in the associated USB_EPnR register must match with the information contained in a USB token in order to handle a transaction to the required endpoint. Host mode These bits contain the address transmitted with the LPM transaction + /// Device address Device mode These bits contain the USB function address assigned by the host PC during the enumeration process. Both this field and the endpoint/channel Address (EA) field in the associated USB_EPnR register must match with the information contained in a USB token in order to handle a transaction to the required endpoint. Host mode These bits contain the address transmitted with the LPM transaction ADD: u7, - /// Enable function This bit is set by the software to enable the USB device. The address of this device is contained in the following ADD[6:0] bits. If this bit is at '0 no transactions are handled, irrespective of the settings of USB_EPnR registers. + /// Enable function This bit is set by the software to enable the USB device. The address of this device is contained in the following ADD[6:0] bits. If this bit is at '0 no transactions are handled, irrespective of the settings of USB_EPnR registers. EF: u1, padding: u24, }), reserved84: [4]u8, - /// LPM control and status register + /// LPM control and status register LPMCSR: mmio.Mmio(packed struct(u32) { - /// LPM support enable Device mode This bit is set by the software to enable the LPM support within the USB device. If this bit is at '0 no LPM transactions are handled. Host mode Software sets this bit to transmit an LPM transaction to device. This bit is cleared by hardware, simultaneous with L1REQ flag set, when device answer is received + /// LPM support enable Device mode This bit is set by the software to enable the LPM support within the USB device. If this bit is at '0 no LPM transactions are handled. Host mode Software sets this bit to transmit an LPM transaction to device. This bit is cleared by hardware, simultaneous with L1REQ flag set, when device answer is received LPMEN: u1, - /// LPM Token acknowledge enable The NYET/ACK will be returned only on a successful LPM transaction: No errors in both the EXT token and the LPM token (else ERROR) A valid bLinkState = 0001B (L1) is received (else STALL) This bit contains the device answer to the LPM transaction. It mast be evaluated following the L1REQ interrupt. - LPMACK: packed union { - raw: u1, - value: LPMACK, - }, + /// LPM Token acknowledge enable The NYET/ACK will be returned only on a successful LPM transaction: No errors in both the EXT token and the LPM token (else ERROR) A valid bLinkState = 0001B (L1) is received (else STALL) This bit contains the device answer to the LPM transaction. It mast be evaluated following the L1REQ interrupt. + LPMACK: LPMACK, reserved3: u1, - /// bRemoteWake value Device mode This bit contains the bRemoteWake value received with last ACKed LPM Token Host mode This bit contains the bRemoteWake value transmitted with the LPM transaction + /// bRemoteWake value Device mode This bit contains the bRemoteWake value received with last ACKed LPM Token Host mode This bit contains the bRemoteWake value transmitted with the LPM transaction REMWAKE: u1, - /// BESL value Device mode These bits contain the BESL value received with last ACKed LPM Token Host mode These bits contain the BESL value transmitted with the LPM transaction + /// BESL value Device mode These bits contain the BESL value received with last ACKed LPM Token Host mode These bits contain the BESL value transmitted with the LPM transaction BESL: u4, padding: u24, }), - /// Battery charging detector + /// Battery charging detector BCDR: mmio.Mmio(packed struct(u32) { - /// Battery charging detector (BCD) enable Device mode This bit is set by the software to enable the BCD support within the USB device. When enabled, the USB PHY is fully controlled by BCD and cannot be used for normal communication. Once the BCD discovery is finished, the BCD should be placed in OFF mode by clearing this bit to '0 in order to allow the normal USB operation. + /// Battery charging detector (BCD) enable Device mode This bit is set by the software to enable the BCD support within the USB device. When enabled, the USB PHY is fully controlled by BCD and cannot be used for normal communication. Once the BCD discovery is finished, the BCD should be placed in OFF mode by clearing this bit to '0 in order to allow the normal USB operation. BCDEN: u1, - /// Data contact detection (DCD) mode enable Device mode This bit is set by the software to put the BCD into DCD mode. Only one detection mode (DCD, PD, SD or OFF) should be selected to work correctly. + /// Data contact detection (DCD) mode enable Device mode This bit is set by the software to put the BCD into DCD mode. Only one detection mode (DCD, PD, SD or OFF) should be selected to work correctly. DCDEN: u1, - /// Primary detection (PD) mode enable Device mode This bit is set by the software to put the BCD into PD mode. Only one detection mode (DCD, PD, SD or OFF) should be selected to work correctly. + /// Primary detection (PD) mode enable Device mode This bit is set by the software to put the BCD into PD mode. Only one detection mode (DCD, PD, SD or OFF) should be selected to work correctly. PDEN: u1, - /// Secondary detection (SD) mode enable Device mode This bit is set by the software to put the BCD into SD mode. Only one detection mode (DCD, PD, SD or OFF) should be selected to work correctly. + /// Secondary detection (SD) mode enable Device mode This bit is set by the software to put the BCD into SD mode. Only one detection mode (DCD, PD, SD or OFF) should be selected to work correctly. SDEN: u1, - /// Data contact detection (DCD) status Device mode This bit gives the result of DCD. + /// Data contact detection (DCD) status Device mode This bit gives the result of DCD. DCDET: u1, - /// Primary detection (PD) status Device mode This bit gives the result of PD. + /// Primary detection (PD) status Device mode This bit gives the result of PD. PDET: u1, - /// Secondary detection (SD) status Device mode This bit gives the result of SD. - SDET: packed union { - raw: u1, - value: SDET, - }, - /// DM pull-up detection status Device mode This bit is active only during PD and gives the result of comparison between DM voltage level and VLGC threshold. In normal situation, the DM level should be below this threshold. If it is above, it means that the DM is externally pulled high. This can be caused by connection to a PS2 port (which pulls-up both DP and DM lines) or to some proprietary charger not following the BCD specification. + /// Secondary detection (SD) status Device mode This bit gives the result of SD. + SDET: SDET, + /// DM pull-up detection status Device mode This bit is active only during PD and gives the result of comparison between DM voltage level and VLGC threshold. In normal situation, the DM level should be below this threshold. If it is above, it means that the DM is externally pulled high. This can be caused by connection to a PS2 port (which pulls-up both DP and DM lines) or to some proprietary charger not following the BCD specification. PS2DET: u1, reserved15: u7, - /// DP pull-up / DPDM pull-down Device mode This bit is set by software to enable the embedded pull-up on DP line. Clearing it to '0 can be used to signal disconnect to the host when needed by the user software. Host mode This bit is set by software to enable the embedded pull-down on DP and DM lines. + /// DP pull-up / DPDM pull-down Device mode This bit is set by software to enable the embedded pull-up on DP line. Clearing it to '0 can be used to signal disconnect to the host when needed by the user software. Host mode This bit is set by software to enable the embedded pull-down on DP and DM lines. DPPU: u1, padding: u16, }), @@ -441479,83 +430349,77 @@ pub const types = struct { }; pub const usbram_16x1_512 = struct { - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM = extern struct { - /// USB Endpoint memory + /// USB Endpoint memory MEM: [256]u32, }; }; pub const usbram_16x2_1024 = struct { - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM = extern struct { - /// USB Endpoint memory + /// USB Endpoint memory MEM: u32, }; }; pub const usbram_16x2_512 = struct { - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM = extern struct { - /// USB Endpoint memory + /// USB Endpoint memory MEM: u32, }; }; pub const usbram_32_1024 = struct { - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM = extern struct { - /// USB Endpoint memory + /// USB Endpoint memory MEM: [256]u32, }; }; pub const usbram_32_2048 = struct { - /// USB Endpoint memory + /// USB Endpoint memory pub const USBRAM = extern struct { - /// USB Endpoint memory + /// USB Endpoint memory MEM: [512]u32, }; }; pub const vrefbuf_v1 = struct { pub const HIZ = enum(u1) { - /// VREF+ pin is internally connected to the voltage reference buffer output. + /// VREF+ pin is internally connected to the voltage reference buffer output. Connected = 0x0, - /// VREF+ pin is high impedance. + /// VREF+ pin is high impedance. HighZ = 0x1, }; pub const VRS = enum(u1) { - /// Voltage reference set to VREF_OUT1 (around 2.048 V). + /// Voltage reference set to VREF_OUT1 (around 2.048 V). Vref0 = 0x0, - /// Voltage reference set to VREF_OUT2 (around 2.5 V). + /// Voltage reference set to VREF_OUT2 (around 2.5 V). Vref1 = 0x1, }; - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF = extern struct { - /// control and status register. + /// control and status register. CSR: mmio.Mmio(packed struct(u32) { - /// Voltage reference buffer mode enable. + /// Voltage reference buffer mode enable. ENVR: u1, - /// High impedance mode. - HIZ: packed union { - raw: u1, - value: HIZ, - }, - /// Voltage reference scale. - VRS: packed union { - raw: u1, - value: VRS, - }, - /// Voltage reference buffer ready. + /// High impedance mode. + HIZ: HIZ, + /// Voltage reference scale. + VRS: VRS, + /// Voltage reference buffer ready. VRR: u1, padding: u28, }), - /// calibration control register. + /// calibration control register. CCR: mmio.Mmio(packed struct(u32) { - /// Trimming code. + /// Trimming code. TRIM: u6, padding: u26, }), @@ -441564,48 +430428,42 @@ pub const types = struct { pub const vrefbuf_v2a1 = struct { pub const HIZ = enum(u1) { - /// VREF+ pin is internally connected to the voltage reference buffer output. + /// VREF+ pin is internally connected to the voltage reference buffer output. Connected = 0x0, - /// VREF+ pin is high impedance. + /// VREF+ pin is high impedance. HighZ = 0x1, }; pub const VRS = enum(u3) { - /// Voltage reference set to VREF_OUT1 (around 2.048 V). + /// Voltage reference set to VREF_OUT1 (around 2.048 V). Vref0 = 0x0, - /// Voltage reference set to VREF_OUT2 (around 2.5 V). + /// Voltage reference set to VREF_OUT2 (around 2.5 V). Vref1 = 0x1, - /// Voltage reference set to VREF_OUT2 (around 2.5 V). + /// Voltage reference set to VREF_OUT2 (around 2.5 V). Vref2 = 0x2, - /// Voltage reference set to VREF_OUT2 (around 2.5 V). + /// Voltage reference set to VREF_OUT2 (around 2.5 V). Vref3 = 0x3, _, }; - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF = extern struct { - /// VREFBUF control and status register. + /// VREFBUF control and status register. CSR: mmio.Mmio(packed struct(u32) { - /// Voltage reference buffer mode enable This bit is used to enable the voltage reference buffer mode. + /// Voltage reference buffer mode enable This bit is used to enable the voltage reference buffer mode. ENVR: u1, - /// High impedance mode This bit controls the analog switch to connect or not the VREF+ pin. Refer to for the mode descriptions depending on ENVR bit configuration. - HIZ: packed union { - raw: u1, - value: HIZ, - }, + /// High impedance mode This bit controls the analog switch to connect or not the VREF+ pin. Refer to for the mode descriptions depending on ENVR bit configuration. + HIZ: HIZ, reserved3: u1, - /// Voltage reference buffer ready. + /// Voltage reference buffer ready. VRR: u1, - /// Voltage reference scale These bits select the value generated by the voltage reference buffer. VRS = 000: VREFBUF0 voltage selected. VRS = 001: VREFBUF1 voltage selected. VRS = 010: VREFBUF2 voltage selected. VRS = 011: VREFBUF3 voltage selected. Others: Reserved Note: Refer to the product datasheet for each VREFBUFx voltage setting value. The software can program this bitfield only when the VREFBUF is disabled (ENVR=0). - VRS: packed union { - raw: u3, - value: VRS, - }, + /// Voltage reference scale These bits select the value generated by the voltage reference buffer. VRS = 000: VREFBUF0 voltage selected. VRS = 001: VREFBUF1 voltage selected. VRS = 010: VREFBUF2 voltage selected. VRS = 011: VREFBUF3 voltage selected. Others: Reserved Note: Refer to the product datasheet for each VREFBUFx voltage setting value. The software can program this bitfield only when the VREFBUF is disabled (ENVR=0). + VRS: VRS, padding: u25, }), - /// VREFBUF calibration control register. + /// VREFBUF calibration control register. CCR: mmio.Mmio(packed struct(u32) { - /// Trimming code The TRIM code is a 6-bit unsigned data (minimum 000000, maximum 111111) that is set and updated according the mechanism described below. Reset: TRIM[5:0] is automatically initialized with the VRS = 0 trimming value stored in the Flash memory during the production test. VRS change: TRIM[5:0] is automatically initialized with the trimming value (corresponding to VRS setting) stored in the Flash memory during the production test. Write in TRIM[5:0]: User can modify the TRIM[5:0] with an arbitrary value. This is permanently disabling the control of the trimming value with VRS (until the device is reset). Note: If the user application performs the trimming, the trimming code must start from 000000 to 111111 in ascending order. + /// Trimming code The TRIM code is a 6-bit unsigned data (minimum 000000, maximum 111111) that is set and updated according the mechanism described below. Reset: TRIM[5:0] is automatically initialized with the VRS = 0 trimming value stored in the Flash memory during the production test. VRS change: TRIM[5:0] is automatically initialized with the trimming value (corresponding to VRS setting) stored in the Flash memory during the production test. Write in TRIM[5:0]: User can modify the TRIM[5:0] with an arbitrary value. This is permanently disabling the control of the trimming value with VRS (until the device is reset). Note: If the user application performs the trimming, the trimming code must start from 000000 to 111111 in ascending order. TRIM: u6, padding: u26, }), @@ -441614,46 +430472,40 @@ pub const types = struct { pub const vrefbuf_v2a2 = struct { pub const HIZ = enum(u1) { - /// VREF+ pin is internally connected to the voltage reference buffer output. + /// VREF+ pin is internally connected to the voltage reference buffer output. Connected = 0x0, - /// VREF+ pin is high impedance. + /// VREF+ pin is high impedance. HighZ = 0x1, }; pub const VRS = enum(u3) { - /// Voltage reference set to VREF_OUT1 (around 2.048 V). + /// Voltage reference set to VREF_OUT1 (around 2.048 V). Vref0 = 0x0, - /// Voltage reference set to VREF_OUT2 (around 2.5 V). + /// Voltage reference set to VREF_OUT2 (around 2.5 V). Vref1 = 0x1, - /// Voltage reference set to VREF_OUT2 (around 2.5 V). + /// Voltage reference set to VREF_OUT2 (around 2.5 V). Vref2 = 0x2, _, }; - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF = extern struct { - /// VREFBUF control and status register. + /// VREFBUF control and status register. CSR: mmio.Mmio(packed struct(u32) { - /// Voltage reference buffer mode enable This bit is used to enable the voltage reference buffer mode. + /// Voltage reference buffer mode enable This bit is used to enable the voltage reference buffer mode. ENVR: u1, - /// High impedance mode This bit controls the analog switch to connect or not the VREF+ pin. Refer to for the mode descriptions depending on ENVR bit configuration. - HIZ: packed union { - raw: u1, - value: HIZ, - }, + /// High impedance mode This bit controls the analog switch to connect or not the VREF+ pin. Refer to for the mode descriptions depending on ENVR bit configuration. + HIZ: HIZ, reserved3: u1, - /// Voltage reference buffer ready. + /// Voltage reference buffer ready. VRR: u1, - /// Voltage reference scale These bits select the value generated by the voltage reference buffer. VRS = 000: VREFBUF0 voltage selected. VRS = 001: VREFBUF1 voltage selected. VRS = 010: VREFBUF2 voltage selected. VRS = 011: VREFBUF3 voltage selected. Others: Reserved Note: Refer to the product datasheet for each VREFBUFx voltage setting value. The software can program this bitfield only when the VREFBUF is disabled (ENVR=0). - VRS: packed union { - raw: u3, - value: VRS, - }, + /// Voltage reference scale These bits select the value generated by the voltage reference buffer. VRS = 000: VREFBUF0 voltage selected. VRS = 001: VREFBUF1 voltage selected. VRS = 010: VREFBUF2 voltage selected. VRS = 011: VREFBUF3 voltage selected. Others: Reserved Note: Refer to the product datasheet for each VREFBUFx voltage setting value. The software can program this bitfield only when the VREFBUF is disabled (ENVR=0). + VRS: VRS, padding: u25, }), - /// VREFBUF calibration control register. + /// VREFBUF calibration control register. CCR: mmio.Mmio(packed struct(u32) { - /// Trimming code The TRIM code is a 6-bit unsigned data (minimum 000000, maximum 111111) that is set and updated according the mechanism described below. Reset: TRIM[5:0] is automatically initialized with the VRS = 0 trimming value stored in the Flash memory during the production test. VRS change: TRIM[5:0] is automatically initialized with the trimming value (corresponding to VRS setting) stored in the Flash memory during the production test. Write in TRIM[5:0]: User can modify the TRIM[5:0] with an arbitrary value. This is permanently disabling the control of the trimming value with VRS (until the device is reset). Note: If the user application performs the trimming, the trimming code must start from 000000 to 111111 in ascending order. + /// Trimming code The TRIM code is a 6-bit unsigned data (minimum 000000, maximum 111111) that is set and updated according the mechanism described below. Reset: TRIM[5:0] is automatically initialized with the VRS = 0 trimming value stored in the Flash memory during the production test. VRS change: TRIM[5:0] is automatically initialized with the trimming value (corresponding to VRS setting) stored in the Flash memory during the production test. Write in TRIM[5:0]: User can modify the TRIM[5:0] with an arbitrary value. This is permanently disabling the control of the trimming value with VRS (until the device is reset). Note: If the user application performs the trimming, the trimming code must start from 000000 to 111111 in ascending order. TRIM: u6, padding: u26, }), @@ -441662,46 +430514,40 @@ pub const types = struct { pub const vrefbuf_v2b = struct { pub const HIZ = enum(u1) { - /// VREF+ pin is internally connected to the voltage reference buffer output. + /// VREF+ pin is internally connected to the voltage reference buffer output. Connected = 0x0, - /// VREF+ pin is high impedance. + /// VREF+ pin is high impedance. HighZ = 0x1, }; pub const VRS = enum(u2) { - /// Voltage reference set to VREF_OUT1 (around 2.048 V). + /// Voltage reference set to VREF_OUT1 (around 2.048 V). Vref0 = 0x0, - /// Voltage reference set to VREF_OUT2 (around 2.5 V). + /// Voltage reference set to VREF_OUT2 (around 2.5 V). Vref1 = 0x1, - /// Voltage reference set to VREF_OUT2 (around 2.5 V). + /// Voltage reference set to VREF_OUT2 (around 2.5 V). Vref2 = 0x2, _, }; - /// Voltage reference buffer. + /// Voltage reference buffer. pub const VREFBUF = extern struct { - /// VREF_BUF Control and Status Register. + /// VREF_BUF Control and Status Register. CSR: mmio.Mmio(packed struct(u32) { - /// Enable Voltage Reference. + /// Enable Voltage Reference. ENVR: u1, - /// High impedence mode for the VREF_BUF. - HIZ: packed union { - raw: u1, - value: HIZ, - }, + /// High impedence mode for the VREF_BUF. + HIZ: HIZ, reserved3: u1, - /// Voltage reference buffer ready. + /// Voltage reference buffer ready. VRR: u1, - /// Voltage reference scale. - VRS: packed union { - raw: u2, - value: VRS, - }, + /// Voltage reference scale. + VRS: VRS, padding: u26, }), - /// VREF_BUF Calibration Control Register. + /// VREF_BUF Calibration Control Register. CCR: mmio.Mmio(packed struct(u32) { - /// Trimming code. + /// Trimming code. TRIM: u6, padding: u26, }), @@ -441709,51 +430555,48 @@ pub const types = struct { }; pub const vrefintcal_v1 = struct { - /// VREFINT Factory Calibration + /// VREFINT Factory Calibration pub const VREFINTCAL = extern struct { - /// Factory calibration + /// Factory calibration DATA: u32, }; }; pub const wwdg_v1 = struct { pub const WDGTB = enum(u2) { - /// Counter clock (PCLK1 div 4096) div 1 + /// Counter clock (PCLK1 div 4096) div 1 Div1 = 0x0, - /// Counter clock (PCLK1 div 4096) div 2 + /// Counter clock (PCLK1 div 4096) div 2 Div2 = 0x1, - /// Counter clock (PCLK1 div 4096) div 4 + /// Counter clock (PCLK1 div 4096) div 4 Div4 = 0x2, - /// Counter clock (PCLK1 div 4096) div 8 + /// Counter clock (PCLK1 div 4096) div 8 Div8 = 0x3, }; - /// Window watchdog + /// Window watchdog pub const WWDG = extern struct { - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// 7-bit counter (MSB to LSB) + /// 7-bit counter (MSB to LSB) T: u7, - /// Watchdog activated + /// Watchdog activated WDGA: u1, padding: u24, }), - /// Configuration register + /// Configuration register CFR: mmio.Mmio(packed struct(u32) { - /// 7-bit window value + /// 7-bit window value W: u7, - /// Timer base - WDGTB: packed union { - raw: u2, - value: WDGTB, - }, - /// Early wakeup interrupt + /// Timer base + WDGTB: WDGTB, + /// Early wakeup interrupt EWI: u1, padding: u22, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Early wakeup interrupt flag + /// Early wakeup interrupt flag EWIF: u1, padding: u31, }), @@ -441762,52 +430605,49 @@ pub const types = struct { pub const wwdg_v2 = struct { pub const WDGTB = enum(u3) { - /// Counter clock (PCLK1 div 4096) div 1 + /// Counter clock (PCLK1 div 4096) div 1 Div1 = 0x0, - /// Counter clock (PCLK1 div 4096) div 2 + /// Counter clock (PCLK1 div 4096) div 2 Div2 = 0x1, - /// Counter clock (PCLK1 div 4096) div 4 + /// Counter clock (PCLK1 div 4096) div 4 Div4 = 0x2, - /// Counter clock (PCLK1 div 4096) div 8 + /// Counter clock (PCLK1 div 4096) div 8 Div8 = 0x3, - /// Counter clock (PCLK1 div 4096) div 16 + /// Counter clock (PCLK1 div 4096) div 16 Div16 = 0x4, - /// Counter clock (PCLK1 div 4096) div 32 + /// Counter clock (PCLK1 div 4096) div 32 Div32 = 0x5, - /// Counter clock (PCLK1 div 4096) div 64 + /// Counter clock (PCLK1 div 4096) div 64 Div64 = 0x6, - /// Counter clock (PCLK1 div 4096) div 128 + /// Counter clock (PCLK1 div 4096) div 128 Div128 = 0x7, }; - /// Window watchdog + /// Window watchdog pub const WWDG = extern struct { - /// Control register + /// Control register CR: mmio.Mmio(packed struct(u32) { - /// 7-bit counter (MSB to LSB) + /// 7-bit counter (MSB to LSB) T: u7, - /// Activation bit (true is enabled, false is disabled) + /// Activation bit (true is enabled, false is disabled) WDGA: u1, padding: u24, }), - /// Configuration register + /// Configuration register CFR: mmio.Mmio(packed struct(u32) { - /// 7-bit window value + /// 7-bit window value W: u7, reserved9: u2, - /// Early wakeup interrupt + /// Early wakeup interrupt EWI: u1, reserved11: u1, - /// Timer base - WDGTB: packed union { - raw: u3, - value: WDGTB, - }, + /// Timer base + WDGTB: WDGTB, padding: u18, }), - /// Status register + /// Status register SR: mmio.Mmio(packed struct(u32) { - /// Early wakeup interrupt flag + /// Early wakeup interrupt flag EWIF: u1, padding: u31, }),